@vellumai/web 0.8.7 → 0.8.8-dev.202606052332.17fc8ea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/assets/BundleConfirmPage-CSaXWfQ1.js +1 -0
- package/dist/assets/{QueryClientProvider-DP1e6db6.js → QueryClientProvider-DBAeGN3q.js} +1 -1
- package/dist/assets/about-page-VHKsk9M1.js +1 -0
- package/dist/assets/account-page-D9ieQhLb.js +1 -0
- package/dist/assets/{account-shell-D89t6_Jb.js → account-shell-BZu7oVl3.js} +1 -1
- package/dist/assets/add-credits-modal-CbR1WQ39.js +1 -0
- package/dist/assets/advanced-page-B2-Dxt6w.js +1 -0
- package/dist/assets/ai-page-De9FJuZk.js +1 -0
- package/dist/assets/{angular-html-e7Q9Y5Gf.js → angular-html-DoxnP4L3.js} +1 -1
- package/dist/assets/{angular-ts-BP7VFCBR.js → angular-ts-9spjMgRd.js} +1 -1
- package/dist/assets/api-DYTu2hC1.js +39 -0
- package/dist/assets/api-errors-DhNZwQy5.js +1 -0
- package/dist/assets/api-key-screen-WY11Flti.js +1 -0
- package/dist/assets/{apl-DwI9Wj1u.js → apl-BjPuT95r.js} +1 -1
- package/dist/assets/{app-html-cache-B6cw162I.js → app-html-cache-B0vrz1YW.js} +1 -1
- package/dist/assets/archive-page-DjsGaMFO.js +1 -0
- package/dist/assets/archive-yWA8_b2E.js +1 -0
- package/dist/assets/arrow-up-Cev-d0qQ.js +1 -0
- package/dist/assets/assistant-feature-flag-store-XFfKSl8X.js +1 -0
- package/dist/assets/assistant-identity-store-CsS_tq85.js +1 -0
- package/dist/assets/assistant-status-panel-DS1a-BkB.js +1 -0
- package/dist/assets/{astro-BCmlqefZ.js → astro-xfSi9ARd.js} +1 -1
- package/dist/assets/auth-store-NinzEiLF.js +1 -0
- package/dist/assets/avatar-api-DygRCPqF.js +1 -0
- package/dist/assets/bell-BFRXSoMR.js +1 -0
- package/dist/assets/billing-page-DBH7feV9.js +34 -0
- package/dist/assets/{blade-C_oa1rmO.js → blade-C8H1jvQW.js} +1 -1
- package/dist/assets/{bsl-MxsMKDUZ.js → bsl-1Uw5GcVj.js} +1 -1
- package/dist/assets/bug-wSdnBKWO.js +1 -0
- package/dist/assets/{button-ClCfFgUi.js → button-Cs9tc8OR.js} +1 -1
- package/dist/assets/{cairo-4CIrzX_p.js → cairo-LeKPj3R4.js} +1 -1
- package/dist/assets/{calendar-ClcXPhg5.js → calendar-xwiYi6y2.js} +1 -1
- package/dist/assets/capture-error-23NwnaZt.js +4 -0
- package/dist/assets/{card-BPyEFYCf.js → card-BcKGvsaa.js} +1 -1
- package/dist/assets/check-DqeyrftF.js +1 -0
- package/dist/assets/{checkbox-8ce6mjOk.js → checkbox-hJlRqWtn.js} +1 -1
- package/dist/assets/chevron-right-CJ0Oykrn.js +1 -0
- package/dist/assets/{chevron-up-DQhwayvc.js → chevron-up-C-4xJEr7.js} +1 -1
- package/dist/assets/chunk-5KNZJZUH-BpLAEZ0-.js +4 -0
- package/dist/assets/{cobol-ClCfxb2U.js → cobol-D5SqfAvu.js} +1 -1
- package/dist/assets/{coffee-waI6gGUD.js → coffee-KrVM6VAY.js} +1 -1
- package/dist/assets/command-palette-D1ZzGyBc.js +1 -0
- package/dist/assets/community-page-C0ZzRdyS.js +1 -0
- package/dist/assets/{confirm-dialog-BGK9Zfu-.js → confirm-dialog-DavdF-L4.js} +1 -1
- package/dist/assets/connect-page-UvWOjsaE.js +1 -0
- package/dist/assets/contacts-gateway-DkmnVa7t.js +1 -0
- package/dist/assets/contacts-page-route-pj3hPE9P.js +1 -0
- package/dist/assets/conversation-store-D6erO6zc.js +1 -0
- package/dist/assets/{cpp-CCQmmJ0h.js → cpp-C0UxZXSh.js} +1 -1
- package/dist/assets/{create-selectors-CNBhdpCN.js → create-selectors-LbkU9b0a.js} +1 -1
- package/dist/assets/{createLucideIcon-BAqBudC8.js → createLucideIcon-CSvzx8tc.js} +1 -1
- package/dist/assets/{createLucideIcon-B1Lebfcn.js → createLucideIcon-D8wUFCt3.js} +1 -1
- package/dist/assets/{crystal-DB9hO8um.js → crystal-ClJk9iNu.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-BdgSJlIY.js +1 -0
- package/dist/assets/debug-page-BUtGvDxR.js +3 -0
- package/dist/assets/deploy-dialogs-cg44W61S.js +1 -0
- package/dist/assets/{detail-card-akwfTEr9.js → detail-card-Y8InXOgy.js} +1 -1
- package/dist/assets/developer-page-CJl3mX8c.js +1 -0
- package/dist/assets/device-settings-C07QvMzm.js +1 -0
- package/dist/assets/devices-page-C1flF26j.js +1 -0
- package/dist/assets/{dist-CMQ63vRL.js → dist-3bWmqQYy.js} +1 -1
- package/dist/assets/{dist-DrxUCrOq.js → dist-Cb2Epurm.js} +1 -1
- package/dist/assets/{dist-DBf_097z.js → dist-DacRcU3L.js} +3 -3
- package/dist/assets/document-viewer-page-Dj_g4JCV.js +1 -0
- package/dist/assets/{dollar-sign-C0LV31Sq.js → dollar-sign-D_9hooHL.js} +1 -1
- package/dist/assets/{domain-field-4zEEJoAw.js → domain-field-CyNgwvDW.js} +1 -1
- package/dist/assets/{dropdown-B1HIMQEV.js → dropdown-PPtOL9bp.js} +1 -1
- package/dist/assets/earn-credits-modal-SBh4BzrC.js +1 -0
- package/dist/assets/{edge-CETRZUcp.js → edge-BiYC4_90.js} +1 -1
- package/dist/assets/edit-chat-session-DseODZCl.js +1 -0
- package/dist/assets/effective-timezone-QeovgyP0.js +1 -0
- package/dist/assets/{elixir-CN6m0Ao0.js → elixir-CeTC01SF.js} +1 -1
- package/dist/assets/{ellipsis-vertical-m9z0V1U7.js → ellipsis-vertical-f27t2xXb.js} +1 -1
- package/dist/assets/{elm-BDWy6048.js → elm-Cn1hsMyk.js} +1 -1
- package/dist/assets/emails-page-Dj_SZpJx.js +1 -0
- package/dist/assets/{erb-BUWfCQdK.js → erb-DSDLUB86.js} +1 -1
- package/dist/assets/{erlang-DeG0-QwJ.js → erlang-C99b08Nz.js} +1 -1
- package/dist/assets/esm-DKyh2sdX.js +2 -0
- package/dist/assets/esm-DUUKbDsd.js +2 -0
- package/dist/assets/esm-Da4x-MH2.js +2 -0
- package/dist/assets/{esm-BXX1q_EH.js → esm-SU3SyAUz.js} +2 -2
- package/dist/assets/esm-dtSsvPGT.js +2 -0
- package/dist/assets/{external-link-dAVFCT-x.js → external-link-CcV79Arv.js} +1 -1
- package/dist/assets/feature-flag-catalog-H7Q8h3pM.js +1 -0
- package/dist/assets/{file-markdown-C_CDJ8On.js → file-markdown-DLtmfYbc.js} +1 -1
- package/dist/assets/format-file-size-DpQP6eF0.js +1 -0
- package/dist/assets/{fortran-fixed-form-CK5VRJNd.js → fortran-fixed-form-CfIW45ck.js} +1 -1
- package/dist/assets/{fsharp-TVVgzHWp.js → fsharp-CpfXaTmO.js} +1 -1
- package/dist/assets/gateway-session-BEbYXAZw.js +1 -0
- package/dist/assets/{gdresource-DiUcyewI.js → gdresource-Bq9ffHIF.js} +1 -1
- package/dist/assets/general-page-CZMMjoD3.js +1 -0
- package/dist/assets/{git-commit-CfOruFrg.js → git-commit-4hNTcyXg.js} +1 -1
- package/dist/assets/{git-rebase-DVfXzZgT.js → git-rebase-DoeXBq-R.js} +1 -1
- package/dist/assets/{glimmer-js-D_KYXH1l.js → glimmer-js-CYkye81z.js} +1 -1
- package/dist/assets/{glimmer-ts-rX-yI_50.js → glimmer-ts-Bk7QAWr2.js} +1 -1
- package/dist/assets/{globe-BylK8Ede.js → globe-B6unPYdp.js} +1 -1
- package/dist/assets/{glsl-Bk5GBs9i.js → glsl-BYZink9d.js} +1 -1
- package/dist/assets/google-logo-CBBlhwbc.js +1 -0
- package/dist/assets/{graphql-CYihpPzI.js → graphql-CS_bfAPh.js} +1 -1
- package/dist/assets/{hack-D7vPOOKP.js → hack-rkugl_pJ.js} +1 -1
- package/dist/assets/{haml-Cq6p2VV6.js → haml-BkhENUsf.js} +1 -1
- package/dist/assets/{handlebars-BMWyPVCo.js → handlebars-Bh3JZxjr.js} +1 -1
- package/dist/assets/hard-drive-C5ssi802.js +1 -0
- package/dist/assets/hatching-screen-DfSk81B-.js +1 -0
- package/dist/assets/home-page-route-DdwOXcgm.js +1 -0
- package/dist/assets/{hosting-screen-B7vnlrdx.js → hosting-screen-XuTESqkt.js} +1 -1
- package/dist/assets/{html-0Gesqw-D.js → html-Chvx6bbW.js} +1 -1
- package/dist/assets/{html-derivative-SbSqYEHY.js → html-derivative-BZlQ5XVV.js} +1 -1
- package/dist/assets/{http-C0YA5Ah8.js → http-CZnYRnoH.js} +1 -1
- package/dist/assets/{hurl-DUL8X9Rx.js → hurl-C9D1SYfx.js} +1 -1
- package/dist/assets/{hxml-40zZ1t4x.js → hxml-CqBwUL68.js} +1 -1
- package/dist/assets/identity-page-route-BuE2mbtR.js +1 -0
- package/dist/assets/impersonate-version-flag-DC4HAvtV.js +1 -0
- package/dist/assets/index-Byws1OMu.js +124 -0
- package/dist/assets/index-CUnEdGZb.css +2 -0
- package/dist/assets/{input-D3ItuUML.js → input-DwAJUlac.js} +1 -1
- package/dist/assets/inspect-page-C8hjaKFb.js +2 -0
- package/dist/assets/install-BoabKlGA.js +1 -0
- package/dist/assets/integrations-page-uHffcFWa.js +1 -0
- package/dist/assets/intelligence-layout-Cmo5qG7D.js +1 -0
- package/dist/assets/is-electron-BCDAAC00.js +1 -0
- package/dist/assets/{jinja-BVqbVU68.js → jinja-DA4mN-er.js} +1 -1
- package/dist/assets/{jison-xwFSCLKt.js → jison-BUGhbqsC.js} +1 -1
- package/dist/assets/{julia-DdLFwKHG.js → julia-DE2tbbof.js} +1 -1
- package/dist/assets/{just-C2nSWwTJ.js → just-F4pUwLYE.js} +1 -1
- package/dist/assets/{latex-DQ-PIViI.js → latex-DVRfNFWZ.js} +1 -1
- package/dist/assets/{lib-DHNpmqO3.js → lib-DjjTt2Bu.js} +1 -1
- package/dist/assets/library-detail-page-J-pibC1D.js +1 -0
- package/dist/assets/library-page-BYSOcWZP.js +1 -0
- package/dist/assets/{link-2-Diy8IM6e.js → link-2-B0QONFsy.js} +1 -1
- package/dist/assets/{liquid-DMN0MxFW.js → liquid-BQaobxSx.js} +1 -1
- package/dist/assets/llm-dimension-DPVignMk.js +1 -0
- package/dist/assets/loader-circle-FEkI0Am4.js +1 -0
- package/dist/assets/login-flow-BSo9NuDo.js +1 -0
- package/dist/assets/login-page-BxhZAIcp.js +1 -0
- package/dist/assets/logout-page-mNeBVzCS.js +1 -0
- package/dist/assets/logs-layout-PinehuDE.js +1 -0
- package/dist/assets/{lua-OvVIPbKk.js → lua-C6astBbM.js} +1 -1
- package/dist/assets/{marko-tY59QFbN.js → marko-CDvDU-jy.js} +1 -1
- package/dist/assets/{mdc-BDW020Pz.js → mdc-DYeZOJof.js} +1 -1
- package/dist/assets/memory-router-playground-page-CGs0kBrH.js +3 -0
- package/dist/assets/{menu-CSSUEe4d.js → menu-0h93UDZw.js} +1 -1
- package/dist/assets/minimize-2-H-zinYcX.js +1 -0
- package/dist/assets/{misc-C66f1jHd.js → misc-BwTS2Omn.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-DDDsJtIP.js → mobile-sidebar-drawer-Bvs3iVvj.js} +1 -1
- package/dist/assets/{modal-DnazB3IX.js → modal-C7CS3Y_X.js} +1 -1
- package/dist/assets/native-biometric-V5gaOHYQ.js +6 -0
- package/dist/assets/{native-file-CiPiCLx5.js → native-file-BURkYQJV.js} +2 -2
- package/dist/assets/{nextflow-B1xq2O8L.js → nextflow-CSmwW5Ci.js} +1 -1
- package/dist/assets/{nginx-DtkpnFEQ.js → nginx-CnKPWPN7.js} +1 -1
- package/dist/assets/{nim-CzTHLol-.js → nim-DVpbAykj.js} +1 -1
- package/dist/assets/{notice-BD9CxrUF.js → notice-BWm2kHlI.js} +1 -1
- package/dist/assets/notifications-page-z1owPY7D.js +1 -0
- package/dist/assets/{oauth-complete-page-DMXoApPv.js → oauth-complete-page-D3ICmuGS.js} +2 -2
- package/dist/assets/{oauth-popup-complete-page-BQ1l7eNw.js → oauth-popup-complete-page-BhHdXB8J.js} +2 -2
- package/dist/assets/{octagon-x-BDjrCKCI.js → octagon-x-Bze4QGjG.js} +1 -1
- package/dist/assets/onboarding-layout-CTQetjmN.js +1 -0
- package/dist/assets/{page-shell-h1ccSMCk.js → page-shell-C4yGVVNa.js} +1 -1
- package/dist/assets/{panel-item-D-eNLUtf.js → panel-item-BPosLg5Y.js} +1 -1
- package/dist/assets/password-reset-page-B0uxgxAb.js +1 -0
- package/dist/assets/pcm-downsample-worklet-CwNZrVLe.js +1 -0
- package/dist/assets/{pdf-CVDqR2tF.js → pdf-DB2rCsKP.js} +1 -1
- package/dist/assets/{pencil-CwqXcyAU.js → pencil-CESg1M7c.js} +1 -1
- package/dist/assets/{perl-B4xHwQjG.js → perl-DL5nyTE3.js} +1 -1
- package/dist/assets/{php-DT-qH75v.js → php-14zLJiK2.js} +1 -1
- package/dist/assets/platform-loopback-page-iGsXXAZd.js +1 -0
- package/dist/assets/plugins-page-DrfGJPNY.js +1 -0
- package/dist/assets/{portal-container-BfngoKcF.js → portal-container-CKtYcZfP.js} +1 -1
- package/dist/assets/pre-chat-flow-Bc3w6Kxf.js +1 -0
- package/dist/assets/privacy-page-bdVaAafA.js +1 -0
- package/dist/assets/privacy-screen-DUS9zQO1.js +1 -0
- package/dist/assets/{progress-bar-DAf2e6k7.js → progress-bar-CgQMQ_UR.js} +1 -1
- package/dist/assets/provider-callback-page-B3DESwuO.js +1 -0
- package/dist/assets/provider-key-DiyETKhK.js +1 -0
- package/dist/assets/provider-signup-page-BuP3aFFP.js +1 -0
- package/dist/assets/{pug-9GW60ez3.js → pug-BcGFw36t.js} +1 -1
- package/dist/assets/{qml-bVARLFyV.js → qml-DSBzgwxk.js} +1 -1
- package/dist/assets/query-tags-DAoC-jzg.js +1 -0
- package/dist/assets/quick-input-page-BPZhSRem.js +1 -0
- package/dist/assets/{razor-X0suMNF3.js → razor-DzERoHYk.js} +1 -1
- package/dist/assets/react-query.gen-CfXF72qo.js +1 -0
- package/dist/assets/resize-errors-C_vO4oid.js +1 -0
- package/dist/assets/routes-Dfo11DAg.js +1 -0
- package/dist/assets/{rst-D-lNIQCa.js → rst-BIN6LBBb.js} +1 -1
- package/dist/assets/{ruby-26UZxWDm.js → ruby-jBJwv2mP.js} +1 -1
- package/dist/assets/{sas-CBE_UuH6.js → sas-yRpQSa4M.js} +1 -1
- package/dist/assets/{save-D3FGsinv.js → save-CBzZvuPl.js} +1 -1
- package/dist/assets/schedules-mjx6ouZ2.js +1 -0
- package/dist/assets/schedules-page-l9RDxQj8.js +1 -0
- package/dist/assets/{scss-ClgdEoXG.js → scss-D6nUDMBD.js} +1 -1
- package/dist/assets/{sdk.gen-1S-e52M3.js → sdk.gen-Dvq7zGs0.js} +1 -1
- package/dist/assets/sdk.gen-up8j0_uF.js +6 -0
- package/dist/assets/selection-store-BCKoLRDh.js +1 -0
- package/dist/assets/settings-layout-CP6TBHhP.js +1 -0
- package/dist/assets/{shaderlab-mLnpMpN3.js → shaderlab-2mkDNSZE.js} +1 -1
- package/dist/assets/share-feedback-modal-CqMSXA48.js +1 -0
- package/dist/assets/{shellsession-BKKk1SwW.js → shellsession-qVduQyG2.js} +1 -1
- package/dist/assets/sidebar-tree-aGQ67ydN.js +1 -0
- package/dist/assets/signup-page-BUjjUFwI.js +1 -0
- package/dist/assets/skills-page-V2Ap_1Nl.js +1 -0
- package/dist/assets/sounds-page-DoklJSF7.js +1 -0
- package/dist/assets/{soy-CXP3FecH.js → soy-N-ikyuo0.js} +1 -1
- package/dist/assets/{sparql-tQHB50VD.js → sparql-CXOfNIAD.js} +1 -1
- package/dist/assets/{src-DDKMtkUH.js → src-Bah0_lDG.js} +2 -2
- package/dist/assets/stat-square-CMFH3mHq.js +1 -0
- package/dist/assets/{stata-gI3uZdJO.js → stata-DAwqVBtA.js} +1 -1
- package/dist/assets/step-indicator-dots-Bm0kxLBB.js +1 -0
- package/dist/assets/{subagent-detail-panel-Dn212XIu.js → subagent-detail-panel-DERepumn.js} +2 -2
- package/dist/assets/{surrealql-BAt-qB2q.js → surrealql-mj-mrh8J.js} +1 -1
- package/dist/assets/{svelte-_sN3XHz9.js → svelte-Dc7E_mCh.js} +1 -1
- package/dist/assets/system-events-page-CZ5bKf0W.js +1 -0
- package/dist/assets/system-events-redirect-page-kUI6PPyM.js +1 -0
- package/dist/assets/{tag-DI4G1_a6.js → tag-BkZB4euH.js} +1 -1
- package/dist/assets/{target-Bu6hUmcU.js → target-B8JHLfTN.js} +1 -1
- package/dist/assets/{templ-DarSKCU_.js → templ-B12CJEzs.js} +1 -1
- package/dist/assets/{tex-C_1xF61R.js → tex-SEHboowz.js} +1 -1
- package/dist/assets/{tiptap-document-editor-8uu7m7VU.js → tiptap-document-editor-B9Tho-o2.js} +34 -34
- package/dist/assets/{toast-VQEhJ0eG.js → toast-Cii5pffK.js} +1 -1
- package/dist/assets/toggle-DGzEs0L1.js +1 -0
- package/dist/assets/tool-detail-panel-DAR1Gwto.js +1 -0
- package/dist/assets/trace-page-CqmK0wMM.js +1 -0
- package/dist/assets/{ts-tags-BW1K_uvA.js → ts-tags-D-Jr8mpt.js} +1 -1
- package/dist/assets/{twig-D6-NX1lk.js → twig-CWdkELuI.js} +1 -1
- package/dist/assets/{typography-C2ZUvvBk.js → typography-PN7B1rrW.js} +1 -1
- package/dist/assets/upgrade-cancel-page-7Auf5tST.js +1 -0
- package/dist/assets/upgrade-success-page-DsJJ6dsP.js +1 -0
- package/dist/assets/usage-page-Ddum0hfO.js +1 -0
- package/dist/assets/usage-window-CsjC43Gn.js +1 -0
- package/dist/assets/{use-active-assistant-id-CAZ9yruQ.js → use-active-assistant-id-kjFL4dWB.js} +1 -1
- package/dist/assets/use-bus-subscription-Cz3Ryocr.js +1 -0
- package/dist/assets/use-current-platform-assistant-CQU1hSXO.js +1 -0
- package/dist/assets/use-debounced-value-DK0n_BKN.js +1 -0
- package/dist/assets/{use-is-mobile-BJcMpFY1.js → use-is-mobile-BFvLVXwH.js} +1 -1
- package/dist/assets/use-is-org-ready-C0KPmJ3X.js +1 -0
- package/dist/assets/use-oauth-complete-deep-link-listener-3roRJO5m.js +1 -0
- package/dist/assets/{use-reduced-motion-BgUzX4N9.js → use-reduced-motion-Blyqtp4V.js} +1 -1
- package/dist/assets/{useMutation-DiUMH3gL.js → useMutation-DTb3lMvF.js} +1 -1
- package/dist/assets/{useQuery-CrONYg8_.js → useQuery-DAtrV0RI.js} +1 -1
- package/dist/assets/utils-CVZ8WTxM.js +1 -0
- package/dist/assets/viewer-store-BIjT34BR.js +1 -0
- package/dist/assets/voice-page-DcyuaOFj.js +1 -0
- package/dist/assets/{vue-CH8917up.js → vue-BprQ0-Ub.js} +1 -1
- package/dist/assets/{vue-html-DAE_vUrO.js → vue-html-hp77151s.js} +1 -1
- package/dist/assets/{vue-vine-CwkqX4-H.js → vue-vine-Cr9pIPKl.js} +1 -1
- package/dist/assets/{wand-sparkles-Bm4VWjaY.js → wand-sparkles-CIV_5Oi6.js} +1 -1
- package/dist/assets/{weather-forecast-display-DxJH81B2.js → weather-forecast-display-B-syIc4v.js} +1 -1
- package/dist/assets/{web-CNnkyiJU.js → web-BUHhvd6U.js} +1 -1
- package/dist/assets/{web-D3bAy1EX.js → web-BlXL6x8k.js} +1 -1
- package/dist/assets/{web-BJvfEnmz.js → web-CBHiUh0h.js} +1 -1
- package/dist/assets/{web-DvrlWSfM.js → web-DuNCoqzd.js} +1 -1
- package/dist/assets/{web-BmuiGnlM.js → web-Pb43q_QH.js} +1 -1
- package/dist/assets/{web-BlDUhn8s.js → web-qR3jv4Dd.js} +1 -1
- package/dist/assets/{web-DYZNxiAf.js → web-tLusY4Su.js} +1 -1
- package/dist/assets/welcome-screen-BHVV20Ua.js +1 -0
- package/dist/assets/{with-selector-D3piXwNZ.js → with-selector-CZyYmUFz.js} +1 -1
- package/dist/assets/workspace-page-BKoiZbHO.js +1 -0
- package/dist/assets/x-2OoTSOWJ.js +1 -0
- package/dist/assets/x-CwP6G6OK.js +1 -0
- package/dist/assets/{xml-ClVI3Y-V.js → xml-Cm8puQKu.js} +1 -1
- package/dist/assets/{xsl-fuT90Jp2.js → xsl-C1TQprpW.js} +1 -1
- package/dist/index.html +93 -98
- package/dist/skills/amazon/assets/icon.svg +38 -0
- package/dist/skills/api-mapping/assets/icon.svg +18 -0
- package/dist/skills/discord-app-setup/assets/icon.svg +1 -0
- package/dist/skills/doordash/assets/icon.svg +1 -0
- package/dist/skills/elevenlabs-voice/assets/icon.svg +1 -0
- package/dist/skills/frontend-design/assets/icon.svg +16 -0
- package/dist/skills/gmail/assets/icon.svg +1 -0
- package/dist/skills/google-calendar/assets/icon.svg +1 -0
- package/dist/skills/inbox-cleanup/assets/icon.svg +1 -0
- package/dist/skills/inbox-management/assets/icon.svg +1 -0
- package/dist/skills/linear-app-setup/assets/icon.svg +1 -0
- package/dist/skills/macos-automation/assets/icon.svg +12 -0
- package/dist/skills/mailgun-setup/assets/icon.svg +1 -0
- package/dist/skills/meet-join/assets/icon.svg +1 -0
- package/dist/skills/notion/assets/icon.svg +1 -0
- package/dist/skills/outlook/assets/icon.svg +2 -0
- package/dist/skills/outlook-calendar/assets/icon.svg +2 -0
- package/dist/skills/sentry-app-setup/assets/icon.svg +1 -0
- package/dist/skills/slack/assets/icon.svg +6 -0
- package/dist/skills/start-the-day/assets/icon.svg +13 -0
- package/dist/skills/stripe-app-setup/assets/icon.svg +1 -0
- package/dist/skills/stripe-link-wallet/assets/icon.svg +1 -0
- package/dist/skills/tasks/assets/icon.svg +34 -0
- package/dist/skills/telegram-setup/assets/icon.svg +1 -0
- package/dist/skills/twilio-setup/assets/icon.svg +1 -0
- package/dist/skills/vellum-github-app-setup/assets/icon.svg +1 -0
- package/dist/skills/vercel-token-setup/assets/icon.svg +1 -0
- package/dist/skills/voice-setup/assets/icon.svg +20 -0
- package/dist/skills/weather/assets/icon.svg +24 -0
- package/dist/theme-init.js +23 -0
- package/package.json +1 -1
- package/dist/assets/about-page-ChuG04vE.js +0 -1
- package/dist/assets/account-page-CrDIY8Z8.js +0 -1
- package/dist/assets/add-credits-modal-B6Gzv2vl.js +0 -1
- package/dist/assets/advanced-page-DA4ak2EO.js +0 -1
- package/dist/assets/ai-page-Ct5PY8Hr.js +0 -1
- package/dist/assets/api-B_OFJX14.js +0 -39
- package/dist/assets/api-errors-BjIRwVX0.js +0 -1
- package/dist/assets/api-key-screen-BOpLfokX.js +0 -1
- package/dist/assets/archive-page-rrkQVTUx.js +0 -1
- package/dist/assets/arrow-up-C7lv4fdd.js +0 -1
- package/dist/assets/assistant-feature-flag-store-eFzXnt31.js +0 -1
- package/dist/assets/assistant-identity-store-BKqRKOLL.js +0 -1
- package/dist/assets/assistant-status-panel-BhVNBjrt.js +0 -1
- package/dist/assets/auth-store-Cr7BV6KS.js +0 -1
- package/dist/assets/avatar-api-DUkiMcWB.js +0 -1
- package/dist/assets/billing-page-DlfvE46V.js +0 -34
- package/dist/assets/book-open-Yb24-Bn6.js +0 -1
- package/dist/assets/capture-error-DJfWcKOd.js +0 -1
- package/dist/assets/check-eRDPqo7D.js +0 -1
- package/dist/assets/command-palette-DFEQaGPU.js +0 -1
- package/dist/assets/community-page-bfjkRAbY.js +0 -1
- package/dist/assets/connect-page-BxfTgDKB.js +0 -1
- package/dist/assets/contacts-gateway-BT27BDPK.js +0 -1
- package/dist/assets/contacts-page-route-BM53qHul.js +0 -1
- package/dist/assets/danger-zone-redirect-page-QYFHTivZ.js +0 -1
- package/dist/assets/debug-page-C21JjoV7.js +0 -3
- package/dist/assets/deploy-dialogs-DL4SFMh3.js +0 -1
- package/dist/assets/developer-page-C7FApaMa.js +0 -1
- package/dist/assets/devices-page-C_sa7TuZ.js +0 -1
- package/dist/assets/document-viewer-page-B8z3ETHr.js +0 -1
- package/dist/assets/emails-page-CVjBHCVU.js +0 -1
- package/dist/assets/esm-BxOT_Vkd.js +0 -2
- package/dist/assets/esm-CUmIxxMD.js +0 -2
- package/dist/assets/esm-CkwULMW-.js +0 -2
- package/dist/assets/esm-Dn1onJZ6.js +0 -2
- package/dist/assets/exports-CJ0Uoq7P.js +0 -4
- package/dist/assets/feature-flag-catalog-CQJyyF9F.js +0 -1
- package/dist/assets/general-page-C-XDI8b1.js +0 -1
- package/dist/assets/hatching-screen-CQMiP_YZ.js +0 -1
- package/dist/assets/home-page-route-BV48SfuZ.js +0 -1
- package/dist/assets/identity-page-route-DaFpXmRM.js +0 -1
- package/dist/assets/index-2iJiOJAP.css +0 -2
- package/dist/assets/index-DfyO29JM.js +0 -124
- package/dist/assets/inspect-page-BRHBywRp.js +0 -2
- package/dist/assets/install-Boxb6bXU.js +0 -1
- package/dist/assets/integrations-page-DKaUYB6U.js +0 -1
- package/dist/assets/intelligence-layout-Yx83VhoZ.js +0 -1
- package/dist/assets/library-detail-page-DUU9C5Qc.js +0 -1
- package/dist/assets/library-page-BUn0-GJS.js +0 -1
- package/dist/assets/llm-dimension-DCCiYYGK.js +0 -1
- package/dist/assets/loader-circle-DnYn_L1c.js +0 -1
- package/dist/assets/local-mode-BF1E-bwb.js +0 -1
- package/dist/assets/login-flow-Dc8bcgq7.js +0 -1
- package/dist/assets/login-page-9B3yYAYY.js +0 -1
- package/dist/assets/logout-page-BenaprLt.js +0 -1
- package/dist/assets/logs-layout-CtOMkt-f.js +0 -1
- package/dist/assets/memory-router-playground-page-B7rYBJ8e.js +0 -3
- package/dist/assets/native-biometric-COiHDjMB.js +0 -6
- package/dist/assets/native-deep-link-L1RSUDsr.js +0 -1
- package/dist/assets/notifications-page-DYD5Qw5v.js +0 -1
- package/dist/assets/oauth-popup-CotK0_Xq.js +0 -1
- package/dist/assets/onboarding-layout-I064mpdZ.js +0 -1
- package/dist/assets/password-reset-page-D4OsnJgN.js +0 -1
- package/dist/assets/platform-loopback-page-Bcw-uCmy.js +0 -1
- package/dist/assets/plugins-page-CVwuk_Fh.js +0 -1
- package/dist/assets/pre-chat-flow-DYzXzK6N.js +0 -1
- package/dist/assets/prefs-DV0vPCU6.js +0 -1
- package/dist/assets/privacy-page-DgEucH63.js +0 -1
- package/dist/assets/privacy-screen-fvwKbeYH.js +0 -1
- package/dist/assets/provider-callback-page-CmOAHlCe.js +0 -1
- package/dist/assets/provider-key-D3C96Ui0.js +0 -1
- package/dist/assets/provider-signup-page-Dc2rsF00.js +0 -1
- package/dist/assets/query-tags-Dvidg_LC.js +0 -1
- package/dist/assets/react-query.gen-C_ukJxaR.js +0 -1
- package/dist/assets/react-query.gen-DHIrHqEw.js +0 -1
- package/dist/assets/resize-errors-C3PO9ann.js +0 -1
- package/dist/assets/routes-CkBoiJow.js +0 -1
- package/dist/assets/schedules-page-Dt3CLJAa.js +0 -1
- package/dist/assets/sdk.gen-COjGLNMd.js +0 -6
- package/dist/assets/selection-store-DOnhFieO.js +0 -1
- package/dist/assets/settings-layout-C3paQQd5.js +0 -1
- package/dist/assets/share-feedback-modal-BWQiSujT.js +0 -1
- package/dist/assets/sidebar-tree-DfHTF15s.js +0 -1
- package/dist/assets/signals-Bbq4C5b5.js +0 -1
- package/dist/assets/signup-page-B2t4c1d5.js +0 -1
- package/dist/assets/skills-page-ttnkr0rG.js +0 -1
- package/dist/assets/sounds-page-CHFdpMOV.js +0 -1
- package/dist/assets/stat-square-2U4ZsWYG.js +0 -1
- package/dist/assets/step-indicator-dots-D3uPz_Wt.js +0 -1
- package/dist/assets/system-events-page-BzrGm2BJ.js +0 -1
- package/dist/assets/system-events-redirect-page-CSzUi8Rq.js +0 -1
- package/dist/assets/toggle-DnsgdQ9b.js +0 -1
- package/dist/assets/tool-detail-panel-Bm-I_Sg7.js +0 -1
- package/dist/assets/trace-page-Dy7jGi6u.js +0 -1
- package/dist/assets/upgrade-cancel-page-DzKb2rHo.js +0 -1
- package/dist/assets/upgrade-success-page-BWo7L3dH.js +0 -1
- package/dist/assets/usage-page-CoskbMKy.js +0 -1
- package/dist/assets/use-current-platform-assistant-IoT7tVk6.js +0 -1
- package/dist/assets/use-debounced-value-6KVCjO4p.js +0 -1
- package/dist/assets/use-oauth-complete-deep-link-listener-BdgRkEuE.js +0 -1
- package/dist/assets/utils-SlAPWJfm.js +0 -1
- package/dist/assets/voice-page-lILDcrkB.js +0 -1
- package/dist/assets/welcome-screen-fMQ3U9V8.js +0 -1
- package/dist/assets/workspace-page-C0PJjA84.js +0 -1
- package/dist/assets/x-BgvySeHo.js +0 -1
- package/dist/assets/x-JZSbA73X.js +0 -1
- /package/dist/assets/{abap-Cjj2olMr.js → abap-Bfl6OWPB.js} +0 -0
- /package/dist/assets/{actionscript-3-DCkW7kWC.js → actionscript-3-Dlqiiy8x.js} +0 -0
- /package/dist/assets/{ada-AEWvZXuX.js → ada-COUbPro6.js} +0 -0
- /package/dist/assets/{andromeeda-D7cSpME6.js → andromeeda-BoXZFw2R.js} +0 -0
- /package/dist/assets/{apache-DjvX0RSe.js → apache-DpKhYfq6.js} +0 -0
- /package/dist/assets/{apex-70xIZ0pH.js → apex-B_uFO61F.js} +0 -0
- /package/dist/assets/{applescript-C3qKqxmA.js → applescript-D3paN7K0.js} +0 -0
- /package/dist/assets/{ara-iGt2zixk.js → ara-CwbWLquj.js} +0 -0
- /package/dist/assets/{asciidoc-Bs2t-06W.js → asciidoc-VGSo8T5D.js} +0 -0
- /package/dist/assets/{asm-B-T0eqhE.js → asm-FPeQDFEa.js} +0 -0
- /package/dist/assets/{aurora-x-D3h_9M3E.js → aurora-x-COSrEIJC.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CGiGgg87.js → avatar-bundled-components-BKb8hhzM.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DTokNF3h.js → avatar-svg-compositor-DuV7I45L.js} +0 -0
- /package/dist/assets/{awk-CZwfwpPi.js → awk-fUzIbt5q.js} +0 -0
- /package/dist/assets/{ayu-dark-DulkglEA.js → ayu-dark-K3pEfprB.js} +0 -0
- /package/dist/assets/{ayu-light-DyNQiRpn.js → ayu-light-BhBDUJo9.js} +0 -0
- /package/dist/assets/{ayu-mirage-CcEt4xkI.js → ayu-mirage-CYENPbEi.js} +0 -0
- /package/dist/assets/{ballerina-OhQPjyHS.js → ballerina-DIi7YSrd.js} +0 -0
- /package/dist/assets/{bat-DqKcJTUn.js → bat-tHgyIDGw.js} +0 -0
- /package/dist/assets/{beancount-BdXlMi8T.js → beancount-DawK3651.js} +0 -0
- /package/dist/assets/{berry-DvgY6BkY.js → berry-DkDnrvVb.js} +0 -0
- /package/dist/assets/{bibtex-BSRJq0yM.js → bibtex-B5oISiWf.js} +0 -0
- /package/dist/assets/{bicep-DpAdumKt.js → bicep-BlTgOqlL.js} +0 -0
- /package/dist/assets/{bird2-rlbtp8di.js → bird2-COHCqf-V.js} +0 -0
- /package/dist/assets/{c-BbxWH2Eo.js → c-DBsgGwh3.js} +0 -0
- /package/dist/assets/{c3-DqIXz4Ia.js → c3-DG4RoDeZ.js} +0 -0
- /package/dist/assets/{cadence-DAJtUpOE.js → cadence-BHyhLOnE.js} +0 -0
- /package/dist/assets/{catppuccin-frappe-DUPoeZfb.js → catppuccin-frappe-BoFiW_80.js} +0 -0
- /package/dist/assets/{catppuccin-latte-CK3U68Ql.js → catppuccin-latte-CFlPOnsH.js} +0 -0
- /package/dist/assets/{catppuccin-macchiato-BzteLnIX.js → catppuccin-macchiato-CLHnCD9Z.js} +0 -0
- /package/dist/assets/{catppuccin-mocha-ozLd0aBR.js → catppuccin-mocha-D9O1RTSI.js} +0 -0
- /package/dist/assets/{clarity-6KqEoBfz.js → clarity-Bad-9p-G.js} +0 -0
- /package/dist/assets/{client.gen-D2FNzKQM.js → client.gen-BSPUYAay.js} +0 -0
- /package/dist/assets/{clojure-B_uBL5C7.js → clojure-JsVarUVs.js} +0 -0
- /package/dist/assets/{clsx-grcm2PBd.js → clsx-CAUM2Ssy.js} +0 -0
- /package/dist/assets/{cmake-B3nxBNmj.js → cmake-DXbVPxoO.js} +0 -0
- /package/dist/assets/{cn-T5lqoG0E.js → cn-DIX4PZch.js} +0 -0
- /package/dist/assets/{codeowners-DkS-51at.js → codeowners-Co7U_H7C.js} +0 -0
- /package/dist/assets/{codeql-rpr1z_mR.js → codeql-DbhkTzcI.js} +0 -0
- /package/dist/assets/{common-lisp-BfNbv_W6.js → common-lisp-5EpYtPq7.js} +0 -0
- /package/dist/assets/{coq-EAW-1nw0.js → coq-BHTaQtqU.js} +0 -0
- /package/dist/assets/{csharp-BE3Gn5bq.js → csharp-vNqAk7wS.js} +0 -0
- /package/dist/assets/{css-BdYQVA4T.js → css-D8Elscfw.js} +0 -0
- /package/dist/assets/{csv-B5VtaPtH.js → csv-BOCRZ51I.js} +0 -0
- /package/dist/assets/{cue-jm6lYNrx.js → cue--vvB6NEp.js} +0 -0
- /package/dist/assets/{cypher-DXkvK-pn.js → cypher-8zw1cZPY.js} +0 -0
- /package/dist/assets/{d-CgG1_yzd.js → d-DCw6i__G.js} +0 -0
- /package/dist/assets/{dark-plus-CALzcIVB.js → dark-plus-CJQgO0a2.js} +0 -0
- /package/dist/assets/{dart-BEVoLlWg.js → dart-Di_0TMyS.js} +0 -0
- /package/dist/assets/{dax-H0BW3Q_P.js → dax-C3FCmr3K.js} +0 -0
- /package/dist/assets/{definitions-BW9hy2QG.js → definitions-BhcK9MeU.js} +0 -0
- /package/dist/assets/{desktop-BtYq1l_0.js → desktop-DfPpjKHQ.js} +0 -0
- /package/dist/assets/{diff-CnBYdfTg.js → diff-CbXGRoMP.js} +0 -0
- /package/dist/assets/{dist-KWOsn0v8.js → dist-d-PJ8AUi.js} +0 -0
- /package/dist/assets/{docker-COBitpld.js → docker-B4Kzg9bz.js} +0 -0
- /package/dist/assets/{dotenv-CG0x1m7c.js → dotenv-Bou3VaLF.js} +0 -0
- /package/dist/assets/{dracula-CLCi47X-.js → dracula-DqvSNsR6.js} +0 -0
- /package/dist/assets/{dracula-soft-BMv5cCAV.js → dracula-soft-h1T06flS.js} +0 -0
- /package/dist/assets/{dream-maker-1Bd4OSww.js → dream-maker-BVxHB1DY.js} +0 -0
- /package/dist/assets/{emacs-lisp-B-2zKLn-.js → emacs-lisp-C5w5G5qc.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-CmIAmDSt.js → emoji-catalog-data-B2dzgy2b.js} +0 -0
- /package/dist/assets/{event-bus-B7MjXE2j.js → event-bus-DKlaDVAu.js} +0 -0
- /package/dist/assets/{everforest-dark-BGVynCbV.js → everforest-dark-8YvZGFtA.js} +0 -0
- /package/dist/assets/{everforest-light--rn3R7Cm.js → everforest-light-7kDryiLY.js} +0 -0
- /package/dist/assets/{fennel-SWg9Us_u.js → fennel-0vdmVKTu.js} +0 -0
- /package/dist/assets/{fish-B04oqgKk.js → fish-IyesOFcd.js} +0 -0
- /package/dist/assets/{fluent-BefzAGMN.js → fluent-CcNoA3qp.js} +0 -0
- /package/dist/assets/{format-DQmCypqv.js → format-B2Cl9naL.js} +0 -0
- /package/dist/assets/{format-date-DVD0o0QA.js → format-date-C_j5UjES.js} +0 -0
- /package/dist/assets/{fortran-free-form-alw7jMxb.js → fortran-free-form-_mCAt4L5.js} +0 -0
- /package/dist/assets/{gdscript-BAyhvjCx.js → gdscript-DXUJNbQF.js} +0 -0
- /package/dist/assets/{gdshader-Crl09X-B.js → gdshader-DK3kh5kx.js} +0 -0
- /package/dist/assets/{genie-BSIGRHu7.js → genie-BDu4LoAt.js} +0 -0
- /package/dist/assets/{gherkin-DJhSnSWH.js → gherkin-Bj4QY2ZZ.js} +0 -0
- /package/dist/assets/{github-dark-r8C6qwug.js → github-dark-23T46ITp.js} +0 -0
- /package/dist/assets/{github-dark-default-FVtXjcm8.js → github-dark-default-YRljnVzM.js} +0 -0
- /package/dist/assets/{github-dark-dimmed-CzrUPgSb.js → github-dark-dimmed-dQav7O6R.js} +0 -0
- /package/dist/assets/{github-dark-high-contrast-1s9rF5EB.js → github-dark-high-contrast-DidY19tg.js} +0 -0
- /package/dist/assets/{github-light-BvIWCkl7.js → github-light-BObDDVDh.js} +0 -0
- /package/dist/assets/{github-light-default-CVdhzrxV.js → github-light-default-BoJDCN5R.js} +0 -0
- /package/dist/assets/{github-light-high-contrast-CBAf6hjF.js → github-light-high-contrast-Bst7qyBs.js} +0 -0
- /package/dist/assets/{gleam-DvL1q7aa.js → gleam-mHMeGp-o.js} +0 -0
- /package/dist/assets/{gn-BG5NvwAf.js → gn-BOh1TF98.js} +0 -0
- /package/dist/assets/{gnuplot-BARnM-zG.js → gnuplot-BeWb4QIH.js} +0 -0
- /package/dist/assets/{go-DXvjjq4q.js → go-GgqMuLaN.js} +0 -0
- /package/dist/assets/{groovy-CRylSKhr.js → groovy-C9Z63wPJ.js} +0 -0
- /package/dist/assets/{gruvbox-dark-hard-BVPjnqm7.js → gruvbox-dark-hard-D3hhOWHI.js} +0 -0
- /package/dist/assets/{gruvbox-dark-medium-U_PDgq0a.js → gruvbox-dark-medium-CPtDKE5U.js} +0 -0
- /package/dist/assets/{gruvbox-dark-soft-CkzNtpbr.js → gruvbox-dark-soft--KzcMTkn.js} +0 -0
- /package/dist/assets/{gruvbox-light-hard-DfMmR2G8.js → gruvbox-light-hard-Cr7t7Yc0.js} +0 -0
- /package/dist/assets/{gruvbox-light-medium-BGCak-dd.js → gruvbox-light-medium-DSXNnsG2.js} +0 -0
- /package/dist/assets/{gruvbox-light-soft-DnpM3fkN.js → gruvbox-light-soft-CQt4xaiw.js} +0 -0
- /package/dist/assets/{haskell-DXgGIDD_.js → haskell-BAFTh2zU.js} +0 -0
- /package/dist/assets/{haxe-B7qlTpRz.js → haxe-Bzf0Gule.js} +0 -0
- /package/dist/assets/{hcl-ADWfVe_Q.js → hcl-DG1GEjfN.js} +0 -0
- /package/dist/assets/{hjson-BaM9gLbq.js → hjson-CfLJP1MZ.js} +0 -0
- /package/dist/assets/{hlsl-iqaRA4MG.js → hlsl-CzJWYpeK.js} +0 -0
- /package/dist/assets/{horizon-BPpTnhB9.js → horizon-Debh6yGF.js} +0 -0
- /package/dist/assets/{horizon-bright-yBLg3QbE.js → horizon-bright-CKvdi3Tu.js} +0 -0
- /package/dist/assets/{houston-eFOp0ySL.js → houston-B2Ejyr-g.js} +0 -0
- /package/dist/assets/{hy-BALeMn3i.js → hy-pcFArSJ6.js} +0 -0
- /package/dist/assets/{imba-CdGUm_GD.js → imba-BQU3ATlD.js} +0 -0
- /package/dist/assets/{ini-DG7imsqe.js → ini-Bv5_HvOR.js} +0 -0
- /package/dist/assets/{java-j5sjtKwV.js → java-owmbVqcc.js} +0 -0
- /package/dist/assets/{javascript-CDM3Byzy.js → javascript-DTuM3op3.js} +0 -0
- /package/dist/assets/{json-BM6IlJL7.js → json-zR3clZYf.js} +0 -0
- /package/dist/assets/{json5--Abk7MUy.js → json5-7NU9KTTA.js} +0 -0
- /package/dist/assets/{jsonc-C8jb-Z6x.js → jsonc-B2TECXI_.js} +0 -0
- /package/dist/assets/{jsonl-CaJNxfkm.js → jsonl-BX_fzJy3.js} +0 -0
- /package/dist/assets/{jsonnet-CPrKMSCU.js → jsonnet-BbG4eXRI.js} +0 -0
- /package/dist/assets/{jssm-DEu-9_uo.js → jssm-DSjdYnDs.js} +0 -0
- /package/dist/assets/{jsx-runtime-D1qe-iBh.js → jsx-runtime-XSukodg_.js} +0 -0
- /package/dist/assets/{jsx-CU_TrSpk.js → jsx-uYQiwDAi.js} +0 -0
- /package/dist/assets/{kanagawa-dragon-DnbcAduF.js → kanagawa-dragon-DRQWRtYa.js} +0 -0
- /package/dist/assets/{kanagawa-lotus-yxsY3ew8.js → kanagawa-lotus-B27_zN-N.js} +0 -0
- /package/dist/assets/{kanagawa-wave-C2RyvZaM.js → kanagawa-wave-EAZwYQVu.js} +0 -0
- /package/dist/assets/{kdl-CvssmvcU.js → kdl-BPFF2QoT.js} +0 -0
- /package/dist/assets/{kotlin-jufO49mU.js → kotlin-CzYpDily.js} +0 -0
- /package/dist/assets/{kusto-BAFnylR7.js → kusto-Cd20wvqp.js} +0 -0
- /package/dist/assets/{laserwave-BgxFC4Ge.js → laserwave-Bg9CK1g0.js} +0 -0
- /package/dist/assets/{lean-Bgt24V1D.js → lean-BFRCe_H4.js} +0 -0
- /package/dist/assets/{less-Bk_UaqsM.js → less-p1NRP6KM.js} +0 -0
- /package/dist/assets/{lib-Bqwb-EmC.js → lib-eGZllh2n.js} +0 -0
- /package/dist/assets/{light-plus-nMxFfInN.js → light-plus-upjemLP3.js} +0 -0
- /package/dist/assets/{llvm-3_PASDOO.js → llvm-Cet_tzjQ.js} +0 -0
- /package/dist/assets/{log-CKm0CxB1.js → log-DBmXghSa.js} +0 -0
- /package/dist/assets/{logo-DFP1_5U6.js → logo-BLXhBfIu.js} +0 -0
- /package/dist/assets/{loopback-auth-jEbLJO6M.js → loopback-auth-Dclf8zKT.js} +0 -0
- /package/dist/assets/{luau-BcZnoyh3.js → luau-CT4sQte_.js} +0 -0
- /package/dist/assets/{make-CpNSwgwT.js → make-CzZ-Pqm8.js} +0 -0
- /package/dist/assets/{markdown-DhU3Djpv.js → markdown-CK4ZeF9q.js} +0 -0
- /package/dist/assets/{material-theme-DD5L3OqF.js → material-theme-B0X5JuGU.js} +0 -0
- /package/dist/assets/{material-theme-darker-CG2_tD3R.js → material-theme-darker-bAfX1Mca.js} +0 -0
- /package/dist/assets/{material-theme-lighter-CzNkUc9Y.js → material-theme-lighter-kiXQ2ArM.js} +0 -0
- /package/dist/assets/{material-theme-ocean-BtLiAaF_.js → material-theme-ocean-0YlpVqMF.js} +0 -0
- /package/dist/assets/{material-theme-palenight-Brvjz035.js → material-theme-palenight-BuhI7LV9.js} +0 -0
- /package/dist/assets/{matlab-CCY0KtMD.js → matlab-d4q8V2kc.js} +0 -0
- /package/dist/assets/{mdx-CH6YY0aS.js → mdx-K6mWiB31.js} +0 -0
- /package/dist/assets/{mermaid-Bqh3gFI0.js → mermaid-CPUZiUu1.js} +0 -0
- /package/dist/assets/{min-dark-BUwfTzI6.js → min-dark-2Rbk1Br6.js} +0 -0
- /package/dist/assets/{min-light-oLanXCOk.js → min-light-BmT_ha59.js} +0 -0
- /package/dist/assets/{mipsasm-CTh3hPWK.js → mipsasm-DK7WtL4H.js} +0 -0
- /package/dist/assets/{mojo-DXdszZKa.js → mojo-C6jO9tbh.js} +0 -0
- /package/dist/assets/{monokai-TNE_tRxc.js → monokai-n0skDik5.js} +0 -0
- /package/dist/assets/{moonbit-jrk-Gx1X.js → moonbit-C-f1WC7g.js} +0 -0
- /package/dist/assets/{move-DItn61bH.js → move-QSx3iSl5.js} +0 -0
- /package/dist/assets/{narrat-3kB4dkh0.js → narrat-DFAniABg.js} +0 -0
- /package/dist/assets/{nextflow-groovy-CSKtwETr.js → nextflow-groovy-B9N2TG62.js} +0 -0
- /package/dist/assets/{night-owl-light-riwrcPRg.js → night-owl-light-CVag60SP.js} +0 -0
- /package/dist/assets/{night-owl-Dm91nSIq.js → night-owl-mCA1q7O0.js} +0 -0
- /package/dist/assets/{nix-sLgl9zGF.js → nix-bdwWUuk-.js} +0 -0
- /package/dist/assets/{nord-TWkJPI6M.js → nord-CtXtkaes.js} +0 -0
- /package/dist/assets/{nushell-CDZi4-Gf.js → nushell--fLVweC7.js} +0 -0
- /package/dist/assets/{objective-c-DW9PboNp.js → objective-c-DAGpxSED.js} +0 -0
- /package/dist/assets/{objective-cpp-2XCCX6q1.js → objective-cpp-S9Qw4p5N.js} +0 -0
- /package/dist/assets/{ocaml-CxPdnjrh.js → ocaml-CXgsxD0u.js} +0 -0
- /package/dist/assets/{odin-BJjlKpkM.js → odin-BMIOl-Ey.js} +0 -0
- /package/dist/assets/{one-dark-pro-K1KOmBZ7.js → one-dark-pro-D0SOVXc3.js} +0 -0
- /package/dist/assets/{one-light-DQB-vUyZ.js → one-light-6H2Du-_j.js} +0 -0
- /package/dist/assets/{openscad-DCoLwn4j.js → openscad-nYs158Bh.js} +0 -0
- /package/dist/assets/{pascal-z2ktbbWp.js → pascal-xdQR9yYI.js} +0 -0
- /package/dist/assets/{pkl-Dyq4-v6z.js → pkl-CKXXcd2b.js} +0 -0
- /package/dist/assets/{plastic-C4Rq5PnD.js → plastic-CUGHL3mc.js} +0 -0
- /package/dist/assets/{plsql-BCIjO63y.js → plsql-Cbu0u4o0.js} +0 -0
- /package/dist/assets/{po-_kXpd_0n.js → po-BzXmFbAz.js} +0 -0
- /package/dist/assets/{poimandres-C9XggjB3.js → poimandres-K0I2PGAn.js} +0 -0
- /package/dist/assets/{polar-DV_1L04z.js → polar-JCQfk1iI.js} +0 -0
- /package/dist/assets/{postcss-BuqS91mQ.js → postcss-D-Lhrf07.js} +0 -0
- /package/dist/assets/{powerquery-DK13B2Dc.js → powerquery-B0Xnzpzi.js} +0 -0
- /package/dist/assets/{powershell-tkuhhtuP.js → powershell-Dhr7o9Mu.js} +0 -0
- /package/dist/assets/{preload-helper-CC9DnTon.js → preload-helper-CS_K7l1U.js} +0 -0
- /package/dist/assets/{prisma-WNXfBtpr.js → prisma-CP6RFVWH.js} +0 -0
- /package/dist/assets/{prolog-BzEdNKfO.js → prolog--OnDee30.js} +0 -0
- /package/dist/assets/{proto-B5meVsrA.js → proto-D5uLba8m.js} +0 -0
- /package/dist/assets/{public-asset-wtS9_-QU.js → public-asset-D_6jw-nO.js} +0 -0
- /package/dist/assets/{puppet-C7h_p4r2.js → puppet-B-NS8S2F.js} +0 -0
- /package/dist/assets/{purescript-qH1KxAs6.js → purescript-YiaGpr2G.js} +0 -0
- /package/dist/assets/{python-DeTIYd5V.js → python-BLHZUHuM.js} +0 -0
- /package/dist/assets/{qmldir-4Rm5AvD3.js → qmldir-BqPbfIfY.js} +0 -0
- /package/dist/assets/{qss-YRbeNtr0.js → qss-CNa1aCQe.js} +0 -0
- /package/dist/assets/{queryOptions-BlcwdoQQ.js → queryOptions-C_ypb2wA.js} +0 -0
- /package/dist/assets/{r-CMso0frX.js → r-DA-LaeJg.js} +0 -0
- /package/dist/assets/{racket-gKn4SFLQ.js → racket-Bbm_5p0C.js} +0 -0
- /package/dist/assets/{raku-DWTmAj3A.js → raku-C97eJ11n.js} +0 -0
- /package/dist/assets/{react-BlnqVGWw.js → react-DJZBPgpf.js} +0 -0
- /package/dist/assets/{red-BFuHRZFS.js → red-BcnEthHf.js} +0 -0
- /package/dist/assets/{reg-DYoOF5tH.js → reg-BE7bjPQ8.js} +0 -0
- /package/dist/assets/{regexp-B6wC3Alg.js → regexp-zNGmBvxe.js} +0 -0
- /package/dist/assets/{rel-Z_tTruCU.js → rel-DxkHU6ey.js} +0 -0
- /package/dist/assets/{riscv-DfTfKuvU.js → riscv-s2KghewY.js} +0 -0
- /package/dist/assets/{ron-CsUtW8gQ.js → ron-C2k99hFN.js} +0 -0
- /package/dist/assets/{rose-pine-Dng_vCo6.js → rose-pine-DvkjqEA5.js} +0 -0
- /package/dist/assets/{rose-pine-dawn-Ds88Nezf.js → rose-pine-dawn-IDeCX2R_.js} +0 -0
- /package/dist/assets/{rose-pine-moon-DWpzrqNz.js → rose-pine-moon-AwRS3fIg.js} +0 -0
- /package/dist/assets/{rosmsg-h2sO84oD.js → rosmsg-DZvmyLbf.js} +0 -0
- /package/dist/assets/{rust-Dx86yfCi.js → rust-BR0kD35m.js} +0 -0
- /package/dist/assets/{sass-BwwVhdT9.js → sass-B1iDQwrz.js} +0 -0
- /package/dist/assets/{scala-WJqNEN-w.js → scala-B_bbzrFM.js} +0 -0
- /package/dist/assets/{scheme-uwj-t1Rp.js → scheme-Bh3SmU2Z.js} +0 -0
- /package/dist/assets/{sdbl-BYy5hgEz.js → sdbl-BjuGg6Hv.js} +0 -0
- /package/dist/assets/{semver-BMhLFfhj.js → semver-DLbEvyUs.js} +0 -0
- /package/dist/assets/{shellscript-B9T4z4ZS.js → shellscript-Df7hfJNE.js} +0 -0
- /package/dist/assets/{slack-dark-BvhGq5vQ.js → slack-dark-BMKx-uNu.js} +0 -0
- /package/dist/assets/{slack-ochin-C9g0ZRFr.js → slack-ochin-DVWF26Tk.js} +0 -0
- /package/dist/assets/{smalltalk-ZEiZ6i7U.js → smalltalk-DOyDlfjw.js} +0 -0
- /package/dist/assets/{snazzy-light-29OA24q5.js → snazzy-light-CV5I2qfQ.js} +0 -0
- /package/dist/assets/{solarized-dark-Bnq9IOn_.js → solarized-dark-ROrlu8b7.js} +0 -0
- /package/dist/assets/{solarized-light-CYdI7T5g.js → solarized-light-DLaQaEqx.js} +0 -0
- /package/dist/assets/{solidity-DcuIDB-_.js → solidity-Cpy-lQA4.js} +0 -0
- /package/dist/assets/{splunk-D5ONE91g.js → splunk-amWRSsqJ.js} +0 -0
- /package/dist/assets/{sql-CFgcYxpU.js → sql-LDYZUbXj.js} +0 -0
- /package/dist/assets/{ssh-config-D8717tLI.js → ssh-config-DFL3K5A6.js} +0 -0
- /package/dist/assets/{stylus-Cm1lO4Y6.js → stylus-CpFppqWZ.js} +0 -0
- /package/dist/assets/{swift-X8oWpSeU.js → swift-Cm8RIbkm.js} +0 -0
- /package/dist/assets/{synthwave-84-DF-t1UKY.js → synthwave-84-B07FyWEU.js} +0 -0
- /package/dist/assets/{system-verilog-JYyHFpPf.js → system-verilog-Efh9Iyxc.js} +0 -0
- /package/dist/assets/{systemd-Da-5Ma_c.js → systemd-CM8aBYFi.js} +0 -0
- /package/dist/assets/{talonscript-CXraVPho.js → talonscript-DNBlw3UJ.js} +0 -0
- /package/dist/assets/{tasl-BCmWezH9.js → tasl-B5CaCj6V.js} +0 -0
- /package/dist/assets/{tcl-BTufzfbf.js → tcl-LiOm-HhN.js} +0 -0
- /package/dist/assets/{terraform-CtUA9c8W.js → terraform-Z3CLHZWW.js} +0 -0
- /package/dist/assets/{tokyo-night-BCThYXmz.js → tokyo-night-C_9jP15n.js} +0 -0
- /package/dist/assets/{toml-D5YlDr6Y.js → toml-CH-AWylV.js} +0 -0
- /package/dist/assets/{tsv-CBB-P_Sl.js → tsv-CbgjNKMk.js} +0 -0
- /package/dist/assets/{tsx-BEBsk4Yi.js → tsx-DMQkHAfP.js} +0 -0
- /package/dist/assets/{turtle-D8PCeJ-v.js → turtle-DyuXN5E6.js} +0 -0
- /package/dist/assets/{typescript-lcLHehw2.js → typescript-DWQix_1Y.js} +0 -0
- /package/dist/assets/{typespec-CHxldxIW.js → typespec-BAtHNJ2P.js} +0 -0
- /package/dist/assets/{typst-Q8CqX5OR.js → typst-Ccl-pSVT.js} +0 -0
- /package/dist/assets/{v-Bf2hKAMu.js → v-B-fTy4zo.js} +0 -0
- /package/dist/assets/{vala-Cbete-UE.js → vala-B5pVtMk_.js} +0 -0
- /package/dist/assets/{vb-CA-xWAcX.js → vb-Bmh_zzxH.js} +0 -0
- /package/dist/assets/{verilog-B3wb8CfT.js → verilog-CdTJwARf.js} +0 -0
- /package/dist/assets/{vesper-D6r3VJq_.js → vesper-CLXAFKGT.js} +0 -0
- /package/dist/assets/{vhdl-C42S_797.js → vhdl-B4YfSXFK.js} +0 -0
- /package/dist/assets/{viml-BePrIAs8.js → viml-CCaONKHu.js} +0 -0
- /package/dist/assets/{vitesse-black-DRqn61Ck.js → vitesse-black-DRcju0Ze.js} +0 -0
- /package/dist/assets/{vitesse-dark-39_8UE-w.js → vitesse-dark-WdU9udp0.js} +0 -0
- /package/dist/assets/{vitesse-light-B1jwrxDm.js → vitesse-light-ByFqwcMo.js} +0 -0
- /package/dist/assets/{vyper-tDJv3imF.js → vyper-BPJ2UA1J.js} +0 -0
- /package/dist/assets/{wasm-BYoJCXXt.js → wasm-BQxIq9Eb.js} +0 -0
- /package/dist/assets/{wasm-DR7eskZH.js → wasm-Du4Oqb3T.js} +0 -0
- /package/dist/assets/{wenyan-CezVfqN3.js → wenyan-AvBa7-F9.js} +0 -0
- /package/dist/assets/{wgsl-CwOcIiIG.js → wgsl-VJugdx8c.js} +0 -0
- /package/dist/assets/{wikitext-C5coomYc.js → wikitext-BPOx0NBh.js} +0 -0
- /package/dist/assets/{wit-C9yyX6-U.js → wit-e40cyGQD.js} +0 -0
- /package/dist/assets/{wolfram-BWi0rMAa.js → wolfram-DvIVouaK.js} +0 -0
- /package/dist/assets/{xterm-Dsv8Be_e.js → xterm-D62GGRqD.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-C__pvf5w.js → xterm-addon-fit-B4zTZTld.js} +0 -0
- /package/dist/assets/{yaml-FxJ2oirE.js → yaml-c7bUfcEd.js} +0 -0
- /package/dist/assets/{zenscript-Do7WLoJh.js → zenscript-CeS3qazQ.js} +0 -0
- /package/dist/assets/{zig-Cr80Qrru.js → zig-DigpDLaV.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-B1Lebfcn.js";var t=e(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./exports-CJ0Uoq7P.js";function t(e){return e instanceof TypeError&&/^(failed to fetch|load failed|networkerror when attempting to fetch resource)\.?$/i.test(e.message)}function n(n,r){t(n)||(console.error(`[${r.context}]`,n),e(n,{level:r.level,tags:{context:r.context,...r.tags},...r.extra?{extra:r.extra}:{}}))}export{t as n,n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-BAqBudC8.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./jsx-runtime-D1qe-iBh.js";import{t as r}from"./button-ClCfFgUi.js";import{t as i}from"./typography-C2ZUvvBk.js";import"./src-DDKMtkUH.js";import{t as a}from"./panel-item-D-eNLUtf.js";import{n as o}from"./use-is-mobile-BJcMpFY1.js";import{t as s}from"./loader-circle-DnYn_L1c.js";import{t as c}from"./x-BgvySeHo.js";import{Jt as l,ri as u}from"./index-DfyO29JM.js";var d=e(t(),1),f=e(u(),1),p=n();function m({icon:e,title:t,subtitle:n,shortcutHint:r,isSelected:i,onClick:o}){return(0,p.jsx)(a,{icon:e,label:(0,p.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`truncate`,children:t}),n?(0,p.jsx)(`span`,{className:`shrink-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,r?(0,p.jsx)(`span`,{className:`ml-auto shrink-0 text-[var(--content-tertiary)] text-body-small-default`,children:r}):null]}),active:i,onSelect:o,className:`px-3 py-2`})}var h=({isOpen:e,onClose:t,query:n,onQueryChange:a,selectedIndex:u,sections:h,isSearching:g=!1,onItemSelect:_,onKeyDown:v})=>{let y=o(),b=(0,d.useRef)(null),x=(0,d.useRef)(null),S=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{x.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,d.useEffect)(()=>{if(!e||!S.current)return;let t=S.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,u]);let C=(0,d.useCallback)(e=>{e.target===b.current&&t()},[t]);if(!e)return null;let w=0,T=(0,p.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[g?(0,p.jsx)(s,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,p.jsx)(l,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,p.jsx)(`input`,{ref:x,type:`text`,value:n,onChange:e=>a(e.target.value),placeholder:`Search conversations, memories…`,className:`min-w-0 flex-1 bg-transparent text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`,"aria-label":`Search`}),n?y?(0,p.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>a(``),"aria-label":`Clear search`,children:`Clear`}):(0,p.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,p.jsx)(c,{}),"aria-label":`Clear search`,onClick:()=>a(``),tintColor:`var(--content-tertiary)`}):y?null:(0,p.jsx)(`kbd`,{className:`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-label-small-default text-[var(--content-tertiary)]`,children:`⌘K`})]}),E=(0,p.jsx)(`div`,{ref:S,className:y?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:h.length===0?(0,p.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,p.jsx)(i,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:g?`Searching…`:`No results`})}):h.map(e=>(0,p.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,p.jsx)(i,{variant:`label-small-default`,as:`div`,className:`px-3 pb-1 pt-2 text-[var(--content-tertiary)]`,children:e.label}),e.items.map(e=>{let t=w++;return(0,p.jsx)(m,{icon:e.icon,title:e.title,subtitle:e.subtitle,shortcutHint:y?void 0:e.shortcutHint,isSelected:t===u,onClick:()=>_?.(e,t)},e.id)})]},e.id))});return y?(0,p.jsxs)(`div`,{className:`absolute inset-0 z-30 flex flex-col bg-[var(--surface-lift)]`,role:`dialog`,"aria-modal":`true`,"aria-label":`Search`,onKeyDown:v,children:[T,E]}):(0,f.createPortal)((0,p.jsx)(`div`,{ref:b,role:`dialog`,"aria-modal":`true`,"aria-label":`Command palette`,className:`fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[15vh]`,onClick:C,onKeyDown:v,children:(0,p.jsxs)(`div`,{className:`flex w-full max-w-[560px] flex-col overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] shadow-xl`,children:[T,E]})}),document.body)};export{h as CommandPalette};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-D1qe-iBh.js";import{t}from"./button-ClCfFgUi.js";import{t as n}from"./card-BPyEFYCf.js";import{t as r}from"./tag-DI4G1_a6.js";import{t as i}from"./createLucideIcon-B1Lebfcn.js";import{t as a}from"./external-link-dAVFCT-x.js";import{t as o}from"./globe-BylK8Ede.js";import{An as s,E as c,Et as l,It as u,Sr as d,d as f,et as p,f as m,p as h,rn as g,vr as _,zt as v}from"./index-DfyO29JM.js";var y=i(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),b=e();function x({size:e=24,className:t,style:n}){return(0,b.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,b.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function S({size:e=24,className:t,style:n}){return(0,b.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,b.jsx)(`path`,{d:`M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z`})})}function C({size:e=24,className:t,style:n}){return(0,b.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,b.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})})}function w(){return(0,b.jsx)(n,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,b.jsxs)(`div`,{className:`relative`,children:[(0,b.jsx)(`div`,{className:`pointer-events-none absolute -right-16 -top-16 h-64 w-64 rounded-full opacity-30 blur-3xl`,style:{background:`radial-gradient(circle, var(--system-mid-weak) 0%, transparent 70%)`},"aria-hidden":!0}),(0,b.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,b.jsxs)(r,{tone:`neutral`,children:[(0,b.jsx)(g,{className:`h-3.5 w-3.5`}),`Community`]}),(0,b.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:`Build with us, in the open.`}),(0,b.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:`Vellum is built in the open with a growing community of developers, designers, and tinkerers. Here's how to get involved.`})]})]})})}function T({icon:e,text:t}){return(0,b.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,b.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,b.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function E({accentColor:e,iconColor:r=`var(--aux-white)`,label:i,icon:a,title:o,subtitle:s,benefits:c,primaryAction:l,secondaryAction:u}){return(0,b.jsx)(n,{padding:`lg`,className:`flex-1`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:e,color:r},children:a}),(0,b.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:i})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:o}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:s})]}),(0,b.jsx)(`ul`,{className:`flex flex-col gap-3`,children:c.map(({icon:e,text:t})=>(0,b.jsx)(T,{icon:e,text:t},t))}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(t,{onClick:l.onClick,children:[l.icon,l.label]}),u&&(0,b.jsxs)(t,{variant:`ghost`,onClick:()=>window.open(u.href,`_blank`,`noopener,noreferrer`),children:[u.label,(0,b.jsx)(d,{className:`h-3.5 w-3.5`})]})]})]})})}function D({icon:e,iconBg:t,title:r,description:i,href:o}){return(0,b.jsx)(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,b.jsx)(n,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg text-white`,style:{backgroundColor:t},children:e}),(0,b.jsx)(a,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,b.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:r}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:i})]})]})})})}function O(){let{handleStar:e}=h();return(0,b.jsxs)(`div`,{className:`max-w-[940px] space-y-6`,children:[(0,b.jsx)(w,{}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,b.jsx)(E,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:`Open Source`,icon:(0,b.jsx)(x,{size:20}),title:`Vellum is open source`,subtitle:`Read the source, star the repo, and contribute fixes and features on GitHub.`,benefits:[{icon:u,text:`Star the repo to follow updates`},{icon:_,text:`Open issues and report bugs`},{icon:y,text:`Contribute fixes and new features`}],primaryAction:{label:`Star on GitHub`,icon:(0,b.jsx)(u,{size:16}),onClick:e},secondaryAction:{label:`View source`,href:m}}),(0,b.jsx)(E,{accentColor:`#5865F2`,label:`Discord`,icon:(0,b.jsx)(c,{size:20}),title:`Join our community`,subtitle:`Talk to the team, share feedback, request features, and get answers faster.`,benefits:[{icon:s,text:`Talk directly with the team`},{icon:v,text:`Share feedback and request features`},{icon:l,text:`Get answers faster from the community`}],primaryAction:{label:`Join Discord`,icon:(0,b.jsx)(c,{size:16,style:{color:`currentColor`}}),onClick:f}})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:`More from Vellum`}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,b.jsx)(D,{icon:(0,b.jsx)(o,{size:20}),iconBg:`#22c55e`,title:`Community Hub`,description:`Showcases, guides, and projects shared by the community.`,href:p}),(0,b.jsx)(D,{icon:(0,b.jsx)(C,{size:20}),iconBg:`#0f172a`,title:`Follow on X`,description:`Product updates, releases, and behind-the-scenes.`,href:`https://x.com/vellum_ai`}),(0,b.jsx)(D,{icon:(0,b.jsx)(S,{size:20}),iconBg:`#ef4444`,title:`YouTube channel`,description:`Walkthroughs, tutorials, and product deep-dives.`,href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{O as CommunityPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{n}from"./QueryClientProvider-DP1e6db6.js";import{t as r}from"./useMutation-DiUMH3gL.js";import{t as i}from"./jsx-runtime-D1qe-iBh.js";import{i as a}from"./routes-CkBoiJow.js";import{t as o}from"./button-ClCfFgUi.js";import{t as s}from"./typography-C2ZUvvBk.js";import{t as c}from"./card-BPyEFYCf.js";import{t as l}from"./toast-VQEhJ0eG.js";import{t as u}from"./link-2-Diy8IM6e.js";import{t as d}from"./loader-circle-DnYn_L1c.js";import{At as f,ei as p,ni as m}from"./index-DfyO29JM.js";import{t as h}from"./use-active-assistant-id-CAZ9yruQ.js";import{n as g,o as _}from"./contacts-gateway-BT27BDPK.js";var v=e(t(),1),y=i();function b(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function x(e,t){switch(e){case`expired`:case`not_found`:return`This invite link has expired or already been used.`;case`already_redeemed_by_other`:return`This invite has already been claimed by someone else.`;case`sender_not_found`:return`The sender's assistant could not be found.`;case`not_platform_managed`:return`A2A invite links are only supported for platform-hosted assistants.`;default:return t||`Something went wrong. Please try again.`}}function S(){return(0,y.jsx)(C,{assistantId:h()})}function C({assistantId:e}){let t=p(),i=n(),[h]=m(),S=(0,v.useMemo)(()=>_(h),[h]),C=r({mutationFn:()=>{if(!S)throw Error(`Invalid invite link`);return g(e,{senderAssistantId:S.senderAssistantId,token:S.token})},onSuccess:e=>{e.success&&(i.invalidateQueries({predicate:e=>b(e.queryKey)}),e.alreadyConnected?l(`Already connected`):l(`Connected!`),t(a.contacts.root))}}),w=(0,v.useCallback)(()=>{t(a.contacts.root)},[t]),T=(0,v.useCallback)(()=>{C.mutate()},[C]),E=(0,v.useMemo)(()=>C.isError?C.error instanceof Error?C.error.message:`Something went wrong. Please try again.`:C.data&&!C.data.success?x(C.data.errorCode,C.data.error):null,[C.isError,C.error,C.data]);return S?(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(c,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(u,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,y.jsx)(s,{variant:`title-small`,children:`Connect assistants`})]}),(0,y.jsx)(s,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Accepting this link will create a trusted A2A connection between your assistant and the sender's.`}),E&&(0,y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--surface-negative-subtle)`,color:`var(--system-negative-strong)`},children:[(0,y.jsx)(f,{className:`h-4 w-4 shrink-0`}),(0,y.jsx)(s,{variant:`body-small-default`,children:E})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(o,{variant:`primary`,onClick:T,disabled:C.isPending,children:C.isPending?(0,y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):`Connect`}),(0,y.jsx)(o,{variant:`outlined`,onClick:w,disabled:C.isPending,children:`Cancel`})]})]})})}):(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(c,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(f,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,y.jsx)(s,{variant:`title-small`,children:`Invalid invite link`})]}),(0,y.jsx)(s,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`The link you followed is missing required parameters and cannot be used.`}),(0,y.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,y.jsx)(o,{variant:`primary`,onClick:w,children:`Go to Contacts`})})]})})})}export{S as ConnectPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./client.gen-D2FNzKQM.js";import{n as t,r as n,t as r}from"./api-errors-BjIRwVX0.js";import{i}from"./routes-CkBoiJow.js";function a(e){let t=typeof window<`u`?window.location.origin:``,n=new URLSearchParams({senderAssistantId:e.senderAssistantId,token:e.token});return`${t}${i.connect}?${n.toString()}`}function o(e){let t=e.get(`senderAssistantId`)?.trim(),n=e.get(`token`)?.trim();return!t||!n?null:{senderAssistantId:t,token:n}}async function s(i,a){let{data:o,error:s,response:c}=await e.post({url:`/v1/assistants/{assistant_id}/contacts/`,path:{assistant_id:i},body:a,headers:{"Content-Type":`application/json`},throwOnError:!1});if(t(c,s,`Failed to save contact`),!c.ok||!o?.contact)throw new r(c.status,n(s,c,`Failed to save contact`));return o.contact}async function c(i,a){let{error:o,response:s}=await e.delete({url:`/v1/assistants/{assistant_id}/contacts/{contact_id}/`,path:{assistant_id:i,contact_id:a},throwOnError:!1});if(t(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new r(s.status,n(o,s,`Failed to delete contact`))}async function l(i,a){let{error:o,response:s}=await e.post({url:`/v1/assistants/{assistant_id}/contact-channels/{channel_id}/verify/`,path:{assistant_id:i,channel_id:a},throwOnError:!1});if(t(s,o,`Failed to verify channel`),!s.ok)throw new r(s.status,n(o,s,`Failed to verify channel`))}async function u(i,a){let{data:o,error:s,response:c}=await e.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:i},body:{sender_assistant_id:a.senderAssistantId,token:a.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(t(c,s,`Failed to redeem A2A invite`),!c.ok)throw new r(c.status,n(s,c,`Failed to redeem A2A invite`));return{success:o?.success??!0,alreadyConnected:o?.already_connected,error:o?.error,errorCode:o?.error_code}}export{a,l as i,u as n,o,s as r,c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{n}from"./QueryClientProvider-DP1e6db6.js";import{t as r}from"./useQuery-CrONYg8_.js";import{t as i}from"./useMutation-DiUMH3gL.js";import{t as a}from"./jsx-runtime-D1qe-iBh.js";import{i as o}from"./routes-CkBoiJow.js";import{t as s}from"./button-ClCfFgUi.js";import{t as c}from"./typography-C2ZUvvBk.js";import{t as l}from"./card-BPyEFYCf.js";import{t as u}from"./confirm-dialog-BGK9Zfu-.js";import{t as d}from"./tag-DI4G1_a6.js";import{t as f}from"./panel-item-D-eNLUtf.js";import{t as p}from"./input-D3ItuUML.js";import{t as m}from"./modal-DnazB3IX.js";import{t as h}from"./toast-VQEhJ0eG.js";import{$ as g,Q as _,c as v,et as y,nt as b,rt as x,tt as S}from"./sdk.gen-COjGLNMd.js";import{a as C,c as w,i as T,o as E,r as ee,s as D,y as O}from"./react-query.gen-C_ukJxaR.js";import{t as te}from"./assistant-feature-flag-store-eFzXnt31.js";import{t as k}from"./createLucideIcon-B1Lebfcn.js";import{t as ne}from"./ellipsis-vertical-m9z0V1U7.js";import{t as A}from"./link-2-Diy8IM6e.js";import{t as j}from"./loader-circle-DnYn_L1c.js";import{t as M}from"./pencil-CwqXcyAU.js";import{Fr as re,Ir as ie,Jt as N,Ot as P,Xn as ae,dr as F,ei as oe,gr as I,hr as L,jn as R,mn as se,on as z,pr as ce,qt as B,tn as le,tt as V,wr as ue,yn as H,yt as de}from"./index-DfyO29JM.js";import{t as U}from"./use-active-assistant-id-CAZ9yruQ.js";import{n as fe,t as pe}from"./mobile-sidebar-drawer-DDDsJtIP.js";import{t as W}from"./detail-card-akwfTEr9.js";import{a as G,i as me,r as he,t as ge}from"./contacts-gateway-BT27BDPK.js";var K=k(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),q=k(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),_e=k(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),J=e(t(),1),Y=a();function X({role:e,contactType:t}){let{label:n,tone:r}=ve(e,t);return(0,Y.jsx)(d,{tone:r,children:n})}function ve(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function Z({onClick:e}){return(0,Y.jsx)(s,{variant:`outlined`,size:`compact`,leftIcon:(0,Y.jsx)(A,{className:`h-3.5 w-3.5`}),onClick:e,children:`Share Connection Link`})}var ye={slack:{label:`Slack`,Icon:R,disconnectMessage:`This clears the stored Slack bot and app tokens for this assistant. You can reconnect later.`},telegram:{label:`Telegram`,Icon:B,disconnectMessage:`This clears the stored Telegram bot token for this assistant. You can reconnect later.`},phone:{label:`Phone Calling`,Icon:z,disconnectMessage:`This clears the stored Twilio credentials for this assistant. You can reconnect later.`}};function be({assistantName:e,channels:t,pendingChannelKey:n=null,onSetup:r,onDisconnect:i,onSaveTelegramToken:a,onSaveSlackConfig:o,onSaveTwilioCredentials:s,onGenerateInviteLink:c}){let l=e.trim()||`your assistant`,[d,f]=(0,J.useState)(null),[p,m]=(0,J.useState)(new Set),h=d?ye[d]:null,g=e=>{m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:`${l} (Your Assistant)`,accessory:(0,Y.jsx)(X,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(W,{title:`Channels`,subtitle:`Manage where ${l} can be reached.`,children:(0,Y.jsx)(`div`,{className:`flex flex-col`,children:t.map((e,t)=>(0,Y.jsxs)(`div`,{children:[t>0?(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,Y.jsx)(xe,{channel:e,pending:n===e.key,expanded:p.has(e.key),onToggleExpand:()=>g(e.key),onSetup:r?()=>r(e.key):void 0,onDisconnect:i?()=>f(e.key):void 0,onSaveTelegramToken:a,onSaveSlackConfig:o,onSaveTwilioCredentials:s})]},e.key))})}),c?(0,Y.jsx)(Z,{onClick:c}):null,(0,Y.jsx)(u,{open:d!==null,title:`Disconnect ${h?.label??``}?`,message:h?.disconnectMessage??``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{d&&i&&i(d),f(null)},onCancel:()=>f(null)})]})}function xe({channel:e,pending:t,expanded:n,onToggleExpand:r,onSetup:i,onDisconnect:a,onSaveTelegramToken:o,onSaveSlackConfig:c,onSaveTwilioCredentials:l}){let u=ye[e.key],d=e.status===`ready`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 py-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[!d||e.key!==`slack`?(0,Y.jsx)(`button`,{type:`button`,className:`flex shrink-0 items-center justify-center`,onClick:r,style:{color:`var(--content-secondary)`},children:n?(0,Y.jsx)(L,{className:`h-4 w-4`}):(0,Y.jsx)(ce,{className:`h-4 w-4`})}):(0,Y.jsx)(u.Icon,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:u.label}),e.address?(0,Y.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex items-center gap-2`,children:d?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(F,{className:`h-3 w-3`}),`Connected`]}),(0,Y.jsx)(s,{type:`button`,variant:`danger`,onClick:a,disabled:!a||t,children:t?`Disconnecting…`:`Disconnect`})]}):(0,Y.jsx)(s,{type:`button`,variant:`outlined`,onClick:i,disabled:!i||t,children:t?`Opening…`:`Set up`})})]}),!d&&e.key===`telegram`&&n?(0,Y.jsx)(Se,{onSave:o}):null,!d&&e.key===`slack`&&n?(0,Y.jsx)(Ce,{onSave:c}):null,!d&&e.key===`phone`&&n?(0,Y.jsx)(Q,{onSave:l}):null,d&&e.key===`telegram`&&n?(0,Y.jsx)(Se,{onSave:o}):null,d&&e.key===`phone`&&n?(0,Y.jsx)(Q,{onSave:l}):null]})}function Se({onSave:e}){let[t,n]=(0,J.useState)(``),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(null),c=t.trim().length>0&&!r;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 pl-7`,children:[(0,Y.jsx)(p,{label:`Bot Token`,type:`password`,value:t,onChange:e=>n(e.target.value),placeholder:`Paste your Telegram bot token`,disabled:r,fullWidth:!0}),a?(0,Y.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:a}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsx)(s,{type:`button`,onClick:async()=>{if(!(!e||!c)){i(!0),o(null);try{await e(t.trim()),n(``)}catch(e){o(e instanceof Error?e.message:`Failed to save`)}finally{i(!1)}}},disabled:!c,children:r?`Saving…`:`Save`})})]})}function Ce({onSave:e}){let[t,n]=(0,J.useState)(``),[r,i]=(0,J.useState)(``),[a,o]=(0,J.useState)(!1),[c,l]=(0,J.useState)(null),u=t.trim().length>0&&r.trim().length>0&&!a;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 pl-7`,children:[(0,Y.jsx)(p,{label:`Bot Token`,type:`password`,value:t,onChange:e=>n(e.target.value),placeholder:`xoxb-...`,disabled:a,fullWidth:!0}),(0,Y.jsx)(p,{label:`App Token`,type:`password`,value:r,onChange:e=>i(e.target.value),placeholder:`xapp-...`,disabled:a,fullWidth:!0}),c?(0,Y.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:c}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsx)(s,{type:`button`,onClick:async()=>{if(!(!e||!u)){o(!0),l(null);try{await e(t.trim(),r.trim()),n(``),i(``)}catch(e){l(e instanceof Error?e.message:`Failed to save`)}finally{o(!1)}}},disabled:!u,children:a?`Saving…`:`Save`})})]})}function Q({onSave:e}){let[t,n]=(0,J.useState)(``),[r,i]=(0,J.useState)(``),[a,o]=(0,J.useState)(!1),[c,l]=(0,J.useState)(null),u=t.trim().length>0&&r.trim().length>0&&!a;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 pl-7`,children:[(0,Y.jsx)(p,{label:`Account SID`,type:`text`,value:t,onChange:e=>n(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:a,fullWidth:!0}),(0,Y.jsx)(p,{label:`Auth Token`,type:`password`,value:r,onChange:e=>i(e.target.value),placeholder:`Twilio auth token`,disabled:a,fullWidth:!0}),c?(0,Y.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:c}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsx)(s,{type:`button`,onClick:async()=>{if(!(!e||!u)){o(!0),l(null);try{await e(t.trim(),r.trim()),n(``),i(``)}catch(e){l(e instanceof Error?e.message:`Failed to save`)}finally{o(!1)}}},disabled:!u,children:a?`Saving…`:`Save`})})]})}var we=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Te(e){return we.has(e)}function Ee(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t?.status===`verified`||t?.status===`active`&&t?.verifiedAt!=null?{kind:`verified`}:t&&t.status!==`revoked`?{kind:`unverified`}:{kind:`setup`}}function De(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Te(e.type)&&(r.push({id:e.type,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Oe({name:e,className:t,style:n}){switch(e){case`bot`:return(0,Y.jsx)(K,{className:t,style:n});case`hash`:return(0,Y.jsx)(R,{className:t,style:n});case`send`:return(0,Y.jsx)(B,{className:t,style:n});case`phone`:return(0,Y.jsx)(z,{className:t,style:n});case`mail`:return(0,Y.jsx)(H,{className:t,style:n});case`message-square`:return(0,Y.jsx)(se,{className:t,style:n});default:return(0,Y.jsx)(q,{className:t,style:n})}}function $({contactChannels:e,availableChannels:t,a2aEnabled:n,setupLabel:r=`Invite`,verifyLoading:i,onSetupChannel:a,onVerifyChannel:o,onRevokeChannel:s}){let[c,l]=(0,J.useState)(null),[d,f]=(0,J.useState)(null),p=new Map;for(let t of e)t.status!==`revoked`&&(p.has(t.type)||p.set(t.type,t));return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:De(t,e,n).map((e,t)=>{let n=p.get(e.id);return(0,Y.jsxs)(`div`,{children:[t>0&&(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Y.jsx)(ke,{info:e,existing:n,setupLabel:r,verifyLoading:i,onSetup:a?()=>a(e.id):void 0,onVerify:o&&e.supportsVerification?()=>l(e):void 0,onRevoke:s&&n?()=>f({channelId:n.id,channel:e}):void 0})]},e.id)})}),c&&(0,Y.jsx)(u,{open:!0,title:`Verify ${c.label}`,message:`This will mark your ${c.label} channel as verified. Your assistant will recognize you when you reach out from it.`,confirmLabel:`Verify`,onConfirm:()=>{c&&(o?.(c.id),l(null))},onCancel:()=>l(null)}),d&&(0,Y.jsx)(u,{open:!0,title:`Revoke ${d.channel.label}`,message:`This will disconnect the verified channel. The contact will need to re-verify to use this channel again.`,confirmLabel:`Revoke`,destructive:!0,onConfirm:()=>{s?.(d.channelId,d.channel.id),f(null)},onCancel:()=>f(null)})]})}function ke({info:e,existing:t,setupLabel:n,verifyLoading:r,onSetup:i,onVerify:a,onRevoke:o}){let c=Ee(e,t);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(Oe,{name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:c.kind===`connected`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(F,{className:`h-3 w-3`}),`Connected`]}),o?(0,Y.jsx)(s,{variant:`danger`,onClick:o,children:`Revoke`}):null]}):c.kind===`verified`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(F,{className:`h-3 w-3`}),`Verified`]}),o?(0,Y.jsx)(s,{variant:`danger`,onClick:o,children:`Revoke`}):null]}):c.kind===`unverified`?(0,Y.jsx)(s,{variant:`outlined`,onClick:a,disabled:!a||r,children:r?`Verifying…`:`Verify`}):c.kind===`setup`?e.id===`a2a`?null:(0,Y.jsx)(s,{variant:`outlined`,onClick:i,disabled:!i,children:n}):null})]})}function Ae(e){return(0,Y.jsx)(je,{...e},e.contact.id)}function je({contact:e,savePending:t,deletePending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,a2aEnabled:o,onSave:c,onDelete:l,onMerge:d,onSetupChannel:f,onRevokeChannel:m}){let h=e.displayName===`New Contact`,[g,_]=(0,J.useState)(h?``:e.displayName),[v,y]=(0,J.useState)(e.notes??``),[b,x]=(0,J.useState)(!1),S=g.trim(),C=v.trim(),w=h?``:e.displayName,T=e.notes??``,E=S!==w||C!==T,ee=S.length>0&&E&&!t&&!n,D=h&&e.channels.length===0&&e.interactionCount===0,O=S||e.displayName,te=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:O,accessory:(0,Y.jsx)(X,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:te,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(p,{label:`Name`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:`Give this human a name`,autoFocus:h,disabled:t||n,fullWidth:!0}),(0,Y.jsx)(p,{label:`Notes`,type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:`Optional notes about the human which AI will take into account`,disabled:t||n,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(s,{type:`button`,onClick:()=>c({displayName:S,notes:C}),disabled:!ee,children:t?`Saving…`:`Save`}),d?(0,Y.jsx)(s,{type:`button`,variant:`outlined`,onClick:d,disabled:!i||D||E||r||t||n,title:i?D?`Save this contact before merging`:E?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:r?`Merging…`:`Merge…`}):null,(0,Y.jsx)(s,{type:`button`,variant:`danger`,onClick:()=>{D?l():x(!0)},disabled:n,children:n?`Deleting…`:`Delete Contact`})]})]})}),(0,Y.jsx)(W,{title:`Channels`,subtitle:`Once verified, your assistant will recognize this contact when they message from these channels.`,children:(0,Y.jsx)($,{contactChannels:e.channels,availableChannels:a,a2aEnabled:o,onSetupChannel:f,onRevokeChannel:m})}),(0,Y.jsx)(u,{open:b,title:`Delete ${e.displayName}?`,message:`This will permanently delete this contact and all their channels. This action cannot be undone.`,confirmLabel:`Delete`,destructive:!0,onConfirm:async()=>{x(!1),await l()},onCancel:()=>x(!1)})]})}function Me(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 Ne({open:e,assistantId:t,onClose:n}){let[r,a]=(0,J.useState)(!1),o=(0,J.useRef)(null),l=(0,J.useRef)(!1),u=i({...O({path:{assistant_id:t}})}),d=(0,J.useRef)(u.mutate);d.current=u.mutate;let f=(0,J.useRef)(u.reset);f.current=u.reset,(0,J.useEffect)(()=>{e&&!l.current&&d.current({path:{assistant_id:t}}),l.current=e},[e,t]),(0,J.useEffect)(()=>()=>{o.current&&clearTimeout(o.current)},[]);let h=(0,J.useCallback)(()=>{f.current(),a(!1),o.current&&=(clearTimeout(o.current),null),n()},[n]),g=(0,J.useCallback)(e=>{navigator.clipboard.writeText(e).then(()=>{a(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>a(!1),2e3)})},[]),_=u.isSuccess&&u.data.token?G({senderAssistantId:t,token:u.data.token}):``;return(0,Y.jsx)(m.Root,{open:e,onOpenChange:e=>{e||h()},children:(0,Y.jsxs)(m.Content,{size:`sm`,children:[(0,Y.jsx)(m.Header,{children:(0,Y.jsx)(m.Title,{children:`Share Connection Link`})}),(0,Y.jsx)(m.Body,{children:u.isPending?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,Y.jsx)(j,{className:`h-4 w-4 animate-spin`}),`Creating invite link…`]}):u.isError?(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.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,Y.jsx)(s,{variant:`outlined`,onClick:()=>u.mutate({path:{assistant_id:t}}),children:`Try Again`})]}):u.isSuccess?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(c,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Share this link with another assistant owner to establish a connection.`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(p,{type:`text`,readOnly:!0,value:_,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>g(_),"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:r?(0,Y.jsx)(I,{className:`h-4 w-4`}):(0,Y.jsx)(ae,{className:`h-4 w-4`})})]}),u.data.expiresAt!=null&&(0,Y.jsx)(c,{variant:`body-small-default`,style:{color:`var(--content-tertiary)`},children:Me(u.data.expiresAt)})]}):null}),(0,Y.jsx)(m.Footer,{children:(0,Y.jsx)(s,{variant:`outlined`,onClick:h,children:`Done`})})]})})}function Pe(e){return(0,Y.jsx)(Fe,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function Fe({open:e,survivor:t,candidates:n,pending:r,errorMessage:i,onMerge:a,onClose:o}){let[l,u]=(0,J.useState)(``),[d,f]=(0,J.useState)(null);(0,J.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&f(null)},[n,d]);let p=(0,J.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),h=d?n.find(e=>e.id===d)??null:null,g=Be(t);return(0,Y.jsx)(m.Root,{open:e,onOpenChange:e=>{!e&&!r&&o()},children:(0,Y.jsxs)(m.Content,{size:`md`,children:[(0,Y.jsxs)(m.Header,{children:[(0,Y.jsx)(m.Title,{icon:_e,children:h?`Merge "${h.displayName}" into ${g}?`:`Merge another contact into ${g}`}),(0,Y.jsx)(m.Description,{children:h?`Channels and notes from the merged contact will move over. The merged contact will be deleted.`:`The contact you pick will be deleted. Its channels and notes will be added to this one.`})]}),(0,Y.jsxs)(m.Body,{className:`flex flex-col gap-3`,children:[h?(0,Y.jsx)(Re,{survivor:t,donor:h}):n.length===0?(0,Y.jsx)(ze,{}):(0,Y.jsx)(Ie,{search:l,onSearch:u,candidates:p,onPick:f}),i?(0,Y.jsx)(c,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:i}):null]}),(0,Y.jsx)(m.Footer,{children:h?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(s,{variant:`outlined`,onClick:()=>f(null),disabled:r,leftIcon:(0,Y.jsx)(ue,{"aria-hidden":!0}),children:`Back`}),(0,Y.jsx)(s,{variant:`danger`,onClick:()=>a(h.id),disabled:r,children:r?`Merging…`:`Merge`})]}):(0,Y.jsx)(s,{variant:`outlined`,onClick:o,disabled:r,children:`Cancel`})})]})})}function Ie({search:e,onSearch:t,candidates:n,onPick:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(p,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:`Search contacts`,leftIcon:(0,Y.jsx)(N,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,Y.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":`Select a contact to merge`,children:n.length===0?(0,Y.jsx)(c,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:`No matching contacts`}):n.map(e=>(0,Y.jsx)(Le,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function Le({contact:e,onPick:t}){let n=We(e).join(` | `)||void 0;return(0,Y.jsx)(f,{asChild:!0,label:``,children:(0,Y.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function Re({survivor:e,donor:t}){let n=Be(e),{moved:r,duplicates:i}=Ue(e,t);return(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,Y.jsxs)(`li`,{children:[(0,Y.jsxs)(`span`,{className:`text-(--content-default)`,children:[`“`,t.displayName,`”`]}),` `,`will be deleted.`]}),(0,Y.jsx)(`li`,{children:r.length===0?`No new channels will move to ${n}.`:`${r.length} channel${r.length===1?``:`s`} will move to ${n}: ${r.map(e=>He(e.type)).join(`, `)}.`}),i.length>0?(0,Y.jsxs)(`li`,{className:`text-(--content-tertiary)`,children:[i.length,` duplicate channel`,i.length===1?``:`s`,` already on `,n,` `,`(skipped).`]}):null,t.notes?(0,Y.jsx)(`li`,{children:`Notes from the merged contact will be appended.`}):null,(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:`This cannot be undone.`})]})}function ze(){return(0,Y.jsx)(c,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:`No other contacts available to merge.`})}function Be(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?`you`:`${e.displayName} (you)`:e.displayName||`this contact`}var Ve={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`};function He(e){return Ve[e.toLowerCase()]??e}function Ue(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function We(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(Ve[e]??r.type))}return n}function Ge({loading:e,guardian:t,assistantName:n,regularContacts:r,selection:i,onSelect:a,onAddContact:o,addingContact:c=!1}){let[u,d]=(0,J.useState)(``),f=u.trim()?r.filter(e=>e.displayName.toLowerCase().includes(u.trim().toLowerCase())):r;return(0,Y.jsx)(l,{className:`h-full`,children:(0,Y.jsxs)(`div`,{className:`flex h-full min-w-0 flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Entries`}),(0,Y.jsx)(s,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(le,{"aria-hidden":!0}),onClick:o,disabled:c,"aria-label":`Add contact`,tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,Y.jsx)(Ke,{name:t.displayName?`${t.displayName} (You)`:`You`,role:t.role,channelTypes:t.channelTypes,selected:i?.kind===`contact`&&i.contactId===t.id,onClick:()=>a({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,Y.jsx)(Ke,{name:n?.trim()||`Your Assistant`,role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,Y.jsx)(p,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`Search Contacts`,leftIcon:(0,Y.jsx)(N,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,r.length>0?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[f.map(e=>(0,Y.jsx)(Ke,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,selected:i?.kind===`contact`&&i.contactId===e.id,onClick:()=>a({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),f.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`No matching contacts`}):null]}):e?null:(0,Y.jsx)(s,{type:`button`,variant:`ghost`,onClick:o,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(P,{"aria-hidden":!0}),children:`Add Contact`})]})})}function Ke({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o}){let s=r&&r.length>0?r.join(` | `):void 0;return(0,Y.jsx)(f,{asChild:!0,active:i,label:``,trailingAction:o===`pencil`?(0,Y.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):o===`more`?(0,Y.jsx)(ne,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):void 0,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),s?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:s}):null]}),(0,Y.jsx)(`span`,{className:`shrink-0`,children:(0,Y.jsx)(X,{role:t,contactType:n})})]})})}function qe(e){return(0,Y.jsx)(Je,{...e},e.contact.id)}function Je({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,a2aEnabled:o,onSave:c,onMerge:l,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f,onGenerateInviteLink:m}){let h=e.displayName.startsWith(`vellum-principal-`),g=h?``:e.displayName,[_,v]=(0,J.useState)(g),[y,b]=(0,J.useState)(e.notes??``),x=_.trim(),S=y.trim(),C=x!==g.trim()||S!==(e.notes??``).trim(),w=C&&!t,T=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:h?`You`:`${e.displayName} (You)`,accessory:(0,Y.jsx)(X,{role:`guardian`}),compactAccessory:!0,subtitle:T,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(p,{label:`Name`,type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:`Your name`,disabled:t,fullWidth:!0}),(0,Y.jsx)(p,{label:`Notes`,type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`Notes about yourself which AI will take into account`,disabled:t,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(s,{variant:`primary`,onClick:()=>c({displayName:x||e.displayName,notes:S}),disabled:!w,children:t?`Saving…`:`Save`}),l?(0,Y.jsx)(s,{variant:`outlined`,onClick:l,disabled:!i||C||r||t,title:i?C?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:r?`Merging…`:`Merge…`}):null]})]})}),(0,Y.jsx)(W,{title:`Channels`,subtitle:`Once verified, your assistant will recognize you when you message from these channels.`,children:(0,Y.jsx)($,{contactChannels:e.channels,availableChannels:a,a2aEnabled:o,setupLabel:`Enable`,verifyLoading:n,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),m?(0,Y.jsx)(Z,{onClick:m}):null]})}var Ye=[{id:`slack`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],Xe={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.`},Ze=15e3;function Qe(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function $e(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`channelsReadinessGet`}function et({assistantId:e,onStartSetupConversation:t}){let a=te.use.a2aChannel(),o=n(),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)({kind:`assistant`}),[d,f]=(0,J.useState)(null),[p,m]=(0,J.useState)(!1),[O,k]=(0,J.useState)(!1),[ne,A]=(0,J.useState)(!1),[j,M]=(0,J.useState)(null),re=(0,J.useCallback)(e=>{u(e),k(!1),A(!1),M(null)},[]),ie=(0,J.useCallback)(()=>{M(null),A(!0)},[]);(0,J.useEffect)(()=>{let t=!1;return de(e).then(n=>{t||n?.name&&c({assistantId:e,name:n.name})}),()=>{t=!0}},[e]);let N=s&&s.assistantId===e?s.name:`your assistant`,P={path:{assistant_id:e}},ae=r({...E(P),enabled:!!e,select:e=>e.contacts}),F=r({...T({path:{assistant_id:e}}),enabled:!!e,refetchInterval:Ze,select:e=>e.snapshots}),oe=r({...ee({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await v({path:{assistant_id:e},signal:t,throwOnError:!1});if(!i||i.status===404)return{channels:Ye};if(!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),I=(0,J.useMemo)(()=>oe.data??[],[oe.data]),L=ae.data,R=(0,J.useMemo)(()=>L?.find(e=>e.role===`guardian`)??null,[L]),se=(0,J.useMemo)(()=>L?.filter(e=>e.role!==`guardian`)??[],[L]),z=(0,J.useMemo)(()=>l.kind===`contact`?L?.find(e=>e.id===l.contactId)??null:null,[L,l]),ce=F.data??[],B=(0,J.useMemo)(()=>!L||!z?[]:L.filter(e=>e.id!==z.id&&e.role!==`guardian`),[L,z]),le=B.length>0,V=(0,J.useRef)(!1);(0,J.useEffect)(()=>{V.current||R&&(V.current=!0,u({kind:`contact`,contactId:R.id}))},[R]);let ue=(0,J.useMemo)(()=>nt(ce),[ce]),H=(0,J.useCallback)(()=>{o.invalidateQueries({predicate:e=>Qe(e.queryKey)})},[o]),U=(0,J.useCallback)(()=>{o.invalidateQueries({predicate:e=>$e(e.queryKey)})},[o]),W=i({mutationFn:()=>he(e,{displayName:`New Contact`}),onSuccess:e=>{o.setQueryData(D(P),t=>t?{...t,contacts:[...t.contacts,e]}:void 0),H(),u({kind:`contact`,contactId:e.id})}}),G=i({mutationFn:t=>ge(e,t),onSuccess:(e,t)=>{o.setQueryData(D(P),e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),u({kind:`assistant`}),H()}}),K=i({mutationFn:({contactId:t,patch:n})=>he(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{o.setQueryData(D(P),t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0),H()}}),q=i({...w({path:{assistant_id:e}}),onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(o.setQueryData(D(P),e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),u({kind:`contact`,contactId:n.id})),H(),A(!1),M(null),h.success(`Contacts merged`)},onError:e=>{M(e instanceof Error?e.message:`Failed to merge contacts`)}}),_e=(0,J.useCallback)(()=>{q.isPending||(A(!1),M(null))},[q.isPending]),X=i({mutationFn:async t=>{let n={path:{assistant_id:e},throwOnError:!0};t===`slack`?await _(n):t===`telegram`?await y(n):t===`phone`&&await b(n)},onMutate:e=>f(e),onSettled:()=>{f(null),U()}}),ve=i({...C(),onSuccess:()=>H()}),Z=(0,J.useCallback)((t,n)=>{ve.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[ve,e]),ye=(0,J.useCallback)(async t=>{await S({path:{assistant_id:e},body:{botToken:t},throwOnError:!0}),U()},[e,U]),xe=(0,J.useCallback)(async(t,n)=>{await g({path:{assistant_id:e},body:{botToken:t,appToken:n},throwOnError:!0}),U()},[e,U]),Se=(0,J.useCallback)(async(t,n)=>{await x({path:{assistant_id:e},body:{accountSid:t,authToken:n},throwOnError:!0}),U()},[e,U]),Ce=(0,J.useCallback)(()=>{W.isPending||W.mutate()},[W]),Q=(0,J.useCallback)(()=>{m(!0)},[]),we=(0,J.useCallback)(()=>{m(!1),H()},[H]),Te=(0,J.useCallback)(e=>{t&&(f(e),t(Xe[e]),window.setTimeout(()=>f(null),1e3))},[t]),Ee=(0,J.useCallback)(e=>{X.mutate(e)},[X]),De=(0,J.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e)?.setupMessages.contact;n&&t(n)},[I,t]),Oe=(0,J.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e)?.setupMessages.guardian;n&&t(n)},[I,t]),$=i({mutationFn:t=>me(e,t.channelId),onSuccess:()=>H(),onError:e=>{let t=e instanceof Error?e.message:`Failed to verify channel`;h.error(t)}}),ke=(0,J.useCallback)(e=>{if(!z)return;let t=z.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&$.mutate({channelId:t.id})},[z,$]),je={loading:ae.isLoading,assistantName:N,guardian:R?{id:R.id,displayName:R.displayName.startsWith(`vellum-principal-`)?``:R.displayName,role:R.role,channelTypes:at(R.channels,a)}:null,regularContacts:se.map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:at(e.channels,a)})),selection:l,onAddContact:Ce,addingContact:W.isPending};return(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-hidden sm:flex-row sm:gap-6`,children:[(0,Y.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,Y.jsx)(fe,{onClick:()=>k(!0)})}),(0,Y.jsx)(pe,{open:O,onClose:()=>k(!1),title:`Contacts`,children:(0,Y.jsx)(Ge,{...je,onSelect:re})}),(0,Y.jsx)(`aside`,{className:`hidden min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch sm:block`,children:(0,Y.jsx)(Ge,{...je,onSelect:re})}),(0,Y.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:l.kind===`assistant`?(0,Y.jsx)(be,{assistantName:N,channels:ue,pendingChannelKey:d,onSetup:t?Te:void 0,onDisconnect:Ee,onSaveTelegramToken:ye,onSaveSlackConfig:xe,onSaveTwilioCredentials:Se,onGenerateInviteLink:a?Q:void 0}):z?z.role===`guardian`?(0,Y.jsx)(qe,{contact:z,savePending:K.isPending,verifyPending:$.isPending,mergePending:q.isPending,canMerge:le,availableChannels:I,a2aEnabled:a,onSave:async e=>{await K.mutateAsync({contactId:z.id,patch:e})},onMerge:ie,onSetupChannel:t?Oe:void 0,onVerifyChannel:ke,onRevokeChannel:Z,onGenerateInviteLink:a?Q:void 0}):(0,Y.jsx)(Ae,{contact:z,savePending:K.isPending,deletePending:G.isPending,mergePending:q.isPending,canMerge:le,availableChannels:I,a2aEnabled:a,onSave:async e=>{await K.mutateAsync({contactId:z.id,patch:e})},onDelete:async()=>{await G.mutateAsync(z.id)},onMerge:ie,onSetupChannel:t?De:void 0,onRevokeChannel:Z}):(0,Y.jsx)(tt,{})}),z?(0,Y.jsx)(Pe,{open:ne,survivor:z,candidates:B,pending:q.isPending,errorMessage:j,onMerge:t=>q.mutate({path:{assistant_id:e},body:{keepId:z.id,mergeId:t}}),onClose:_e}):null,(0,Y.jsx)(Ne,{open:p,assistantId:e,onClose:we})]})}function tt(){return(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a contact`})})}function nt(e){let t=new Map;for(let n of e)t.set(n.channel,n);return[`slack`,`telegram`,`phone`].map(e=>{let n=t.get(e);return{key:e,status:rt(n),address:n?.channelHandle??void 0}})}function rt(e){return e?e.ready||e.setupStatus===`ready`?`ready`:e.setupStatus===`incomplete`?`incomplete`:`not_configured`:`not_configured`}var it={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`,a2a:`A2A`};function at(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(it[e]??i.type))}return r}function ot(){let e=oe(),t=U();return(0,Y.jsx)(et,{assistantId:t,onStartSetupConversation:t=>{ie.getState().setMainView(`chat`);let n=V();re.getState().setActiveConversationId(n),e(`${o.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},t)}export{ot as ContactsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{i as n}from"./routes-CkBoiJow.js";import{ei as r}from"./index-DfyO29JM.js";var i=e(t(),1);function a(){let e=r();return(0,i.useEffect)(()=>{e(n.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-Dsv8Be_e.js","assets/chunk-jRWAZmH_.js","assets/xterm-addon-fit-C__pvf5w.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./preload-helper-CC9DnTon.js";import{n as r,t as i}from"./create-selectors-CNBhdpCN.js";import{t as a}from"./capture-error-DJfWcKOd.js";import{l as o,n as s}from"./auth-store-Cr7BV6KS.js";import{l as c,n as l,r as u,s as d,u as f}from"./api-B_OFJX14.js";import{t as p}from"./client.gen-D2FNzKQM.js";import{B as m,C as h,H as g,S as _,V as v,z as ee}from"./sdk.gen-1S-e52M3.js";import{t as y}from"./useQuery-CrONYg8_.js";import{t as b}from"./jsx-runtime-D1qe-iBh.js";import{a as x,i as S}from"./react-query.gen-DHIrHqEw.js";import{i as C}from"./routes-CkBoiJow.js";import{t as w}from"./button-ClCfFgUi.js";import{t as T}from"./card-BPyEFYCf.js";import{t as E}from"./dropdown-B1HIMQEV.js";import{r as te}from"./src-DDKMtkUH.js";import{t as D}from"./confirm-dialog-BGK9Zfu-.js";import{t as O}from"./notice-BD9CxrUF.js";import{t as ne}from"./tag-DI4G1_a6.js";import{t as k}from"./toast-VQEhJ0eG.js";import{t as A}from"./createLucideIcon-B1Lebfcn.js";import{t as re}from"./arrow-up-C7lv4fdd.js";import{t as ie}from"./chevron-up-DQhwayvc.js";import{t as j}from"./loader-circle-DnYn_L1c.js";import{t as M}from"./save-D3FGsinv.js";import{t as ae}from"./x-BgvySeHo.js";import{t as oe}from"./misc-C66f1jHd.js";import{At as se,Ct as N,D as ce,F as le,Lt as ue,Mn as P,Nt as F,P as de,Ur as fe,Ut as I,Xn as L,Zt as R,cr as pe,ei as me,gr as z,hr as B,it as V,ni as H,or as he,pr as U,qr as W,rn as ge,rt as G,ur as K}from"./index-DfyO29JM.js";import{t as _e}from"./share-feedback-modal-BWQiSujT.js";var q=A(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),J=A(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),ve=A(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),Y=e(t(),1);function ye(e,t,n,r){let i=!1,a=new AbortController;return(async()=>{if(i)return;let o=null;try{let{stream:s}=await p.sse.get({url:`/v1/assistants/{assistant_id}/terminal/sessions/{session_id}/events/`,path:{assistant_id:e,session_id:t},headers:{Accept:`text/event-stream, application/json`,...fe()},signal:a.signal,sseMaxRetryAttempts:3,onSseError:e=>{o=e instanceof Error?e:Error(`Terminal stream disconnected`)}});for await(let e of s){if(i)return;let t=typeof e==`string`?(()=>{try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:null}catch{return null}})():e&&typeof e==`object`&&!Array.isArray(e)?e:null;if(!t)continue;let r=t;t.message&&typeof t.message==`object`&&!Array.isArray(t.message)&&(r=t.message);let a=typeof r.seq==`number`?r.seq:-1,o=typeof r.data==`string`?r.data:``;if(!(a<0||o===``))try{n({seq:a,data:o})}catch{}}if(i)return;if(o){r(o);return}r(Error(`Terminal stream ended unexpectedly`))}catch(e){if(i)return;r(e instanceof Error?e:Error(`Terminal stream connection failed`))}})().catch(e=>{i||r(e instanceof Error?e:Error(`Terminal stream setup failed`))}),{cancel:()=>{i=!0,a.abort()}}}var X=i(r()((e,t)=>({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null,requestConnect:()=>{let{status:n}=t();(n===`idle`||n===`closed`||n===`error`)&&e({status:`connecting`,errorMessage:null,reconnectAttempts:0})},connectSucceeded:n=>{t().status===`connecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},connectFailed:n=>{t().status===`connecting`&&e({status:`error`,errorMessage:n,sessionId:null})},disconnected:()=>{t().status===`connected`&&e({status:`error`,errorMessage:`Connection lost.`,sessionId:null})},requestReconnect:()=>{let{status:n,reconnectAttempts:r}=t();(n===`error`||n===`connected`)&&e({status:`reconnecting`,errorMessage:null,reconnectAttempts:r+1,sessionId:null})},reconnectSucceeded:n=>{t().status===`reconnecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},reconnectFailed:n=>{t().status===`reconnecting`&&e({status:`error`,errorMessage:n,sessionId:null})},errorOccurred:t=>{e({status:`error`,errorMessage:t,sessionId:null})},closed:()=>{e({status:`closed`,errorMessage:null,sessionId:null})},reset:()=>{e({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null})}}))),be=50,xe=150,Se=3,Ce=1e3;function we(){return{highWaterMark:-1}}function Te({assistantId:e,onData:t,service:n}){let r=(0,Y.useRef)(null),i=(0,Y.useRef)(t);(0,Y.useEffect)(()=>{i.current=t},[t]);let a=(0,Y.useRef)(``),o=(0,Y.useRef)(null),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(we()),d=(0,Y.useRef)(null),f=(0,Y.useRef)(!1),p=(0,Y.useRef)(null),h=(0,Y.useMemo)(()=>n?{service:n}:void 0,[n]),_=(0,Y.useCallback)(t=>{o.current||=setInterval(()=>{let n=a.current;!n||!e||(a.current=``,v({path:{assistant_id:e,session_id:t},body:{data:n},throwOnError:!1}).catch(()=>{}))},be)},[e]),y=(0,Y.useCallback)(()=>{o.current&&=(clearInterval(o.current),null),a.current=``},[]),b=(0,Y.useCallback)(async t=>{if(!e){t?X.getState().reconnectFailed(`No assistant ID`):X.getState().connectFailed(`No assistant ID`);return}let n;try{let{data:t,error:r,response:i}=await ee({path:{assistant_id:e},body:h,throwOnError:!1});if(!i||!i.ok){let e=r&&typeof r==`object`&&!Array.isArray(r)?r.detail:void 0;throw Error(e??`Failed to create terminal session (HTTP ${i?.status??`unknown`})`)}let a=t&&typeof t==`object`&&!Array.isArray(t)?t:{},o=typeof a.session_id==`string`?a.session_id:typeof a.id==`string`?a.id:void 0;if(!o)throw Error(`Backend did not return a session ID`);n=o}catch(e){let n=e instanceof Error?e.message:`Failed to create terminal session`;t?X.getState().reconnectFailed(n):X.getState().connectFailed(n);return}let a=t?`reconnecting`:`connecting`;if(X.getState().status!==a){m({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{});return}u.current=we(),r.current=ye(e,n,e=>{if(!(e.seq<=u.current.highWaterMark)){u.current.highWaterMark=e.seq;try{i.current(e.data)}catch{}}},e=>{y(),X.getState().errorOccurred(e.message)}),_(n),f.current=!1,p.current=n,t?X.getState().reconnectSucceeded(n):X.getState().connectSucceeded(n);let o=l.current;o&&e&&g({path:{assistant_id:e,session_id:n},body:{cols:o.cols,rows:o.rows},throwOnError:!1}).catch(()=>{})},[e,h,_,y]),x=X.use.status(),S=X.use.reconnectAttempts();(0,Y.useEffect)(()=>{if(x!==`error`||f.current||S>=Se)return;let t=Ce*2**S;return d.current=setTimeout(()=>{if(d.current=null,X.getState().status!==`error`||f.current)return;r.current?.cancel(),r.current=null;let t=p.current;t&&e&&(p.current=null,m({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{})),X.getState().requestReconnect(),b(!0)},t),()=>{d.current&&=(clearTimeout(d.current),null)}},[x,S,e,b]);let C=(0,Y.useCallback)(()=>{let{status:e}=X.getState();e!==`idle`&&e!==`closed`&&e!==`error`||(X.getState().requestConnect(),b(!1))},[b]),w=(0,Y.useCallback)(()=>{let{status:t,sessionId:n}=X.getState();t!==`error`&&t!==`connected`||(r.current?.cancel(),r.current=null,y(),s.current&&=(clearTimeout(s.current),null),c.current=null,n&&e&&m({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{}),X.getState().requestReconnect(),b(!0))},[e,b,y]),T=(0,Y.useCallback)(()=>{let{sessionId:t}=X.getState();f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,y(),s.current&&=(clearTimeout(s.current),null),t&&e&&m({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),X.getState().closed()},[e,y]),E=(0,Y.useCallback)(e=>{a.current+=e},[]),te=(0,Y.useCallback)((t,n)=>{l.current={cols:t,rows:n};let{status:r,sessionId:i}=X.getState();r!==`connected`||!i||!e||(c.current={cols:t,rows:n},s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{s.current=null;let t=c.current,n=X.getState();!t||!n.sessionId||n.status!==`connected`||!e||(c.current=null,g({path:{assistant_id:e,session_id:n.sessionId},body:{cols:t.cols,rows:t.rows},throwOnError:!1}).catch(()=>{}))},xe))},[e]);return(0,Y.useEffect)(()=>()=>{f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,o.current&&=(clearInterval(o.current),null),s.current&&=(clearTimeout(s.current),null);let{sessionId:t}=X.getState();t&&e&&m({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),X.getState().reset()},[e]),{connect:C,reconnect:w,close:T,sendInput:E,sendResize:te}}var Z=b();function Ee({onData:t,onResize:r,className:i,readOnly:a=!1,writeRef:o}){let s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(t),u=(0,Y.useRef)(r),d=(0,Y.useRef)(a);return l.current=t,u.current=r,d.current=a,(0,Y.useEffect)(()=>{let e=c.current;e&&(e.options.disableStdin=a,a||e.focus())},[a]),(0,Y.useEffect)(()=>{if(!s.current)return;let t=s.current,r=!1,i=null,f=null,p=null,m=null;return Promise.all([n(()=>import(`./xterm-Dsv8Be_e.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),n(()=>import(`./xterm-addon-fit-C__pvf5w.js`).then(t=>e(t.default,1)),__vite__mapDeps([2,1]))]).then(([{Terminal:e},{FitAddon:n}])=>{if(r||!t)return;let s=new e({cursorBlink:!0,fontFamily:`"JetBrains Mono", "Fira Code", monospace`,fontSize:14,theme:{background:`#0f1117`,foreground:`#d4d4d4`,cursor:`#d4d4d4`,black:`#1e1e1e`,brightBlack:`#666666`,red:`#f44747`,brightRed:`#f44747`,green:`#6a9955`,brightGreen:`#6a9955`,yellow:`#dcdcaa`,brightYellow:`#dcdcaa`,blue:`#569cd6`,brightBlue:`#569cd6`,magenta:`#c586c0`,brightMagenta:`#c586c0`,cyan:`#4ec9b0`,brightCyan:`#4ec9b0`,white:`#d4d4d4`,brightWhite:`#ffffff`},disableStdin:a,scrollback:2e3});i=s;let h=new n;s.loadAddon(h),s.open(t),c.current=s,s.attachCustomKeyEventHandler(e=>e.key===`k`&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?(e.type===`keydown`&&(e.preventDefault(),s.clear()),!1):!0);try{h.fit(),s.cols&&s.rows&&u.current?.({cols:s.cols,rows:s.rows})}catch{}p=s.onData(e=>{d.current||l.current?.(e)}),m=s.onResize(({cols:e,rows:t})=>{u.current?.({cols:e,rows:t})}),f=new ResizeObserver(()=>{try{h.fit()}catch{}}),f.observe(t),o&&(o.current=e=>s.write(e))}),()=>{r=!0,f?.disconnect(),p?.dispose(),m?.dispose(),i?.dispose(),c.current=null,o&&(o.current=null)}},[]),(0,Z.jsx)(`div`,{ref:s,className:i,style:{width:`100%`,height:`100%`,overflow:`hidden`},role:`region`,"aria-label":`Terminal console`})}function De({status:e,onConnect:t,onDisconnect:n,onClear:r,className:i,maintenanceModeActive:a}){let o=e===`connecting`||e===`reconnecting`,s=e===`connected`,c=e===`idle`||e===`closed`||e===`error`;return(0,Z.jsxs)(`div`,{className:[`flex items-center justify-between gap-3 border-b px-3 py-1.5`,i].filter(Boolean).join(` `),style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(F,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}),(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-secondary)`},children:`Terminal`}),(0,Z.jsx)(Oe,{status:e}),a&&(0,Z.jsx)(ne,{tone:`warning`,leftIcon:(0,Z.jsx)(N,{}),title:`Recovery Mode active — session connected to the debug terminal`,children:`Recovery`})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Z.jsx)(w,{variant:`ghost`,size:`compact`,leftIcon:(0,Z.jsx)(ae,{}),onClick:r,title:`Clear terminal output`,children:`Clear`}),s||o?(0,Z.jsx)(w,{variant:`danger`,size:`compact`,leftIcon:o?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(ve,{}),onClick:n,disabled:o,title:`Disconnect terminal session`,children:`Disconnect`}):(0,Z.jsx)(w,{variant:`primary`,size:`compact`,leftIcon:(0,Z.jsx)(q,{}),onClick:t,disabled:!c,title:`Connect terminal session`,children:`Connect`})]})]})}function Oe({status:e}){let t=ke[e];return(0,Z.jsx)(ne,{tone:t.tone,leftIcon:(0,Z.jsx)(`span`,{className:[`h-1.5 w-1.5 rounded-full bg-current`,t.pulse?`animate-pulse`:``].filter(Boolean).join(` `)}),"aria-label":`Terminal status: ${t.label}`,children:t.label})}var ke={idle:{label:`Idle`,tone:`neutral`},connecting:{label:`Connecting`,tone:`warning`,pulse:!0},connected:{label:`Connected`,tone:`positive`},reconnecting:{label:`Reconnecting`,tone:`warning`,pulse:!0},error:{label:`Error`,tone:`negative`},closed:{label:`Closed`,tone:`neutral`}};function Ae({assistantId:e,className:t,maintenanceMode:n,service:r}){let i=(0,Y.useRef)(null),{connect:a,close:o,sendInput:s,sendResize:c,reconnect:l}=Te({assistantId:e,onData:(0,Y.useCallback)(e=>{try{let t=atob(e);i.current?.(t)}catch{i.current?.(e)}},[]),service:r}),u=X.use.status(),d=X.use.errorMessage(),f=X.use.reconnectAttempts(),p=(0,Y.useCallback)(()=>{u===`error`||u===`reconnecting`||f>0?l():a()},[u,f,a,l]),m=(0,Y.useCallback)(e=>{s(e)},[s]),h=(0,Y.useCallback)(({cols:e,rows:t})=>{c(e,t)},[c]),g=(0,Y.useCallback)(()=>{i.current?.(`\x1B[2J\x1B[H`)},[]),_=u!==`connected`,v=n?.enabled===!0;return(0,Z.jsxs)(`div`,{className:[`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,t].filter(Boolean).join(` `),children:[(0,Z.jsx)(De,{status:u,onConnect:p,onDisconnect:o,onClear:g,maintenanceModeActive:v}),v&&(0,Z.jsx)(`div`,{className:`border-b border-[var(--system-mid-strong)] bg-[var(--system-mid-weak)] px-3 py-2 text-body-small-default text-[var(--system-mid-strong)]`,children:`Recovery Mode active — this session is connected to the debug terminal.`}),u===`error`&&d&&(0,Z.jsx)(`div`,{className:`border-b border-[var(--border-base)] bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:d}),(0,Z.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,Z.jsx)(`div`,{className:`absolute inset-0`,children:(0,Z.jsx)(Ee,{onData:m,onResize:h,readOnly:_,writeRef:i,className:`h-full w-full`})})})]})}var je=[{value:`assistant`,label:`assistant`},{value:`gateway`,label:`gateway`},{value:`credential-executor`,label:`credential-executor`}];function Me(){let e=V({platformHostedOnly:!0}),t=G(),[n,r]=(0,Y.useState)(null),[i,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(!0),[l,d]=(0,Y.useState)(`assistant`),f=(0,Y.useRef)(!1),p=(0,Y.useCallback)(async e=>{if(!(!e&&f.current)){e||c(!0);try{let e=await u();e.ok&&(f.current=!0,r(e.data.id),o(e.data.maintenance_mode))}catch(e){a(e,{context:`fetch_assistant_for_terminal`}),k.error(`Failed to load assistant info`)}finally{c(!1)}}},[]);return(0,Y.useEffect)(()=>{e===`full`&&p()},[p,e]),e===`gated`?null:(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`div`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,Z.jsx)(F,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:`Terminal`}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Interactive shell session on your assistant machine`})]})]}),n&&(0,Z.jsx)(E,{options:je,value:l,onChange:d,"aria-label":`Target container`})]}),e===`disabled`?(0,Z.jsx)(O,{tone:`info`,children:`Log in to the Vellum platform to open a terminal session.`}):s||e===`full`&&t?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),`Loading terminal...`]}):n?(0,Z.jsx)(Ae,{assistantId:n,maintenanceMode:i??void 0,service:l,className:`min-h-0 flex-1`},l):(0,Z.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5`,children:[(0,Z.jsx)(F,{className:`h-4 w-4 shrink-0`}),(0,Z.jsx)(`span`,{children:`No assistant found. Hatch an assistant to use the terminal.`})]})})]})}var Ne=3;function Pe(e){switch(e){case`point_in_time`:return`Point-in-time`;case`doctor`:return`Doctor`;default:return`Scheduled`}}function Fe({type:e}){return(0,Z.jsx)(ne,{tone:`neutral`,children:Pe(e)})}function Ie({assistantId:e}){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(null),[a,o]=(0,Y.useState)([]),[s,c]=(0,Y.useState)(0),[u,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(null),[g,_]=(0,Y.useState)(!1),v=t!==e;(0,Y.useEffect)(()=>{let t=!1;return d(e).then(r=>{t||(r.ok?(o(r.data),i(null)):i(typeof r.error?.detail==`string`?r.error.detail:`Failed to load backups.`),n(e))}).catch(()=>{t||(i(`Failed to load backups.`),n(e))}),()=>{t=!0}},[e,s]);let ee=(0,Y.useCallback)(async()=>{if(!m)return;let t=m;h(null),p(t.snapshot_name);try{let n=await f(e,t);if(n.ok)k.success(`Backup restored successfully.`),c(e=>e+1);else{let e=typeof n.error?.detail==`string`?n.error.detail:`Failed to restore backup.`;k.error(e)}}catch{k.error(`Failed to restore backup.`)}finally{p(null)}},[e,m]),y=(0,Y.useCallback)(async()=>{_(!0);try{let t=await l(e);if(t.ok)k.success(`Backup started. It will appear in the list shortly.`),c(e=>e+1);else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to create backup.`;k.error(e)}}catch{k.error(`Failed to create backup.`)}finally{_(!1)}},[e]);if(v)return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),`Loading backups...`]});if(r)return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--system-negative-strong)]`,children:[(0,Z.jsx)(se,{className:`h-4 w-4 shrink-0`}),r]});let b=a.filter(e=>e.backup_type===`point_in_time`).length,x=(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[b>=Ne&&(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Creating a new backup will remove the oldest one.`}),(0,Z.jsx)(w,{variant:`outlined`,size:`compact`,leftIcon:g?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(M,{}),onClick:y,disabled:g||u!==null,className:`shrink-0`,children:g?`Creating…`:`Create Backup`})]});return a.length===0?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(`div`,{className:`flex justify-end`,children:x}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No backups found for this assistant.`})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`div`,{className:`flex justify-end`,children:x}),a.map(e=>(0,Z.jsx)(T.Root,{children:(0,Z.jsxs)(T.Body,{padding:`sm`,className:`flex items-center justify-between gap-4 px-4`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,Z.jsx)(`p`,{className:`truncate font-mono text-body-small-default text-[var(--content-secondary)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(Fe,{type:e.backup_type}),!e.ready_to_use&&(0,Z.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-[var(--system-mid-weak)] px-2 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,children:`Not ready`})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(he,{className:`h-3 w-3`}),new Date(e.created_at).toLocaleString(void 0,{year:`numeric`,month:`numeric`,day:`numeric`,hour:`numeric`,minute:`2-digit`})]}),(0,Z.jsx)(w,{variant:`outlined`,size:`compact`,leftIcon:u===e.snapshot_name?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(R,{}),onClick:()=>h(e),disabled:u!==null||!e.ready_to_use,title:e.ready_to_use?void 0:`Backup is not ready to use`,className:`shrink-0`,children:`Restore`})]})]})},e.snapshot_name))]}),(0,Z.jsx)(D,{open:m!==null,title:`Restore Backup`,message:m?`Restore from backup "${m.snapshot_name}"?\n\nThe assistant will be temporarily unavailable during the restore.`:``,confirmLabel:`Restore`,destructive:!0,onConfirm:ee,onCancel:()=>h(null)})]})}function Le({assistantId:e}){let[t,n]=(0,Y.useState)(!1),[r,i]=(0,Y.useState)(!1);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(w,{variant:`outlined`,leftIcon:t?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(R,{}),onClick:()=>i(!0),disabled:t,className:`shrink-0`,children:`Restart`}),(0,Z.jsx)(D,{open:r,title:`Restart Assistant`,message:`Are you sure you want to restart this assistant? It will be briefly unavailable during the restart.`,confirmLabel:`Restart`,onConfirm:async()=>{i(!1),n(!0);try{let t=await c(e);if(t.ok)k.success(`Assistant is restarting.`);else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to restart assistant.`;k.error(e)}}catch{k.error(`Failed to restart assistant.`)}finally{n(!1)}},onCancel:()=>i(!1)})]})}function Re({assistantId:e,maintenanceMode:t,onMaintenanceModeChange:n}){let[r,i]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(null),c=V({platformHostedOnly:!0}),l=G(),u=(0,Y.useCallback)(async()=>{i(!0),s(null);try{let{response:t}=await _({path:{assistant_id:e},throwOnError:!1});t?.ok?await n():(a(Error(`Enter maintenance mode returned non-ok response`),{context:`enter_maintenance_mode`}),s(`Failed to enter Recovery Mode. Please try again.`))}catch(e){a(e,{context:`enter_maintenance_mode`}),s(`Failed to enter Recovery Mode. Please try again.`)}finally{i(!1)}},[e,n]),d=(0,Y.useCallback)(async()=>{i(!0),s(null);try{let{response:t}=await h({path:{assistant_id:e},throwOnError:!1});t?.ok?await n():(a(Error(`Exit maintenance mode returned non-ok response`),{context:`exit_maintenance_mode`}),s(`Failed to exit Recovery Mode. Please try again.`))}catch(e){a(e,{context:`exit_maintenance_mode`}),s(`Failed to exit Recovery Mode. Please try again.`)}finally{i(!1)}},[e,n]);if(c===`gated`)return null;let f=t?.enabled===!0;return(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(N,{className:`h-4 w-4 shrink-0 ${f?`text-[var(--system-mid-strong)]`:`text-[var(--content-disabled)]`}`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Recovery Mode`}),f?(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--system-mid-strong)]`,children:`Active — connected to the debug terminal`}):(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Pause the assistant and connect directly to its workspace via the debug terminal`})]})]}),(0,Z.jsx)(`div`,{className:`ml-4 flex shrink-0 items-center gap-2`,children:c===`disabled`?null:r||c===`full`&&l?(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}):f?(0,Z.jsx)(w,{variant:`outlined`,onClick:d,children:`Resume Assistant`}):(0,Z.jsx)(w,{variant:`dangerOutline`,onClick:u,children:`Enter Recovery Mode`})})]}),c===`disabled`&&(0,Z.jsxs)(O,{tone:`info`,children:[`Log in to the Vellum platform to `,f?`exit`:`enter`,` Recovery Mode.`]}),o&&(0,Z.jsx)(O,{tone:`error`,children:o})]})}function ze(e,t){return t?!0:!!e&&e.toLowerCase().endsWith(`@vellum.ai`)}function Be(){let e=me(),t=s.use.user(),n=ze(t?.email??null,t?.isStaff??!1),[r,i]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!0),d=(0,Y.useRef)(!1),f=(0,Y.useCallback)(()=>{o(),k.success(`Onboarding flags cleared.`),e(`${C.onboarding.privacy}?replay=1`)},[e]),p=(0,Y.useCallback)(async e=>{if(!(!e&&d.current)){e||l(!0);try{let e=await u();e.ok?(d.current=!0,i(e.data)):i(null)}catch(e){a(e,{context:`fetch_assistant_for_debug_controls`}),k.error(`Failed to load assistant info`)}finally{l(!1)}}},[]);return(0,Y.useEffect)(()=>{p()},[p]),(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,Z.jsx)(N,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:`General`}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Manage backups, restart your assistant, or enter Recovery Mode to connect to the debug terminal.`})]})]}),c?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]}):r?(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,Z.jsx)(`h3`,{className:`mb-3 text-body-medium-default text-[var(--content-default)]`,children:`Backups`}),(0,Z.jsx)(Ie,{assistantId:r.id})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Restart Assistant`}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Restart the assistant machine. It will be briefly unavailable during the restart.`})]}),(0,Z.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,Z.jsx)(Le,{assistantId:r.id})})]}),(0,Z.jsx)(Re,{assistantId:r.id,maintenanceMode:r.maintenance_mode,onMaintenanceModeChange:()=>p(!0)})]}):(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to access debug controls.`}),n&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Replay onboarding (Vellum-only)`}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Clear local onboarding flags and re-walk the privacy → hatch screens. Your existing assistant is preserved.`})]}),(0,Z.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,Z.jsx)(w,{variant:`outlined`,leftIcon:(0,Z.jsx)(J,{}),onClick:f,children:`Replay`})})]})]})}var Ve=`0 0 724 691`,He=`#DB4B77`,Ue=`#F2F2F2`,We=`#1A1A1A`,Ge=`M707.996 341.488C683.572 371.035 643.096 379.081 606.995 383.544C585.458 386.205 563.817 387.947 542.142 388.871C531.271 389.34 520.394 389.578 509.517 389.597C509.127 389.597 508.73 389.604 508.34 389.604C539.98 409.658 571.958 431.456 594.664 461.683C615.354 489.223 627.369 524.084 618.659 558.345C614.714 573.858 606.844 588.374 594.889 599.167C581.012 611.696 562.615 618.079 543.959 615.227C524.928 612.31 508.592 601.272 493.122 590.513C477.163 579.416 461.759 567.586 446.956 554.985C432.226 542.449 418.071 529.273 404.782 515.212C401.597 511.845 398.478 508.439 395.411 504.987C395.332 506.221 395.246 507.449 395.16 508.67C393.64 530.804 390.508 552.813 385.876 574.505C381.812 593.503 376.631 612.297 370.221 630.642C364.769 646.24 357.917 662.018 345.916 673.761C335.032 684.415 319.932 690.693 304.614 689.954C288.622 689.175 276.49 679.894 268.619 666.374C260.055 651.654 254.761 634.51 250.294 618.172C245.424 600.355 242.173 582.096 240.561 563.692C238.882 544.456 238.677 524.613 240.752 505.093C240.164 505.898 239.57 506.703 238.955 507.509C233.457 514.704 227.14 521.378 220.716 527.755C208.154 540.218 194.349 551.433 179.54 561.131C166.422 569.719 152.519 577.132 138.073 583.238C122.86 589.674 106.333 595.787 89.7861 597.351C74.8317 598.764 59.4075 595.437 49.4026 583.548C40.8116 573.336 37.4353 559.13 38.4529 546.02C39.6691 530.33 47.6584 515.879 57.1277 503.647C68.289 489.237 81.7962 476.568 94.8805 463.941C112.63 446.817 130.797 429.759 149.769 413.758C133.652 415.052 117.487 415.257 101.562 414.385C83.9244 413.414 65.996 411.269 49.079 406.015C34.3755 401.454 19.6257 393.756 10.2747 381.167C2.05413 370.11 -2.30039 355.053 1.24128 341.481C5.30564 325.922 19.0643 317.597 32.7163 311.115C64.555 296.005 99.8366 290.097 134.834 288.763C152.538 288.09 170.274 288.71 187.945 289.879C189.611 289.984 191.276 290.097 192.948 290.209C176.744 285.403 161.776 275.713 148.831 265.151C134.458 253.42 121.869 239.663 110.318 225.193C99.3547 211.456 88.8807 197.112 79.3448 182.351C69.558 167.188 61.3172 149.748 63.1485 131.237C66.4331 98.0067 102.368 85.2731 131.491 90.3755C149.836 93.5902 166.349 102.892 181.588 113.209C196.325 123.19 210.724 133.792 224.615 144.922C235.558 153.695 246.224 162.923 256.142 172.858C254.979 152.288 253.539 131.614 254.438 111.017C255.224 92.9499 258.066 74.7764 265.348 58.1084C272.082 42.6945 282.748 29.3267 296.143 19.1613C309.34 9.15344 326.309 1.12634 343.035 0.0771651C360.441 -1.01881 374.92 9.70203 384.813 23.1751C403.157 48.167 404.803 82.1373 400.666 111.764C397.904 131.527 392.564 150.843 388.461 170.35C386.386 180.225 384.575 190.166 383.524 200.207C383.445 200.973 383.379 201.738 383.313 202.511C384.529 200.299 385.863 198.121 387.284 195.949C392.887 187.394 399.146 179.149 405.674 171.274C418.838 155.398 433.225 140.565 448.688 126.907C474.956 103.711 506.371 78.8764 542.863 76.8298C551.982 76.3212 561.479 77.3051 569.778 81.319C576.968 84.7978 582.638 90.5806 586.583 97.4655C594.909 112.028 596.74 129.666 594.387 146.05C589.213 182.06 565.7 211.211 538.798 234.164C524.716 246.184 509.576 256.879 494.542 267.665C492.553 269.091 490.564 270.517 488.575 271.942C500.847 267.367 513.29 263.228 525.807 259.459C547.515 252.917 569.593 247.537 592.101 244.567C611.965 241.946 632.332 241.095 652.289 243.26C667.541 244.916 683.03 248.686 696.346 256.528C710.032 264.595 720.156 277.487 722.555 293.423C725.144 310.667 718.966 328.22 707.996 341.488Z`,Ke=[{d:`M320.715 343.724C320.838 359.862 316.431 375.655 310.169 390.408C310.138 390.482 310.107 390.555 310.07 390.629C307.833 395.777 305.299 400.893 302.372 405.757C296.079 416.243 287.955 425.559 277.045 431.507C262.264 439.554 242.097 440.564 229.523 427.806C219.821 417.961 217.343 402.876 219.161 389.644C221.017 376.135 227.365 363.661 231.267 350.694C233.246 344.106 234.793 337.265 234.398 330.338C233.998 323.381 230.971 317.932 226.94 312.433C222.909 306.929 220.468 301.067 221.042 294.11C221.578 287.632 224.148 281.58 228.352 276.63C238.627 264.543 255.953 264.131 269.612 270.165C277.057 273.453 283.597 278.464 289.644 283.858C293.749 287.515 297.737 291.333 301.41 295.427C302.884 297.065 304.301 298.746 305.663 300.476C315.513 313.012 320.592 327.789 320.715 343.724Z`,fill:Ue},{d:`M305.663 300.476C304.301 298.746 302.884 297.065 301.41 295.427C297.737 291.333 293.749 287.515 289.644 283.858C283.597 278.464 277.057 273.453 269.612 270.165C255.953 264.131 238.627 264.543 228.352 276.63C224.148 281.58 221.578 287.632 221.042 294.11C220.468 301.067 222.909 306.929 226.94 312.433C230.971 317.932 233.998 323.381 234.398 330.338C234.793 337.265 233.246 344.106 231.267 350.694C227.365 363.661 221.017 376.135 219.161 389.644C217.343 402.876 219.821 417.961 229.523 427.806C242.097 440.564 262.264 439.554 277.045 431.507C287.955 425.559 296.079 416.243 302.372 405.757C305.299 400.893 307.833 395.777 310.07 390.629C310.107 390.555 310.138 390.482 310.169 390.408C316.431 375.655 320.838 359.862 320.715 343.724C320.592 327.789 315.513 313.012 305.663 300.476ZM304.524 387.107C298.767 400.413 291.229 413.86 279.185 422.468C278.809 422.733 278.432 422.997 278.05 423.256C277.687 423.502 277.317 423.743 276.941 423.977C265.698 431.107 250.831 434.142 238.867 426.926C227.846 420.282 224.518 406.305 225.233 394.268C225.96 382.034 231.477 370.458 235.428 359.025C239.323 347.739 242.855 335.277 239.921 323.338C238.522 317.673 235.458 313.117 232.087 308.456C228.315 303.235 226.558 297.749 228.037 291.302C231.212 277.479 244.84 270.743 258.221 273.348C267.843 275.226 276.219 280.681 283.665 287.134C283.721 287.183 283.782 287.232 283.837 287.282C287.314 290.311 290.587 293.549 293.681 296.733C305.238 308.622 312.973 322.624 314.027 339.383C315.057 355.743 310.878 372.139 304.524 387.107Z`,fill:Ue},{d:`M320.716 343.724C320.839 359.862 316.432 375.655 310.17 390.408C310.139 390.481 310.108 390.555 310.071 390.629C307.833 395.777 305.3 400.893 302.372 405.757C299.642 409.766 296.597 413.571 293.145 417.043C293.022 417.13 292.893 417.21 292.769 417.29C288.011 420.43 282.574 422.85 276.941 423.976C270.58 425.251 263.972 424.882 257.803 422.031C244.686 415.978 243.435 402.371 248.662 390.796C254.745 377.97 263.658 365.853 265.575 351.691C266.647 343.699 265.051 336.243 262.672 328.602C260.465 321.491 257.956 314.225 258.197 306.726C258.548 295.587 266.604 288.944 278.094 287.558C279.912 287.331 281.779 287.189 283.666 287.134C286.643 287.029 289.669 287.14 292.664 287.478C293.028 287.78 293.379 288.082 293.737 288.39C296.363 290.662 298.945 292.995 301.411 295.427C302.884 297.065 304.302 298.746 305.664 300.476C315.513 313.012 320.592 327.789 320.716 343.724Z`,fill:We},{d:`M449.963 343.724C450.086 359.862 445.679 375.655 439.417 390.408C439.386 390.482 439.355 390.555 439.318 390.629C437.081 395.777 434.548 400.893 431.62 405.757C425.327 416.243 417.203 425.559 406.293 431.507C391.512 439.554 371.345 440.564 358.771 427.806C349.069 417.961 346.591 402.876 348.409 389.644C350.265 376.135 356.613 363.661 360.515 350.694C362.493 344.106 364.041 337.265 363.646 330.338C363.245 323.381 360.219 317.932 356.188 312.433C352.157 306.929 349.716 301.067 350.289 294.11C350.826 287.632 353.396 281.58 357.599 276.63C367.874 264.543 385.201 264.131 398.859 270.165C406.305 273.453 412.845 278.464 418.891 283.858C422.996 287.515 426.985 291.333 430.658 295.427C432.131 297.065 433.549 298.746 434.911 300.476C444.761 313.012 449.84 327.789 449.963 343.724Z`,fill:Ue},{d:`M434.911 300.476C433.549 298.746 432.131 297.065 430.658 295.427C426.985 291.333 422.996 287.515 418.891 283.858C412.845 278.464 406.305 273.453 398.859 270.165C385.201 264.131 367.874 264.543 357.599 276.63C353.396 281.58 350.826 287.632 350.289 294.11C349.716 301.067 352.157 306.929 356.188 312.433C360.219 317.932 363.245 323.381 363.646 330.338C364.041 337.265 362.493 344.106 360.515 350.694C356.613 363.661 350.265 376.135 348.409 389.644C346.591 402.876 349.069 417.961 358.771 427.806C371.345 440.564 391.512 439.554 406.293 431.507C417.203 425.559 425.327 416.243 431.62 405.757C434.548 400.893 437.081 395.777 439.318 390.629C439.355 390.555 439.386 390.482 439.417 390.408C445.679 375.655 450.086 359.862 449.963 343.724C449.84 327.789 444.761 313.012 434.911 300.476ZM433.771 387.107C428.014 400.413 420.476 413.86 408.432 422.468C408.056 422.733 407.68 422.997 407.298 423.256C406.935 423.502 406.565 423.743 406.189 423.977C394.946 431.107 380.079 434.142 368.115 426.926C357.094 420.282 353.766 406.305 354.481 394.268C355.208 382.034 360.724 370.458 364.675 359.025C368.571 347.739 372.103 335.277 369.169 323.338C367.77 317.673 364.706 313.117 361.335 308.456C357.562 303.235 355.806 297.749 357.285 291.302C360.46 277.479 374.087 270.743 387.469 273.348C397.09 275.226 405.467 280.681 412.913 287.134C412.968 287.183 413.03 287.232 413.085 287.282C416.562 290.311 419.835 293.549 422.929 296.733C434.486 308.622 442.221 322.624 443.275 339.383C444.305 355.743 440.125 372.139 433.771 387.107Z`,fill:Ue},{d:`M449.964 343.724C450.087 359.862 445.68 375.655 439.418 390.408C439.387 390.481 439.356 390.555 439.319 390.629C437.081 395.777 434.548 400.893 431.621 405.757C428.89 409.766 425.845 413.571 422.393 417.043C422.27 417.13 422.141 417.21 422.017 417.29C417.259 420.43 411.823 422.85 406.189 423.976C399.828 425.251 393.221 424.882 387.051 422.031C373.934 415.978 372.683 402.371 377.91 390.796C383.993 377.97 392.906 365.853 394.823 351.691C395.896 343.699 394.299 336.243 391.92 328.602C389.713 321.491 387.205 314.225 387.445 306.726C387.797 295.587 395.852 288.944 407.342 287.558C409.16 287.331 411.028 287.189 412.914 287.134C415.891 287.029 418.917 287.14 421.913 287.478C422.276 287.78 422.628 288.082 422.985 288.39C425.611 290.662 428.193 292.995 430.659 295.427C432.132 297.065 433.55 298.746 434.912 300.476C444.762 313.012 449.841 327.789 449.964 343.724Z`,fill:We}];function qe({className:e}){return(0,Z.jsxs)(`svg`,{viewBox:Ve,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:[(0,Z.jsx)(`path`,{d:Ge,fill:He}),Ke.map((e,t)=>(0,Z.jsx)(`path`,{d:e.d,fill:e.fill},t)),(0,Z.jsxs)(`g`,{transform:`translate(370 510) scale(1.37) translate(-370 -510)`,children:[(0,Z.jsx)(`path`,{d:`M 230 440 Q 210 560 320 585 Q 430 610 500 540`,stroke:`#1F1F23`,strokeWidth:`22`,strokeLinecap:`round`,fill:`none`}),(0,Z.jsx)(`circle`,{cx:`230`,cy:`435`,r:`16`,fill:`#1F1F23`}),(0,Z.jsx)(`circle`,{cx:`510`,cy:`525`,r:`58`,fill:`#E4E4E7`,stroke:`#1F1F23`,strokeWidth:`10`}),(0,Z.jsx)(`circle`,{cx:`510`,cy:`525`,r:`34`,fill:`#52525B`}),(0,Z.jsx)(`circle`,{cx:`500`,cy:`515`,r:`10`,fill:`#A1A1AA`,opacity:`0.55`})]})]})}function Je(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Ye(e){let t=[];for(let n of e){let e=Date.parse(n.occurred_at),r=Je(n.metadata);switch(n.kind){case`user`:t.push({id:n.id,kind:`user`,content:n.content,timestamp:e});break;case`assistant`:t.push({id:n.id,kind:`assistant`,content:n.content,timestamp:e});break;case`tool_call`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`tool_call`,content:i,timestamp:e,meta:{toolName:i,input:r.input,id:r.id,status:`running`}});break}case`tool_result`:{let e=r.toolCallId,i=r.isError===!0,a=t.findIndex(t=>t.kind===`tool_call`&&t.meta?.id===e);if(a===-1)break;let o=t[a];t[a]={...o,meta:{...o.meta??{},result:n.content,isError:i,status:i?`error`:`completed`}};break}case`approval`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`approval`,content:i,timestamp:e,meta:{toolName:i,input:r.input,id:r.id,description:r.description}});break}case`status`:n.content===`completed`?t.push({id:n.id,kind:`status`,content:`Session completed`,timestamp:e}):n.content===`error`&&t.push({id:n.id,kind:`status`,content:`Session ended with error`,timestamp:e});break;case`error`:t.push({id:n.id,kind:`error`,content:n.content,timestamp:e});break;default:break}}return t}function Xe(e){switch(e){case`active`:return`active`;case`completed`:return`completed`;case`error`:return`error`}}function Ze(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&n.kind!==`status`)return n.kind===`approval`}return!1}function Qe(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&n.kind!==`status`)return n.kind===`backup_prompt`}return!1}function $e(e){return e.length>0?e[0]:null}var et=new Set([`approve`,`approve all exec`,`approve all future exec commands`,`approve_all_exec`,`deny`]),tt=0;function nt(){return`entry-${++tt}`}async function Q(e,t){let n=await le({"Content-Type":`application/json`});return fetch(e,{...t,headers:{...n,...t?.headers},credentials:`include`})}function $(e){return`/v1/assistants/${e}/doctor`}function rt({text:e}){let[t,n]=(0,Y.useState)(!1),r=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,Z.jsx)(`button`,{type:`button`,onClick:(0,Y.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{n(!1),r.current=null},1500)}).catch(()=>{})},[e]),title:t?`Copied!`:`Copy`,"aria-label":t?`Copied`:`Copy to clipboard`,className:`flex h-6 w-6 cursor-pointer items-center justify-center rounded-md bg-[var(--surface-overlay)] text-[var(--content-tertiary)] pointer-events-none opacity-0 transition-opacity duration-150 group-hover/msg:pointer-events-auto group-hover/msg:opacity-100 hover:text-[var(--content-secondary)] [@media(hover:none)]:pointer-events-auto [@media(hover:none)]:opacity-100`,children:(0,Z.jsxs)(`div`,{className:`relative h-3.5 w-3.5`,children:[(0,Z.jsx)(z,{className:`absolute inset-0 h-3.5 w-3.5 text-[var(--system-positive-strong)] transition-opacity duration-150 ${t?`opacity-100`:`opacity-0`}`}),(0,Z.jsx)(L,{className:`absolute inset-0 h-3.5 w-3.5 transition-opacity duration-150 ${t?`opacity-0`:`opacity-100`}`})]})})}function it({entry:e}){let[t,n]=(0,Y.useState)(!1),r=e.meta?.toolName??`tool`,i=e.meta?.input,a=e.meta?.result??void 0,o=e.meta?.isError===!0,s=e.meta?.status===`running`,c=s?`Running 1 step`:o?`Failed 1 step`:`Completed 1 step`,l=!s&&(a!==void 0||i&&Object.keys(i).length>0);return(0,Z.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{l&&n(!t)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors ${o?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${l?`cursor-pointer hover:bg-[var(--surface-hover)]`:`cursor-default`} ${t?`rounded-b-none`:``}`,children:[s?(0,Z.jsx)(j,{className:`h-4 w-4 shrink-0 animate-spin text-[var(--content-disabled)]`}):o?(0,Z.jsx)(pe,{className:`h-4 w-4 shrink-0 text-[var(--system-negative-strong)]`}):(0,Z.jsx)(K,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default ${o?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:c}),(0,Z.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:l&&(t?(0,Z.jsx)(ie,{className:`h-4 w-4`}):(0,Z.jsx)(B,{className:`h-4 w-4`}))})]}),t&&l&&(0,Z.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 ${o?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-base)] bg-[var(--surface-base)] dark:bg-[var(--surface-lift)]`}`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,Z.jsx)(N,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:r})]}),(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-base)]`}),(0,Z.jsxs)(`div`,{className:`mt-2.5`,children:[(0,Z.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:`Technical Details`}),i&&Object.entries(i).map(([e,t])=>(0,Z.jsxs)(`div`,{className:`mt-0.5`,children:[(0,Z.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),a!==void 0&&(0,Z.jsxs)(`div`,{className:`mt-3`,children:[(0,Z.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:`Output`}),(0,Z.jsx)(`div`,{className:`rounded-md border p-3 ${o?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]/50`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:(0,Z.jsx)(`pre`,{className:`max-h-60 overflow-y-auto whitespace-pre-wrap break-words text-body-small-default ${o?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:a.length>2e3?a.slice(0,2e3)+`...`:a})})]})]})]})}function at({entry:e,onRespond:t,disabled:n}){let r=e.meta?.toolName??`tool`,i=e.meta?.description??``,a=e.meta?.input,[o,s]=(0,Y.useState)(!1);return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Z.jsx)(I,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Confirmation required`})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve`),className:`flex items-center gap-1.5 rounded-md bg-[var(--system-positive-strong)] px-3 py-1.5 text-body-small-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:`Allow once`}),r===`exec_command`&&(0,Z.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve all exec`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-positive-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-positive-strong)] transition-colors hover:bg-[var(--system-positive-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:`Always Allow`}),(0,Z.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`deny`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-negative-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:`Deny`})]})]}),(!!r||!!i||!!a)&&(0,Z.jsxs)(`div`,{className:`mt-3`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,Z.jsx)(U,{className:`h-3 w-3 transition-transform ${o?`rotate-90`:``}`}),o?`Hide details`:`Show details`]}),o&&(0,Z.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[r&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(`span`,{children:`Tool:`}),(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1.5 py-0.5 font-mono text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:r})]}),i&&(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:i}),a&&Object.keys(a).length>0&&(0,Z.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap rounded bg-[var(--surface-base)] p-2 text-label-medium-default text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:JSON.stringify(a,null,2)})]})]})]})}function ot({entry:e,onRespond:t,disabled:n}){let r=e.meta?.toolName??`tool`;return(0,Z.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Z.jsx)(P,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Create a backup before modifying?`}),(0,Z.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`The doctor is about to run`,` `,(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1 py-0.5 font-mono text-[var(--content-secondary)]`,children:r}),`. Would you like to back up your workspace first?`]})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,Z.jsx)(w,{variant:`primary`,disabled:n,onClick:()=>t(`backup`),children:`Back up`}),(0,Z.jsx)(w,{variant:`outlined`,disabled:n,onClick:()=>t(`skip_backup`),children:`Skip`})]})]})})}function st({assistantId:e}={}){let t=e===void 0,[n,r]=(0,Y.useState)(null),[i,o]=(0,Y.useState)(t),s=t?n:e,c=t&&i,[l,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)([]),[m,g]=(0,Y.useState)(``),[_,v]=(0,Y.useState)(!1),[ee,b]=(0,Y.useState)(!1),[C,T]=(0,Y.useState)(!1),[E,D]=(0,Y.useState)(`idle`),[O,A]=(0,Y.useState)(!1),[ie,M]=(0,Y.useState)(!1),[ae,oe]=(0,Y.useState)(!1),N=V(),[le,P]=(0,Y.useState)(!1),[F,I]=(0,Y.useState)(null),[L,R]=(0,Y.useState)(null),[pe,me]=(0,Y.useState)(!1),z=(0,Y.useRef)(null),B=(0,Y.useRef)(null),H=(0,Y.useRef)(null),he=(0,Y.useRef)(!1),U=(0,Y.useRef)(null),W=!!s&&l===null&&!pe,G=y({...S(s?{path:{assistant_id:s},query:{limit:1}}:{path:{assistant_id:``},query:{limit:1}}),enabled:W});(0,Y.useEffect)(()=>{if(!W)return;if(G.isError){a(G.error,{context:`doctor_history_list`}),I(null),me(!0);return}let e=G.data;if(!e)return;let t=$e(e.results??[]);I(t?t.id:null),me(!0)},[W,G.data,G.isError,G.error]);let K=y({...x(s&&F?{path:{assistant_id:s,doctor_session_id:F}}:{path:{assistant_id:``,doctor_session_id:``}}),enabled:!!s&&!!F&&l===null});(0,Y.useEffect)(()=>{z.current?.scrollTo({top:z.current.scrollHeight,behavior:`smooth`})},[f]),(0,Y.useEffect)(()=>{t&&(he.current||(he.current=!0,(async()=>{try{let e=await u();e.ok&&r(e.data.id)}catch(e){a(e,{context:`fetch_assistant_for_doctor`}),k.error(`Failed to load assistant info`)}finally{o(!1)}})()))},[t]),(0,Y.useEffect)(()=>()=>{H.current?.abort(),H.current=null},[]);let q=(0,Y.useCallback)(e=>{p(t=>[...t,{...e,id:nt(),timestamp:Date.now()}])},[]),J=(0,Y.useCallback)((e,t)=>{let n=new AbortController;H.current=n;let r=`${$(e)}/sessions/${t}/events/`,i=!1,o=()=>H.current===n,s=e=>{o()&&(H.current=null,P(!1),A(!1),U.current=null,D(`error`),q({kind:`error`,content:e}))};(async()=>{try{let e=await fetch(r,{signal:n.signal,credentials:`include`,headers:de({Accept:`text/event-stream`,...fe()})});if(!o())return;if(!e.ok||!e.body){P(!1),U.current=null,e.status===404||e.status===410?(i=!0,D(`completed`),A(!1),q({kind:`status`,content:`Previous session expired. Start a new session to continue.`})):s(`Failed to connect to event stream (${e.status})`);return}let t=e.body.getReader(),a=new TextDecoder,l=``;for(;;){let{done:e,value:n}=await t.read();if(e)break;l+=a.decode(n,{stream:!0});let r=l.split(`
|
|
3
|
-
`);l=r.pop()??``;for(let e of r){let t=e.trim();if(!(!t||t.startsWith(`:`))&&t.startsWith(`data: `))try{c(JSON.parse(t.slice(6)))}catch{}}}!n.signal.aborted&&!i&&s(`Doctor event stream ended before the session completed. Start a new session to continue.`)}catch(e){if(n.signal.aborted)return;a(e,{context:`doctor_sse_stream`}),s(`Event stream disconnected. Start a new session to continue.`)}})();function c(e){if(o())switch(e.type){case`message_delta`:if(P(!1),U.current){let t=U.current;p(n=>n.map(n=>n.id===t?{...n,content:n.content+e.content}:n))}else{let t=nt();U.current=t,p(n=>[...n,{id:t,kind:`assistant`,content:e.content,timestamp:Date.now()}])}break;case`message`:P(!1),U.current=null;break;case`tool_call`:P(!1),U.current=null,q({kind:`tool_call`,content:e.toolName,meta:{toolName:e.toolName,input:e.input,id:e.id,status:`running`}});break;case`tool_result`:p(t=>{let n=t.findIndex(t=>t.kind===`tool_call`&&t.meta?.id===e.toolCallId);if(n===-1)return t;let r=[...t],i=r[n];return r[n]={...i,meta:{...i.meta??{},result:e.content,isError:e.isError,status:e.isError?`error`:`completed`}},r});break;case`approval_required`:P(!1),A(!0),q({kind:`approval`,content:e.toolName,meta:{toolName:e.toolName,input:e.input,id:e.id,description:e.description}});break;case`backup_prompt`:P(!1),M(!0),q({kind:`backup_prompt`,content:e.toolName,meta:{toolName:e.toolName}});break;case`status`:e.status===`completed`||e.status===`error`?(i=!0,P(!1),D(e.status),q({kind:`status`,content:e.status===`completed`?`Session completed`:`Session ended with error`})):D(e.status);break;case`error`:P(!1),A(!1),U.current=null,q({kind:`error`,content:e.message});break}}},[q]);(0,Y.useEffect)(()=>{if(l!==null||!F||L===F)return;if(K.isError){a(K.error,{context:`doctor_history_detail`}),R(F);return}let e=K.data;if(!e)return;let t=Ye((e.messages??[]).map(e=>({id:e.id,kind:e.kind,content:e.content,metadata:e.metadata,sequence:e.sequence,occurred_at:e.occurred_at})));p(t);let n=Xe(e.status);D(n),n===`active`&&s&&(A(Ze(t)),M(Qe(t)),d(F),J(s,F)),R(F)},[l,F,L,s,J,K.data,K.isError,K.error]);let ve=(0,Y.useCallback)(async()=>{if(s){b(!0);try{let e=await Q(`${$(s)}/sessions/`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));if(e.status===429){q({kind:`error`,content:t.error||`You've used all of your available Doctor sessions for this month. Please try again next month.`});return}q({kind:`error`,content:`Failed to start session: ${t.detail||t.error||e.statusText}`});return}let t=(await e.json()).session_id;I(null),R(null),d(t),D(`active`),p([]),J(s,t),q({kind:`assistant`,content:`Hi! I'm the Doctor. State the nature of the issue you're experiencing with your assistant and I'll help diagnose and fix it.`})}catch(e){a(e,{context:`start_doctor_session`}),q({kind:`error`,content:`Failed to start doctor session`})}finally{b(!1)}}},[s,q,J]),ye=(0,Y.useCallback)(async()=>{T(!0);try{if(H.current?.abort(),H.current=null,l&&s){try{await Q(`${$(s)}/sessions/${l}/`,{method:`DELETE`})}catch{}h({path:{assistant_id:s},throwOnError:!1}).catch(()=>{})}d(null),D(`idle`),A(!1)}finally{T(!1)}},[l,s]),X=(0,Y.useCallback)(async e=>{if(!l||!s||!e.trim())return;v(!0);let t=e.trim();q({kind:`user`,content:t}),g(``),et.has(t.toLowerCase())&&A(!1);try{let e=await Q(`${$(s)}/sessions/${l}/messages/`,{method:`POST`,body:JSON.stringify({content:t})});e.ok?P(!0):q({kind:`error`,content:`Failed to send message: ${(await e.json().catch(()=>({}))).detail??e.statusText}`})}catch(e){a(e,{context:`send_doctor_message`}),q({kind:`error`,content:`Failed to send message`})}finally{v(!1)}},[l,s,q]),be=(0,Y.useCallback)(e=>{X(e)},[X]),xe=(0,Y.useCallback)(e=>{M(!1),X(e)},[X]),Se=E===`active`,Ce=E===`completed`||E===`error`;return(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 rounded-xl bg-[var(--surface-base)] p-5 ring-1 ring-[var(--border-base)]`,children:[(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(qe,{className:`h-10 w-10 shrink-0`}),(0,Z.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:`Doctor`}),(0,Z.jsx)(ne,{tone:`neutral`,title:`Doctor is in beta — use the Settings menu to submit feedback`,children:`Beta`}),N===`full`&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>oe(!0),className:`cursor-pointer text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:`Share Feedback`})]}),Se&&(0,Z.jsxs)(`button`,{type:`button`,onClick:ye,disabled:C,className:`flex cursor-pointer items-center gap-1.5 rounded border border-[var(--system-negative-strong)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:[C?(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`}):(0,Z.jsx)(ue,{className:`h-3 w-3`}),C?`Ending…`:`End Session`]})]}),c||s&&!pe||F&&L!==F?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),`Loading...`]}):s?E===`idle`?(0,Z.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 py-12`,children:[(0,Z.jsx)(qe,{className:`h-24 w-24 shrink-0`}),(0,Z.jsxs)(`div`,{className:`text-center`,children:[(0,Z.jsx)(`h3`,{className:`text-title-medium text-[var(--content-default)]`,children:`Assistant Doctor`}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Start a diagnostic session to have the Doctor analyze your assistant, identify issues, and suggest or apply fixes. The Doctor is free to use. Doctor logs may be temporarily stored.`})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:ve,disabled:ee,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-5 py-2.5 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-not-allowed disabled:opacity-50`,children:[ee?(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}):(0,Z.jsx)(ge,{className:`h-4 w-4`}),`Start Doctor Session`]})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{ref:z,className:`min-h-0 flex-1 overflow-y-auto`,children:(0,Z.jsxs)(`div`,{className:`mx-auto max-w-2xl space-y-3`,children:[f.map(e=>{switch(e.kind){case`user`:return(0,Z.jsxs)(`div`,{className:`group/msg flex items-start justify-end gap-1.5`,children:[(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center self-center`,children:(0,Z.jsx)(rt,{text:e.content})}),(0,Z.jsx)(`div`,{className:`max-w-[80%] whitespace-pre-wrap rounded-lg bg-[var(--surface-lift)] px-4 py-3 text-chat text-[var(--content-default)]`,children:e.content})]},e.id);case`assistant`:return(0,Z.jsxs)(`div`,{className:`group/msg flex items-start justify-start gap-1.5`,children:[(0,Z.jsx)(`div`,{className:`w-full text-chat text-[var(--content-default)]`,children:(0,Z.jsx)(te,{content:e.content})}),(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center pt-0.5`,children:(0,Z.jsx)(rt,{text:e.content})})]},e.id);case`tool_call`:return(0,Z.jsx)(`div`,{className:`flex justify-start`,children:(0,Z.jsx)(`div`,{className:`w-full`,children:(0,Z.jsx)(it,{entry:e})})},e.id);case`approval`:return(0,Z.jsx)(`div`,{className:`max-w-[90%]`,children:(0,Z.jsx)(at,{entry:e,onRespond:be,disabled:!O||_})},e.id);case`backup_prompt`:return(0,Z.jsx)(`div`,{className:`max-w-[90%]`,children:(0,Z.jsx)(ot,{entry:e,onRespond:xe,disabled:!ie||_})},e.id);case`error`:return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,Z.jsx)(se,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,Z.jsx)(`span`,{children:e.content})]},e.id);case`status`:return(0,Z.jsx)(`div`,{className:`text-center text-body-small-default text-[var(--content-disabled)]`,children:e.content},e.id);default:return null}}),le&&(0,Z.jsx)(`div`,{className:`flex justify-start`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-[5px] rounded-[var(--radius-lg)] bg-[var(--surface-overlay)] px-4 py-3`,children:[[-.333,0,-.667].map((e,t)=>(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`typing-dot block h-2 w-2 rounded-full bg-[var(--content-tertiary)]`,style:{animation:`typing-dot-pulse 1s ease-in-out infinite`,animationDelay:`${e}s`}},t)),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Thinking…`})]})}),Se&&!f.length&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-disabled)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),`Connecting...`]})]})}),Se&&(0,Z.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),m.trim()&&!_&&(X(m),B.current&&(B.current.style.height=`auto`))},className:`mx-auto w-full max-w-2xl shrink-0 overflow-hidden rounded-[10px] bg-[var(--surface-lift)] shadow-sm ring-1 ring-transparent focus-within:ring-[var(--ring)]`,children:[(0,Z.jsx)(`textarea`,{ref:B,value:m,onChange:e=>{g(e.target.value),e.target.style.height=`auto`,e.target.style.height=`${Math.min(e.target.scrollHeight,160)}px`},onKeyDown:e=>{e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||e.keyCode===229||ce()||(e.preventDefault(),m.trim()&&!_&&(X(m),B.current&&(B.current.style.height=`auto`)))},placeholder:O?`Type "approve" or "deny", or send a message...`:`Type a message...`,disabled:_,rows:1,className:`w-full resize-none border-none bg-transparent px-4 pb-2 pt-3 text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none disabled:opacity-50`}),(0,Z.jsx)(`div`,{className:`flex items-center justify-end px-3 pb-2`,children:(0,Z.jsx)(w,{variant:`primary`,iconOnly:(0,Z.jsx)(re,{className:`h-4 w-4`,strokeWidth:2.5}),type:`submit`,disabled:!m.trim()||_,"aria-label":`Send message`})})]}),Ce&&(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center justify-center gap-3 py-2`,children:(0,Z.jsxs)(`button`,{type:`button`,onClick:async()=>{if(H.current?.abort(),H.current=null,l&&s){try{await Q(`${$(s)}/sessions/${l}/`,{method:`DELETE`})}catch{}h({path:{assistant_id:s},throwOnError:!1}).catch(()=>{})}d(null),D(`idle`),p([]),A(!1),I(null),R(null)},className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,children:[(0,Z.jsx)(ge,{className:`h-4 w-4`}),`New Session`]})})]}):(0,Z.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(qe,{className:`h-6 w-6 shrink-0`}),(0,Z.jsx)(`span`,{children:`No assistant found. Hatch an assistant to use the Doctor.`})]})}),(0,Z.jsx)(_e,{open:ae,onClose:()=>oe(!1),assistantId:s})]})}var ct=[{id:`general`,label:`General`},{id:`terminal`,label:`Terminal`},{id:`doctor`,label:`Doctor`}];function lt(){let[e,t]=H(),n=W.use.doctor(),r=V({platformHostedOnly:!0}),i=(0,Y.useMemo)(()=>ct.filter(e=>!(e.id===`doctor`&&!n||e.id===`terminal`&&r===`gated`)),[n,r]),a=(0,Y.useMemo)(()=>{let t=e.get(`tab`);return i.find(e=>e.id===t)?.id??`general`},[e,i]),o=n=>{let r=new URLSearchParams(e.toString());n===`general`?r.delete(`tab`):r.set(`tab`,n),t(r,{replace:!0})};return(0,Z.jsxs)(`div`,{"data-slot":`debug-page`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,Z.jsx)(`div`,{role:`tablist`,"aria-label":`Debug sections`,className:`flex shrink-0 items-center gap-1 border-b border-[var(--border-base)]`,children:i.map(e=>{let t=e.id===a;return(0,Z.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`debug-tab-panel-${e.id}`,id:`debug-tab-${e.id}`,onClick:()=>o(e.id),className:oe(`relative -mb-px cursor-pointer border-b-2 px-4 py-2 text-body-medium-default transition-colors`,t?`border-[var(--system-positive-strong)] text-[var(--system-positive-strong)]`:`border-transparent text-[var(--content-tertiary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`),children:e.label},e.id)})}),(0,Z.jsxs)(`div`,{id:`debug-tab-panel-${a}`,role:`tabpanel`,"aria-labelledby":`debug-tab-${a}`,className:`flex min-h-0 flex-1 flex-col pt-6`,children:[a===`general`&&(0,Z.jsx)(`div`,{className:`max-w-[940px]`,children:(0,Z.jsx)(Be,{})}),a===`terminal`&&(0,Z.jsx)(Me,{}),a===`doctor`&&n&&(0,Z.jsx)(st,{})]})]})}export{lt as DebugPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BlnqVGWw.js";import{t as r}from"./jsx-runtime-D1qe-iBh.js";import{t as i}from"./button-ClCfFgUi.js";import{t as a}from"./typography-C2ZUvvBk.js";import"./src-DDKMtkUH.js";import{t as o}from"./confirm-dialog-BGK9Zfu-.js";import{t as s}from"./input-D3ItuUML.js";import{t as c}from"./modal-DnazB3IX.js";import{t as l}from"./toast-VQEhJ0eG.js";import{at as u}from"./sdk.gen-COjGLNMd.js";import{t as d}from"./loader-circle-DnYn_L1c.js";import{Q as f}from"./index-DfyO29JM.js";var p=e(n(),1),m=r();function h({open:e,onOpenChange:t,assistantId:n,onTokenSaved:r}){let[o,f]=(0,p.useState)(``),[h,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(null),y=(0,p.useCallback)(async()=>{if(o.trim()){g(!0),v(null);try{await u({path:{assistant_id:n},body:{action:`set`,apiToken:o.trim()},throwOnError:!0}),f(``),r()}catch(e){let t=e instanceof Error?e.message:`Failed to save Vercel token.`;v(t),l.error(t)}finally{g(!1)}}},[n,o,r]);return(0,m.jsx)(c.Root,{open:e,onOpenChange:t,children:(0,m.jsxs)(c.Content,{size:`sm`,children:[(0,m.jsx)(c.Header,{children:(0,m.jsx)(c.Title,{children:`Connect Vercel`})}),(0,m.jsx)(c.Body,{children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,m.jsx)(a,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:`Enter your Vercel API token to deploy apps as static pages.`}),(0,m.jsx)(`a`,{href:`https://vercel.com/account/tokens`,target:`_blank`,rel:`noopener noreferrer`,className:`text-body-medium-default text-(--primary-base) hover:underline`,children:`Create a token on Vercel →`}),(0,m.jsx)(s,{type:`password`,placeholder:`Vercel API token`,value:o,onChange:e=>f(e.target.value),label:`API Token`,fullWidth:!0,errorText:_,disabled:h})]})}),(0,m.jsxs)(c.Footer,{children:[(0,m.jsx)(c.Close,{asChild:!0,children:(0,m.jsx)(i,{variant:`outlined`,disabled:h,children:`Cancel`})}),(0,m.jsx)(i,{variant:`primary`,onClick:y,disabled:h||!o.trim(),leftIcon:h?(0,m.jsx)(d,{className:`animate-spin`}):void 0,children:h?`Saving…`:`Save`})]})]})})}var g=t({DeployDialogs:()=>_});function _({assistantId:e,assistantName:t,onStartConversation:n}){let r=f.use.isTokenDialogOpen(),i=f.use.complexDeployApp();return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(h,{open:r,onOpenChange:e=>{e||f.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{f.getState().deployAfterTokenSaved(e)}}),(0,m.jsx)(o,{open:i!==null,title:`This app needs a full deploy`,message:`"${i?.name??``}" uses backend services that won't work on a static Vercel page. ${t??`Your assistant`} can deploy it properly with serverless functions.`,confirmLabel:`Let ${t??`your assistant`} handle it`,onConfirm:()=>{let e=f.getState().complexDeployApp?.name??`this app`;f.getState().setComplexDeployApp(null),n?.(`Deploy my app "${e}" to Vercel. It uses backend services that need serverless functions — please use the deploy-fullstack-vercel skill to handle it properly.`)},onCancel:()=>f.getState().setComplexDeployApp(null)})]})}export{g as n,_ as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{d as n,n as r,r as i}from"./exports-CJ0Uoq7P.js";import{o as a}from"./api-B_OFJX14.js";import{n as o}from"./QueryClientProvider-DP1e6db6.js";import{t as s}from"./useQuery-CrONYg8_.js";import{t as c}from"./jsx-runtime-D1qe-iBh.js";import{r as l,v as u}from"./react-query.gen-DHIrHqEw.js";import{i as d}from"./routes-CkBoiJow.js";import{t as f}from"./button-ClCfFgUi.js";import{t as p}from"./confirm-dialog-BGK9Zfu-.js";import{t as m}from"./tag-DI4G1_a6.js";import{t as h}from"./toggle-DnsgdQ9b.js";import{t as g}from"./toast-VQEhJ0eG.js";import{a as _,i as v,r as y}from"./feature-flag-catalog-CQJyyF9F.js";import{i as b}from"./query-tags-Dvidg_LC.js";import{t as x}from"./assistant-feature-flag-store-eFzXnt31.js";import{t as S}from"./createLucideIcon-B1Lebfcn.js";import{t as C}from"./loader-circle-DnYn_L1c.js";import{t as w}from"./misc-C66f1jHd.js";import{At as T,Dn as E,Dr as D,Jt as O,Or as k,Zr as A,cr as j,ni as M,qr as N,vr as P,zr as F}from"./index-DfyO29JM.js";import{t as I}from"./detail-card-akwfTEr9.js";var L=S(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),R=S(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),z=e(t(),1),B=c();function V(){let e=o(),[t,n]=(0,z.useState)(!1),[r,i]=(0,z.useState)(!1),{data:c,isLoading:d}=s(l()),{data:m,isLoading:h}=s(u({query:{hosting:`all`}})),_=d||h,v=m?.results??[];return(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(H,{assistant:c??null,loading:_}),(0,B.jsx)(U,{assistants:v,activeAssistantId:c?.id??null,loading:_}),(0,B.jsxs)(I,{title:`Hatch New Assistant`,subtitle:`Create a new assistant instance.`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Provision a new assistant. This may take a moment.`}),(0,B.jsx)(f,{variant:`outlined`,leftIcon:t?(0,B.jsx)(C,{className:`animate-spin`}):void 0,onClick:()=>i(!0),disabled:t,className:`shrink-0`,children:`Hatch`})]}),(0,B.jsx)(p,{open:r,title:`Hatch New Assistant`,message:`Are you sure you want to create a new assistant? This will provision new infrastructure.`,confirmLabel:`Hatch`,onConfirm:async()=>{i(!1),n(!0);try{let t=await a();if(t.ok)g.success(`New assistant hatched successfully.`),e.invalidateQueries({queryKey:[`assistants`]});else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to hatch assistant.`;g.error(e)}}catch{g.error(`Failed to hatch assistant.`)}finally{n(!1)}},onCancel:()=>i(!1)})]})]})}function H({assistant:e,loading:t}){return t?(0,B.jsx)(I,{title:`Assistant Info`,children:(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,B.jsx)(C,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]})}):e?(0,B.jsx)(I,{title:`Assistant Info`,subtitle:`Current assistant details.`,children:(0,B.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,B.jsx)(W,{children:`Name`}),(0,B.jsx)(G,{children:e.name??`Unnamed`}),(0,B.jsx)(W,{children:`Status`}),(0,B.jsx)(`div`,{children:(0,B.jsx)(m,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,B.jsx)(W,{children:`Assistant ID`}),(0,B.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(W,{children:`Machine ID`}),(0,B.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,B.jsx)(W,{children:`Created`}),(0,B.jsx)(G,{children:new Date(e.created).toLocaleDateString()}),(0,B.jsx)(W,{children:`Last Modified`}),(0,B.jsx)(G,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(W,{children:`Version`}),(0,B.jsx)(G,{children:e.current_release_version})]})]})}):(0,B.jsx)(I,{title:`Assistant Info`,children:(0,B.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`})})}function U({assistants:e,activeAssistantId:t,loading:n}){return n||e.length===0?null:(0,B.jsx)(I,{title:`All Assistants`,subtitle:`${e.length} assistant${e.length===1?``:`s`} found.`,children:(0,B.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,B.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||`Unnamed`}),(0,B.jsx)(m,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),n&&(0,B.jsx)(m,{tone:`warning`,children:`Current`})]}),(0,B.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function W({children:e}){return(0,B.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function G({children:e}){return(0,B.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function K(){let e=F.use.emailRootDomain(),t=F.use.isNonProduction(),n=F.use.setEnvironment();return(0,B.jsx)(I,{title:`Environment`,subtitle:`Environment configuration overrides for this session.`,children:(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,B.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,B.jsx)(h,{checked:t,onChange:e=>n({isNonProduction:e}),"aria-label":`Non-Production is ${t?`on`:`off`}`})}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,B.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Non-Production`}),(0,B.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Indicates a non-production environment. Enables dev-only UI surfaces and diagnostics.`})]})]}),(0,B.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,B.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,B.jsx)(m,{tone:`neutral`,children:e})}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,B.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Email Root Domain`}),(0,B.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Root domain used for assistant email addresses (e.g. vellum.me).`})]})]})]})})}var q={client:`warning`,assistant:`positive`};function J(){let{data:e}=s(l()),t=e?.id??null,n=k();s({queryKey:b(t),queryFn:()=>D(t),enabled:t!==null,...n,retry:1});let[r,i]=(0,z.useState)(``),a=N(),o=x(),c=(0,z.useMemo)(()=>{let e=[];for(let t of v){let n=y(t.key),r=a[n],i=o[n],s=t.scope===`both`?r===!0||i===!0:t.scope===`assistant`?i:r;typeof s==`boolean`&&e.push({storeKey:n,scope:t.scope,label:t.label,description:t.description,value:s,defaultValue:t.defaultEnabled})}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[a,o]),u=(0,z.useMemo)(()=>{if(!r.trim())return c;let e=r.trim().toLowerCase();return c.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[c,r]);return(0,B.jsx)(I,{title:`Feature Flags`,subtitle:`Active feature flags evaluated for the current session.`,children:(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsxs)(`div`,{className:`relative`,children:[(0,B.jsx)(O,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,B.jsx)(`input`,{type:`text`,placeholder:`Search flags...`,value:r,onChange:e=>i(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),u.length===0&&(0,B.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No matching flags.`}),u.length>0&&(0,B.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:u.map(e=>(0,B.jsx)(X,{flag:e,assistantId:t},e.storeKey))})]})})}function Y({scope:e}){return e===`both`?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(m,{tone:q.client,children:`client`}),(0,B.jsx)(m,{tone:q.assistant,children:`assistant`})]}):(0,B.jsx)(m,{tone:q[e],children:e})}function X({flag:e,assistantId:t}){let n=N.use.setFlag(),r=x.use.setFlag();return(0,B.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,B.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,B.jsx)(h,{checked:e.value,onChange:i=>{_(e.scope,`client`)&&n(e.storeKey,i),_(e.scope,`assistant`)&&r(e.storeKey,i,t)},"aria-label":`${e.label} is ${e.value?`on`:`off`}`})}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,B.jsx)(Y,{scope:e.scope})]}),(0,B.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,B.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,B.jsx)(m,{tone:`neutral`,children:e.defaultValue?`On`:`Off`})]})]})]})}function Z(){let e=(0,z.useCallback)(()=>{r(Error(`[Dev Settings] Test error event`)),g.success(`Sentry error event sent.`)},[]),t=(0,z.useCallback)(()=>{i(`[Dev Settings] Test warning event`,`warning`),g.success(`Sentry warning event sent.`)},[]),a=(0,z.useCallback)(()=>{i(`[Dev Settings] Test info event`,`info`),g.success(`Sentry info event sent.`)},[]),o=(0,z.useCallback)(()=>{i(`[Dev Settings] Test fatal event`,`fatal`),g.success(`Sentry fatal event sent.`)},[]),s=(0,z.useCallback)(()=>{n({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),g.success(`Sentry performance transaction sent.`)},[]);return(0,B.jsx)(I,{title:`Sentry Testing`,subtitle:`Fire test events to verify Sentry integration is working.`,children:(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(Q,{icon:(0,B.jsx)(L,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:`Fatal Event`,description:`Send a fatal-level event to Sentry.`,onClick:o}),(0,B.jsx)(Q,{icon:(0,B.jsx)(j,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:`Error Event`,description:`Capture a test Error exception.`,onClick:e}),(0,B.jsx)(Q,{icon:(0,B.jsx)(T,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:`Warning Event`,description:`Send a warning-level message.`,onClick:t}),(0,B.jsx)(Q,{icon:(0,B.jsx)(E,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:`Info Event`,description:`Send an info-level message.`,onClick:a}),(0,B.jsx)(Q,{icon:(0,B.jsx)(R,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:`Performance Transaction`,description:`Start and end a test transaction span.`,onClick:s})]})})}function Q({icon:e,label:t,description:n,onClick:r}){return(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,B.jsx)(`div`,{className:`shrink-0`,children:e}),(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t}),(0,B.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]}),(0,B.jsxs)(f,{variant:`outlined`,size:`compact`,onClick:r,children:[(0,B.jsx)(P,{className:`h-4 w-4`}),`Send`]})]})}var $=[{id:`feature-flags`,label:`Feature Flags`},{id:`lifecycle`,label:`Assistant Lifecycle`},{id:`sentry`,label:`Sentry Testing`}];function ee(){let[e,t]=M(),n=x.use.settingsDeveloperNav();if(x.use.hasHydrated()&&!n)return(0,B.jsx)(A,{replace:!0,to:d.settings.general});let r=(0,z.useMemo)(()=>{let t=e.get(`tab`);return $.find(e=>e.id===t)?.id??`feature-flags`},[e]),i=n=>{let r=new URLSearchParams(e.toString());n===`feature-flags`?r.delete(`tab`):r.set(`tab`,n),t(r,{replace:!0})};return(0,B.jsxs)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,B.jsx)(`div`,{role:`tablist`,"aria-label":`Developer sections`,className:`flex shrink-0 items-center gap-1 border-b border-[var(--border-base)]`,children:$.map(e=>{let t=e.id===r;return(0,B.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`developer-tab-panel-${e.id}`,id:`developer-tab-${e.id}`,onClick:()=>i(e.id),className:w(`relative -mb-px cursor-pointer border-b-2 px-4 py-2 text-body-medium-default transition-colors`,t?`border-[var(--system-positive-strong)] text-[var(--system-positive-strong)]`:`border-transparent text-[var(--content-tertiary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`),children:e.label},e.id)})}),(0,B.jsxs)(`div`,{id:`developer-tab-panel-${r}`,role:`tabpanel`,"aria-labelledby":`developer-tab-${r}`,className:`flex min-h-0 flex-1 flex-col pt-6`,children:[r===`feature-flags`&&(0,B.jsxs)(`div`,{className:`max-w-[940px] space-y-6`,children:[(0,B.jsx)(J,{}),(0,B.jsx)(K,{})]}),r===`lifecycle`&&(0,B.jsx)(`div`,{className:`max-w-[940px]`,children:(0,B.jsx)(V,{})}),r===`sentry`&&(0,B.jsx)(`div`,{className:`max-w-[940px]`,children:(0,B.jsx)(Z,{})})]})]})}export{ee as DeveloperPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./useQuery-CrONYg8_.js";import{t}from"./jsx-runtime-D1qe-iBh.js";import{v as n}from"./react-query.gen-DHIrHqEw.js";import{t as r}from"./loader-circle-DnYn_L1c.js";import{Vt as i,fn as a}from"./index-DfyO29JM.js";import{t as o}from"./detail-card-akwfTEr9.js";var s=t();function c(e){return new Intl.DateTimeFormat(`en`,{month:`short`,day:`numeric`,year:`numeric`}).format(new Date(e))}function l({assistant:e}){let t=e,n=t.platform===`ios`,r=n?i:a,o=e.name||(n?`iOS Device`:t.hostname||`Unknown Device`);return(0,s.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,s.jsx)(r,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:o}),(0,s.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[t.hostname&&(0,s.jsx)(`span`,{className:`mr-3`,children:t.hostname}),e.created&&(0,s.jsxs)(`span`,{children:[`Registered `,c(e.created)]})]})]})]})}function u(){let{data:t,isLoading:i}=e(n({query:{hosting:`local`}})),a=t?.results??[];return(0,s.jsx)(`div`,{className:`max-w-[940px] space-y-4`,children:(0,s.jsx)(o,{title:`Self-Hosted Assistants`,subtitle:`Self-hosted assistants registered with your Vellum account. Registration lets these assistants use Vellum managed services — inference, web search, integrations — so that you don't have to bring your own API keys.`,children:i?(0,s.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,s.jsx)(r,{className:`h-4 w-4 animate-spin`}),`Loading devices...`]}):a.length===0?(0,s.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No self-hosted assistants registered.`}):(0,s.jsx)(`div`,{className:`space-y-2`,children:a.map(e=>(0,s.jsx)(l,{assistant:e},e.id))})})})}export{u as DevicesPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./jsx-runtime-D1qe-iBh.js";import{t as r}from"./selection-store-DOnhFieO.js";import{i}from"./routes-CkBoiJow.js";import{t as a}from"./typography-C2ZUvvBk.js";import"./src-DDKMtkUH.js";import{I as o,L as s,R as c}from"./sdk.gen-COjGLNMd.js";import{t as l}from"./loader-circle-DnYn_L1c.js";import{Ir as u,Rr as d,U as f,V as p,W as m,ei as h,ti as g}from"./index-DfyO29JM.js";var _=e(t(),1);function v({surfaceId:e,enabled:t,onCommentsChanged:n}){let r=(0,_.useRef)(n);return(0,_.useEffect)(()=>{r.current=n},[n]),(0,_.useCallback)(n=>{if(!t)return;let i=n.message;switch(i.type){case`document_comment_created`:case`document_comment_resolved`:case`document_comment_reopened`:case`document_comment_deleted`:i.surfaceId===e&&r.current();break;default:break}},[e,t])}var y=n();function b(){let{surfaceId:e}=g(),t=h(),n=r.use.activeAssistantId(),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!0),[w,T]=(0,_.useState)(null),E=(0,_.useRef)(null);(0,_.useEffect)(()=>{if(!e){T(`No document ID provided.`),C(!1);return}if(!n)return;let t=!1;return(async()=>{try{let{data:r}=await s({path:{assistant_id:n,id:e},throwOnError:!0});if(t)return;x(r)}catch{t||T(`Failed to load document.`)}finally{t||C(!1)}})(),()=>{t=!0}},[e,n]);let D=(0,_.useCallback)(()=>{E.current?.refreshComments()},[]);d(`sse.event`,v({surfaceId:e??``,enabled:!!e,onCommentsChanged:D}));let O=(0,_.useCallback)(()=>{t(-1)},[t]),k=(0,_.useCallback)(async()=>{if(!b||!n||!e)return;let r=b.conversationId||f(n,e)||(typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`);if(m(n,e,r),r!==b.conversationId)try{await o({path:{assistant_id:n,id:e},body:{conversationId:r},throwOnError:!0})}catch{}u.getState().openDocument(),u.getState().setLoadedDocument({surfaceId:b.surfaceId,conversationId:r,documentName:b.title,content:b.content});let a=`Please review and address my comments on "${b.title}".`;t(`${i.conversation(r)}?prompt=${encodeURIComponent(a)}`)},[b,n,e,t]),A=(0,_.useCallback)(async()=>{if(!b||!n)return;let{response:e}=await c({path:{assistant_id:n,id:b.surfaceId},throwOnError:!1,parseAs:`stream`});if(!e||!e.ok)return;let t=await e.blob(),r=URL.createObjectURL(t);Object.assign(document.createElement(`a`),{href:r,download:`${b.title||`document`}.pdf`}).click(),URL.revokeObjectURL(r)},[b,n]);return S?(0,y.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,y.jsx)(l,{size:24,className:`animate-spin`,style:{color:`var(--content-tertiary)`}})}):w||!b||!n?(0,y.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,y.jsx)(a,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:w??`Document not found.`})}):(0,y.jsx)(p,{surfaceId:b.surfaceId,assistantId:n,conversationId:b.conversationId,documentName:b.title,content:b.content,onClose:O,onExport:A,onSubmitFeedback:k,handleRef:E})}export{b as DocumentViewerPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./useQuery-CrONYg8_.js";import{t}from"./jsx-runtime-D1qe-iBh.js";import{_ as n,h as r,p as i}from"./react-query.gen-DHIrHqEw.js";import{i as a}from"./routes-CkBoiJow.js";import"./src-DDKMtkUH.js";import{t as o}from"./tag-DI4G1_a6.js";import{t as s}from"./loader-circle-DnYn_L1c.js";import{At as c,On as l,Yr as u,or as d,qt as f}from"./index-DfyO29JM.js";import{t as p}from"./use-current-platform-assistant-IoT7tVk6.js";var m=t();function h(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function g({title:e,children:t}){return(0,m.jsxs)(`div`,{className:`space-y-3`,children:[(0,m.jsx)(`h2`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:e}),t]})}function _({tone:e=`info`,children:t}){let n=e===`error`;return(0,m.jsx)(`div`,{className:`rounded-md border px-4 py-3 text-body-medium-lighter`,style:{background:n?`var(--surface-negative-subtle, var(--surface-lift))`:`var(--surface-lift)`,borderColor:n?`var(--border-negative, var(--border-base))`:`var(--border-base)`,color:n?`var(--content-negative, var(--content-default))`:`var(--content-default)`},children:(0,m.jsxs)(`div`,{className:`flex items-start gap-2`,children:[n&&(0,m.jsx)(c,{className:`mt-0.5 h-4 w-4 shrink-0`,"aria-hidden":`true`}),(0,m.jsx)(`div`,{className:`flex-1`,children:t})]})})}function v({message:e,onRetry:t,retrying:n}){return(0,m.jsx)(_,{tone:`error`,children:(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,m.jsx)(`span`,{children:e}),(0,m.jsx)(`button`,{type:`button`,onClick:t,disabled:n,className:`text-body-small-default underline disabled:opacity-50`,style:{color:`var(--content-default)`},children:n?`Retrying…`:`Retry`})]})})}function y({label:e,value:t,sub:n}){return(0,m.jsxs)(`div`,{className:`rounded-xl border p-3`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,m.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e}),(0,m.jsx)(`p`,{className:`mt-1 text-title-large tabular-nums`,style:{color:`var(--content-default)`},children:t??`—`}),n&&(0,m.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-disabled)`},children:n})]})}function b({email:e}){let t=e.direction===`inbound`;return(0,m.jsx)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,m.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,m.jsx)(o,{tone:t?`positive`:`neutral`,leftIcon:t?(0,m.jsx)(l,{}):(0,m.jsx)(f,{}),children:t?`Inbound`:`Outbound`}),(0,m.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.from_address})]}),(0,m.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e.subject||`(no subject)`})]}),(0,m.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[(0,m.jsx)(d,{className:`h-3 w-3`}),(0,m.jsx)(`span`,{children:h(e.created_at)})]})]})})}function x({assistantId:t}){let o=e(i({path:{assistant_id:t}})),c=o.data?.results?.[0],l=e({...r({path:{assistant_id:t,id:c?.id??``}}),enabled:!!c?.id}),d=e(n({path:{assistant_id:t},query:{limit:10}})),f=l.data?.usage,p=d.data?.results??[];return o.isLoading?(0,m.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,m.jsx)(s,{className:`h-8 w-8 animate-spin`,style:{color:`var(--content-tertiary)`}})}):o.isError?(0,m.jsx)(v,{message:`Couldn't load email addresses.`,onRetry:()=>{o.refetch()},retrying:o.isFetching}):c?(0,m.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,m.jsx)(g,{title:`Totals`,children:(0,m.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[(0,m.jsx)(y,{label:`Sent today`,value:f?.sent_today,sub:f?`of ${f.daily_limit} daily limit`:void 0}),(0,m.jsx)(y,{label:`Received today`,value:f?.received_today}),(0,m.jsx)(y,{label:`Sent this month`,value:f?.sent_this_month}),(0,m.jsx)(y,{label:`Received this month`,value:f?.received_this_month})]})}),(0,m.jsx)(g,{title:`Recent Emails`,children:d.isLoading?(0,m.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[(0,m.jsx)(s,{className:`h-4 w-4 animate-spin`}),`Loading…`]}):d.isError?(0,m.jsx)(v,{message:`Couldn't load recent emails.`,onRetry:()=>{d.refetch()},retrying:d.isFetching}):p.length===0?(0,m.jsx)(_,{children:`No emails yet.`}):(0,m.jsx)(`div`,{className:`space-y-2`,children:p.map(e=>(0,m.jsx)(b,{email:e},e.id))})})]}):(0,m.jsxs)(_,{children:[`No email address registered yet.`,` `,(0,m.jsx)(u,{to:a.settings.ai,className:`underline`,style:{color:`var(--content-tertiary)`},children:`Set one up in AI Settings → Email.`})]})}function S(){let{assistantId:e}=p();return e?(0,m.jsx)(x,{assistantId:e}):null}export{S as EmailsPage};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-DYZNxiAf.js","assets/dist-KWOsn0v8.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-CC9DnTon.js";import{i as t}from"./dist-KWOsn0v8.js";var n;(function(e){e.Light=`light`,e.Dark=`dark`})(n||={});var r=t(`SafeArea`,{web:()=>e(()=>import(`./web-DYZNxiAf.js`).then(e=>new e.SafeAreaWeb),__vite__mapDeps([0,1]))});export{r as SafeArea};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-D3bAy1EX.js","assets/dist-KWOsn0v8.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-CC9DnTon.js";import{i as t}from"./dist-KWOsn0v8.js";var n=t(`App`,{web:()=>e(()=>import(`./web-D3bAy1EX.js`).then(e=>new e.AppWeb),__vite__mapDeps([0,1]))});export{n as App};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-CNnkyiJU.js","assets/dist-KWOsn0v8.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-CC9DnTon.js";import{i as t}from"./dist-KWOsn0v8.js";var n=t(`Browser`,{web:()=>e(()=>import(`./web-CNnkyiJU.js`).then(e=>new e.BrowserWeb),__vite__mapDeps([0,1]))});export{n as Browser};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-BJvfEnmz.js","assets/dist-KWOsn0v8.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-CC9DnTon.js";import{i as t}from"./dist-KWOsn0v8.js";var n=t(`Share`,{web:()=>e(()=>import(`./web-BJvfEnmz.js`).then(e=>new e.ShareWeb),__vite__mapDeps([0,1]))});export{n as Share};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var e=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__,t=globalThis,n=`10.53.1`;function r(){return i(t),t}function i(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||`10.53.1`,t[n]=t[`10.53.1`]||{}}function a(e,r,i=t){let a=i.__SENTRY__=i.__SENTRY__||{},o=a[n]=a[`10.53.1`]||{};return o[e]||(o[e]=r())}var o=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],s=`Sentry Logger `,c={};function l(e){if(!(`console`in t))return e();let n=t.console,r={},i=Object.keys(c);i.forEach(e=>{let t=c[e];r[e]=n[e],n[e]=t});try{return e()}finally{i.forEach(e=>{n[e]=r[e]})}}function u(){te().enabled=!0}function d(){te().enabled=!1}function f(){return te().enabled}function p(...e){ee(`log`,...e)}function m(...e){ee(`warn`,...e)}function h(...e){ee(`error`,...e)}function ee(n,...r){e&&f()&&l(()=>{t.console[n](`${s}[${n}]:`,...r)})}function te(){return e?a(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}var g={enable:u,disable:d,isEnabled:f,log:p,warn:m,error:h},ne=50,re=/\(error: (.*)\)/,ie=/captureMessage|captureException/;function ae(...e){let t=e.sort((e,t)=>e[0]-t[0]).map(e=>e[1]);return(e,n=0,r=0)=>{let i=[],a=e.split(`
|
|
2
|
-
`);for(let e=n;e<a.length;e++){let n=a[e];n.length>1024&&(n=n.slice(0,1024));let o=re.test(n)?n.replace(re,`$1`):n;if(!o.includes(`Error: `)){for(let e of t){let t=e(o);if(t){i.push(t);break}}if(i.length>=ne+r)break}}return se(i.slice(r))}}function oe(e){return Array.isArray(e)?ae(...e):e}function se(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(_(t).function||``)&&t.pop(),t.reverse(),ie.test(_(t).function||``)&&(t.pop(),ie.test(_(t).function||``)&&t.pop()),t.slice(0,ne).map(e=>({...e,filename:e.filename||_(t).filename,function:e.function||`?`}))}function _(e){return e[e.length-1]||{}}var ce=`<anonymous>`;function le(e){try{return!e||typeof e!=`function`?ce:e.name||ce}catch{return ce}}function ue(e){let t=e.exception;if(t){let e=[];try{return t.values.forEach(t=>{t.stacktrace.frames&&e.push(...t.stacktrace.frames)}),e}catch{return}}}function de(e){return`__v_isVNode`in e&&e.__v_isVNode?`[VueVNode]`:`[VueViewModel]`}var fe=Object.prototype.toString;function pe(e){switch(fe.call(e)){case`[object Error]`:case`[object Exception]`:case`[object DOMException]`:case`[object WebAssembly.Exception]`:return!0;default:return x(e,Error)}}function v(e,t){return fe.call(e)===`[object ${t}]`}function me(e){return v(e,`ErrorEvent`)}function he(e){return v(e,`DOMError`)}function ge(e){return v(e,`DOMException`)}function y(e){return v(e,`String`)}function _e(e){return typeof e==`object`&&!!e&&`__sentry_template_string__`in e&&`__sentry_template_values__`in e}function ve(e){return e===null||_e(e)||typeof e!=`object`&&typeof e!=`function`}function ye(e){return v(e,`Object`)}function be(e){return typeof Event<`u`&&x(e,Event)}function xe(e){return typeof Element<`u`&&x(e,Element)}function Se(e){return v(e,`RegExp`)}function b(e){return!!(e?.then&&typeof e.then==`function`)}function Ce(e){return ye(e)&&`nativeEvent`in e&&`preventDefault`in e&&`stopPropagation`in e}function x(e,t){try{return e instanceof t}catch{return!1}}function we(e){return!!(typeof e==`object`&&e&&(e.__isVue||e._isVue||e.__v_isVNode))}function Te(e){return typeof Request<`u`&&x(e,Request)}var Ee=t,De=80;function Oe(e,t={}){if(!e)return`<unknown>`;try{let n=e,r=[],i=0,a=0,o,s=Array.isArray(t)?t:t.keyAttrs,c=!Array.isArray(t)&&t.maxStringLength||De;for(;n&&i++<5&&(o=ke(n,s),!(o===`html`||i>1&&a+r.length*3+o.length>=c));)r.push(o),a+=o.length,n=n.parentNode;return r.reverse().join(` > `)}catch{return`<unknown>`}}function ke(e,t){let n=e,r=[];if(!n?.tagName)return``;if(Ee.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());let i=t?.length?t.filter(e=>n.getAttribute(e)).map(e=>[e,n.getAttribute(e)]):null;if(i?.length)i.forEach(e=>{r.push(`[${e[0]}="${e[1]}"]`)});else{n.id&&r.push(`#${n.id}`);let e=n.className;if(e&&y(e)){let t=e.split(/\s+/);for(let e of t)r.push(`.${e}`)}}for(let e of[`aria-label`,`type`,`name`,`title`,`alt`]){let t=n.getAttribute(e);t&&r.push(`[${e}="${t}"]`)}return r.join(``)}function Ae(){try{return Ee.document.location.href}catch{return``}}function je(e,t=5){if(!Ee.HTMLElement)return null;let n=e;for(let e=0;e<t;e++){if(!n)return null;if(n instanceof HTMLElement){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}n=n.parentNode}return null}function Me(t,n,r){if(!(n in t))return;let i=t[n];if(typeof i!=`function`)return;let a=r(i);typeof a==`function`&&Ne(a,i);try{t[n]=a}catch{e&&g.log(`Failed to replace method "${n}" in object`,t)}}function S(t,n,r){try{Object.defineProperty(t,n,{value:r,writable:!0,configurable:!0})}catch{e&&g.log(`Failed to add non-enumerable property "${String(n)}" to object`,t)}}function Ne(e,t){try{e.prototype=t.prototype=t.prototype||{},S(e,`__sentry_original__`,t)}catch{}}function Pe(e){return e.__sentry_original__}function Fe(e){if(pe(e))return{message:e.message,name:e.name,stack:e.stack,...Le(e)};if(be(e)){let t={type:e.type,target:Ie(e.target),currentTarget:Ie(e.currentTarget),...Le(e)};return typeof CustomEvent<`u`&&x(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function Ie(e){try{return xe(e)?Oe(e):Object.prototype.toString.call(e)}catch{return`<unknown>`}}function Le(e){return typeof e==`object`&&e?Object.fromEntries(Object.entries(e)):{}}function Re(e){let t=Object.keys(Fe(e));return t.sort(),t[0]?t.join(`, `):`[object has no keys]`}var C;function w(e){if(C!==void 0)return C?C(e):e();let n=Symbol.for(`__SENTRY_SAFE_RANDOM_ID_WRAPPER__`),r=t;return n in r&&typeof r[n]==`function`?(C=r[n],C(e)):(C=null,e())}function ze(){return w(()=>Math.random())}function Be(){return w(()=>Date.now())}function Ve(e,t=0){return typeof e!=`string`||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function He(e,t){if(!Array.isArray(e))return``;let n=[];for(let t=0;t<e.length;t++){let r=e[t];try{we(r)?n.push(de(r)):n.push(String(r))}catch{n.push(`[value cannot be serialized]`)}}return n.join(t)}function T(e,t,n=!1){return y(e)?Se(t)?t.test(e):y(t)?n?e===t:e.includes(t):typeof t==`function`?t(e):!1:!1}function Ue(e,t=[],n=!1){for(let r of t)if(T(e,r,n))return!0;return!1}function We(){let e=t;return e.crypto||e.msCrypto}var Ge;function Ke(){return ze()*16}function E(e=We()){try{if(e?.randomUUID)return w(()=>e.randomUUID()).replace(/-/g,``)}catch{}return Ge||=`10000000100040008000100000000000`,Ge.replace(/[018]/g,e=>(e^(Ke()&15)>>e/4).toString(16))}function qe(e){return e.exception?.values?.[0]}function Je(e){let{message:t,event_id:n}=e;if(t)return t;let r=qe(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||`<unknown>`:n||`<unknown>`}function Ye(e,t,n){let r=e.exception=e.exception||{},i=r.values=r.values||[],a=i[0]=i[0]||{};a.value||=t||``,a.type||=n||`Error`}function Xe(e,t){let n=qe(e);if(!n)return;let r={type:`generic`,handled:!0},i=n.mechanism;if(n.mechanism={...r,...i,...t},t&&`data`in t){let e={...i?.data,...t.data};n.mechanism.data=e}}function Ze(e){if(Qe(e))return!0;try{S(e,`__sentry_captured__`,!0)}catch{}return!1}function Qe(e){try{return e.__sentry_captured__}catch{}}var $e=1e3;function D(){return Be()/$e}function et(){let{performance:e}=t;if(!e?.now||!e.timeOrigin)return D;let n=e.timeOrigin;return()=>(n+w(()=>e.now()))/$e}var tt;function O(){return(tt??=et())()}function nt(e){let t=O(),n={sid:E(),init:!0,timestamp:t,started:t,duration:0,status:`ok`,errors:0,ignoreDuration:!1,toJSON:()=>it(n)};return e&&k(n,e),n}function k(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||O(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:E()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started==`number`&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration==`number`)e.duration=t.duration;else{let t=e.timestamp-e.started;e.duration=t>=0?t:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors==`number`&&(e.errors=t.errors),t.status&&(e.status=t.status)}function rt(e,t){let n={};t?n={status:t}:e.status===`ok`&&(n={status:`exited`}),k(e,n)}function it(e){return{sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did==`number`||typeof e.did==`string`?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}}}function A(e,t,n=2){if(!t||typeof t!=`object`||n<=0)return t;if(e&&Object.keys(t).length===0)return e;let r={...e};for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=A(r[e],t[e],n-1));return r}function j(){return E()}function M(){return E().substring(16)}var at=`_sentrySpan`;function ot(e,t){t?S(e,at,t):delete e[at]}function st(e){return e[at]}var ct=100,N=class t{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:j(),sampleRand:ze()}}clone(){let e=new t;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._attributes={...this._attributes},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,e._conversationId=this._conversationId,ot(e,st(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&k(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;let n=typeof e==`function`?e(this):e,{tags:r,attributes:i,extra:a,user:o,contexts:s,level:c,fingerprint:l=[],propagationContext:u,conversationId:d}=(n instanceof t?n.getScopeData():ye(n)?e:void 0)||{};return this._tags={...this._tags,...r},this._attributes={...this._attributes,...i},this._extra={...this._extra,...a},this._contexts={...this._contexts,...s},o&&Object.keys(o).length&&(this._user=o),c&&(this._level=c),l.length&&(this._fingerprint=l),u&&(this._propagationContext=u),d&&(this._conversationId=d),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,ot(this,void 0),this._attachments=[],this.setPropagationContext({traceId:j(),sampleRand:ze()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){let n=typeof t==`number`?t:ct;if(n<=0)return this;let r={timestamp:D(),...e,message:e.message?Ve(e.message,2048):e.message};return this._breadcrumbs.push(r),this._breadcrumbs.length>n&&(this._breadcrumbs=this._breadcrumbs.slice(-n),this._client?.recordDroppedEvent(`buffer_overflow`,`log_item`)),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:st(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=A(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(t,n){let r=n?.event_id||E();if(!this._client)return e&&g.warn(`No client configured on scope - will not capture exception!`),r;let i=Error(`Sentry syntheticException`);return this._client.captureException(t,{originalException:t,syntheticException:i,...n,event_id:r},this),r}captureMessage(t,n,r){let i=r?.event_id||E();if(!this._client)return e&&g.warn(`No client configured on scope - will not capture message!`),i;let a=r?.syntheticException??Error(t);return this._client.captureMessage(t,n,{originalException:t,syntheticException:a,...r,event_id:i},this),i}captureEvent(t,n){let r=t.event_id||n?.event_id||E();return this._client?(this._client.captureEvent(t,{...n,event_id:r},this),r):(e&&g.warn(`No client configured on scope - will not capture event!`),r)}_notifyScopeListeners(){this._notifyingListeners||=(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),!1)}};function lt(){return a(`defaultCurrentScope`,()=>new N)}function ut(){return a(`defaultIsolationScope`,()=>new N)}var dt=e=>e instanceof Promise&&!e[ft],ft=Symbol(`chained PromiseLike`),pt=(e,t,n)=>{let r=e.then(e=>(t(e),e),e=>{throw n(e),e});return dt(r)&&dt(e)?r:mt(e,r)},mt=(e,t)=>{if(!t)return e;let n=!1;for(let r in e){if(r in t)continue;n=!0;let i=e[r];typeof i==`function`?Object.defineProperty(t,r,{value:(...t)=>i.apply(e,t),enumerable:!0,configurable:!0,writable:!0}):t[r]=i}return n&&Object.assign(t,{[ft]:!0}),t},ht=class{constructor(e,t){let n;n=e||new N;let r;r=t||new N,this._stack=[{scope:n}],this._isolationScope=r}withScope(e){let t=this._pushScope(),n;try{n=e(t)}catch(e){throw this._popScope(),e}return b(n)?pt(n,()=>this._popScope(),()=>this._popScope()):(this._popScope(),n)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){let e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}};function P(){let e=i(r());return e.stack=e.stack||new ht(lt(),ut())}function gt(e){return P().withScope(e)}function _t(e,t){let n=P();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function vt(e){return P().withScope(()=>e(P().getIsolationScope()))}function yt(){return{withIsolationScope:vt,withScope:gt,withSetScope:_t,withSetIsolationScope:(e,t)=>vt(t),getCurrentScope:()=>P().getScope(),getIsolationScope:()=>P().getIsolationScope()}}function F(e){let t=i(e);return t.acs?t.acs:yt()}function bt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).includes(`value`)}function xt(e,t){let{value:n,unit:r}=bt(e)?e:{value:e,unit:void 0},i=Ct(n),a=r&&typeof r==`string`?{unit:r}:{};if(i)return{...i,...a};if(!t||t===`skip-undefined`&&n===void 0)return;let o=``;try{o=JSON.stringify(n)??``}catch{}return{value:o,type:`string`,...a}}function St(e,t=!1){let n={};for(let[r,i]of Object.entries(e??{})){let e=xt(i,t);e&&(n[r]=e)}return n}function Ct(e){let t=typeof e==`string`?`string`:typeof e==`boolean`?`boolean`:typeof e==`number`&&!Number.isNaN(e)?Number.isInteger(e)?`integer`:`double`:null;if(t)return{value:e,type:t}}var wt;function Tt(){return wt?.()}function I(){return F(r()).getCurrentScope()}function L(){return F(r()).getIsolationScope()}function Et(){return a(`globalScope`,()=>new N)}function Dt(...e){let t=F(r());if(e.length===2){let[n,r]=e;return n?t.withSetScope(n,r):t.withScope(r)}return t.withScope(e[0])}function R(){return I().getClient()}function Ot(e){let t=Tt();if(t)return{trace_id:t.traceId,span_id:t.spanId};let{traceId:n,parentSpanId:r,propagationSpanId:i}=e.getPropagationContext(),a={trace_id:n,span_id:i||M()};return r&&(a.parent_span_id=r),a}var kt=`sentry.source`,At=`sentry.sample_rate`,jt=`sentry.op`,Mt=`sentry.origin`,Nt=`sentry.measurement_unit`,Pt=`sentry.measurement_value`,Ft=`sentry.custom_span_name`,It=`sentry.profile_id`,Lt=`sentry.exclusive_time`,Rt=`gen_ai.conversation.id`;function zt(e){try{let n=t.WeakRef;if(typeof n==`function`)return new n(e)}catch{}return e}function Bt(e){if(e){if(typeof e==`object`&&`deref`in e&&typeof e.deref==`function`)try{return e.deref()}catch{return}return e}}var Vt=`_sentryScope`,Ht=`_sentryIsolationScope`;function Ut(e,t,n){e&&(S(e,Ht,zt(n)),S(e,Vt,t))}function z(e){let t=e;return{scope:t[Vt],isolationScope:Bt(t[Ht])}}function Wt(e){let t=Gt(e);if(!t)return;let n=Object.entries(t).reduce((e,[t,n])=>{if(t.startsWith(`sentry-`)){let r=t.slice(7);e[r]=n}return e},{});if(Object.keys(n).length>0)return n}function Gt(e){if(!(!e||!y(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((e,t)=>{let n=Kt(t);return Object.entries(n).forEach(([t,n])=>{e[t]=n}),e},{}):Kt(e)}function Kt(e){return e.split(`,`).map(e=>{let t=e.indexOf(`=`);return t===-1?[]:[e.slice(0,t),e.slice(t+1)].map(e=>{try{return decodeURIComponent(e.trim())}catch{return}})}).reduce((e,[t,n])=>(t&&n&&(e[t]=n),e),{})}var qt=/^o(\d+)\./,Jt=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function Yt(e){return e===`http`||e===`https`}function B(e,t=!1){let{host:n,path:r,pass:i,port:a,projectId:o,protocol:s,publicKey:c}=e;return`${s}://${c}${t&&i?`:${i}`:``}@${n}${a?`:${a}`:``}/${r&&`${r}/`}${o}`}function Xt(e){let t=Jt.exec(e);if(!t){l(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}let[n,r,i=``,a=``,o=``,s=``]=t.slice(1),c=``,u=s,d=u.split(`/`);if(d.length>1&&(c=d.slice(0,-1).join(`/`),u=d.pop()),u){let e=u.match(/^\d+/);e&&(u=e[0])}return Zt({host:a,pass:i,path:c,projectId:u,port:o,protocol:n,publicKey:r})}function Zt(e){return{protocol:e.protocol,publicKey:e.publicKey||``,pass:e.pass||``,host:e.host,port:e.port||``,path:e.path||``,projectId:e.projectId}}function Qt(t){if(!e)return!0;let{port:n,projectId:r,protocol:i}=t;return[`protocol`,`publicKey`,`host`,`projectId`].find(e=>t[e]?!1:(g.error(`Invalid Sentry Dsn: ${e} missing`),!0))?!1:r.match(/^\d+$/)?Yt(i)?n&&isNaN(parseInt(n,10))?(g.error(`Invalid Sentry Dsn: Invalid port ${n}`),!1):!0:(g.error(`Invalid Sentry Dsn: Invalid protocol ${i}`),!1):(g.error(`Invalid Sentry Dsn: Invalid projectId ${r}`),!1)}function $t(e){return e.match(qt)?.[1]}function en(e){let t=e.getOptions(),{host:n}=e.getDsn()||{},r;return t.orgId?r=String(t.orgId):n&&(r=$t(n)),r}function tn(e){let t=typeof e==`string`?Xt(e):Zt(e);if(!(!t||!Qt(t)))return t}function nn(e){if(typeof e==`boolean`)return Number(e);let t=typeof e==`string`?parseFloat(e):e;if(!(typeof t!=`number`||isNaN(t)||t<0||t>1))return t}var rn=!1;function an(e){let{spanId:t,traceId:n}=e.spanContext(),{data:r,op:i,parent_span_id:a,status:o,origin:s,links:c}=H(e);return{parent_span_id:a,span_id:t,trace_id:n,data:r,op:i,status:o,origin:s,links:c}}function on(e){let{spanId:t,traceId:n,isRemote:r}=e.spanContext(),i=r?t:H(e).parent_span_id,a=z(e).scope;return{parent_span_id:i,span_id:r?a?.getPropagationContext().propagationSpanId||M():t,trace_id:n}}function sn(e){if(e&&e.length>0)return e.map(({context:{spanId:e,traceId:t,traceFlags:n,...r},attributes:i})=>({span_id:e,trace_id:t,sampled:n===1,attributes:i,...r}))}function cn(e){if(e?.length)return e.map(({context:{spanId:e,traceId:t,traceFlags:n},attributes:r})=>({span_id:e,trace_id:t,sampled:n===1,attributes:r}))}function V(e){return typeof e==`number`?ln(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?ln(e.getTime()):O()}function ln(e){return e>9999999999?e/1e3:e}function H(e){if(pn(e))return e.getSpanJSON();let{spanId:t,traceId:n}=e.spanContext();if(fn(e)){let{attributes:r,startTime:i,name:a,endTime:o,status:s,links:c}=e;return{span_id:t,trace_id:n,data:r,description:a,parent_span_id:un(e),start_timestamp:V(i),timestamp:V(o)||void 0,status:mn(s),op:r[jt],origin:r[Mt],links:sn(c)}}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function un(e){return`parentSpanId`in e?e.parentSpanId:`parentSpanContext`in e?e.parentSpanContext?.spanId:void 0}function dn(e){return{...e,attributes:St(e.attributes),links:e.links?.map(e=>({...e,attributes:St(e.attributes)}))}}function fn(e){let t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function pn(e){return typeof e.getSpanJSON==`function`}function U(e){let{traceFlags:t}=e.spanContext();return t===1}function mn(e){if(!(!e||e.code===0))return e.code===1?`ok`:e.message||`internal_error`}function hn(e){return!e||e.code===1||e.code===0||e.message===`cancelled`?`ok`:`error`}var W=`_sentryChildSpans`,gn=`_sentryRootSpan`;function _n(e,t){S(t,gn,e[gn]||e),e[W]?e[W].add(t):S(e,W,new Set([t]))}function vn(e){let t=new Set;function n(e){if(!t.has(e)&&U(e)){t.add(e);let r=e[W]?Array.from(e[W]):[];for(let e of r)n(e)}}return n(e),Array.from(t)}var G=yn;function yn(e){return e[gn]||e}function bn(){rn||=(l(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),!0)}function xn(e){if(typeof __SENTRY_TRACING__==`boolean`&&!__SENTRY_TRACING__)return!1;let t=e||R()?.getOptions();return!!t&&(t.tracesSampleRate!=null||!!t.tracesSampler)}function Sn(e){g.log(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function Cn(t,n){if(!n?.length)return!1;for(let r of n){if(En(r)){if(t.description&&T(t.description,r))return e&&Sn(t),!0;continue}let n=!!r.attributes&&Object.keys(r.attributes).length>0;if(!r.name&&!r.op&&!n)continue;let i=r.name?t.description&&T(t.description,r.name):!0,a=r.op?t.op&&T(t.op,r.op):!0,o=r.attributes?Object.entries(r.attributes).every(([e,n])=>wn(t.attributes?.[e],n)):!0;if(i&&a&&o)return e&&Sn(t),!0}return!1}function wn(e,t){return typeof e==`string`&&(typeof t==`string`||t instanceof RegExp)?T(e,t):Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e===t}function Tn(e,t){let n=t.parent_span_id,r=t.span_id;if(n)for(let t of e)t.parent_span_id===r&&(t.parent_span_id=n)}function En(e){return typeof e==`string`||e instanceof RegExp}var Dn=`production`,On=`_frozenDsc`;function kn(e,t){S(e,On,t)}function An(e,t){let n=t.getOptions(),{publicKey:r}=t.getDsn()||{},i={environment:n.environment||`production`,release:n.release,public_key:r,trace_id:e,org_id:en(t)};return t.emit(`createDsc`,i),i}function jn(e,t){let n=t.getPropagationContext();return n.dsc||An(n.traceId,e)}function K(e){let t=R();if(!t)return{};let n=G(e),r=H(n),i=r.data,a=n.spanContext().traceState,o=a?.get(`sentry.sample_rate`)??i[`sentry.sample_rate`]??i[`sentry.previous_trace_sample_rate`];function s(e){return(typeof o==`number`||typeof o==`string`)&&(e.sample_rate=`${o}`),e}let c=n[On];if(c)return s(c);let l=a?.get(`sentry.dsc`),u=l&&Wt(l);if(u)return s(u);let d=An(e.spanContext().traceId,t),f=i[`sentry.source`]??i[`sentry.span.source`],p=r.description;return f!==`url`&&p&&(d.transaction=p),xn()&&(d.sampled=String(U(n)),d.sample_rand=a?.get(`sentry.sample_rand`)??z(n).scope?.getPropagationContext().sampleRand.toString()),s(d),t.emit(`createDsc`,d,n),d}var q=class{constructor(e={}){this._traceId=e.traceId||j(),this._spanId=e.spanId||M(),this.dropReason=e.dropReason}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:0}}end(e){}setAttribute(e,t){return this}setAttributes(e){return this}setStatus(e){return this}updateName(e){return this}isRecording(){return!1}addEvent(e,t,n){return this}addLink(e){return this}addLinks(e){return this}recordException(e,t){}};function Mn(e){return!!e&&typeof e==`function`&&`_streamed`in e&&!!e._streamed}var Nn=Symbol.for(`sentry.skipNormalization`),Pn=Symbol.for(`sentry.overrideNormalizationDepth`);function Fn(e){return!!e[Nn]}function In(e){let t=e[Pn];return typeof t==`number`?t:void 0}function J(e,t=100,n=1/0){try{return Rn(``,e,t,n)}catch(e){return{ERROR:`**non-serializable** (${e})`}}}function Ln(e,t=3,n=100*1024){let r=J(e,t);return Hn(r)>n?Ln(e,t-1,n):r}function Rn(e,t,n=1/0,r=1/0,i=Un()){let[a,o]=i;if(t==null||[`boolean`,`string`].includes(typeof t)||typeof t==`number`&&Number.isFinite(t))return t;let s=zn(e,t);if(!s.startsWith(`[object `))return s;if(Fn(t))return t;let c=In(t),l=c===void 0?n:c;if(l===0)return s.replace(`object `,``);if(a(t))return`[Circular ~]`;let u=t;if(u&&typeof u.toJSON==`function`)try{return Rn(``,u.toJSON(),l-1,r,i)}catch{}let d=Array.isArray(t)?[]:{},f=0,p=Fe(t);for(let e in p){if(!Object.prototype.hasOwnProperty.call(p,e))continue;if(f>=r){d[e]=`[MaxProperties ~]`;break}let t=p[e];d[e]=Rn(e,t,l-1,r,i),f++}return o(t),d}function zn(e,t){try{if(e===`domain`&&t&&typeof t==`object`&&t._events)return`[Domain]`;if(e===`domainEmitter`)return`[DomainEmitter]`;if(typeof global<`u`&&t===global)return`[Global]`;if(typeof window<`u`&&t===window)return`[Window]`;if(typeof document<`u`&&t===document)return`[Document]`;if(we(t))return de(t);if(Ce(t))return`[SyntheticEvent]`;if(typeof t==`number`&&!Number.isFinite(t))return`[${t}]`;if(typeof t==`function`)return`[Function: ${le(t)}]`;if(typeof t==`symbol`)return`[${String(t)}]`;if(typeof t==`bigint`)return`[BigInt: ${String(t)}]`;let n=Bn(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(e){return`**non-serializable** (${e})`}}function Bn(e){let t=Object.getPrototypeOf(e);return t?.constructor?t.constructor.name:`null prototype`}function Vn(e){return~-encodeURI(e).split(/%..|./).length}function Hn(e){return Vn(JSON.stringify(e))}function Un(){let e=new WeakSet;function t(t){return e.has(t)?!0:(e.add(t),!1)}function n(t){e.delete(t)}return[t,n]}function Y(e,t=[]){return[e,t]}function Wn(e,t){let[n,r]=e;return[n,[...r,t]]}function Gn(e,t){let n=e[1];for(let e of n){let n=e[0].type;if(t(e,n))return!0}return!1}function Kn(e,t){return Gn(e,(e,n)=>t.includes(n))}function qn(e){let n=i(t);return n.encodePolyfill?n.encodePolyfill(e):new TextEncoder().encode(e)}function Jn(e){let[t,n]=e,r=JSON.stringify(t);function i(e){typeof r==`string`?r=typeof e==`string`?r+e:[qn(r),e]:r.push(typeof e==`string`?qn(e):e)}for(let e of n){let[t,n]=e;if(i(`\n${JSON.stringify(t)}\n`),typeof n==`string`||n instanceof Uint8Array)i(n);else{let e;try{e=JSON.stringify(n)}catch{e=JSON.stringify(J(n))}i(e)}}return typeof r==`string`?r:Yn(r)}function Yn(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Xn(e){return[{type:`span`},e]}function Zn(e){let t=typeof e.data==`string`?qn(e.data):e.data;return[{type:`attachment`,length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType},t]}var Qn={sessions:`session`,event:`error`,client_report:`internal`,user_report:`default`,profile_chunk:`profile`,replay_event:`replay`,replay_recording:`replay`,check_in:`monitor`,raw_security:`security`,log:`log_item`,trace_metric:`metric`};function $n(e){return e in Qn}function er(e){return $n(e)?Qn[e]:e}function tr(e){if(!e?.sdk)return;let{name:t,version:n}=e.sdk;return{name:t,version:n}}function nr(e,t,n,r){let i=e.sdkProcessingMetadata?.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:B(r)},...i&&{trace:i}}}function rr(e,t){if(!t)return e;let n=e.sdk||{};return e.sdk={...n,name:n.name||t.name,version:n.version||t.version,integrations:[...e.sdk?.integrations||[],...t.integrations||[]],packages:[...e.sdk?.packages||[],...t.packages||[]],settings:e.sdk?.settings||t.settings?{...e.sdk?.settings,...t.settings}:void 0},e}function ir(e,t,n,r){let i=tr(n);return Y({sent_at:new Date().toISOString(),...i&&{sdk:i},...!!r&&t&&{dsn:B(t)}},[`aggregates`in e?[{type:`sessions`},e]:[{type:`session`},e.toJSON()]])}function ar(e,t,n,r){let i=tr(n),a=e.type&&e.type!==`replay_event`?e.type:`event`;rr(e,n?.sdk);let o=nr(e,i,r,t);return delete e.sdkProcessingMetadata,Y(o,[[{type:a},e]])}function or(e,t){function n(e){return!!e.trace_id&&!!e.public_key}let r=K(e[0]),i=t?.getDsn(),a=t?.getOptions().tunnel,o={sent_at:new Date().toISOString(),...n(r)&&{trace:r},...!!a&&i&&{dsn:B(i)}},{beforeSendSpan:s,ignoreSpans:c}=t?.getOptions()||{},l=c?.length?e.filter(e=>{let t=H(e);return!Cn({description:t.description,op:t.op,attributes:t.data},c)}):e,u=e.length-l.length;u&&t?.recordDroppedEvent(`before_send`,`span`,u);let d=s?e=>{let t=H(e);return(Mn(s)?t:s(t))||(bn(),t)}:H,f=[];for(let e of l){let t=d(e);t&&f.push(Xn(t))}return Y(o,f)}function sr(t){if(!e)return;let{description:n=`< unknown name >`,op:r=`< unknown op >`,parent_span_id:i}=H(t),{spanId:a}=t.spanContext(),o=U(t),s=G(t),c=s===t,l=`[Tracing] Starting ${o?`sampled`:`unsampled`} ${c?`root `:``}span`,u=[`op: ${r}`,`name: ${n}`,`ID: ${a}`];if(i&&u.push(`parent ID: ${i}`),!c){let{op:e,description:t}=H(s);u.push(`root ID: ${s.spanContext().spanId}`),e&&u.push(`root op: ${e}`),t&&u.push(`root description: ${t}`)}g.log(`${l}
|
|
3
|
-
${u.join(`
|
|
4
|
-
`)}`)}function cr(t){if(!e)return;let{description:n=`< unknown name >`,op:r=`< unknown op >`}=H(t),{spanId:i}=t.spanContext(),a=`[Tracing] Finishing "${r}" ${G(t)===t?`root `:``}span "${n}" with ID ${i}`;g.log(a)}function lr(e){if(!e||e.length===0)return;let t={};return e.forEach(e=>{let n=e.attributes||{},r=n[Nt],i=n[Pt];typeof r==`string`&&typeof i==`number`&&(t[e.name]={value:i,unit:r})}),t}function X(e){return e.getOptions().traceLifecycle===`stream`}var ur=1e3,dr=class{constructor(e={}){this._traceId=e.traceId||j(),this._spanId=e.spanId||M(),this._startTime=e.startTimestamp||O(),this._links=e.links,this._attributes={},this.setAttributes({[Mt]:`manual`,[jt]:e.op,...e.attributes}),this._name=e.name,e.parentSpanId&&(this._parentSpanId=e.parentSpanId),`sampled`in e&&(this._sampled=e.sampled),e.endTimestamp&&(this._endTime=e.endTimestamp),this._events=[],this._isStandaloneSpan=e.isStandalone,this._endTime&&this._onSpanEnded()}addLink(e){return this._links?this._links.push(e):this._links=[e],this}addLinks(e){return this._links?this._links.push(...e):this._links=e,this}recordException(e,t){}spanContext(){let{_spanId:e,_traceId:t,_sampled:n}=this;return{spanId:e,traceId:t,traceFlags:+!!n}}setAttribute(e,t){return t===void 0?delete this._attributes[e]:this._attributes[e]=t,this}setAttributes(e){return Object.keys(e).forEach(t=>this.setAttribute(t,e[t])),this}updateStartTime(e){this._startTime=V(e)}setStatus(e){return this._status=e,this}updateName(e){return this._name=e,this.setAttribute(kt,`custom`),this}end(e){this._endTime||(this._endTime=V(e),cr(this),this._onSpanEnded())}getSpanJSON(){return{data:this._attributes,description:this._name,op:this._attributes[jt],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:mn(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[Mt],profile_id:this._attributes[It],exclusive_time:this._attributes[Lt],measurements:lr(this._events),is_segment:this._isStandaloneSpan&&G(this)===this||void 0,segment_id:this._isStandaloneSpan?G(this).spanContext().spanId:void 0,links:sn(this._links)}}getStreamedSpanJSON(){return{name:this._name??``,span_id:this._spanId,trace_id:this._traceId,parent_span_id:this._parentSpanId,start_timestamp:this._startTime,end_timestamp:this._endTime??this._startTime,is_segment:this._isStandaloneSpan||this===G(this),status:hn(this._status),attributes:this._attributes,links:cn(this._links)}}isRecording(){return!this._endTime&&!!this._sampled}addEvent(t,n,r){e&&g.log(`[Tracing] Adding an event to span:`,t);let i=fr(n)?n:r||O(),a=fr(n)?{}:n||{},o={name:t,time:V(i),attributes:a};return this._events.push(o),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){let t=R();if(t&&(t.emit(`spanEnd`,this),this._isStandaloneSpan||t.emit(`afterSpanEnd`,this)),!(this._isStandaloneSpan||this===G(this)))return;if(this._isStandaloneSpan){this._sampled?hr(or([this],t)):(e&&g.log(`[Tracing] Discarding standalone span because its trace was not chosen to be sampled.`),t&&t.recordDroppedEvent(`sample_rate`,`span`));return}else if(t&&X(t)){t.emit(`afterSegmentSpanEnd`,this);return}let n=this._convertSpanToTransaction();n&&(z(this).scope||I()).captureEvent(n)}_convertSpanToTransaction(){if(!pr(H(this)))return;this._name||=(e&&g.warn("Transaction has no name, falling back to `<unlabeled transaction>`."),`<unlabeled transaction>`);let{scope:t,isolationScope:n}=z(this),r=t?.getScopeData().sdkProcessingMetadata?.normalizedRequest;if(this._sampled!==!0)return;let i=vn(this).filter(e=>e!==this&&!mr(e)).map(e=>H(e)).filter(pr),a=this._attributes[kt];delete this._attributes[Ft];let o=!1;i.forEach(e=>{delete e.data[Ft],e.op?.startsWith(`gen_ai.`)&&(o=!0)});let s={contexts:{trace:an(this)},spans:i.length>ur?i.sort((e,t)=>e.start_timestamp-t.start_timestamp).slice(0,ur):i,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:`transaction`,sdkProcessingMetadata:{capturedSpanScope:t,capturedSpanIsolationScope:n,dynamicSamplingContext:K(this),hasGenAiSpans:o},request:r,...a&&{transaction_info:{source:a}}},c=lr(this._events);return c&&Object.keys(c).length&&(e&&g.log(`[Measurements] Adding measurements to transaction event`,JSON.stringify(c,void 0,2)),s.measurements=c),s}};function fr(e){return e&&typeof e==`number`||e instanceof Date||Array.isArray(e)}function pr(e){return!!e.start_timestamp&&!!e.timestamp&&!!e.span_id&&!!e.trace_id}function mr(e){return e instanceof dr&&e.isStandaloneSpan()}function hr(e){let t=R();if(!t)return;let n=e[1];if(!n||n.length===0){t.recordDroppedEvent(`before_send`,`span`);return}t.sendEnvelope(e)}function gr(t,n,r){if(!xn(t))return[!1];let i,a;typeof t.tracesSampler==`function`?(a=t.tracesSampler({...n,inheritOrSampleWith:e=>typeof n.parentSampleRate==`number`?n.parentSampleRate:typeof n.parentSampled==`boolean`?Number(n.parentSampled):e}),i=!0):n.parentSampled===void 0?t.tracesSampleRate!==void 0&&(a=t.tracesSampleRate,i=!0):a=n.parentSampled;let o=nn(a);if(o===void 0)return e&&g.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(a)} of type ${JSON.stringify(typeof a)}.`),[!1];if(!o)return e&&g.log(`[Tracing] Discarding transaction because ${typeof t.tracesSampler==`function`?`tracesSampler returned 0 or false`:`a negative sampling decision was inherited or tracesSampleRate is set to 0`}`),[!1,o,i];let s=r<o;return s||e&&g.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(a)})`),[s,o,i]}var _r=`__SENTRY_SUPPRESS_TRACING__`;function vr(e){let t=Sr();if(t.startInactiveSpan)return t.startInactiveSpan(e);let n=xr(e),{forceTransaction:r,parentSpan:i}=e;return(e.scope?t=>Dt(e.scope,t):i===void 0?e=>e():e=>yr(i,e))(()=>{let t=I(),a=Tr(t,i),o=R();return e.onlyIfParent&&!a?(o?.recordDroppedEvent(`no_parent_span`,`span`),new q):br({parentSpan:a,spanArguments:n,forceTransaction:r,scope:t})})}function yr(e,t){let n=Sr();return n.withActiveSpan?n.withActiveSpan(e,t):Dt(n=>(ot(n,e||void 0),t(n)))}function br({parentSpan:e,spanArguments:t,forceTransaction:n,scope:r}){if(!xn()){let r=new q;return(n||!e)&&kn(r,{sampled:`false`,sample_rate:`0`,transaction:t.name,...K(r)}),r}let i=R();if(Er(i,t))return Dr(r)||i?.recordDroppedEvent(`ignored`,`span`),new q({dropReason:`ignored`,traceId:e?.spanContext().traceId??r.getPropagationContext().traceId});let a=L(),o;if(e&&!n)o=wr(e,r,t),_n(e,o);else if(e){let n=K(e),{traceId:i,spanId:a}=e.spanContext(),s=U(e);o=Cr({traceId:i,parentSpanId:a,...t},r,s),kn(o,n)}else{let{traceId:e,dsc:n,parentSpanId:i,sampled:s}={...a.getPropagationContext(),...r.getPropagationContext()};o=Cr({traceId:e,parentSpanId:i,...t},r,s),n&&kn(o,n)}return sr(o),Ut(o,r,a),o}function xr(e){let t={isStandalone:(e.experimental||{}).standalone,...e};if(e.startTime){let n={...t};return n.startTimestamp=V(e.startTime),delete n.startTime,n}return t}function Sr(){return F(r())}function Cr(t,n,r){let i=R(),a=i?.getOptions()||{},{name:o=``}=t,s={spanAttributes:{...t.attributes},spanName:o,parentSampled:r};i?.emit(`beforeSampling`,s,{decision:!1});let c=s.parentSampled??r,l=s.spanAttributes,u=n.getPropagationContext(),d=Dr(n),[f,p,m]=d?[!1]:gr(a,{name:o,parentSampled:c,attributes:l,parentSampleRate:nn(u.dsc?.sample_rate)},u.sampleRand),h=new dr({...t,attributes:{[kt]:`custom`,[At]:p!==void 0&&m?p:void 0,...l},sampled:f});return!f&&i&&!d&&(e&&g.log(`[Tracing] Discarding root span because its trace was not chosen to be sampled.`),i.recordDroppedEvent(`sample_rate`,X(i)?`span`:`transaction`)),i&&i.emit(`spanStart`,h),h}function wr(e,t,n){let{spanId:r,traceId:i}=e.spanContext(),a=Dr(t),o=a?!1:U(e),s=o?new dr({...n,parentSpanId:r,traceId:i,sampled:o}):new q({traceId:i});_n(e,s);let c=R();return c?(X(c)&&s instanceof q&&(e instanceof q&&e.dropReason?(s.dropReason=e.dropReason,c.recordDroppedEvent(e.dropReason,`span`)):a||(s.dropReason=`sample_rate`,c.recordDroppedEvent(`sample_rate`,`span`))),c.emit(`spanStart`,s),n.endTimestamp&&(c.emit(`spanEnd`,s),c.emit(`afterSpanEnd`,s)),s):s}function Tr(e,t){if(t)return t;if(t===null)return;let n=st(e);if(!n)return;let r=R();return(r?r.getOptions():{}).parentSpanIsAlwaysRootSpan?G(n):n}function Er(e,t){let n=e?.getOptions().ignoreSpans;return!e||!X(e)||!n?.length?!1:Cn({description:t.name||``,op:t.attributes?.[`sentry.op`]||t.op,attributes:t.attributes},n)}function Dr(e){return e.getScopeData().sdkProcessingMetadata[_r]===!0}function Or(e,t){let{fingerprint:n,span:r,breadcrumbs:i,sdkProcessingMetadata:a}=t;jr(e,t),r&&Pr(e,r),Fr(e,n),Mr(e,i),Nr(e,a)}function kr(e,t){let{extra:n,tags:r,attributes:i,user:a,contexts:o,level:s,sdkProcessingMetadata:c,breadcrumbs:l,fingerprint:u,eventProcessors:d,attachments:f,propagationContext:p,transactionName:m,span:h}=t;Z(e,`extra`,n),Z(e,`tags`,r),Z(e,`attributes`,i),Z(e,`user`,a),Z(e,`contexts`,o),e.sdkProcessingMetadata=A(e.sdkProcessingMetadata,c,2),s&&(e.level=s),m&&(e.transactionName=m),h&&(e.span=h),l.length&&(e.breadcrumbs=[...e.breadcrumbs,...l]),u.length&&(e.fingerprint=[...e.fingerprint,...u]),d.length&&(e.eventProcessors=[...e.eventProcessors,...d]),f.length&&(e.attachments=[...e.attachments,...f]),e.propagationContext={...e.propagationContext,...p}}function Z(e,t,n){e[t]=A(e[t],n,1)}function Ar(e,t){let n=Et().getScopeData();return e&&kr(n,e.getScopeData()),t&&kr(n,t.getScopeData()),n}function jr(e,t){let{extra:n,tags:r,user:i,contexts:a,level:o,transactionName:s}=t;Object.keys(n).length&&(e.extra={...n,...e.extra}),Object.keys(r).length&&(e.tags={...r,...e.tags}),Object.keys(i).length&&(e.user={...i,...e.user}),Object.keys(a).length&&(e.contexts={...a,...e.contexts}),o&&(e.level=o),s&&e.type!==`transaction`&&(e.transaction=s)}function Mr(e,t){let n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function Nr(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function Pr(e,t){e.contexts={trace:on(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:K(t),...e.sdkProcessingMetadata};let n=H(G(t)).description;n&&!e.transaction&&e.type===`transaction`&&(e.transaction=n)}function Fr(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint.length||delete e.fingerprint}var Ir=0,Lr=1,Rr=2;function zr(e){return new Vr(t=>{t(e)})}function Br(e){return new Vr((t,n)=>{n(e)})}var Vr=class e{constructor(e){this._state=Ir,this._handlers=[],this._runExecutor(e)}then(t,n){return new e((e,r)=>{this._handlers.push([!1,n=>{if(!t)e(n);else try{e(t(n))}catch(e){r(e)}},t=>{if(!n)r(t);else try{e(n(t))}catch(e){r(e)}}]),this._executeHandlers()})}catch(e){return this.then(e=>e,e)}finally(t){return new e((e,n)=>{let r,i;return this.then(e=>{i=!1,r=e,t&&t()},e=>{i=!0,r=e,t&&t()}).then(()=>{if(i){n(r);return}e(r)})})}_executeHandlers(){if(this._state===Ir)return;let e=this._handlers.slice();this._handlers=[],e.forEach(e=>{e[0]||=(this._state===Lr&&e[1](this._value),this._state===Rr&&e[2](this._value),!0)})}_runExecutor(e){let t=(e,t)=>{if(this._state===Ir){if(b(t)){t.then(n,r);return}this._state=e,this._value=t,this._executeHandlers()}},n=e=>{t(Lr,e)},r=e=>{t(Rr,e)};try{e(n,r)}catch(e){r(e)}}};function Hr(e,t,n,r=0){try{let i=Ur(t,n,e,r);return b(i)?i:zr(i)}catch(e){return Br(e)}}function Ur(t,n,r,i){let a=r[i];if(!t||!a)return t;let o=a({...t},n);return e&&o===null&&g.log(`Event processor "${a.id||`?`}" dropped event`),b(o)?o.then(e=>Ur(e,n,r,i+1)):Ur(o,n,r,i+1)}var Q,Wr,Gr,$;function Kr(e){let n=t._sentryDebugIds,r=t._debugIds;if(!n&&!r)return{};let i=n?Object.keys(n):[],a=r?Object.keys(r):[];if($&&i.length===Wr&&a.length===Gr)return $;Wr=i.length,Gr=a.length,$={},Q||={};let o=(t,n)=>{for(let r of t){let t=n[r],i=Q?.[r];if(i&&$&&t)$[i[0]]=t,Q&&(Q[r]=[i[0],t]);else if(t){let n=e(r);for(let e=n.length-1;e>=0;e--){let i=n[e]?.filename;if(i&&$&&Q){$[i]=t,Q[r]=[i,t];break}}}}};return n&&o(i,n),r&&o(a,r),$}function qr(e,t,n,r,i,a){let{normalizeDepth:o=3,normalizeMaxBreadth:s=1e3}=e,c={...t,event_id:t.event_id||n.event_id||E(),timestamp:t.timestamp||D()},l=n.integrations||e.integrations.map(e=>e.name);Jr(c,e),Zr(c,l),i&&i.emit(`applyFrameMetadata`,t),t.type===void 0&&Yr(c,e.stackParser);let u=$r(r,n.captureContext);n.mechanism&&Xe(c,n.mechanism);let d=i?i.getEventProcessors():[],f=Ar(a,u),p=[...n.attachments||[],...f.attachments];p.length&&(n.attachments=p),Or(c,f);let m=[...d,...f.eventProcessors];return(n.data&&n.data.__sentry__===!0?zr(c):Hr(m,c,n)).then(e=>(e&&Xr(e),typeof o==`number`&&o>0?Qr(e,o,s):e))}function Jr(e,t){let{environment:n,release:r,dist:i,maxValueLength:a}=t;e.environment=e.environment||n||`production`,!e.release&&r&&(e.release=r),!e.dist&&i&&(e.dist=i);let o=e.request;o?.url&&a&&(o.url=Ve(o.url,a)),a&&e.exception?.values?.forEach(e=>{e.value&&=Ve(e.value,a)})}function Yr(e,t){let n=Kr(t);e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.filename&&(e.debug_id=n[e.filename])})})}function Xr(e){let t={};if(e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.debug_id&&(e.abs_path?t[e.abs_path]=e.debug_id:e.filename&&(t[e.filename]=e.debug_id),delete e.debug_id)})}),Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];let n=e.debug_meta.images;Object.entries(t).forEach(([e,t])=>{n.push({type:`sourcemap`,code_file:e,debug_id:t})})}function Zr(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function Qr(e,t,n){if(!e)return null;let r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(e=>({...e,...e.data&&{data:J(e.data,t,n)}}))},...e.user&&{user:J(e.user,t,n)},...e.contexts&&{contexts:J(e.contexts,t,n)},...e.extra&&{extra:J(e.extra,t,n)}};return e.contexts?.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=J(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(e=>({...e,...e.data&&{data:J(e.data,t,n)}}))),e.contexts?.flags&&r.contexts&&(r.contexts.flags=J(e.contexts.flags,3,n)),r}function $r(e,t){if(!t)return e;let n=e?e.clone():new N;return n.update(t),n}function ei(e){if(e)return ti(e)||ri(e)?{captureContext:e}:e}function ti(e){return e instanceof N||typeof e==`function`}var ni=[`user`,`level`,`extra`,`contexts`,`tags`,`fingerprint`,`propagationContext`];function ri(e){return Object.keys(e).some(e=>ni.includes(e))}function ii(e,t){return I().captureException(e,ei(t))}function ai(e,t){let n=typeof t==`string`?t:void 0,r=typeof t==`string`?void 0:{captureContext:t};return I().captureMessage(e,n,r)}function oi(e,t){return I().captureEvent(e,t)}function si(e,t){L().setContext(e,t)}function ci(){return L().lastEventId()}function li(e){let n=L(),{user:r}=Ar(n,I()),{userAgent:i}=t.navigator||{},a=nt({user:r,...i&&{userAgent:i},...e}),o=n.getSession();return o?.status===`ok`&&k(o,{status:`exited`}),ui(),n.setSession(a),a}function ui(){let e=L(),t=I().getSession()||e.getSession();t&&rt(t),di(),e.setSession()}function di(){let e=L(),t=R(),n=e.getSession();n&&t&&t.captureSession(n)}function fi(e=!1){if(e){ui();return}di()}export{Be as $,dn as A,n as At,Ot as B,Mn as C,le as Ct,Cn as D,g as Dt,Tn as E,l as Et,Lt as F,O as G,A as H,It as I,Ze as J,Xe as K,R as L,B as M,e as Mt,tn as N,bn as O,c as Ot,Rt as P,Ue as Q,I as R,Ln as S,ue as St,Dn as T,o as Tt,k as U,Dt as V,D as W,E as X,Je as Y,He as Z,Y as _,ve as _t,ci as a,Ne as at,Gn as b,b as bt,qr as c,Oe as ct,vr as d,pe as dt,ze as et,X as f,me as ft,Zn as g,ye as gt,Wn as h,_e as ht,fi as i,Pe as it,nn as j,t as jt,H as k,a as kt,Br as l,he as lt,ir as m,x as mt,ii as n,Re as nt,si as o,je as ot,ar as p,be as pt,Ye as q,ai as r,Me as rt,li as s,Ae as st,oi as t,S as tt,zr as u,ge as ut,Kn as v,Te as vt,jn as w,oe as wt,Jn as x,ae as xt,er as y,y as yt,L as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={version:1,flags:[{id:`auto-analyze`,scope:`assistant`,key:`auto-analyze`,label:`Auto-analyze conversations`,description:`Automatically trigger conversation analysis on the same cadence as memory extraction (batch threshold, idle debounce, end-of-conversation). The analysis agent has full tool access and writes back to memory and skills without user approval.`,defaultEnabled:!1},{id:`memory-retrospective-fork`,scope:`assistant`,key:`memory-retrospective-fork`,label:`Fork-based memory retrospective`,description:`Fork the source conversation through its latest message for memory retrospectives, instead of rendering the slice into a transcript and waking an empty background conversation. Lets the retrospective hit the provider prompt cache and read compaction summary + tail messages natively.`,defaultEnabled:!1},{id:`user-hosted-enabled`,scope:`client`,key:`user-hosted-enabled`,label:`User Hosted Enabled`,description:`Enable user-hosted onboarding flow`,defaultEnabled:!1},{id:`prechat-onboarding-condensed-flow`,scope:`client`,key:`prechat-onboarding-condensed-flow`,label:`Condensed Pre-chat Onboarding`,description:`Enable the condensed pre-chat onboarding flow for a standard LaunchDarkly percentage rollout.`,defaultEnabled:!1},{id:`local-docker-enabled`,scope:`client`,key:`local-docker-enabled`,label:`Local Docker Mode`,description:`When enabled, the Local hosting option uses Docker under the hood for sandboxed execution, hiding the separate Docker card`,defaultEnabled:!1},{id:`a2a-channel`,scope:`assistant`,key:`a2a-channel`,label:`A2A Channel`,description:`Enable the A2A (Agent-to-Agent) channel for inter-assistant communication via the open A2A protocol`,defaultEnabled:!1},{id:`settings-developer-nav`,scope:`assistant`,key:`settings-developer-nav`,label:`Settings Developer Nav`,description:`Control Developer nav visibility in macOS settings`,defaultEnabled:!1},{id:`developer-menu-items`,scope:`client`,key:`developer-menu-items`,label:`Developer Menu Items`,description:`Show Component Gallery and Replay Onboarding in the menu bar`,defaultEnabled:!1},{id:`ces-tools`,scope:`assistant`,key:`ces-tools`,label:`CES Tool Exposure`,description:`Register Credential Execution Service tools (credential-grant, credential-revoke, credential-list) in the agent loop`,defaultEnabled:!1},{id:`ces-shell-lockdown`,scope:`assistant`,key:`ces-shell-lockdown`,label:`CES Shell Lockdown`,description:`Enforce untrusted-agent shell lockdown when CES credentials are active, restricting direct shell access to credentialed services`,defaultEnabled:!1},{id:`ces-secure-install`,scope:`assistant`,key:`ces-secure-install`,label:`CES Secure Command Installation`,description:`Enable secure tool/command installation via CES instead of direct shell execution for untrusted agents`,defaultEnabled:!1},{id:`ces-grant-audit`,scope:`assistant`,key:`ces-grant-audit`,label:`CES Grant & Audit Inspection`,description:`Surface credential grant and audit inspection endpoints for reviewing active grants and access logs`,defaultEnabled:!1},{id:`chatgpt-subscription-auth`,scope:`assistant`,key:`chatgpt-subscription-auth`,label:`ChatGPT Subscription Auth`,description:`Enable ChatGPT subscription OAuth as a provider auth type for OpenAI models, using the Codex device-code flow.`,defaultEnabled:!1},{id:`deploy-to-vercel`,scope:`assistant`,key:`deploy-to-vercel`,label:`Deploy to Vercel`,description:`Enable the Deploy to Vercel / Publish option in the app workspace header share menu`,defaultEnabled:!1},{id:`settings-embedding-provider`,scope:`assistant`,key:`settings-embedding-provider`,label:`Embedding Provider Settings`,description:`Show the Embedding service card in Models & Services settings`,defaultEnabled:!1},{id:`multi-platform-assistant`,scope:`assistant`,key:`multi-platform-assistant`,label:`Multi-Platform Assistant Switcher`,description:`Enable the menu-bar assistant switcher for managing multiple platform-hosted assistants (new/switch/retire)`,defaultEnabled:!1},{id:`quick-input`,scope:`client`,key:`quick-input`,label:`Quick Input`,description:`Enable the Quick Input popover on right-click of the menu bar icon`,defaultEnabled:!1},{id:`expand-completed-steps`,scope:`client`,key:`expand-completed-steps`,label:`Expand Completed Steps`,description:`Auto-expand completed tool call step groups instead of showing them collapsed`,defaultEnabled:!1},{id:`sounds`,scope:`assistant`,key:`sounds`,label:`Sounds`,description:`Enable the Sounds tab in Settings and all app sound playback (event sounds, random ambient sounds)`,defaultEnabled:!1},{id:`message-tts`,scope:`assistant`,key:`message-tts`,label:`Message Text-to-Speech`,description:`Show a speaker button on assistant messages to generate and play the message as audio via Fish Audio TTS`,defaultEnabled:!1},{id:`openai-compatible-endpoints`,scope:`assistant`,key:`openai-compatible-endpoints`,label:`OpenAI-Compatible Endpoints`,description:`Enable user-configured OpenAI-compatible inference endpoints with custom base URLs and model identifiers`,defaultEnabled:!1},{id:`backward-releases`,scope:`assistant`,key:`backward-releases`,label:`Backward Releases`,description:`Show older versions in the version picker, allowing rollback to previous releases`,defaultEnabled:!1},{id:`voice-mode`,scope:`assistant`,key:`voice-mode`,label:`Voice Mode`,description:`Show the live voice conversation button in the composer`,defaultEnabled:!1},{id:`fast-mode`,scope:`assistant`,key:`fast-mode`,label:`Fast Mode`,description:`Enable Anthropic fast mode for Opus models (4.6, 4.7, 4.8), delivering up to 2.5x higher output tokens per second at premium pricing`,defaultEnabled:!1},{id:`conversation-groups-ui`,scope:`assistant`,key:`conversation-groups-ui`,label:`Conversation Groups`,description:`Enable custom conversation group creation, move-to-group, and group management in the sidebar`,defaultEnabled:!1},{id:`teleport`,scope:`client`,key:`teleport`,label:`Teleport`,description:`Enable teleport UI in General settings for moving assistants between hosting environments`,defaultEnabled:!1},{id:`apple-container`,scope:`client`,key:`apple-container`,label:`Apple Container`,description:`Enable assistant sandboxing via Apple Containers on macOS 26+, providing a lightweight native sandbox without third-party dependencies`,defaultEnabled:!1},{id:`managed-gemini-embeddings-enabled`,scope:`assistant`,key:`managed-gemini-embeddings-enabled`,label:`Managed Gemini Embeddings Enabled`,description:`Route embedding requests through the platform runtime proxy using Vellum-managed Gemini credentials when available`,defaultEnabled:!1},{id:`bookmarks`,scope:`client`,key:`bookmarks`,label:`Message Bookmarks`,description:`Show the bookmark icon on messages and enable the Bookmarks tab in Settings`,defaultEnabled:!1},{id:`fork-from-message`,scope:`client`,key:`fork-from-message`,label:`Fork from Message`,description:`Show the 'Fork from here' option in message overflow menus`,defaultEnabled:!1},{id:`home-tab`,scope:`client`,key:`home-tab`,label:`Home Tab`,description:`Replace the knowledge graph top-level tab with a new Home page showing relationship progression, facts, and capability tiers`,defaultEnabled:!1},{id:`meet`,scope:`assistant`,key:`meet`,label:`Google Meet`,description:`Enables the Google Meet joining bot and the meet-join skill.`,defaultEnabled:!1},{id:`scroll-debug-overlay`,scope:`client`,key:`scroll-debug-overlay`,label:`Scroll Debug Overlay`,description:`Show a live HUD in the top-right of the conversation with scroll geometry, velocity, update rate, and anchor-preserver activity. Developer diagnostic for investigating scroll jank.`,defaultEnabled:!1},{id:`coding-agents-panel`,scope:`client`,key:`coding-agents-panel`,label:`Coding Agents Panel`,description:`Gate native macOS Coding Agents panel entry points and inline ACP session deep links.`,defaultEnabled:!1},{id:`compaction-playground`,scope:`assistant`,key:`compaction-playground`,label:`Compaction Playground`,description:`Expose the developer-only Compaction Playground tab in macOS Settings and enable the /playground/* HTTP endpoints for exercising compaction conditions. Dev-only; default off.`,defaultEnabled:!1},{id:`account-deletion`,scope:`assistant`,key:`account-deletion`,label:`Account Deletion`,description:`Surfaces the user-initiated account deletion flow in client settings.`,defaultEnabled:!0},{id:`app-control`,scope:`assistant`,key:`app-control`,label:`App Control`,description:`Enable the app-control skill (per-app screenshot + raw input bypassing AX tree)`,defaultEnabled:!1},{id:`analyze-conversation`,scope:`assistant`,key:`analyze-conversation`,label:`Analyze Conversation`,description:`Show the 'Analyze' / 'Analyze conversation' option in conversation context menus and the conversation title actions dropdown.`,defaultEnabled:!1},{id:`external-plugins`,scope:`assistant`,key:`external-plugins`,label:`External Plugins`,description:"Enable the external-plugin install path: the `assistant plugins` CLI subcommand and the declarative external-plugin loader convention (`<workspaceDir>/plugins/<name>/` directories containing `package.json` plus interface dirs). Gates an unstable surface that may change shape before stabilizing.",defaultEnabled:!1},{id:`provider-zai`,scope:`assistant`,key:`provider-zai`,label:`z.ai Provider`,description:`Enable the z.ai (Zhipu AI) provider and its GLM models in the provider picker and model selection UI`,defaultEnabled:!1},{id:`velvet-theme`,scope:`client`,key:`velvet-theme`,label:`Velvet Theme`,description:`Show the Velvet theme option in the macOS appearance settings. Velvet is a dark-mode variant with red/pink accent colors.`,defaultEnabled:!1},{id:`query-complexity-routing`,scope:`assistant`,key:`query-complexity-routing`,label:`Query Complexity Routing`,description:`Automatically route user messages to the most appropriate inference profile based on query complexity. Simple queries use the speed profile, complex queries escalate to the quality profile. The user is notified of each switch and can opt out by pinning a profile on the conversation.`,defaultEnabled:!1},{id:`queue-steering`,scope:`assistant`,key:`queue-steering`,label:`Queue Steering`,description:`Enable the 'Push to agent' button on queued messages, allowing users to steer the assistant to a specific queued message by aborting the current generation and promoting the message to the head of the queue.`,defaultEnabled:!1},{id:`chat-pull-to-refresh-enabled`,scope:`client`,key:`chat-pull-to-refresh-enabled`,label:`Chat Pull to Refresh`,description:`Enable pull-to-refresh gesture in the chat view.`,defaultEnabled:!1},{id:`doctor`,scope:`client`,key:`doctor`,label:`Doctor`,description:`Enable the Doctor diagnostic tab in Debug settings.`,defaultEnabled:!1},{id:`home-page`,scope:`both`,key:`home-page`,label:`Home Page`,description:`Enable the Home page as the default landing view.`,defaultEnabled:!1},{id:`platform-notifications`,scope:`client`,key:`platform-notifications`,label:`Platform Notifications`,description:`Enable the Notifications tab in settings.`,defaultEnabled:!1},{id:`preview-channel`,scope:`client`,key:`preview-channel`,label:`Preview Channel`,description:`Enable user-facing Preview release channel controls in assistant settings.`,defaultEnabled:!1},{id:`rollback-enabled`,scope:`assistant`,key:`rollback-enabled`,label:`Rollback Enabled`,description:`Show older versions in the version picker, allowing rollback to previous releases.`,defaultEnabled:!1},{id:`self-hosted-assistant`,scope:`client`,key:`self-hosted-assistant`,label:`Self-Hosted Assistant`,description:`Enable self-hosted assistant configuration.`,defaultEnabled:!1},{id:`settings-sleep-policy`,scope:`assistant`,key:`settings-sleep-policy`,label:`Settings Sleep Policy`,description:`Enable sleep policy settings.`,defaultEnabled:!1},{id:`velvet`,scope:`client`,key:`velvet`,label:`Velvet`,description:`Enable the Velvet design theme.`,defaultEnabled:!1},{id:`memory-router-playground`,scope:`client`,key:`memory-router-playground`,label:`Memory Router Playground`,description:`Expose the developer-only Memory Router Playground tab in macOS Settings and the /assistant/memory-router-playground web page for dry-running v4 router config overrides against the live page index. Dev-only; default off.`,defaultEnabled:!1},{id:`platform-features-in-local-mode`,scope:`assistant`,key:`platform-features-in-local-mode`,label:`Platform Features in Local Mode`,description:`When enabled, the assistant can call the Vellum platform API from local mode. When disabled, all platform API clients in the daemon, gateway, CES, and web UI no-op with a debug log instead of making outbound requests.`,defaultEnabled:!0},{id:`memory-v3-shadow`,scope:`assistant`,key:`memory-v3-shadow`,label:`Memory v3 Shadow`,description:`When on, runs the new memory-v3 topic-tree retrieval alongside v2 in shadow mode: logs selections to memory_v3_selections, does not modify injected context. Off by default.`,defaultEnabled:!1},{id:`memory-v3-live`,scope:`assistant`,key:`memory-v3-live`,label:`Memory v3 Live`,description:`When on, memory-v3 topic-tree retrieval becomes the live injected memory source (suppressing v2 injection). Off by default; only enable after shadow telemetry validates the design.`,defaultEnabled:!1},{id:`self-intro-greeting`,scope:`assistant`,key:`self-intro-greeting`,label:`Self-intro first message`,description:`On the first conversation, send a natural self-introduction (e.g. "Hi Vela, I'm alex. Nice to meet you.") on the user's behalf and route it through real LLM inference, instead of serving the canned first greeting. Names come from the onboarding context; falls back to the canned greeting when no name is known. See assistant/src/daemon/first-greeting.ts (buildSelfIntroMessage).`,defaultEnabled:!1}]};function t(e,t){return e===t||e===`both`}var n=e.flags,r={"openai-compatible-endpoints":`openAICompatibleEndpoints`};function i(e){return r[e]||e.split(`-`).map((e,t)=>e===`ui`?`UI`:t===0?e:e[0].toUpperCase()+e.slice(1)).join(``)}function a(e){let r={};for(let a of n)t(a.scope,e)&&(r[i(a.key)]=a.defaultEnabled);return r}var o=a(`client`),s=a(`assistant`),c=new Map;for(let e of n)c.set(i(e.key),e);var l=new Map;for(let e of n)l.set(i(e.key),e.key);function u(e){return i(e)}function d(e){return l.get(e)}export{t as a,n as i,o as n,d as o,u as r,s as t};
|