@vellumai/web 0.8.9-staging.1 → 0.8.9-staging.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{BundleConfirmPage-p6PoFo-P.js → BundleConfirmPage-CkmGRzTV.js} +1 -1
- package/dist/assets/account-page-JOmrd7O5.js +1 -0
- package/dist/assets/{account-shell-mWbkdjh7.js → account-shell-qQqbocXz.js} +1 -1
- package/dist/assets/add-credits-modal-D1PUmkv8.js +1 -0
- package/dist/assets/{advanced-page-BcEt2J3g.js → advanced-page-DfQKcHki.js} +1 -1
- package/dist/assets/ai-page-BHdzWA1C.js +1 -0
- package/dist/assets/{angular-html-CDXMmzLv.js → angular-html-EHq37VRB.js} +1 -1
- package/dist/assets/{angular-ts-CaUHVMjx.js → angular-ts-CyvnMw9x.js} +1 -1
- package/dist/assets/{api-D_w9HGm1.js → api-DEEx3e9R.js} +1 -1
- package/dist/assets/{api-key-screen-DbyDsrCh.js → api-key-screen-BFaPTjaE.js} +1 -1
- package/dist/assets/{apl-BTRFCz7X.js → apl-CDFqSPmq.js} +1 -1
- package/dist/assets/{app-html-cache-DZyE8zzT.js → app-html-cache-DNQd-TK8.js} +1 -1
- package/dist/assets/{archive-CeE0yzQG.js → archive-BmTrKV5M.js} +1 -1
- package/dist/assets/{archive-page-D2PmzZlQ.js → archive-page-BA9_f8tE.js} +1 -1
- package/dist/assets/arrow-up-BLnb2N1m.js +1 -0
- package/dist/assets/assistant-feature-flag-store-0382ImYF.js +1 -0
- package/dist/assets/{assistant-identity-store-CdxvXGiq.js → assistant-identity-store-dQ1LxIr0.js} +1 -1
- package/dist/assets/{assistant-status-panel-DpDMJx-N.js → assistant-status-panel-B2a_ey3l.js} +1 -1
- package/dist/assets/{astro-CKyX7s7R.js → astro-DwtMGmbh.js} +1 -1
- package/dist/assets/auth-store-oleg80LZ.js +6 -0
- package/dist/assets/{avatar-api-CWZvvL87.js → avatar-api-BwHmtSnS.js} +1 -1
- package/dist/assets/{bell-NxrwR0Jo.js → bell-C7RL04h4.js} +1 -1
- package/dist/assets/billing-page-BtGA4D1N.js +34 -0
- package/dist/assets/{blade-Rzz0TE8c.js → blade-CxYcTDW-.js} +1 -1
- package/dist/assets/{bsl-DpFuAvE8.js → bsl-CVaQXkX-.js} +1 -1
- package/dist/assets/{bug-B4KAU7DN.js → bug-DDEBp29t.js} +1 -1
- package/dist/assets/{cairo-Bobk4atY.js → cairo-2Y07A7vZ.js} +1 -1
- package/dist/assets/{calendar-B2_jTx01.js → calendar-CP_Q3Aw6.js} +1 -1
- package/dist/assets/{capture-error-Di3WCQrq.js → capture-error-CZsNGL6n.js} +1 -1
- package/dist/assets/chevron-right-zTNPbA1m.js +1 -0
- package/dist/assets/{chevron-up-cXyM5mu2.js → chevron-up-D4oYMRNW.js} +1 -1
- package/dist/assets/{cobol-1CNEp2gA.js → cobol-B5bQhoAq.js} +1 -1
- package/dist/assets/{coffee-CCurbO7Q.js → coffee-CX-zNI46.js} +1 -1
- package/dist/assets/{command-palette-Ddl69DKF.js → command-palette-BiZB4OSo.js} +1 -1
- package/dist/assets/{community-page-COMe3TOq.js → community-page-j-8N5lFa.js} +1 -1
- package/dist/assets/{confirm-dialog-DsrjEJ8n.js → confirm-dialog-NYG-K9zN.js} +1 -1
- package/dist/assets/{connect-page-jZJ6gRVr.js → connect-page-zFzMI9NA.js} +1 -1
- package/dist/assets/{contacts-gateway-Dzzr2RB0.js → contacts-gateway-DjUsIJ09.js} +1 -1
- package/dist/assets/contacts-page-route-CIhz_sJO.js +1 -0
- package/dist/assets/{cpp-D8F2mhyx.js → cpp-D-wqygg_.js} +1 -1
- package/dist/assets/{crystal-BV5GbE2n.js → crystal-2rXzMO-C.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-qLWyglUT.js → danger-zone-redirect-page-BOK4eL8M.js} +1 -1
- package/dist/assets/debug-page-EPqbjJSc.js +3 -0
- package/dist/assets/{deploy-dialogs-DEaPwU4I.js → deploy-dialogs-DlIjxp-4.js} +1 -1
- package/dist/assets/{detail-card-B-us8iM5.js → detail-card-B5j4Rqau.js} +1 -1
- package/dist/assets/developer-page-CZfUJHd7.js +1 -0
- package/dist/assets/{devices-page-C1EjgTdX.js → devices-page-CjKo24zw.js} +1 -1
- package/dist/assets/{dist-BagEH8Xp.js → dist-BmaCqMgD.js} +3 -3
- package/dist/assets/{document-viewer-page-BbNZ_Hav.js → document-viewer-page-DP01_kUJ.js} +1 -1
- package/dist/assets/{dollar-sign-DjJlJMJx.js → dollar-sign-B-1DlpoB.js} +1 -1
- package/dist/assets/{domain-field-DiimaXlx.js → domain-field-cWBlWR4h.js} +1 -1
- package/dist/assets/{earn-credits-modal-CWJ3z13E.js → earn-credits-modal-QwO92K15.js} +1 -1
- package/dist/assets/{edge-wZlHrIuI.js → edge-DxiTxESb.js} +1 -1
- package/dist/assets/{elixir-CxYq-rkj.js → elixir-BqExV7Mb.js} +1 -1
- package/dist/assets/{ellipsis-vertical-BYI2M0Y_.js → ellipsis-vertical-Dxg526It.js} +1 -1
- package/dist/assets/{elm-BgDZWS-i.js → elm-DoHcZ_98.js} +1 -1
- package/dist/assets/{emails-page-HAwU0PG9.js → emails-page-Bqv0y6Lp.js} +1 -1
- package/dist/assets/{erb-DBocu5OY.js → erb-T1Yd4grC.js} +1 -1
- package/dist/assets/{erlang-Dd9A6Ts8.js → erlang-sMV4xc3e.js} +1 -1
- package/dist/assets/{esm-g5en09UW.js → esm-BfiJ42Ad.js} +2 -2
- package/dist/assets/esm-CautLOfa.js +2 -0
- package/dist/assets/esm-DTgeUUet.js +2 -0
- package/dist/assets/esm-DZPMmLdo.js +2 -0
- package/dist/assets/esm-D_HYq01-.js +2 -0
- package/dist/assets/{external-link-CYugXYpk.js → external-link-BCB1rbW9.js} +1 -1
- package/dist/assets/feature-flag-catalog-D6XoH2hm.js +1 -0
- package/dist/assets/{file-markdown-CNb-AHAO.js → file-markdown-DX5x9ziL.js} +1 -1
- package/dist/assets/format-file-size-Cx-rVS-D.js +1 -0
- package/dist/assets/{fortran-fixed-form-DMrzopcc.js → fortran-fixed-form-DKnaUnzq.js} +1 -1
- package/dist/assets/{fsharp-C6m4Hy9y.js → fsharp-BizN7JaO.js} +1 -1
- package/dist/assets/{gdresource-YKD2wsBt.js → gdresource-C03Nu36p.js} +1 -1
- package/dist/assets/general-page-BSf6qSem.js +1 -0
- package/dist/assets/{git-commit-D3W81laO.js → git-commit-Dlbu4g9u.js} +1 -1
- package/dist/assets/{git-rebase-D7A-ZIs_.js → git-rebase-Bp5nCjBJ.js} +1 -1
- package/dist/assets/{glimmer-js-Kj1yb8GI.js → glimmer-js-BRNkuAjG.js} +1 -1
- package/dist/assets/{glimmer-ts-CMle0DS9.js → glimmer-ts-C-WDx-0B.js} +1 -1
- package/dist/assets/{globe-DZ63eZbH.js → globe-ByNYDdSW.js} +1 -1
- package/dist/assets/{glsl-CGs04uf3.js → glsl-CjrHb9ps.js} +1 -1
- package/dist/assets/{graphql-DTpeHwUI.js → graphql-vJOsI9Q0.js} +1 -1
- package/dist/assets/{hack-DCR-U-qQ.js → hack-TawZ7_H0.js} +1 -1
- package/dist/assets/{haml-Cp_ZrdH-.js → haml-Ck1tHO4J.js} +1 -1
- package/dist/assets/{handlebars-DTIya8Eo.js → handlebars-CW8KnsAX.js} +1 -1
- package/dist/assets/{hard-drive-wO6bPcoA.js → hard-drive-DKBjBUo8.js} +1 -1
- package/dist/assets/hatching-screen-B8RlGI3J.js +1 -0
- package/dist/assets/home-page-route-D3PEij2C.js +1 -0
- package/dist/assets/hosting-screen-DoltpG5X.js +1 -0
- package/dist/assets/{html-CCPUpDrQ.js → html-Dni-tmtM.js} +1 -1
- package/dist/assets/{html-derivative-CoL1ACif.js → html-derivative-CxaJ6DvG.js} +1 -1
- package/dist/assets/{http-BjpN3wdH.js → http-Dp4EVAWP.js} +1 -1
- package/dist/assets/{hurl-BHqN3hsl.js → hurl-CSfNp96n.js} +1 -1
- package/dist/assets/{hxml-CthMTwgY.js → hxml-DHyd-nrX.js} +1 -1
- package/dist/assets/identity-page-route-MDSvMuG9.js +1 -0
- package/dist/assets/index-D3Lqh6yW.css +2 -0
- package/dist/assets/index-DM63H2B6.js +124 -0
- package/dist/assets/{inspect-page-Y-3HQoro.js → inspect-page-Dmp2FUpn.js} +2 -2
- package/dist/assets/{install-aIAefgSX.js → install-Db4K638M.js} +1 -1
- package/dist/assets/integrations-page-DKhH4frU.js +1 -0
- package/dist/assets/{intelligence-layout-DYIK-GwZ.js → intelligence-layout-D96EIdSw.js} +1 -1
- package/dist/assets/{jinja-Bn3xB2ml.js → jinja-CijccQJ8.js} +1 -1
- package/dist/assets/{jison-BX4oePNj.js → jison-Bt8ZjqFZ.js} +1 -1
- package/dist/assets/{julia-DU_-trts.js → julia-BiriYc35.js} +1 -1
- package/dist/assets/{just-CyokZPsE.js → just-DHvFRFSz.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-nlhuxBKZ.js → keyboard-shortcuts-page-LBckCCBl.js} +1 -1
- package/dist/assets/{latex-CHvXrGPz.js → latex-Dyl4S9re.js} +1 -1
- package/dist/assets/{lib-Bq3kPGq-.js → lib-B8eh8Q36.js} +1 -1
- package/dist/assets/{library-detail-page-DkG1qTGp.js → library-detail-page-T4MedcS4.js} +1 -1
- package/dist/assets/{library-page-Cb9eaPfO.js → library-page-RtbQs7L5.js} +1 -1
- package/dist/assets/{link-2-DFhelG7P.js → link-2-BHdo-6Lp.js} +1 -1
- package/dist/assets/{liquid-Bs4Sb-po.js → liquid-BB4lKYGB.js} +1 -1
- package/dist/assets/loader-circle-BSAFLoPH.js +1 -0
- package/dist/assets/{login-flow-E2FJkpFg.js → login-flow-CaZb4l04.js} +1 -1
- package/dist/assets/login-page-C-HGOjOK.js +1 -0
- package/dist/assets/logout-page-Dl5euYyX.js +1 -0
- package/dist/assets/{logs-layout-Dd6YucHg.js → logs-layout-BTlzvT2f.js} +1 -1
- package/dist/assets/{lua-Dlulix5z.js → lua-BvVuKqEk.js} +1 -1
- package/dist/assets/{marko-BKY8xXbp.js → marko-S1DsBE-c.js} +1 -1
- package/dist/assets/{mdc-DUJqLRSQ.js → mdc-Dh4PJVso.js} +1 -1
- package/dist/assets/{memory-router-playground-page-C9Bunjup.js → memory-router-playground-page-BBlTxde7.js} +1 -1
- package/dist/assets/{minimize-2-BEDsyPze.js → minimize-2-CXA_X5M9.js} +1 -1
- package/dist/assets/{misc-BllImtEn.js → misc-MEUnNRwX.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-BMjmzJIM.js → mobile-sidebar-drawer-9EUmVwhv.js} +1 -1
- package/dist/assets/modal-BYMhDpQo.js +1 -0
- package/dist/assets/{native-file-uqYhUlky.js → native-file-CS-pobfT.js} +2 -2
- package/dist/assets/{nextflow-7_68OVU_.js → nextflow-BE6HS58m.js} +1 -1
- package/dist/assets/{nginx-eipJu1bl.js → nginx-BZIz2mri.js} +1 -1
- package/dist/assets/{nim-CYnL-Wir.js → nim-DTA68UpI.js} +1 -1
- package/dist/assets/{notifications-page-BQVUPJrc.js → notifications-page-DlDftqR1.js} +1 -1
- package/dist/assets/{oauth-complete-page-GCeZ7H70.js → oauth-complete-page-AZTJJBVl.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-v7G3PUyR.js → oauth-popup-complete-page-CzA0WXr4.js} +2 -2
- package/dist/assets/{onboarding-layout-CAwJlju5.js → onboarding-layout-BIVa2BnX.js} +1 -1
- package/dist/assets/{page-shell-DHcdwoAZ.js → page-shell-CYsp3hSr.js} +1 -1
- package/dist/assets/{password-reset-page-qJLxcjME.js → password-reset-page-DyimUxBH.js} +1 -1
- package/dist/assets/{pencil-ulB7Z-e-.js → pencil-BA9LOIzP.js} +1 -1
- package/dist/assets/{perl-D0xJm_ah.js → perl-G6ZZQsfy.js} +1 -1
- package/dist/assets/{php-DNtH2WpS.js → php-BeUbGztq.js} +1 -1
- package/dist/assets/platform-loopback-page-CNTdcgsZ.js +1 -0
- package/dist/assets/{plugin-detail-page-T0e3dY-Z.js → plugin-detail-page-CS_wmEDi.js} +1 -1
- package/dist/assets/{plugins-page-ynhoZs-n.js → plugins-page-CRtYNHW4.js} +1 -1
- package/dist/assets/pre-chat-flow-BDhreJ7B.js +1 -0
- package/dist/assets/privacy-page-C1kpEJg_.js +1 -0
- package/dist/assets/privacy-screen-qeQ2XoHu.js +1 -0
- package/dist/assets/provider-callback-page-C87AasMA.js +1 -0
- package/dist/assets/{provider-key-BittA9TY.js → provider-key-D_Hh-rHb.js} +1 -1
- package/dist/assets/provider-signup-page-CfbGs1zY.js +1 -0
- package/dist/assets/{pug-DEPEeomQ.js → pug-D45MnfGZ.js} +1 -1
- package/dist/assets/{qml-C9mVjGBN.js → qml-COPmH2mF.js} +1 -1
- package/dist/assets/{query-tags-CXf0mBKU.js → query-tags-Cez88bzY.js} +1 -1
- package/dist/assets/{quick-input-page-5mI3RTsv.js → quick-input-page-nd4iN-tG.js} +1 -1
- package/dist/assets/{razor-Cyg4V1EK.js → razor-CQW42Ogp.js} +1 -1
- package/dist/assets/{react-query.gen-Cj6WQdON.js → react-query.gen-B8xaBreR.js} +1 -1
- package/dist/assets/{resize-errors-qjdyi4GX.js → resize-errors-DejLlS-b.js} +1 -1
- package/dist/assets/resolved-assistants-store-ub66utfl.js +1 -0
- package/dist/assets/review-terms-screen-BnGyRURw.js +1 -0
- package/dist/assets/routes-DMbyM_oF.js +1 -0
- package/dist/assets/{rst-BiUNp2Fv.js → rst-C9ZVT0AG.js} +1 -1
- package/dist/assets/{ruby-Bddxezn1.js → ruby-DDticLOn.js} +1 -1
- package/dist/assets/{sas-DAUEkM7Z.js → sas-C5rCQJBu.js} +1 -1
- package/dist/assets/{save-Cg454LRm.js → save-DHFrLI4J.js} +1 -1
- package/dist/assets/{schedules-BTZchh0D.js → schedules-BJAra2Ob.js} +1 -1
- package/dist/assets/schedules-page-DL7EfeDQ.js +1 -0
- package/dist/assets/{scss-BlEtTolU.js → scss-CLfSZysM.js} +1 -1
- package/dist/assets/{sdk.gen-BnTFwWLf.js → sdk.gen-BO4vbMAj.js} +1 -1
- package/dist/assets/select-assistant-screen-BGPc4tCz.js +1 -0
- package/dist/assets/settings-layout-Ce4VYURq.js +1 -0
- package/dist/assets/{shaderlab-BH1Q2CVQ.js → shaderlab-BEussGgZ.js} +1 -1
- package/dist/assets/share-feedback-modal-le4GoR2Z.js +1 -0
- package/dist/assets/{shellsession-BdTXj0Sh.js → shellsession-DA8c5lD0.js} +1 -1
- package/dist/assets/sidebar-tree-DyEHuZeN.js +1 -0
- package/dist/assets/signup-page-BTfxDffn.js +1 -0
- package/dist/assets/skills-page-D_8aU82C.js +1 -0
- package/dist/assets/{sounds-page-BmRneQW4.js → sounds-page-CkLyWMqe.js} +1 -1
- package/dist/assets/{soy-B-FcVSYk.js → soy-CBeww7qH.js} +1 -1
- package/dist/assets/{sparql-BjDARHNL.js → sparql-DOILO3Ud.js} +1 -1
- package/dist/assets/{src-BqiaDQPO.js → src-hn7lwVCD.js} +1 -1
- package/dist/assets/{stata-Y4GvktLE.js → stata-D4jcvFy6.js} +1 -1
- package/dist/assets/{step-indicator-dots-DpYYCL7E.js → step-indicator-dots-BjA1nnWA.js} +1 -1
- package/dist/assets/{subagent-detail-panel-DCmHp5r5.js → subagent-detail-panel-4B8mdN25.js} +2 -2
- package/dist/assets/{surrealql-BDSKZaSH.js → surrealql-B68HrEZ7.js} +1 -1
- package/dist/assets/{svelte-CtuvIFmj.js → svelte-93u-3tLs.js} +1 -1
- package/dist/assets/{system-events-page-BOZOscuS.js → system-events-page-BuSkwmMl.js} +1 -1
- package/dist/assets/{system-events-redirect-page-Dq1fO1WL.js → system-events-redirect-page-Dq56rHVE.js} +1 -1
- package/dist/assets/{target-3RiNSDOr.js → target-BMMY7Kql.js} +1 -1
- package/dist/assets/{templ-eJUdwoXg.js → templ-Ctw_ylZL.js} +1 -1
- package/dist/assets/{tex-CIRkYPu6.js → tex-M6sV0M4v.js} +1 -1
- package/dist/assets/{tiptap-document-editor-DSeOYXTN.js → tiptap-document-editor-D_JJ-i8w.js} +2 -2
- package/dist/assets/toast-DU1nH33j.js +1 -0
- package/dist/assets/{tool-detail-panel-DvZGjmRf.js → tool-detail-panel-WvA0b4nW.js} +1 -1
- package/dist/assets/trace-page-Ckyukuwf.js +1 -0
- package/dist/assets/{ts-tags-Cza2ueQC.js → ts-tags-Qp4WvCJw.js} +1 -1
- package/dist/assets/{twig-CXZQ9Ol2.js → twig-CogzkHzb.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-CbjsDz_I.js → upgrade-cancel-page-C_KXGnp0.js} +1 -1
- package/dist/assets/{upgrade-success-page-BT3slnw3.js → upgrade-success-page-yvoI0p_k.js} +1 -1
- package/dist/assets/{usage-page-GlfQOrlv.js → usage-page-DTCDhatY.js} +1 -1
- package/dist/assets/{use-active-assistant-id--1Ick1YC.js → use-active-assistant-id-BIhArlF_.js} +1 -1
- package/dist/assets/{use-bus-subscription-r105Upoa.js → use-bus-subscription-BuU6xaZz.js} +1 -1
- package/dist/assets/{use-current-platform-assistant-D-5r_x8u.js → use-current-platform-assistant-4FcCb-TC.js} +1 -1
- package/dist/assets/use-is-org-ready-tTrrZoWV.js +1 -0
- package/dist/assets/{use-oauth-complete-deep-link-listener-DxjdcVr0.js → use-oauth-complete-deep-link-listener-DODuMYm6.js} +1 -1
- package/dist/assets/use-onboarding-login-CEqnm099.js +1 -0
- package/dist/assets/{utils-BQby93tO.js → utils-Csn9OVRE.js} +1 -1
- package/dist/assets/{viewer-store-DIa3mbc-.js → viewer-store-Cc5YI5ay.js} +1 -1
- package/dist/assets/voice-page-pG9E3NoZ.js +1 -0
- package/dist/assets/{vue-BHoLyUei.js → vue-CKYV05Wl.js} +1 -1
- package/dist/assets/{vue-html-DkcwChpt.js → vue-html-CD969jd0.js} +1 -1
- package/dist/assets/{vue-vine-CWaGKpZ6.js → vue-vine-BPU_80oA.js} +1 -1
- package/dist/assets/{wand-sparkles-CEPQLm45.js → wand-sparkles-DL9Oe56R.js} +1 -1
- package/dist/assets/{weather-forecast-display-FVtVZmTZ.js → weather-forecast-display-CEt-zNG2.js} +1 -1
- package/dist/assets/{web-DhGMOrai.js → web-Cue81zTY.js} +1 -1
- package/dist/assets/{web-BURo-fbJ.js → web-DgJRXlLM.js} +1 -1
- package/dist/assets/{web-D4HuJomW.js → web-MavgiYAR.js} +1 -1
- package/dist/assets/{web-ByC97zP5.js → web-XRhV1FIb.js} +1 -1
- package/dist/assets/{web-St4pj-6p.js → web-hjMLFqJn.js} +1 -1
- package/dist/assets/{web-Bladjo1x.js → web-m17sEkBA.js} +1 -1
- package/dist/assets/{web-BoYC6fGC.js → web-oH2q0g1D.js} +1 -1
- package/dist/assets/welcome-screen-3Gi6zm9f.js +1 -0
- package/dist/assets/workspace-page-DNw6D4Sj.js +1 -0
- package/dist/assets/x-BDqbYVtS.js +1 -0
- package/dist/assets/{xml-CUVPRfsD.js → xml-B-TXQRmh.js} +1 -1
- package/dist/assets/{xsl-imDMVavE.js → xsl-hDlDZuus.js} +1 -1
- package/dist/index.html +56 -58
- package/package.json +1 -1
- package/dist/assets/account-page-CXZMoObS.js +0 -1
- package/dist/assets/add-credits-modal-COZFg6LO.js +0 -1
- package/dist/assets/ai-page-DYFuxo_7.js +0 -1
- package/dist/assets/arrow-up-BfbWaCwD.js +0 -1
- package/dist/assets/assistant-feature-flag-store-BiEkLFvf.js +0 -1
- package/dist/assets/auth-store-RIjuTM3X.js +0 -1
- package/dist/assets/billing-page-Boeh64OU.js +0 -34
- package/dist/assets/chevron-right-DF2EzMUB.js +0 -1
- package/dist/assets/contacts-page-route-lxxkveBK.js +0 -1
- package/dist/assets/debug-page-wZauraKd.js +0 -3
- package/dist/assets/developer-page-YiIciPaV.js +0 -1
- package/dist/assets/esm-BuFsuxJb.js +0 -2
- package/dist/assets/esm-CqsAL_eV.js +0 -2
- package/dist/assets/esm-D_3mHrKn.js +0 -2
- package/dist/assets/esm-t46uzkal.js +0 -2
- package/dist/assets/feature-flag-catalog-OHgjjRa5.js +0 -1
- package/dist/assets/format-file-size-Cikb_8y_.js +0 -1
- package/dist/assets/general-page-C0EPZJvL.js +0 -1
- package/dist/assets/hatching-screen-B2hk7GXP.js +0 -1
- package/dist/assets/home-page-route-Dr56dr0q.js +0 -1
- package/dist/assets/hosting-screen-DgRRwkuU.js +0 -1
- package/dist/assets/identity-page-route-OErxaFHE.js +0 -1
- package/dist/assets/index-BKvehXUt.css +0 -2
- package/dist/assets/index-DTWPgS5K.js +0 -124
- package/dist/assets/integrations-page-B7Tul8x3.js +0 -1
- package/dist/assets/loader-circle-B9sFQ7nF.js +0 -1
- package/dist/assets/local-mode-Cx_DqCMC.js +0 -1
- package/dist/assets/login-page-DLNq7ol2.js +0 -1
- package/dist/assets/logout-page-CcNgLKFy.js +0 -1
- package/dist/assets/modal-BhuCoLJX.js +0 -1
- package/dist/assets/native-biometric-CfMWTyzx.js +0 -6
- package/dist/assets/platform-loopback-page-Dh4Fk6vZ.js +0 -1
- package/dist/assets/pre-chat-flow-CuvP36-0.js +0 -1
- package/dist/assets/privacy-page-e7nbmXwD.js +0 -1
- package/dist/assets/privacy-screen-JbcO_xgm.js +0 -1
- package/dist/assets/provider-callback-page-Cdtz4Epz.js +0 -1
- package/dist/assets/provider-signup-page-CATLdFQn.js +0 -1
- package/dist/assets/resolved-assistants-store-em3zt7_3.js +0 -1
- package/dist/assets/routes-DminYfDX.js +0 -1
- package/dist/assets/schedules-page-BdaO92vz.js +0 -1
- package/dist/assets/select-assistant-screen-C0EP-6wf.js +0 -1
- package/dist/assets/settings-layout-D402PkLd.js +0 -1
- package/dist/assets/share-feedback-modal-Ct3bOmhU.js +0 -1
- package/dist/assets/sidebar-tree-Dduanhwq.js +0 -1
- package/dist/assets/signup-page-1C3Lfl0s.js +0 -1
- package/dist/assets/skills-page-BB1Ne-8V.js +0 -1
- package/dist/assets/toast-3Fi9QU7z.js +0 -1
- package/dist/assets/trace-page-OVXfT7ig.js +0 -1
- package/dist/assets/use-is-org-ready-okrWrmTt.js +0 -1
- package/dist/assets/voice-page-DBuSoStd.js +0 -1
- package/dist/assets/welcome-screen-bOpdZmIK.js +0 -1
- package/dist/assets/workspace-page-DoXLAgOy.js +0 -1
- package/dist/assets/x-D0wgTl3V.js +0 -1
- /package/dist/assets/{abap-C4iPiDIu.js → abap-C765urHY.js} +0 -0
- /package/dist/assets/{about-page-COonOOTU.js → about-page-M03PCQjM.js} +0 -0
- /package/dist/assets/{actionscript-3-gKpUxVX1.js → actionscript-3-lC5SPJIn.js} +0 -0
- /package/dist/assets/{ada-BNfMfhXG.js → ada-D6z3_0sc.js} +0 -0
- /package/dist/assets/{andromeeda-DLZ1RhgM.js → andromeeda-DxGTh_os.js} +0 -0
- /package/dist/assets/{apache-CmXtX8w8.js → apache-rkls1DSR.js} +0 -0
- /package/dist/assets/{apex-DQ3YjsTJ.js → apex-CNQCNeA7.js} +0 -0
- /package/dist/assets/{api-errors-DApr8J5Z.js → api-errors-ChauV4ed.js} +0 -0
- /package/dist/assets/{applescript-CoELsxRV.js → applescript-DQYsaxRM.js} +0 -0
- /package/dist/assets/{ara-BLqTzepa.js → ara-Zm0W1ER8.js} +0 -0
- /package/dist/assets/{asciidoc-Bu3NXNp3.js → asciidoc-uekNNlKP.js} +0 -0
- /package/dist/assets/{asm-hlDTKcRV.js → asm-Bbxb9Q7N.js} +0 -0
- /package/dist/assets/{aurora-x-Y3rL1Mno.js → aurora-x-CaQsey3l.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-DC9a0Ily.js → avatar-bundled-components-CrafToy8.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-CE52Zi2F.js → avatar-svg-compositor-krWs9LGY.js} +0 -0
- /package/dist/assets/{awk-fqp6puV8.js → awk-CNSoW6F_.js} +0 -0
- /package/dist/assets/{ayu-dark-8m2thfgS.js → ayu-dark-D3cTidcI.js} +0 -0
- /package/dist/assets/{ayu-light-B_LzrLW4.js → ayu-light-Cs1cEPZA.js} +0 -0
- /package/dist/assets/{ayu-mirage-C408gKdx.js → ayu-mirage-xGyelbjm.js} +0 -0
- /package/dist/assets/{ballerina-Dzhgw61p.js → ballerina-UrfaUWaS.js} +0 -0
- /package/dist/assets/{bat-CM0nyl3e.js → bat-BSseGlJ2.js} +0 -0
- /package/dist/assets/{beancount-DS2zW2gu.js → beancount-BME0bq77.js} +0 -0
- /package/dist/assets/{berry-CFa7Vgeg.js → berry-BbmX7W94.js} +0 -0
- /package/dist/assets/{bibtex-BgrhWGNJ.js → bibtex-Bj1CNNvW.js} +0 -0
- /package/dist/assets/{bicep-DtHaVZsZ.js → bicep-BSN2uHnH.js} +0 -0
- /package/dist/assets/{bird2-CwlVhixU.js → bird2-DKVBk6e_.js} +0 -0
- /package/dist/assets/{c-DHEwyzyt.js → c-yTfbDbmI.js} +0 -0
- /package/dist/assets/{c3-BjbJ1SWk.js → c3-Tbt7gffV.js} +0 -0
- /package/dist/assets/{cadence-D5TkDw9F.js → cadence-DQUV1O6z.js} +0 -0
- /package/dist/assets/{catppuccin-frappe-AYmKAKbn.js → catppuccin-frappe-DxbhXt9K.js} +0 -0
- /package/dist/assets/{catppuccin-latte-rgEci-mq.js → catppuccin-latte-CgFlEQYs.js} +0 -0
- /package/dist/assets/{catppuccin-macchiato-DK631o7w.js → catppuccin-macchiato-Pgo0Bz4Y.js} +0 -0
- /package/dist/assets/{catppuccin-mocha-Dxwp0FIj.js → catppuccin-mocha-CUd4v5ay.js} +0 -0
- /package/dist/assets/{clarity-RpeFvelS.js → clarity-Cja2-cF9.js} +0 -0
- /package/dist/assets/{client.gen-CsQeNtuq.js → client.gen-BKAMS0D0.js} +0 -0
- /package/dist/assets/{clojure-CRAC2t-A.js → clojure-1vnBLaIC.js} +0 -0
- /package/dist/assets/{clsx-BcPLHiun.js → clsx-CyUKbFfa.js} +0 -0
- /package/dist/assets/{cmake-CR_x8y9A.js → cmake-B7nBRZe5.js} +0 -0
- /package/dist/assets/{codeowners-DCE2DWuf.js → codeowners-l0-p2hBj.js} +0 -0
- /package/dist/assets/{codeql-DsaJqgmb.js → codeql-CZegxzQJ.js} +0 -0
- /package/dist/assets/{common-lisp-ssblfVQ2.js → common-lisp-BwWhYub9.js} +0 -0
- /package/dist/assets/{conversation-store-BB-CCPz4.js → conversation-store-BEgf__eu.js} +0 -0
- /package/dist/assets/{coq-CHVp-7H5.js → coq-DXStvgQ7.js} +0 -0
- /package/dist/assets/{createLucideIcon-BjZY5k1w.js → createLucideIcon-D6d6iDdi.js} +0 -0
- /package/dist/assets/{csharp-DI5xNuVa.js → csharp-DLXmY1sb.js} +0 -0
- /package/dist/assets/{css-cWOM3a0B.js → css-B4lldM37.js} +0 -0
- /package/dist/assets/{csv-Bpv-AoF-.js → csv-DGudciUq.js} +0 -0
- /package/dist/assets/{cue-DDYtbxe3.js → cue-D53528FL.js} +0 -0
- /package/dist/assets/{cypher-llXjaNz7.js → cypher-Bv8Z4GK2.js} +0 -0
- /package/dist/assets/{d-CKAGFvTZ.js → d-B0tR3tAH.js} +0 -0
- /package/dist/assets/{dark-plus-rkBkJwdk.js → dark-plus-DxGtsBDC.js} +0 -0
- /package/dist/assets/{dart-DMYKlTVD.js → dart-BKofA41x.js} +0 -0
- /package/dist/assets/{dax-DdvjFH0V.js → dax-Dd0gvVZ0.js} +0 -0
- /package/dist/assets/{definitions-BNrrmgWe.js → definitions-FC3DcvI3.js} +0 -0
- /package/dist/assets/{desktop-w1vLnVHT.js → desktop-BbJezzxJ.js} +0 -0
- /package/dist/assets/{diff-OeXZvF1L.js → diff-CPVWfCck.js} +0 -0
- /package/dist/assets/{dist-C49TvNNR.js → dist-B4KYfSON.js} +0 -0
- /package/dist/assets/{docker-C3A0dfO2.js → docker-BUIA6Gjt.js} +0 -0
- /package/dist/assets/{dotenv-DW1eN_9r.js → dotenv-BLms_imc.js} +0 -0
- /package/dist/assets/{dracula-DTBIfZ52.js → dracula-CFX8u3fe.js} +0 -0
- /package/dist/assets/{dracula-soft-CrJWuJGa.js → dracula-soft-DIr29C0b.js} +0 -0
- /package/dist/assets/{dream-maker-BbcHsNud.js → dream-maker-D1q7VQg6.js} +0 -0
- /package/dist/assets/{edit-chat-session-Bn0bAlP1.js → edit-chat-session-Cx2xnSSj.js} +0 -0
- /package/dist/assets/{effective-timezone-CJWCpcyG.js → effective-timezone-CKEcAtDc.js} +0 -0
- /package/dist/assets/{emacs-lisp-CXlankGO.js → emacs-lisp-BcZ9rlnt.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-DvyOWL-F.js → emoji-catalog-data-ZbE1lqD6.js} +0 -0
- /package/dist/assets/{event-bus-WRYwtHDl.js → event-bus-CMBsMREI.js} +0 -0
- /package/dist/assets/{everforest-dark-B2pu_HKn.js → everforest-dark-BQBBmI9l.js} +0 -0
- /package/dist/assets/{everforest-light-DN0BkMBf.js → everforest-light-Cuh0ru8h.js} +0 -0
- /package/dist/assets/{fennel-Cr6woGT-.js → fennel-BpqBXoBR.js} +0 -0
- /package/dist/assets/{fish-BJg8G7KS.js → fish-DyYYr9bo.js} +0 -0
- /package/dist/assets/{fluent-DwMQdbwA.js → fluent-LgrDR_-H.js} +0 -0
- /package/dist/assets/{format-Bbxbyy7J.js → format-VxJLq14L.js} +0 -0
- /package/dist/assets/{format-date-CdAgBadL.js → format-date-lYqfuFdi.js} +0 -0
- /package/dist/assets/{fortran-free-form-CzTB9Sqt.js → fortran-free-form-zxo4vZkI.js} +0 -0
- /package/dist/assets/{gdscript-weUeMolr.js → gdscript-8-sj85Vb.js} +0 -0
- /package/dist/assets/{gdshader-iWAUzgYh.js → gdshader-BZfJmuLj.js} +0 -0
- /package/dist/assets/{genie-CV-0RB6d.js → genie-BFvJfKnC.js} +0 -0
- /package/dist/assets/{gherkin-Bi25xuBx.js → gherkin-CPWjfG76.js} +0 -0
- /package/dist/assets/{github-dark-UUFXF3bS.js → github-dark-CDP4O7Bn.js} +0 -0
- /package/dist/assets/{github-dark-default-C5WdYtsR.js → github-dark-default-BcXmigOb.js} +0 -0
- /package/dist/assets/{github-dark-dimmed-CJFXRI6Q.js → github-dark-dimmed-5_i38q35.js} +0 -0
- /package/dist/assets/{github-dark-high-contrast-JloQ0SAJ.js → github-dark-high-contrast-_CgCWILr.js} +0 -0
- /package/dist/assets/{github-light-4CveJiiC.js → github-light-B51iW2_d.js} +0 -0
- /package/dist/assets/{github-light-default-DGIOayrf.js → github-light-default-WJu0iiQj.js} +0 -0
- /package/dist/assets/{github-light-high-contrast-DOA9HriW.js → github-light-high-contrast-CvbJyaey.js} +0 -0
- /package/dist/assets/{gleam-CKtDvnYK.js → gleam-DRz17LOo.js} +0 -0
- /package/dist/assets/{gn-lpxxrUCu.js → gn-CJhzP-4V.js} +0 -0
- /package/dist/assets/{gnuplot-BhYvNHXT.js → gnuplot-BWrGxdNu.js} +0 -0
- /package/dist/assets/{go-CGiDqZ23.js → go-CNIAodSs.js} +0 -0
- /package/dist/assets/{google-logo-uJcTP3BJ.js → google-logo-mNxCGWd3.js} +0 -0
- /package/dist/assets/{groovy-CGHX_PQL.js → groovy-Dbr7YtTJ.js} +0 -0
- /package/dist/assets/{gruvbox-dark-hard-WxeIxO0x.js → gruvbox-dark-hard-BRDuiL2M.js} +0 -0
- /package/dist/assets/{gruvbox-dark-medium-BrLRvqzP.js → gruvbox-dark-medium-BSHS7XsT.js} +0 -0
- /package/dist/assets/{gruvbox-dark-soft-Yzi926sT.js → gruvbox-dark-soft-D5sY56aX.js} +0 -0
- /package/dist/assets/{gruvbox-light-hard-Cw9Re-rI.js → gruvbox-light-hard-Crga28iX.js} +0 -0
- /package/dist/assets/{gruvbox-light-medium-4lcJ4wOe.js → gruvbox-light-medium-DYI_fIXR.js} +0 -0
- /package/dist/assets/{gruvbox-light-soft-CXfwWDtY.js → gruvbox-light-soft-DGrx7O6I.js} +0 -0
- /package/dist/assets/{haskell-DBidNlOX.js → haskell-s3USba_s.js} +0 -0
- /package/dist/assets/{haxe-B6ZewxKA.js → haxe-DHVuHtAU.js} +0 -0
- /package/dist/assets/{hcl-BKeuz7gp.js → hcl-CibSb2Tt.js} +0 -0
- /package/dist/assets/{hjson-rgQbq9_i.js → hjson-MSVmDATS.js} +0 -0
- /package/dist/assets/{hlsl-D7KFXCoM.js → hlsl-wPjA7f4R.js} +0 -0
- /package/dist/assets/{horizon-DAiINwqJ.js → horizon-DSv_Vl7g.js} +0 -0
- /package/dist/assets/{horizon-bright-CFeHelVZ.js → horizon-bright-BhWyww1y.js} +0 -0
- /package/dist/assets/{houston-BdHxI9BK.js → houston-kqxIENiP.js} +0 -0
- /package/dist/assets/{hy-CDDbmdhC.js → hy-CcDNvXBw.js} +0 -0
- /package/dist/assets/{imba-CwLWOt59.js → imba-ClQFmFPP.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-D_S9-Z77.js → impersonate-version-flag-DXEwev6c.js} +0 -0
- /package/dist/assets/{ini-Bwb6xY8F.js → ini-DuVrbFYV.js} +0 -0
- /package/dist/assets/{java-CDWeyxES.js → java-79Va6bJc.js} +0 -0
- /package/dist/assets/{javascript-BN3vpbN8.js → javascript-wLwe9AbG.js} +0 -0
- /package/dist/assets/{json-CycFWZcg.js → json-DlXFKBYE.js} +0 -0
- /package/dist/assets/{json5-BM_H1TCH.js → json5-CkCkKH3E.js} +0 -0
- /package/dist/assets/{jsonc-EUMfb5CQ.js → jsonc-0Xq7tyz4.js} +0 -0
- /package/dist/assets/{jsonl-DvZe68u2.js → jsonl-FSPvpkq2.js} +0 -0
- /package/dist/assets/{jsonnet-BG4vdzZ4.js → jsonnet-BSv69JRS.js} +0 -0
- /package/dist/assets/{jssm-DNeKUJR3.js → jssm-CyIoWSxC.js} +0 -0
- /package/dist/assets/{jsx-jfTE_lQA.js → jsx-AdZrb5z2.js} +0 -0
- /package/dist/assets/{kanagawa-dragon-D9OVubsz.js → kanagawa-dragon-Bd79Tun-.js} +0 -0
- /package/dist/assets/{kanagawa-lotus-CSRx4SDl.js → kanagawa-lotus-DeCV-Urg.js} +0 -0
- /package/dist/assets/{kanagawa-wave-UOuPU6gH.js → kanagawa-wave-aglxw59J.js} +0 -0
- /package/dist/assets/{kdl-DaJuRpNV.js → kdl-BUg1cLiI.js} +0 -0
- /package/dist/assets/{kotlin-BNEzAgnJ.js → kotlin-BhThn95H.js} +0 -0
- /package/dist/assets/{kusto-BnUa5uHr.js → kusto--hwp7U1v.js} +0 -0
- /package/dist/assets/{laserwave-BPO5VXXS.js → laserwave-C0Ni-UOW.js} +0 -0
- /package/dist/assets/{lean-Z7O9sZeQ.js → lean-D0WZXxTy.js} +0 -0
- /package/dist/assets/{less-9u8t21jj.js → less-BqMPRJgy.js} +0 -0
- /package/dist/assets/{lib-CyTHAhFX.js → lib-CNXbvB2y.js} +0 -0
- /package/dist/assets/{light-plus-Wc5scgJh.js → light-plus-CvXxK5L0.js} +0 -0
- /package/dist/assets/{llm-dimension-CBhYSW7t.js → llm-dimension-DZzl8VAV.js} +0 -0
- /package/dist/assets/{llvm-DUPAzzzh.js → llvm-DxX8WKJ-.js} +0 -0
- /package/dist/assets/{log-yVIkEnLV.js → log-D8tJQN5p.js} +0 -0
- /package/dist/assets/{logo-BMjRBAP1.js → logo-Dh8zozRh.js} +0 -0
- /package/dist/assets/{luau-CRLNKfW2.js → luau-X-mc9HXh.js} +0 -0
- /package/dist/assets/{make-ABiaNV_U.js → make-Cw4iUEce.js} +0 -0
- /package/dist/assets/{markdown-Dn1PAeWy.js → markdown-C4wgDjuo.js} +0 -0
- /package/dist/assets/{material-theme-DKIEc_9D.js → material-theme-CEmeBs_y.js} +0 -0
- /package/dist/assets/{material-theme-darker-CKATunxP.js → material-theme-darker-BXvhddOF.js} +0 -0
- /package/dist/assets/{material-theme-lighter-Ch4hbIqq.js → material-theme-lighter-DMW3Ucs8.js} +0 -0
- /package/dist/assets/{material-theme-ocean-DMLBHhVS.js → material-theme-ocean-c0mOFI0Z.js} +0 -0
- /package/dist/assets/{material-theme-palenight-rAwveJbA.js → material-theme-palenight-DHn1ZMRK.js} +0 -0
- /package/dist/assets/{matlab-nAylgdir.js → matlab-DwttN0_Y.js} +0 -0
- /package/dist/assets/{mdx-D21b3pUC.js → mdx-VNbJXzl_.js} +0 -0
- /package/dist/assets/{mermaid-BpHmCKn1.js → mermaid-8nLortlR.js} +0 -0
- /package/dist/assets/{min-dark-B0702Ln3.js → min-dark-Cfo9Imnn.js} +0 -0
- /package/dist/assets/{min-light-9h8I8ujc.js → min-light-D-eNMY61.js} +0 -0
- /package/dist/assets/{mipsasm-CtcdPU2Y.js → mipsasm-CmR7MApm.js} +0 -0
- /package/dist/assets/{mojo-Bv8xbxSD.js → mojo-E4JmNL4g.js} +0 -0
- /package/dist/assets/{monokai-R3M-Pkjy.js → monokai-DkH9jgy0.js} +0 -0
- /package/dist/assets/{moonbit-MUcZ6VT6.js → moonbit-B0sciZbe.js} +0 -0
- /package/dist/assets/{move-B0DlmhPE.js → move-Bn26HYrn.js} +0 -0
- /package/dist/assets/{narrat-C1e9cFYb.js → narrat-Cy8di6K9.js} +0 -0
- /package/dist/assets/{nextflow-groovy-WB_Hv0pj.js → nextflow-groovy-BJBZYnqb.js} +0 -0
- /package/dist/assets/{night-owl-BpHVNbG5.js → night-owl-BaJh1bae.js} +0 -0
- /package/dist/assets/{night-owl-light-B7XHq6BU.js → night-owl-light-DOIQSNZE.js} +0 -0
- /package/dist/assets/{nix-Bz43yTHV.js → nix-DYMb3fN3.js} +0 -0
- /package/dist/assets/{nord-C3Ef8EYs.js → nord-Dfe8nufc.js} +0 -0
- /package/dist/assets/{nushell-BDgFfjsp.js → nushell-BecinQos.js} +0 -0
- /package/dist/assets/{objective-c-CrKuI4kq.js → objective-c-wBEbMfkE.js} +0 -0
- /package/dist/assets/{objective-cpp-Cq2sz32p.js → objective-cpp-DwsMXks9.js} +0 -0
- /package/dist/assets/{ocaml-CaddozqL.js → ocaml-DwRdjLFM.js} +0 -0
- /package/dist/assets/{odin-3oMQ00A0.js → odin-CjlC7GSD.js} +0 -0
- /package/dist/assets/{one-dark-pro-Dtx2KhVV.js → one-dark-pro-DQhIyD5N.js} +0 -0
- /package/dist/assets/{one-light-BNUXpRjj.js → one-light-CBfRrrPU.js} +0 -0
- /package/dist/assets/{openscad-Bl9bEK7K.js → openscad-CHCGCt5B.js} +0 -0
- /package/dist/assets/{pascal-DAlnwvFf.js → pascal-DSLi1dwC.js} +0 -0
- /package/dist/assets/{pdf-BrYaENqn.js → pdf-eIgXagOI.js} +0 -0
- /package/dist/assets/{pkl-CUN5bqal.js → pkl-CYrbmtMh.js} +0 -0
- /package/dist/assets/{plastic-BTnTnib5.js → plastic-CcBG239g.js} +0 -0
- /package/dist/assets/{plsql-CSbyze_M.js → plsql-DW8rLCTs.js} +0 -0
- /package/dist/assets/{po-DNd8SYOs.js → po-DRD9UGH5.js} +0 -0
- /package/dist/assets/{poimandres-Du8CR7IV.js → poimandres-C1Y8UWlv.js} +0 -0
- /package/dist/assets/{polar-BP89cGjR.js → polar-BuMHPk14.js} +0 -0
- /package/dist/assets/{postcss-DP5swxmN.js → postcss-D_KibIwL.js} +0 -0
- /package/dist/assets/{powerquery-8FFmlmIB.js → powerquery-DPqdCtl4.js} +0 -0
- /package/dist/assets/{powershell-Df4bjjrh.js → powershell-B_nHu8ou.js} +0 -0
- /package/dist/assets/{prisma-GVbmmvVi.js → prisma-CEKpljWu.js} +0 -0
- /package/dist/assets/{prolog-CgVNaQE6.js → prolog-Be9bhwua.js} +0 -0
- /package/dist/assets/{proto-DQgw5Bn7.js → proto-DjKKU6XR.js} +0 -0
- /package/dist/assets/{public-asset-CdVbP-K-.js → public-asset-Dx4la7Nv.js} +0 -0
- /package/dist/assets/{puppet-B6qkR0ho.js → puppet-B3_5JXyb.js} +0 -0
- /package/dist/assets/{purescript-D6HPYETy.js → purescript-B40B7hnk.js} +0 -0
- /package/dist/assets/{python-BQxVVqSC.js → python-CBtENHpB.js} +0 -0
- /package/dist/assets/{qmldir-C4uLs1pY.js → qmldir-DmmSKh1z.js} +0 -0
- /package/dist/assets/{qss-CrbqJ-bS.js → qss-DC50xW7x.js} +0 -0
- /package/dist/assets/{r-BYcMR2CA.js → r-Bxh_P6nZ.js} +0 -0
- /package/dist/assets/{racket-CYlA9b-a.js → racket-Cd0dc7Z9.js} +0 -0
- /package/dist/assets/{raku-DskHTPaV.js → raku-Bez4O8bz.js} +0 -0
- /package/dist/assets/{red-C6BsNewa.js → red-B6c6GahA.js} +0 -0
- /package/dist/assets/{reg-CVAsZyTh.js → reg-RGHB2vyu.js} +0 -0
- /package/dist/assets/{regexp-CE46xxOu.js → regexp-B4qMM8sH.js} +0 -0
- /package/dist/assets/{rel-C3ws-d8w.js → rel-BzD8rdGz.js} +0 -0
- /package/dist/assets/{riscv-zwK-GGe7.js → riscv-R9qNw498.js} +0 -0
- /package/dist/assets/{ron-DKXxeRcR.js → ron-fTY3p6VR.js} +0 -0
- /package/dist/assets/{rose-pine-D16YZ514.js → rose-pine-0XrcwhjC.js} +0 -0
- /package/dist/assets/{rose-pine-dawn-C6PC9FaW.js → rose-pine-dawn-om3p9-A_.js} +0 -0
- /package/dist/assets/{rose-pine-moon-B-ONpfIN.js → rose-pine-moon-MGxH_v4S.js} +0 -0
- /package/dist/assets/{rosmsg-Cly8Evf4.js → rosmsg-CVvSijm3.js} +0 -0
- /package/dist/assets/{rust-COkR_9xi.js → rust-CA961RlG.js} +0 -0
- /package/dist/assets/{sass-DDyX_867.js → sass-CoOeSP7H.js} +0 -0
- /package/dist/assets/{scala-BseDqmtP.js → scala-Bbpmmahb.js} +0 -0
- /package/dist/assets/{scheme-0Ar7fzWG.js → scheme-D-G16M41.js} +0 -0
- /package/dist/assets/{sdbl-BjheWPT8.js → sdbl-BhfGXOJp.js} +0 -0
- /package/dist/assets/{sdk.gen-govMfbgX.js → sdk.gen-AJllUeDf.js} +0 -0
- /package/dist/assets/{semver-DI5hyC-t.js → semver-Dd0ocNOn.js} +0 -0
- /package/dist/assets/{shellscript-DbCYZXfD.js → shellscript-Cwj5scmN.js} +0 -0
- /package/dist/assets/{slack-dark-B8yuPDrG.js → slack-dark-EnMwLJh2.js} +0 -0
- /package/dist/assets/{slack-ochin-DLZ-yxLq.js → slack-ochin-DbQZnuuX.js} +0 -0
- /package/dist/assets/{smalltalk-DhsjsTfs.js → smalltalk-wkvAA4Ge.js} +0 -0
- /package/dist/assets/{snazzy-light-BdZObzxx.js → snazzy-light-HKT43YcO.js} +0 -0
- /package/dist/assets/{solarized-dark-DnY9BvAi.js → solarized-dark-DHekkVtS.js} +0 -0
- /package/dist/assets/{solarized-light-BfrwmYru.js → solarized-light-MPvd5SW1.js} +0 -0
- /package/dist/assets/{solidity-DPjYkHh9.js → solidity-B7JThXr2.js} +0 -0
- /package/dist/assets/{splunk-aauv22i7.js → splunk-GQMh95CP.js} +0 -0
- /package/dist/assets/{sql-ChQ8ry3n.js → sql-BXe6lADW.js} +0 -0
- /package/dist/assets/{ssh-config-Dz6ViL0P.js → ssh-config-DVuuj5mu.js} +0 -0
- /package/dist/assets/{stylus-BOOipACK.js → stylus-DbmaQDjE.js} +0 -0
- /package/dist/assets/{swift-m0EGSEdy.js → swift-BSc6I7H3.js} +0 -0
- /package/dist/assets/{synthwave-84-BgN63B7_.js → synthwave-84-vXwrabUd.js} +0 -0
- /package/dist/assets/{system-verilog-DA9NXNZH.js → system-verilog-DGtgT0u9.js} +0 -0
- /package/dist/assets/{systemd-6ndOYGhY.js → systemd-DjhZZzlg.js} +0 -0
- /package/dist/assets/{talonscript-B8LuZYir.js → talonscript-jbZ73QSp.js} +0 -0
- /package/dist/assets/{tasl-xnHVT9C9.js → tasl-Cp0NySwy.js} +0 -0
- /package/dist/assets/{tcl-BODTsuI7.js → tcl-CDvB7l7r.js} +0 -0
- /package/dist/assets/{terraform-BKPIDy8E.js → terraform-ViADpNla.js} +0 -0
- /package/dist/assets/{tokyo-night-DL0vCNuB.js → tokyo-night-CP5B0W8z.js} +0 -0
- /package/dist/assets/{toml-DFQNE4Bb.js → toml-Ng7oUEBY.js} +0 -0
- /package/dist/assets/{tsv-CiCFnPYM.js → tsv-CBEPJV1q.js} +0 -0
- /package/dist/assets/{tsx-r66DnitA.js → tsx-Bay-x93q.js} +0 -0
- /package/dist/assets/{turtle-D6TqBP-R.js → turtle-6k3HpfrS.js} +0 -0
- /package/dist/assets/{typescript-DywEkG3h.js → typescript-CESsi6qd.js} +0 -0
- /package/dist/assets/{typespec-CGjgqr9W.js → typespec-BHVNqmiS.js} +0 -0
- /package/dist/assets/{typst-Bx-thO8d.js → typst-CPHv3Z_E.js} +0 -0
- /package/dist/assets/{usage-window-COo_tIlP.js → usage-window-D5EMg2nb.js} +0 -0
- /package/dist/assets/{use-is-mobile-B9vjoiOp.js → use-is-mobile-D_xrnINF.js} +0 -0
- /package/dist/assets/{use-reduced-motion-DVYTox9p.js → use-reduced-motion-CZO_MWGV.js} +0 -0
- /package/dist/assets/{v-4VB7M7V1.js → v-DbQnswmZ.js} +0 -0
- /package/dist/assets/{vala-DyD7epks.js → vala-B9xFrP6Q.js} +0 -0
- /package/dist/assets/{vb-MkcXsT7p.js → vb-DhUjJFob.js} +0 -0
- /package/dist/assets/{verilog-CxKKBB7K.js → verilog-knoXnPW_.js} +0 -0
- /package/dist/assets/{vesper-BWWaFc_5.js → vesper-DMn9sD5q.js} +0 -0
- /package/dist/assets/{vhdl-FnKcRQFJ.js → vhdl-BC236CWS.js} +0 -0
- /package/dist/assets/{viml-CLoIdFzC.js → viml-BiHN9dcP.js} +0 -0
- /package/dist/assets/{vitesse-black-LsvPTIiF.js → vitesse-black-BPikaA4r.js} +0 -0
- /package/dist/assets/{vitesse-dark-xzpAWWRe.js → vitesse-dark-etdagetc.js} +0 -0
- /package/dist/assets/{vitesse-light-Dw68nIQJ.js → vitesse-light-wF4P0Zsy.js} +0 -0
- /package/dist/assets/{vyper-DMsUwnVX.js → vyper-9LO9XYNL.js} +0 -0
- /package/dist/assets/{wasm-D-aQj7M_.js → wasm-BQxIq9Eb.js} +0 -0
- /package/dist/assets/{wasm-ic38CN6z.js → wasm-cLEfWrbG.js} +0 -0
- /package/dist/assets/{wenyan-COLZAIZW.js → wenyan-CpO3LOSA.js} +0 -0
- /package/dist/assets/{wgsl-D-u1_3zX.js → wgsl-DVMBiogp.js} +0 -0
- /package/dist/assets/{wikitext-l1E17Wn7.js → wikitext-C4YdJkhb.js} +0 -0
- /package/dist/assets/{wit-BW55uw8a.js → wit-Dk2LwD_7.js} +0 -0
- /package/dist/assets/{with-selector-NDiUwRRR.js → with-selector-BomrVLKx.js} +0 -0
- /package/dist/assets/{wolfram-C0owoV7l.js → wolfram-BewBpAXL.js} +0 -0
- /package/dist/assets/{xterm-EejPUdmw.js → xterm-D62GGRqD.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BRL8IZ7N.js → xterm-addon-fit-B4zTZTld.js} +0 -0
- /package/dist/assets/{yaml-DP2H7z8n.js → yaml-DvBKdDiG.js} +0 -0
- /package/dist/assets/{zenscript-ChRsLAgZ.js → zenscript-CSyyk0b_.js} +0 -0
- /package/dist/assets/{zig-s66PLVk_.js → zig-DUP4LvJO.js} +0 -0
- /package/dist/assets/{zwitch-qcFX26Jh.js → zwitch-19hSuEjR.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,r as n,s as r}from"./local-settings-lVNyIOJ_.js";import{r as i,t as a}from"./capture-error-Di3WCQrq.js";import{t as o}from"./react-DJZBPgpf.js";import{d as s,m as c}from"./chunk-5KNZJZUH-B4b1m-Ya.js";import{n as l}from"./QueryClientProvider-DNHWXaGq.js";import{t as u}from"./useQuery-D2zf6Uhu.js";import{t as d}from"./useMutation-BuofVRHk.js";import{t as f}from"./jsx-runtime-CVSDxk6A.js";import{t as p}from"./button-DdEh-9f_.js";import{t as m}from"./typography-Czgs_2w_.js";import{t as h}from"./dropdown-CocFV5yi.js";import{t as g}from"./confirm-dialog-DsrjEJ8n.js";import{t as _}from"./notice-CF2pptne.js";import{t as v}from"./tag-Ccr7Quy6.js";import{t as y}from"./input-Cu3PPVCq.js";import{t as b}from"./toggle-CEm3M86o.js";import{n as x}from"./stat-square-sRJmexc-.js";import{t as S}from"./modal-BhuCoLJX.js";import{t as C}from"./toast-3Fi9QU7z.js";import{t as w}from"./createLucideIcon-BjZY5k1w.js";import{n as T,t as E}from"./domain-field-DiimaXlx.js";import{t as D}from"./external-link-CYugXYpk.js";import{t as O}from"./loader-circle-B9sFQ7nF.js";import{C as k,Et as A,Jt as j,Sn as M,Tt as N,Y as P,b as F}from"./sdk.gen-govMfbgX.js";import{C as I,R as L,S as R,s as ee}from"./react-query.gen-Cj6WQdON.js";import{r as z}from"./api-errors-DApr8J5Z.js";import{i as te}from"./routes-DminYfDX.js";import{t as B}from"./use-is-org-ready-okrWrmTt.js";import{r as V}from"./query-tags-CXf0mBKU.js";import{t as H}from"./assistant-feature-flag-store-BiEkLFvf.js";import{t as U}from"./assistant-identity-store-CdxvXGiq.js";import{$r as W,Ar as G,Br as ne,Ca as K,Cr as q,Ct as re,Dr as J,Dt as ie,Er as ae,Fr as oe,Gi as Y,Gr as se,Hr as ce,Ir as le,Jr as ue,Kr as de,Lr as fe,Mr as pe,Nr as me,Or as he,Ot as ge,Pr as _e,Qr as ve,Rr as ye,Sr as be,St as xe,Tr as Se,Tt as Ce,Ur as we,Vr as Te,Wr as Ee,Xr as De,Yr as Oe,Zr as ke,_t as Ae,ai as je,ao as Me,bt as Ne,ci as Pe,di as Fe,ei as Ie,fi as Le,gi as Re,gt as ze,hi as Be,ht as Ve,ii as He,jr as Ue,ki as We,kr as Ge,li as Ke,ln as qe,lt as Je,mi as Ye,ni as Xe,oi as Ze,qr as Qe,ri as $e,si as et,so as tt,ti as nt,to as rt,tr as it,ui as at,uo as ot,vt as st,wr as ct,wt as lt,xr as ut,xt as dt,yt as ft,zr as pt}from"./index-DTWPgS5K.js";import{t as mt}from"./use-active-assistant-id--1Ick1YC.js";import{t as ht}from"./detail-card-B-us8iM5.js";var gt=w(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),X=e(o(),1),Z=f();function _t({mode:e,onChange:t}){return(0,Z.jsx)(`div`,{className:`max-w-[280px]`,children:(0,Z.jsx)(x,{ariaLabel:`Service mode`,value:e,onChange:t,items:[{value:`managed`,label:`Managed`},{value:`your-own`,label:`Your Own`}]})})}function vt({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,Z.jsxs)(ht,{id:e,title:t,subtitle:n,accessory:(0,Z.jsx)(_t,{mode:r,onChange:i}),children:[(0,Z.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Z.jsx)(`div`,{className:`mt-4`,children:a})]})}function Q({onClick:e,disabled:t}){return(0,Z.jsx)(p,{onClick:e,disabled:t,children:`Save`})}function yt({onClick:e,filled:t=!1}){return(0,Z.jsx)(p,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function bt({id:e,title:t,subtitle:n,children:r}){return(0,Z.jsxs)(ht,{id:e,title:t,subtitle:n,children:[(0,Z.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Z.jsx)(`div`,{className:`mt-4`,children:r})]})}function xt({guide:e}){return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(K,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:e.description}),(0,Z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,Z.jsx)(D,{className:`h-3 w-3`})]})]})]})}function St({status:e,message:t,isLoading:n}){return n?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,Z.jsx)(O,{className:`h-3 w-3 animate-spin`}),`Checking domain…`]}):e?e===`verified`?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:`DNS records have been verified. Your domain is ready to send and receive email.`,children:[(0,Z.jsx)(ot,{className:`h-3 w-3`}),`Domain verified`]}):e===`pending`||e===`not_started`?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:`DNS records have been provisioned. Waiting for the email provider to verify them — this usually takes a few minutes.`,children:[(0,Z.jsx)(rt,{className:`h-3 w-3`}),`Verifying domain…`]}):(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:`Domain verification failed. DNS records may not have propagated correctly. You could try releasing and re-registering the domain.`,children:[(0,Z.jsx)(tt,{className:`h-3 w-3`}),`Verification failed`]}):(0,Z.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:`Unable to retrieve domain verification status.`,children:`Unknown status`})}var Ct=`__custom__`;function $(e){return e?!!(e.profile||e.provider||e.model):!1}function wt(e,t){let n=$(e);return n===$(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function Tt({id:e,displayName:t,description:n,defaultProfileLabel:r,draft:i,profileOptions:a,onDraftChange:o,onToggle:s}){let c=$(i),l=!i||!c?``:i.provider||i.model?Ct:i.profile??``,u=l===Ct,d=i?.provider??ve[0],f=Be(d??`anthropic`).map(e=>({value:e.id,label:e.displayName})),p=!!i?.provider&&!i?.model;function m(t){if(t===`__custom__`){let t=ve[0];o(e,{profile:null,provider:t,model:Ye(t)??``})}else t===``?o(e,null):o(e,{profile:t,provider:null,model:null})}function g(t){let n=Ye(t)??``;o(e,{...i??{},profile:null,provider:t,model:n})}function _(t){o(e,{...i??{},model:t})}return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:t}),n&&(0,Z.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[n,r&&(0,Z.jsxs)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:[`· Default: `,r]})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c&&(0,Z.jsx)(h,{value:l,onChange:m,options:a,className:`w-36`}),(0,Z.jsx)(b,{checked:c,onChange:t=>s(e,t),"aria-label":`Override ${t}`})]})]}),c&&u&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex-1`,children:[(0,Z.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Z.jsx)(h,{value:d??``,onChange:g,options:ve.map(e=>({value:e,label:W[e]??e}))})]}),(0,Z.jsxs)(`div`,{className:`flex-1`,children:[(0,Z.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,Z.jsx)(h,{value:i?.model??``,onChange:_,options:f})]})]}),p&&(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:`Pick a model`})]})]})}function Et(){let e=mt();return{assistantId:e,resolveAssistantId:(0,X.useCallback)(async()=>e,[e])}}function Dt(){let{assistantId:e}=Et(),{data:t}=u({queryKey:V(e),queryFn:async()=>{let{data:t}=await F({path:{assistant_id:e},throwOnError:!0});return t},enabled:!!e,staleTime:3e4,refetchOnWindowFocus:!1}),n=(0,X.useMemo)(()=>t?.llm?.profiles??{},[t?.llm?.profiles]),r=(0,X.useMemo)(()=>t?.llm?.profileOrder??[],[t?.llm?.profileOrder]),i=(0,X.useMemo)(()=>t?.llm?.activeProfile??null,[t?.llm?.activeProfile]),a=(0,X.useMemo)(()=>t?.llm?.callSites??{},[t?.llm?.callSites]);return{assistantId:e,config:t,profiles:n,profileOrder:r,orderedProfiles:(0,X.useMemo)(()=>ce(n,r),[n,r]),activeProfile:i,callSites:a}}function Ot(){let e=l(),{assistantId:t,resolveAssistantId:n}=Et();return d({mutationFn:async e=>{let t=await n(),{data:r}=await k({path:{assistant_id:t},body:e,throwOnError:!0});return{data:r,resolvedId:t}},onMutate:async n=>{if(!t)return;let r=V(t);await e.cancelQueries({queryKey:r});let i=e.getQueryData(r),a=i?Ee(i,n):void 0;return e.setQueryData(r,e=>e&&ne(e,n)),{rollback:a,queryKey:r}},onError:(t,n,r)=>{let{queryKey:i,rollback:a}=r??{};i&&a&&e.setQueryData(i,e=>e&&ne(e,a))},onSettled:n=>{let r=n?.resolvedId??t;e.invalidateQueries({queryKey:V(r)})}})}function kt(){let{resolveAssistantId:e}=Et();return(0,X.useCallback)(async(t,n)=>{try{let{data:r}=await M({path:{assistant_id:await e()},body:{value:n,type:`api_key`,name:t},throwOnError:!0});Te(r)}catch(e){throw e instanceof Error&&e.message===`No assistant found`?C.error(`Assistant not ready. Please try again.`):C.error(`Failed to save ${t} API key. Please try again.`),a(e,{context:`provision_provider_key`}),e}},[e])}function At({isOpen:e,onClose:t,assistantId:n}){let r=(0,X.useRef)(!1);return(0,Z.jsx)(S.Root,{open:e,onOpenChange:e=>{!e&&!r.current&&t()},children:e?(0,Z.jsx)(jt,{assistantId:n,onClose:t,onSavingChange:e=>{r.current=e}}):null})}function jt({assistantId:e,onClose:t,onSavingChange:n}){let{orderedProfiles:r,callSites:i,config:o}=Dt(),s=Ot(),[c,l]=(0,X.useState)(``),[d,f]=(0,X.useState)({}),[m,h]=(0,X.useState)(!1),[_,v]=(0,X.useState)(!1),b=H.use.analyzeConversation(),{data:x,isLoading:w,isError:T,refetch:E}=u({...ee({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),D=(0,X.useMemo)(()=>{let e=(x?.callSites??[]).filter(e=>e.id!==`mainAgent`);return b?e:e.filter(e=>e.id!==`analyzeConversation`)},[x,b]),k=!w&&!T&&!!x&&!!o,A=(0,X.useMemo)(()=>D.map(e=>e.id),[D]),j=(0,X.useMemo)(()=>{if(!k)return{};let e={};for(let t of A)if(t in d)e[t]=d[t];else{let n=i[t];e[t]=n?{...n}:{}}return e},[k,A,i,d]),M=(0,X.useMemo)(()=>new Set(A),[A]),N=(0,X.useMemo)(()=>Object.entries(i).some(([e,t])=>M.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[i,M]),P=(0,X.useMemo)(()=>{if(!k)return!1;for(let e of Object.keys(j))if(!wt(j[e],i[e]))return!0;return!1},[k,j,i]),F=(0,X.useMemo)(()=>Object.values(j).some(e=>$(e)&&!!e?.provider&&!e?.model),[j]),I=H.use.queryComplexityRouting(),L=(0,X.useCallback)(e=>[...le(pt(r,[e]),I).map(e=>({value:e.name,label:fe(e)})),{value:Ct,label:`Custom`}],[r,I]),R=(0,X.useMemo)(()=>{if(!c.trim())return D;let e=c.toLowerCase();return D.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[D,c]),z=(0,X.useMemo)(()=>{if(!x)return[];let e=x.domains.map(e=>e.id),t=new Map(x.domains.map(e=>[e.id,e])),n=[];for(let r of e){let e=R.filter(e=>e.domain===r);e.length>0&&n.push({domain:t.get(r),sites:e})}let r=new Set(e),i=R.filter(e=>!r.has(e.domain));return i.length>0&&n.push({domain:{id:`other`,displayName:`Other`},sites:i}),n},[x,R]),te=(0,X.useCallback)((e,t)=>{f(n=>({...n,[e]:t}))},[]),B=(0,X.useCallback)((e,t)=>{if(!t){f(t=>({...t,[e]:null}));return}let n=ye(r,D.find(t=>t.id===e)?.defaultProfile,I);if(n)f(t=>({...t,[e]:{profile:n}}));else{let t=ve[0],n=Ye(t)??``;f(r=>({...r,[e]:{provider:t,model:n}}))}},[D,r,I]),V=(0,X.useCallback)(async()=>{h(!0),n?.(!0);try{let e={};for(let t of Object.keys(j)){let n=j[t]??null;e[t]=$(n)?{profile:n?.profile??null,provider:n?.provider??null,model:n?.model??null}:null}await s.mutateAsync({llm:{callSites:e}}),t(),C.success(`Overrides saved.`)}catch(e){C.error(`Failed to save overrides. Please try again.`),a(e,{context:`call_site_overrides_save`})}finally{h(!1),n?.(!1)}},[j,t,s,n]),U=(0,X.useCallback)(async()=>{h(!0),n?.(!0);try{let e={};for(let t of Object.keys(j))e[t]=null;await s.mutateAsync({llm:{callSites:e}}),t(),C.success(`Overrides reset.`)}catch(e){C.error(`Failed to reset overrides. Please try again.`),a(e,{context:`call_site_overrides_reset`})}finally{h(!1),n?.(!1)}},[j,t,s,n]);return(0,Z.jsxs)(S.Content,{size:`lg`,hideCloseButton:!0,children:[(0,Z.jsxs)(S.Header,{children:[(0,Z.jsx)(S.Title,{children:`Action Overrides`}),(0,Z.jsx)(S.Description,{children:`Customize which model profile specific actions should use. Uses your default profile if no override is set.`})]}),(0,Z.jsxs)(S.Body,{children:[(0,Z.jsx)(`div`,{className:`mb-4`,children:(0,Z.jsx)(y,{type:`search`,value:c,onChange:e=>l(e.target.value),placeholder:`Search actions…`,leftIcon:(0,Z.jsx)(Y,{className:`h-4 w-4`}),fullWidth:!0})}),w&&(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Z.jsx)(O,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),T&&(0,Z.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Couldn't load actions`}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Make sure your assistant is running`}),(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>void E(),children:`Retry`})]}),!w&&!T&&x&&(0,Z.jsx)(`div`,{className:`space-y-4`,children:z.length===0?(0,Z.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No actions match your search.`}):z.map(({domain:e,sites:t})=>(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,Z.jsx)(`div`,{className:`space-y-1`,children:t.map(e=>{let t=(()=>{let t=j[e.id]??null;return!t||!$(t)?``:t.provider||t.model?`__custom__`:t.profile??``})(),n=e.defaultProfile?r.find(t=>t.name===e.defaultProfile)?.label??e.defaultProfile:null;return(0,Z.jsx)(Tt,{id:e.id,displayName:e.displayName,description:e.description,defaultProfileLabel:n,draft:j[e.id]??null,profileOptions:L(t===``||t===`__custom__`?null:t),onDraftChange:te,onToggle:B},e.id)})})]},e.id))})]}),(0,Z.jsxs)(S.Footer,{children:[N&&(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>v(!0),disabled:m||!k,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:`Reset to Defaults`}),(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:t,disabled:m,children:`Cancel`}),(0,Z.jsx)(p,{variant:`primary`,size:`compact`,onClick:()=>void V(),disabled:!P||F||m,children:m?(0,Z.jsx)(O,{className:`h-4 w-4 animate-spin`}):`Save`})]}),(0,Z.jsx)(g,{open:_,title:`Reset to Defaults`,message:`Every task override will be reset and will follow your active profile. This cannot be undone.`,confirmLabel:`Reset to Defaults`,destructive:!0,onConfirm:()=>{v(!1),U()},onCancel:()=>v(!1)})]})}function Mt({blocked:e,availableReplacements:t,replacement:n,onReplacementChange:r,error:i,saving:a,onClose:o,onConfirm:s}){let c=``;if(e){let t=e.label||e.name;c=e.isActive&&e.callSiteIds.length>0?`"${t}" is the active profile and is used by ${e.callSiteIds.length} call site(s). Pick a replacement profile.`:e.isActive?`"${t}" is the active profile. Pick a different active profile before deleting, or select a replacement below.`:`"${t}" is used by ${e.callSiteIds.length} call site(s). Select a replacement profile to reassign them before deleting.`}return(0,Z.jsx)(S.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,Z.jsxs)(S.Content,{size:`sm`,children:[(0,Z.jsx)(S.Header,{children:(0,Z.jsx)(S.Title,{children:`Can't Delete Profile`})}),(0,Z.jsxs)(S.Body,{className:`space-y-4`,children:[(0,Z.jsx)(m,{variant:`body-medium-default`,as:`p`,children:c}),e&&e.callSiteIds.length>0&&(0,Z.jsx)(`ul`,{className:`space-y-1 pl-1`,children:e.callSiteIds.map(e=>(0,Z.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,(0,Z.jsx)(`code`,{children:e})]},e))}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Replacement profile`}),(0,Z.jsx)(h,{"aria-label":`Replacement profile`,value:n,onChange:r,options:[{value:``,label:`Select a replacement…`},...t.map(e=>({value:e.name,label:e.label??e.name}))]})]}),i&&(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,Z.jsxs)(S.Footer,{children:[(0,Z.jsx)(p,{variant:`ghost`,size:`compact`,onClick:o,children:`Cancel`}),(0,Z.jsx)(p,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:s,children:a?`Saving…`:`Reassign and Delete`})]})]})})}function Nt({profile:e,isDragging:t,dropTarget:n,isDeleting:r,deleteError:i,isToggling:a,onDragStart:o,onDragEnd:s,onDragOver:c,onDragLeave:l,onDrop:u,onEditClick:d,onDeleteClick:f,onStatusToggle:h}){let g=e.source===`managed`,_=e.status!==`disabled`,y=e.name===oe;return(0,Z.jsxs)(`div`,{className:`relative`,children:[n?.name===e.name&&!n.after&&(0,Z.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg pr-2 py-2${t?` opacity-50`:``}`,draggable:!g,onDragStart:o,onDragEnd:s,onDragOver:c,onDragLeave:l,onDrop:u,children:[(0,Z.jsx)(gt,{className:`h-4 w-4 shrink-0 ${g?`invisible`:`cursor-grab text-[var(--content-tertiary)]`}`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1${_?``:` opacity-55`}`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(m,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),g&&e.name!==`auto`&&(0,Z.jsx)(v,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename or disable this profile.`,children:`Platform`})]}),e.description?(0,Z.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.description}):null,e.model??e.provider?(0,Z.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.model??e.provider}):null]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center`,title:_?`Active — toggle to hide from pickers`:`Disabled — toggle to show in pickers`,children:(0,Z.jsx)(b,{checked:_,onChange:e=>h(e),disabled:a,"aria-label":`${_?`Disable`:`Enable`} ${e.label??e.name}`})}),(0,Z.jsxs)(`div`,{className:`flex w-[92px] items-center justify-end gap-2${y?` invisible`:``}`,children:[(0,Z.jsx)(p,{variant:`ghost`,size:`compact`,onClick:d,children:g?`View`:`Edit`}),(0,Z.jsx)(p,{variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(We,{}),"aria-label":`Delete ${e.label??e.name}`,disabled:g||r,title:g?`Managed profiles cannot be deleted`:void 0,onClick:f,tintColor:`var(--system-negative-strong)`})]})]})]}),n?.name===e.name&&n.after&&(0,Z.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),i?(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:i}):null,e.name===`auto`&&(0,Z.jsx)(`div`,{className:`mx-2 mt-1 border-b border-[var(--border-subtle)]`})]})}function Pt({isOpen:e,assistantId:t,onClose:n}){let{profiles:r,profileOrder:i,orderedProfiles:o,activeProfile:s,callSites:c}=Dt(),l=Ot(),d=H.use.openAICompatibleEndpoints(),f=H.use.chatgptSubscriptionAuth(),[p,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(null),{data:_}=u({...R({path:{assistant_id:t}}),enabled:e}),v=(0,X.useMemo)(()=>_?pe(_.connections,d):void 0,[_,d]),y=Object.keys(r);async function b(e,t,n){let o=n?.mode??`replace`,s=!(e in r);if(o===`merge`&&!s){await l.mutateAsync({llm:{profiles:{[e]:t}}}),m(!1),g(null);return}let c={profiles:{[e]:t}};if(s&&(c.profileOrder=i.includes(e)?i:[...i,e]),s)await l.mutateAsync({llm:c});else{let t=r[e];await l.mutateAsync({llm:{profiles:{[e]:null}}});try{await l.mutateAsync({llm:c})}catch(n){throw a(n,{context:`settings-ai-profile-edit-recreate`}),t!=null&&await l.mutateAsync({llm:{profiles:{[e]:t}}}).catch(()=>{}),n}}s&&C.success(`Profile "${t.label??e}" created`),m(!1),g(null)}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(S.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,Z.jsx)(Ft,{profiles:r,profileOrder:i,orderedProfiles:o,activeProfile:s,callSiteOverrides:c,onClose:n,onEditClick:e=>{g(e),m(!0)},onNewClick:()=>{g(null),m(!0)}}):null}),(0,Z.jsx)(ut,{isOpen:p,mode:h?h.source===`managed`?`view`:`edit`:`create`,profileName:h?.name,initialValues:h??void 0,existingNames:y,connections:v,openAICompatibleEndpointsEnabled:d,assistantId:t,chatgptSubscriptionEnabled:f,onSave:b,onCancel:()=>{m(!1),g(null)}})]})}function Ft({profiles:e,profileOrder:t,orderedProfiles:n,activeProfile:r,callSiteOverrides:i,onClose:o,onEditClick:s,onNewClick:c}){let l=Ot(),[u,d]=(0,X.useState)({}),[f,h]=(0,X.useState)({}),[g,_]=(0,X.useState)(new Set),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(null),[C,w]=(0,X.useState)(null),[T,E]=(0,X.useState)(null),D=(0,X.useRef)(null),O=(0,X.useRef)(null),[k,A]=(0,X.useState)(null),[j,M]=(0,X.useState)(null),[N,P]=(0,X.useState)(``),[F,I]=(0,X.useState)(!1),L=H.use.queryComplexityRouting(),R=(0,X.useMemo)(()=>le(n,L),[n,L]);async function ee(t,n){if(g.has(t.name))return!1;_(e=>new Set(e).add(t.name)),y(null);let r=n?`active`:`disabled`;if(!e[t.name])return _(e=>{let n=new Set(e);return n.delete(t.name),n}),!1;try{return await l.mutateAsync({llm:{profiles:{[t.name]:{status:r}}}}),!0}catch(e){return a(e,{context:`settings-ai-profile-toggle`}),y(`Couldn't update "${t.label??t.name}". Please try again.`),!1}finally{_(e=>{let n=new Set(e);return n.delete(t.name),n})}}async function z(e){h(t=>({...t,[e]:!0})),d(t=>{let n={...t};return delete n[e],n});try{let n=t.filter(t=>t!==e);await l.mutateAsync({llm:{profiles:{[e]:null},profileOrder:n}})}catch(t){a(t,{context:`settings-ai-profile-delete`}),d(t=>({...t,[e]:`Failed to delete profile. Please try again.`}))}finally{h(t=>{let n={...t};return delete n[e],n})}}function te(e){let t=R.find(t=>t.name===e)?.label??e,n=e===r,a=Object.entries(i).filter(([t,n])=>t!==`mainAgent`&&n?.profile===e).map(([e])=>e);if(n||a.length>0){A({name:e,label:t,isActive:n,callSiteIds:a}),P(``),M(null);return}z(e)}async function B(){if(!k||!N)return;I(!0),M(null);let e={};if(k.isActive&&(e.activeProfile=N),k.callSiteIds.length>0){let t={};for(let e of k.callSiteIds)t[e]={profile:N};e.callSites=t}if(Object.keys(e).length>0)try{await l.mutateAsync({llm:e})}catch(e){a(e,{context:`settings-ai-profile-reassign-delete`}),M(`Failed to reassign references. Please try again.`),I(!1);return}let t=k.name;A(null),I(!1),z(t)}async function V(e,n){if(e===n.name)return;E(null);let r=t.filter(t=>t!==e),i=r.indexOf(n.name);if(i===-1)return;n.after&&(i+=1);let o=[...r.slice(0,i),e,...r.slice(i)];try{await l.mutateAsync({llm:{profileOrder:o}})}catch(e){a(e,{context:`settings-ai-profile-reorder`}),E(`Failed to reorder profiles. Please try again.`)}}let U=R.filter(e=>e.name!==k?.name&&e.source!==`managed`),W=U.length>0?U:R.filter(e=>e.name!==k?.name);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(S.Content,{size:`md`,children:[(0,Z.jsxs)(S.Header,{children:[(0,Z.jsx)(S.Title,{children:`Model Profiles`}),(0,Z.jsx)(S.Description,{children:`Bundle a provider and model into a named profile. Assign profiles to specific actions or swap between them when chatting.`})]}),(0,Z.jsxs)(S.Body,{children:[R.length===0?(0,Z.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No profiles yet. Create one to get started.`}):(0,Z.jsx)(`div`,{className:`space-y-1`,children:R.map(e=>(0,Z.jsx)(Nt,{profile:e,isDragging:b===e.name,dropTarget:C,isDeleting:f[e.name]??!1,deleteError:u[e.name],isToggling:g.has(e.name),onDragStart:t=>{D.current=e.name,x(e.name),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},onDragEnd:()=>{D.current=null,O.current=null,x(null),w(null)},onDragOver:t=>{t.preventDefault();let n=t.currentTarget.getBoundingClientRect(),r=t.clientY>n.top+n.height/2,i={name:e.name,after:r};O.current=i,w(i)},onDragLeave:t=>{t.currentTarget.contains(t.relatedTarget)||(O.current=null,w(t=>t?.name===e.name?null:t))},onDrop:e=>{e.preventDefault();let t=D.current,n=O.current;D.current=null,O.current=null,x(null),w(null),t&&n&&V(t,n)},onEditClick:()=>s(e),onDeleteClick:()=>te(e.name),onStatusToggle:t=>void ee(e,t)},e.name))}),T&&(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:T}),v&&(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:v})]}),(0,Z.jsxs)(S.Footer,{className:`justify-between`,children:[(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:c,children:`+ New Profile`}),(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:o,children:`Done`})]})]}),(0,Z.jsx)(Mt,{blocked:k,availableReplacements:W,replacement:N,onReplacementChange:P,error:j,saving:F,onClose:()=>{A(null),M(null)},onConfirm:()=>void B()})]})}function It({mode:e,connection:t,assistantId:n,existingNames:r,openAICompatibleEndpointsEnabled:i=!1,chatgptSubscriptionEnabled:a=!1,onSave:o,onCancel:s}){let[c,u]=(0,X.useState)(e),[d,f]=(0,X.useState)(void 0),g=c===`managed-edit`,[_,v]=(0,X.useState)(t?.label??``),[b,x]=(0,X.useState)(t?.name??``),[C,w]=(0,X.useState)(t?.provider??`anthropic`),[T,E]=(0,X.useState)(()=>t?t.auth.type:`platform`),[D,O]=(0,X.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[k,j]=(0,X.useState)(t?.baseUrl??``),[N,P]=(0,X.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[F,I]=(0,X.useState)(!1),[L,R]=(0,X.useState)(null),ee=C===`openai-compatible`,z=(0,X.useMemo)(()=>{let e=i?J:J.filter(e=>e!==`openai-compatible`);return C&&!e.includes(C)?[...e,C]:e},[i,C]),{handleLabelChange:te,resetDirty:B}=ct(c,v,x),[V,H]=(0,X.useState)(``),[U,W]=(0,X.useState)(!1),ne=l(),K=(0,X.useMemo)(()=>Ge(D),[D]),re=T===`api_key`&&K!==null,{hasStoredCredential:ie,isLoading:oe,queryKey:Y}=_e({assistantId:n,credentialKind:`credential`,credentialName:K?`${K.service}:${K.field}`:``,enabled:re,errorContext:`settings-provider-editor-credential-presence`}),{credentials:se,queryKey:ce}=q({assistantId:n,enabled:T===`api_key`});(0,X.useEffect)(()=>{let e=t?.provider??`anthropic`;v(t?.label??``),x(t?.name??``),w(e),E(t?t.auth.type:`platform`),t?.auth.type===`api_key`?O(t.auth.credential):O(t?``:`credential/${e}/api_key`),B(),R(null),j(t?.baseUrl??``),P(t?.models?t.models.map(e=>e.id).join(`, `):``),H(``),W(!1)},[t,B]);function le(){u(`create`),f(C===`ollama`?`none`:`api_key`)}let ue=b.trim().length>0;async function de(){if(ue){I(!0),R(null);try{let e;if(T===`api_key`){let t=D.trim()||`credential/${C}/api_key`,r=V.trim();if(r){W(!0);try{let e=Ge(t);await M({path:{assistant_id:n},body:e?{type:`credential`,name:`${e.service}:${e.field}`,value:r}:{type:`api_key`,name:C,value:r},throwOnError:!0}),ne.setQueryData(Y,!0),ne.invalidateQueries({queryKey:ce})}catch{R(`Failed to save API key. Please try again.`);return}finally{W(!1)}}e={type:`api_key`,credential:t}}else if(T===`oauth_subscription`)if(t?.auth.type===`oauth_subscription`)e=t.auth;else{R(`Use the "Sign in with ChatGPT" button to connect your subscription.`);return}else e=T===`none`?{type:`none`}:{type:`platform`};let r=_.trim()||null,i={auth:e,label:r,...ee&&{base_url:k.trim()||null,models:N.trim()?N.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:a,response:s}=await A({path:{assistant_id:n,name:t?.name??b.trim()},body:i});if(!s?.ok){R(he(s?.status,b.trim()));return}if(!a){R(`Server returned an empty response. Please try again.`);return}o(a)}catch{R(`Failed to save connection. Please try again.`)}finally{I(!1)}}}let fe=se.filter(e=>e.service===C),pe=c!==`create`&&t?.auth.type===`api_key`,ge=fe.length>0||pe,ve=Se(`Enter your API key`,ie);return c===`create`?(0,Z.jsx)(be,{variant:`modal`,assistantId:n,existingNames:r,openAICompatibleEndpointsEnabled:i,chatgptSubscriptionEnabled:a,defaultProviderType:C,defaultAuthType:d,onCreated:o,onCancel:s},C):(0,Z.jsxs)(S.Content,{size:`md`,children:[(0,Z.jsxs)(S.Header,{children:[(0,Z.jsx)(S.Title,{children:`Edit Connection`}),(0,Z.jsx)(S.Description,{children:g?`Managed by Vellum — auth is locked, but you can rename "${t?.name}".`:`Editing "${t?.name}".`})]}),(0,Z.jsxs)(S.Body,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,Z.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,Z.jsx)(y,{value:_,onChange:e=>te(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,Z.jsx)(y,{value:b,placeholder:`e.g. anthropic-personal`,disabled:!0,fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Z.jsx)(h,{"aria-label":`Provider`,value:C,onChange:e=>w(e),disabled:!0,options:z.map(e=>({value:e,label:Ue[e]}))})]}),ee&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,Z.jsx)(y,{value:k,onChange:e=>j(e.target.value),placeholder:`https://api.example.com/v1`,disabled:g,fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,Z.jsx)(y,{value:N,onChange:e=>P(e.target.value),placeholder:`model-1, model-2`,disabled:g,fullWidth:!0}),(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Auth Type`}),(0,Z.jsx)(h,{"aria-label":`Auth type`,value:T,onChange:e=>{E(e),R(null)},disabled:g||C===`ollama`,options:(()=>{let e;return e=C===`ollama`?[`none`]:Re(C)?[`api_key`,`platform`]:[`api_key`],T&&!e.includes(T)&&e.push(T),e.map(e=>({value:e,label:ae[e]}))})()})]}),T===`api_key`&&(0,Z.jsx)(G,{apiKeyValue:V,onApiKeyChange:H,credential:D,onCredentialChange:O,isAuthLocked:g,isLoadingCredential:oe,apiKeyPlaceholder:ve,provider:C,providerCredentials:fe,showAdvancedSection:ge,onError:R}),T===`oauth_subscription`&&(0,Z.jsx)(me,{assistantId:n,onConnected:o}),L&&(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:L})]}),(0,Z.jsxs)(S.Footer,{children:[(0,Z.jsx)(p,{variant:`ghost`,size:`compact`,onClick:s,children:`Cancel`}),c===`managed-edit`&&(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:le,disabled:F||U,children:`Save as New`}),(0,Z.jsx)(p,{variant:`primary`,size:`compact`,disabled:!ue||F||U,onClick:()=>void de(),children:F?`Saving…`:`Save`})]})]})}function Lt(e){switch(e.type){case`api_key`:return`API key · ${e.credential}`;case`oauth_subscription`:return`ChatGPT Subscription`;case`platform`:return`Managed proxy`;case`none`:return`None (local)`;default:return e.type}}function Rt({isOpen:e,assistantId:t,onClose:n}){let r=H.use.openAICompatibleEndpoints(),i=H.use.chatgptSubscriptionAuth(),[a,o]=(0,X.useState)(!1),[s,c]=(0,X.useState)(null),d=l(),{data:f,isLoading:p,isError:m}=u({...R({path:{assistant_id:t}}),enabled:e}),h=(0,X.useMemo)(()=>pe(f?.connections??[],r),[f,r]);function g(e){d.invalidateQueries({queryKey:I({path:{assistant_id:t}})}),o(!1),c(null)}let _=h.map(e=>e.name),v=()=>{o(!1),c(null)};return(0,Z.jsx)(S.Root,{open:e,onOpenChange:e=>{e||(a?v():n())},children:e?a?(0,Z.jsx)(It,{mode:s?s.isManaged?`managed-edit`:`edit`:`create`,connection:s??void 0,assistantId:t,existingNames:_,openAICompatibleEndpointsEnabled:r,chatgptSubscriptionEnabled:i,onSave:g,onCancel:v}):(0,Z.jsx)(zt,{connections:h,loading:p,isError:m,assistantId:t,onClose:n,onEditClick:e=>{c(e),o(!0)},onNewClick:()=>{c(null),o(!0)},onConnectionDeleted:()=>{d.invalidateQueries({queryKey:I({path:{assistant_id:t}})})}}):null})}function zt({connections:e,loading:t,isError:n,assistantId:r,onClose:i,onEditClick:a,onNewClick:o,onConnectionDeleted:s}){let[c,l]=(0,X.useState)({}),[u,d]=(0,X.useState)({});async function f(e){d(t=>({...t,[e]:!0})),l(t=>{let n={...t};return delete n[e],n});try{let{response:t}=await N({path:{assistant_id:r,name:e}});t?.ok||t?.status===404?s(e):t?.status===409?l(t=>({...t,[e]:`Connection is in use by one or more profiles. Remove those references first.`})):l(t=>({...t,[e]:`Failed to delete connection. Please try again.`}))}catch{l(t=>({...t,[e]:`Failed to delete connection. Please try again.`}))}finally{d(t=>{let n={...t};return delete n[e],n})}}return(0,Z.jsxs)(S.Content,{size:`md`,children:[(0,Z.jsxs)(S.Header,{children:[(0,Z.jsx)(S.Title,{children:`Provider Connections`}),(0,Z.jsx)(S.Description,{children:`Manage inference provider connections. Each connection binds a name to a provider and auth configuration.`})]}),(0,Z.jsx)(S.Body,{children:t?(0,Z.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,Z.jsx)(`div`,{className:`h-10 animate-pulse rounded-lg bg-[var(--surface-active)]`},e))}):n?(0,Z.jsx)(m,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:`Failed to load connections. Please try again.`}):e.length===0?(0,Z.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No connections yet. Create one to get started.`}):(0,Z.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>{let t=u[e.name]??!1,n=c[e.name],r=e.isManaged??!1;return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg px-2 py-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(m,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),r&&(0,Z.jsx)(v,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename this connection.`,children:`Platform`})]}),(0,Z.jsxs)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:[e.label?`${e.name} · `:``,Ue[e.provider]??e.provider,` · `,Lt(e.auth)]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Z.jsx)(p,{variant:`ghost`,size:`compact`,onClick:()=>a(e),children:`Edit`}),(0,Z.jsx)(p,{variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(We,{}),"aria-label":`Delete ${e.name}`,disabled:r||t,title:r?`Managed connections cannot be deleted`:void 0,onClick:()=>void f(e.name),tintColor:`var(--system-negative-strong)`})]})]}),n?(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:n}):null]},e.name)})})}),(0,Z.jsxs)(S.Footer,{className:`justify-between`,children:[(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:o,children:`+ New Connection`}),(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:i,children:`Done`})]})]})}function Bt(e){let[t,n]=(0,X.useState)(void 0);return(0,X.useEffect)(()=>{t!==void 0&&e===t.value&&n(void 0)},[e,t]),[t===void 0?e:t.value,(0,X.useCallback)(e=>n(e===void 0?void 0:{value:e}),[])]}function Vt(){let{assistantId:e,orderedProfiles:t,activeProfile:n,callSites:r}=Dt(),i=Ot(),[o,s]=Bt(n),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(!1),[f,g]=(0,X.useState)(!1),_=H.use.queryComplexityRouting(),v=(0,X.useMemo)(()=>le(pt(t,[o]),_),[t,o,_]),y=Object.entries(r).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length,b=y===1?`1 Override`:y>0?`${y} Overrides`:`Overrides`,x=o!==n,S=(0,X.useCallback)(async()=>{try{await i.mutateAsync({llm:{activeProfile:o}}),C.success(`Profile saved.`)}catch(e){C.error(`Failed to switch profile. Please try again.`),a(e,{context:`settings-ai-language-model-save`})}},[o,i]);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(bt,{title:`Language Model`,subtitle:`Configure the LLMs that power your assistant`,children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Default Profile`}),(0,Z.jsx)(h,{value:o??``,onChange:e=>{s(e===``?null:e)},placeholder:`Select a default profile…`,options:v.map(e=>({value:e.name,label:e.name===`auto`?`Automatically switch between profiles`:fe(e)}))}),_&&o===`auto`&&(0,Z.jsx)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--surface-warning-subtle)] px-3 py-2`,children:(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-warning)]`,children:`Auto may use more powerful models when needed, which can increase costs.`})}),v.length===0?(0,Z.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-1 text-(--content-tertiary)`,children:`No profiles yet. Click Profiles below to create one.`}):null]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>g(!0),children:`Providers`}),(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>l(!0),children:`Profiles`}),(0,Z.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>d(!0),children:b})]}),x&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Q,{onClick:S,disabled:i.isPending}),i.isPending&&(0,Z.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]})}),e&&(0,Z.jsx)(Pt,{isOpen:c,assistantId:e,onClose:()=>l(!1)}),e&&(0,Z.jsx)(At,{isOpen:u,onClose:()=>d(!1),assistantId:e}),e&&(0,Z.jsx)(Rt,{isOpen:f,assistantId:e,onClose:()=>g(!1)})]})}function Ht(){let{assistantId:e,config:i}=Dt(),o=Ot(),s=kt(),c=l(),{serverWebSearchMode:u,serverWebSearchProvider:d}=(0,X.useMemo)(()=>{if(!i)return{serverWebSearchMode:n(Ke,`your-own`),serverWebSearchProvider:n(at,`inference-provider-native`)};let e=i.services?.[`web-search`],t=e?.mode;return{serverWebSearchMode:t===`managed`||t===`your-own`?t:n(Ke,`your-own`),serverWebSearchProvider:e?.provider||n(`vellum:ai:webSearchProvider`,`inference-provider-native`)}},[i]),[f,p]=(0,X.useState)(!1),[m,g]=Bt(u),[_,v]=Bt(d),[b,x]=(0,X.useState)(``),S=se.has(_),{hasStoredCredential:w,queryKey:T}=_e({assistantId:e,credentialKind:`api_key`,credentialName:_,enabled:S,errorContext:`settings-ai-web-search-read-credential`}),E=b.trim().length>0,D=f||m===`your-own`&&S&&!w&&!E||!(m!==u||(m===`managed`?`inference-provider-native`:_)!==d)&&!E,k=Se(ue[_]??`Enter your API key`,w),A=(0,X.useCallback)(async()=>{p(!0);let e=b.trim(),t=m===`managed`?`inference-provider-native`:_,n=we(t),i=m===`your-own`&&S&&e.length>0;try{i&&await s(t,e),await o.mutateAsync({services:{"web-search":{mode:m,provider:t}}}).catch(e=>{throw C.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e})}catch{p(!1);return}p(!1);try{r(Ke,m),r(at,t),i&&(n&&r(n,e),c.setQueryData(T,!0),c.invalidateQueries({queryKey:T}),x(``)),C.success(`Web search settings saved.`)}catch(e){a(e,{context:`settings-ai-web-search-persist-local`}),C.error(`Saved, but local preferences could not be written.`)}},[S,o,s,c,T,b,m,_]),j=(0,X.useCallback)(()=>{let e=we(_);e&&t(e),x(``),v(`inference-provider-native`),r(at,`inference-provider-native`)},[_,v]);return(0,Z.jsx)(vt,{title:`Web Search`,subtitle:`Configure how your assistant should search the web`,mode:m,onModeChange:e=>g(e),children:m===`managed`?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Web search is included with managed inference.`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Q,{onClick:A,disabled:D}),f&&(0,Z.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Z.jsx)(h,{value:_,onChange:v,options:Qe.map(e=>({value:e,label:de[e]??e}))})]}),S&&(0,Z.jsx)(y,{label:`API Key`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:k,fullWidth:!0}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Q,{onClick:A,disabled:D}),f&&(0,Z.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),S&&(0,Z.jsx)(yt,{onClick:j,filled:!0})]})]})})}function Ut({assistantId:e,assistantHandle:t,emailRootDomain:n}){let r=l(),i=s(),[o,f]=c(),[m,h]=(0,X.useState)(``),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(null),[S,w]=(0,X.useState)(``),[D,k]=(0,X.useState)(null),[A,j]=(0,X.useState)(!1),[M,N]=(0,X.useState)(!1),[P,F]=(0,X.useState)(!1);(0,X.useEffect)(()=>{v||!t||m||(h(t),y(!0))},[t,v,m]);let I=u({...qe(),enabled:!0}),L=I.data,R=L?.entitlements,ee=R?.managed_email===!0,B=!!R&&!ee,V=!L&&I.isError&&!I.isFetching,H=u({...Ae({path:{assistant_id:e}}),enabled:!B}),U=u({...xe({path:{assistant_id:e}}),enabled:!B}),W=H.data?.results?.[0],G=U.data?.results?.[0],ne=W?`${W.subdomain}.${n}`:null,K=u({...lt({path:{assistant_id:e,id:G?.id??``}}),enabled:!!G?.id,refetchOnWindowFocus:!1}),q=u({...ft({path:{assistant_id:e,id:W?.id??``}}),enabled:!!W?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,X.useEffect)(()=>{o.get(`release`)!==`1`||!W||G||(N(!0),f(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[G,W,o,f]);let J=d(Ve()),ie=d(ze()),ae=d(Ne()),oe=d(dt()),Y=(0,X.useCallback)(()=>{let t={assistant_id:e};r.invalidateQueries({queryKey:st({path:t})}),r.invalidateQueries({queryKey:re({path:t})}),G?.id&&r.invalidateQueries({queryKey:Ce({path:{...t,id:G.id}})}),r.invalidateQueries({queryKey:ge()})},[G?.id,e,r]),se=(0,X.useCallback)(async()=>{let t=m.trim().toLowerCase();if(!t){x(`Enter a subdomain.`);return}j(!1);try{await J.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),h(``),x(null),Y(),C.success(`Domain ${t}.${n} registered.`)}catch(e){x(z(e,void 0,`Failed to register domain.`))}},[e,n,Y,J,m]),ce=(0,X.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){k(`Enter an email username.`);return}try{await ae.mutateAsync({path:{assistant_id:e},body:{username:t}}),w(``),k(null),Y(),C.success(`Email address created.`)}catch(e){k(z(e,void 0,`Failed to create email address.`))}},[e,Y,ae,S]),le=(0,X.useCallback)(async()=>{if(G?.id){F(!1);try{await oe.mutateAsync({path:{assistant_id:e,id:G.id}}),Y(),C.success(`Email address removed.`)}catch(e){a(e,{context:`email_address_delete`}),C.error(`Failed to remove email address.`)}}},[G?.id,e,oe,Y]),ue=(0,X.useCallback)(async()=>{if(!W?.id)return;if(G){C.error(`Remove the email address first.`);return}N(!1);let t=W.subdomain;try{await ie.mutateAsync({path:{assistant_id:e,id:W.id}}),h(t),Y(),C.success(`Domain released.`)}catch(e){a(e,{context:`email_domain_release`}),C.error(`Failed to release domain.`)}},[G,e,ie,W?.id,W?.subdomain,Y]);if(I.isLoading)return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(O,{className:`h-4 w-4 animate-spin`}),`Checking subscription…`]});if(B)return(0,Z.jsxs)(_,{tone:`info`,icon:(0,Z.jsx)(T,{className:`h-4 w-4`,"aria-hidden":!0}),title:`Get a dedicated email address for your assistant`,actions:(0,Z.jsx)(p,{size:`compact`,onClick:()=>i(`${te.settings.billing}?adjust_plan`),children:`Upgrade to Pro`}),children:[`Pro plans include a managed`,` `,`<your-subdomain>.${n}`,` inbox — no provider setup required. Or switch to `,(0,Z.jsx)(`strong`,{children:`Your Own`}),` to bring an existing provider.`]});let de=V?(0,Z.jsx)(_,{tone:`warning`,title:`Couldn't verify subscription status`,actions:(0,Z.jsx)(p,{size:`compact`,variant:`outlined`,onClick:()=>I.refetch(),children:`Retry`}),children:`We couldn't reach the billing service. The form below assumes managed email is enabled for your org — if it isn't, registering a domain will fail.`}):null;return W?G?(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[de,(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Address`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:G.address}),(0,Z.jsx)(St,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,Z.jsx)(p,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Z.jsx)(We,{}),onClick:()=>F(!0),disabled:oe.isPending,"aria-label":`Remove email address`})]}),(0,Z.jsx)(g,{open:P,title:`Remove Email Address`,message:(0,Z.jsxs)(Z.Fragment,{children:[`Are you sure you want to remove `,(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:G.address}),`? Your assistant will no longer be able to send or receive email at this address.`]}),confirmLabel:`Remove`,destructive:!0,onConfirm:le,onCancel:()=>F(!1)})]}),K.data?.usage&&(0,Z.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[K.data.usage.sent_today,` /`,` `,K.data.usage.daily_limit,` sent today ·`,` `,K.data.usage.received_today,` received`]})]}):(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[de,(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Domain`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[W.subdomain,`.`,n]}),(0,Z.jsx)(St,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,Z.jsx)(p,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Z.jsx)(We,{}),onClick:()=>N(!0),disabled:ie.isPending,"aria-label":`Release domain`})]}),(0,Z.jsx)(g,{open:M,title:`Release Domain`,message:(0,Z.jsxs)(Z.Fragment,{children:[`Are you sure you want to release `,(0,Z.jsxs)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:[W.subdomain,`.`,n]}),`? The subdomain will become available for others to claim.`]}),confirmLabel:`Release`,destructive:!0,onConfirm:ue,onCancel:()=>N(!1)})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Email address`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${D?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,Z.jsx)(`input`,{value:S,onChange:e=>{w(e.target.value.toLowerCase()),D&&k(null)},placeholder:`hi`,"aria-label":`Email username`,"aria-invalid":!!D,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,Z.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,ne]})]}),(0,Z.jsx)(p,{onClick:ce,disabled:ae.isPending||!S.trim(),children:ae.isPending?`Creating…`:`Create`})]}),D&&(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:D})]})]}):(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[de,(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Subdomain`}),(0,Z.jsx)(E,{subdomain:m,onSubdomainChange:e=>{h(e),b&&x(null)},domainSuffix:n,subdomainPlaceholder:`my-assistant`,error:b}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Each assistant gets its own subdomain. Lowercase letters, numbers, and hyphens only.`}),(0,Z.jsx)(p,{onClick:()=>j(!0),disabled:J.isPending||!m.trim(),children:J.isPending?`Registering…`:`Register`}),(0,Z.jsx)(g,{open:A,title:`Set Subdomain`,message:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:m.trim().toLowerCase()||`subdomain`}),` will also become your assistant's public handle. You won't be able to change it once set.`]}),confirmLabel:`Confirm`,onConfirm:se,onCancel:()=>j(!1)})]})}function Wt(){let e=mt(),{data:t}=u(ie()),o=t?.results?.[0]?.handle,s=it.use.emailRootDomain(),c=Je(),[l,d]=(0,X.useState)(()=>c===`gated`?`your-own`:n(nt,`managed`)),[f,p]=(0,X.useState)(()=>n(Ie,`resend`)),m=u({queryKey:[`byoEmailCredential`,e,f],queryFn:async()=>{let{data:t}=await P({path:{assistant_id:e},body:{service:f,field:`api_key`},throwOnError:!0});return t},enabled:l===`your-own`||c===`gated`,staleTime:6e4,retry:i,meta:{errorContext:`byo_email_credential_check`}});(0,X.useEffect)(()=>{m.error&&a(m.error,{context:`byo_email_credential_check`,bestEffort:!0})},[m.error]);let g=m.data?.hasSecret===!0,v=(0,X.useCallback)(e=>{d(e),r(nt,e)},[]),y=(0,X.useCallback)(()=>{r(Ie,f),C.success(`Email settings saved.`)},[f]),b=(0,X.useMemo)(()=>De.find(e=>e.id===f)??De[0],[f]),x=(0,Z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(K,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{children:[`Configure `,b.displayName,` via the assistant CLI: ask the assistant to run the`,` `,(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:b.setupSkill}),` `,`skill. It walks you through storing the API key, detecting the domain, and (optionally) wiring up an inbound webhook.`]}),(0,Z.jsxs)(`a`,{href:b.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,b.displayName,(0,Z.jsx)(D,{className:`h-3 w-3`})]})]})]}),S=(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Z.jsx)(h,{value:f,onChange:e=>p(e),options:De.map(e=>({value:e.id,label:e.displayName}))})]}),g?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,Z.jsx)(Me,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,Z.jsxs)(`span`,{children:[b.displayName,` API key configured. To reconfigure, run the`,` `,(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:b.setupSkill}),` `,`skill.`]})]}),(0,Z.jsxs)(`a`,{href:b.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,b.displayName,(0,Z.jsx)(D,{className:`h-3 w-3`})]})]}):x,(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Z.jsx)(Q,{onClick:y,disabled:!1})})]});return c===`gated`?(0,Z.jsx)(bt,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,children:S}):(0,Z.jsx)(vt,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,mode:l,onModeChange:v,children:l===`managed`?(0,Z.jsx)(`div`,{className:`space-y-4`,children:c===`disabled`?(0,Z.jsx)(_,{tone:`info`,children:`Log in to the Vellum platform to manage email settings.`}):(0,Z.jsx)(Ut,{assistantId:e,assistantHandle:o,emailRootDomain:s})}):S})}function Gt(){let{config:e}=Dt(),{resolveAssistantId:t}=Et(),i=l(),o=Ot(),s=kt(),[c,u]=Bt((0,X.useMemo)(()=>{if(!e)return n(Xe,`your-own`);let t=e.services?.[`image-generation`]?.mode;return t===`managed`||t===`your-own`?t:n(Xe,`your-own`)},[e])),[d,f]=(0,X.useState)(()=>n($e,`gemini-3.1-flash-image-preview`)),[p,m]=(0,X.useState)(``),[g,_]=(0,X.useState)(!1),v=(0,X.useCallback)(async()=>{_(!0);let e=p.trim(),n=c===`your-own`&&e.length>0;try{n&&await s(`gemini`,e),await o.mutateAsync({services:{"image-generation":{mode:c}}}).catch(e=>{throw C.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e});let r=await t();try{await j({path:{assistant_id:r},body:{modelId:d},throwOnError:!0})}catch(e){throw C.error(`Failed to update image generation model. Please try again.`),a(e,{context:`set_image_gen_model`}),e}finally{i.invalidateQueries({queryKey:V(r)})}}catch{_(!1);return}_(!1);try{r(Xe,c),r($e,d),n&&m(``),C.success(`Image generation settings saved.`)}catch(e){a(e,{context:`settings-ai-image-gen-persist-local`}),C.error(`Saved, but local preferences could not be written.`)}},[p,c,d,o,s,t,i]),b=(0,X.useCallback)(()=>{m(``),f(`gemini-3.1-flash-image-preview`),r($e,`gemini-3.1-flash-image-preview`)},[]);return(0,Z.jsx)(vt,{title:`Image Generation`,subtitle:`Configure which model your assistant uses to generate images`,mode:c,onModeChange:e=>u(e),children:c===`managed`?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,Z.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,Z.jsx)(h,{className:`flex-1`,value:d,onChange:f,options:Oe.map(e=>({value:e,label:ke[e]??e}))}),(0,Z.jsx)(Q,{onClick:v,disabled:g}),g&&(0,Z.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(y,{label:`API Key`,type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:`Enter your Gemini API key`,fullWidth:!0}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,Z.jsx)(h,{value:d,onChange:f,options:Oe.map(e=>({value:e,label:ke[e]??e}))})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Q,{onClick:v,disabled:g}),g&&(0,Z.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),(0,Z.jsx)(yt,{onClick:b})]})]})})}async function Kt(e){let{provider:t,apiKey:n,voiceId:r,text:i}=e;if(n.trim().length===0)return{kind:`error`,message:`Save an API key for this provider first.`};try{return t===`elevenlabs`?await qt(n,r,i):t===`deepgram`?await Jt(n,i):t===`fish-audio`?{kind:`unsupported`,message:`Fish Audio TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:t===`xai`?{kind:`unsupported`,message:`xAI TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:{kind:`unsupported`,message:`TTS testing for "${t}" is not supported from the browser yet.`}}catch(e){return{kind:`error`,message:e instanceof Error?e.message:`Failed to reach the TTS provider.`}}}async function qt(e,t,n){let r=t.trim();if(r.length===0)return{kind:`error`,message:`Enter and save a Voice ID before testing ElevenLabs.`};let i=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(r)}?output_format=mp3_44100_128`,{method:`POST`,headers:{"xi-api-key":e,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:n,model_id:`eleven_turbo_v2_5`})});return i.ok?{kind:`audio`,blob:await i.blob()}:{kind:`error`,message:await Yt(i,`ElevenLabs rejected the request.`)}}async function Jt(e,t){let n=await fetch(`https://api.deepgram.com/v1/speak?model=aura-2-thalia-en`,{method:`POST`,headers:{Authorization:`Token ${e}`,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:t})});return n.ok?{kind:`audio`,blob:await n.blob()}:{kind:`error`,message:await Yt(n,`Deepgram rejected the request.`)}}async function Yt(e,t){try{let n=await e.text();if(n.length===0)return`${t} (HTTP ${e.status})`;try{let e=JSON.parse(n);if(e&&typeof e==`object`&&`detail`in e&&typeof e.detail==`string`)return e.detail;if(e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`)return e.message}catch{}return n.slice(0,200)}catch{return`${t} (HTTP ${e.status})`}}function Xt(){let e=mt(),t=U.use.name()??`your assistant`,i=B(),{data:a}=u({...L({path:{assistant_id:e}}),enabled:i,staleTime:1/0}),o=a?.providers??Le,s=o[0]?.id??`elevenlabs`,[c,l]=(0,X.useState)(()=>n(et,s)),[d,f]=(0,X.useState)(c),[m,g]=(0,X.useState)(``),[_,v]=(0,X.useState)(``),[b,x]=(0,X.useState)(``),[S,w]=(0,X.useState)(!1),[T,E]=(0,X.useState)(!1),D=(0,X.useMemo)(()=>o.find(e=>e.id===c)??o[0],[c,o]),O=(0,X.useCallback)(e=>{let t=n(Ze+e,``),r=n(Pe+e,``);w(t.length>0),v(r),x(r),g(``)},[]);(0,X.useEffect)(()=>{O(c)},[c,O]);let k=(0,X.useMemo)(()=>{let e=c!==d,t=m.trim().length>0,n=_.trim()!==b;return e||t||n},[c,d,m,_,b]),A=(0,X.useCallback)(()=>{r(et,c);let e=m.trim();e.length>0&&(r(Ze+c,e),w(!0));let t=_.trim();r(Pe+c,t),f(c),x(t),g(``)},[c,m,_]),j=(0,X.useCallback)(()=>{r(Ze+c,``),w(!1),g(``)},[c]),M=(0,X.useCallback)(async()=>{E(!0);try{let e=n(Ze+c,``),r=m.trim(),i=r.length>0?r:e;if(i.length===0){C.error(`Save an API key for this provider before testing.`);return}let a=n(Pe+c,``),o=_.trim(),s=await Kt({provider:c,apiKey:i,voiceId:o.length>0?o:a,text:`Hey! It's ${t}. How does this sound?`});if(s.kind!==`audio`){C.error(s.message);return}let l=URL.createObjectURL(s.blob);try{let e=new Audio(l);await e.play(),await new Promise(t=>{e.onended=()=>t(),e.onerror=()=>t()})}finally{URL.revokeObjectURL(l)}}finally{E(!1)}},[t,m,c,_]),N=S?`•••••••• (Enter a new key to replace)`:D.apiKeyPlaceholder;return(0,Z.jsx)(bt,{title:`Text-to-Speech`,subtitle:D.subtitle,children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Z.jsx)(h,{value:c,onChange:l,options:o.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,Z.jsx)(y,{type:`password`,value:m,onChange:e=>g(e.target.value),placeholder:N,fullWidth:!0})]}),D.supportsVoiceSelection&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice ID`}),(0,Z.jsx)(y,{type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),(0,Z.jsx)(xt,{guide:D.credentialsGuide}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(p,{variant:`outlined`,onClick:M,disabled:T,children:T?`Testing…`:`Test`}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Z.jsx)(Q,{onClick:A,disabled:!k}),S&&(0,Z.jsx)(yt,{onClick:j})]})]})]})})}function Zt(){let e=Fe[0]?.id??`deepgram`,[t,i]=(0,X.useState)(()=>n(je,e)),[a,o]=(0,X.useState)(t),[s,c]=(0,X.useState)(``),[l,u]=(0,X.useState)(!1),d=(0,X.useMemo)(()=>Fe.find(e=>e.id===t)??Fe[0],[t]);(0,X.useEffect)(()=>{u(n(He+t,``).length>0),c(``)},[t]);let f=(0,X.useMemo)(()=>{let e=t!==a,n=s.trim().length>0;return e||n},[t,a,s]),p=(0,X.useCallback)(()=>{r(je,t);let e=s.trim();e.length>0&&(r(He+t,e),u(!0)),o(t),c(``)},[t,s]),m=(0,X.useCallback)(()=>{r(He+t,``),u(!1),c(``)},[t]),g=l?`•••••••• (Enter a new key to replace)`:d.apiKeyPlaceholder;return(0,Z.jsx)(bt,{title:`Speech-to-Text`,subtitle:d.subtitle,children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Z.jsx)(h,{value:t,onChange:i,options:Fe.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,Z.jsx)(y,{type:`password`,value:s,onChange:e=>c(e.target.value),placeholder:g,fullWidth:!0})]}),(0,Z.jsx)(xt,{guide:d.credentialsGuide}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,Z.jsx)(Q,{onClick:p,disabled:!f}),l&&(0,Z.jsx)(yt,{onClick:m})]})]})})}function Qt(){return(0,X.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]),(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-2.5`,children:[(0,Z.jsx)(K,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:[`Managed services are metered and deducted from your Vellum account balance.`,` `,(0,Z.jsxs)(`a`,{href:`https://www.vellum.ai/docs/pricing`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--primary-base)] hover:underline`,children:[`View pricing`,(0,Z.jsx)(D,{className:`h-3.5 w-3.5`})]})]})]}),(0,Z.jsx)(Vt,{}),(0,Z.jsx)(Ht,{}),(0,Z.jsx)(Wt,{}),(0,Z.jsx)(Gt,{}),(0,Z.jsx)(Xt,{}),(0,Z.jsx)(Zt,{})]})}export{Qt as AiPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-BjZY5k1w.js";var t=e(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./create-selectors-CDULelrw.js";import{c as n,n as r,t as i}from"./feature-flag-catalog-OHgjjRa5.js";import{t as a}from"./client.gen-CsQeNtuq.js";var o={...i},s={...r},c=0,l={};function u(e={}){o={...i,...e};for(let e of Object.keys(l))delete l[e]}function d(e={}){s={...r,...e}}function f(){u(),d()}function p(e){return o[e]??i[e]??!1}function m(e){return s[e]??r[e]??``}var h=t(e()(e=>{let t=e;return{...i,hasHydrated:!1,stringFlags:{...r},setFlags:t=>e(e=>(u(t),Object.keys(t).some(n=>t[n]!==e[n])?t:e)),setFlag:(t,r,i)=>{let s=++c,u=()=>{if(l[t]!==s)return;delete l[t];let n=p(t);e(e=>e[t]===r?{[t]:n}:e)},d=n(t);i&&d?(l[t]=s,a.patch({url:`/v1/assistants/${i}/feature-flags/${d}`,body:{enabled:r},throwOnError:!1}).then(e=>{e.response?.ok?(o[t]=r,l[t]===s&&delete l[t]):u()}).catch(u)):o[t]=r,e({[t]:r})},markHydrated:()=>e({hasHydrated:!0}),resetForAssistantSwitch:()=>{f(),e({...i,hasHydrated:!1}),t({stringFlags:{...r}})},setStringFlags:e=>t(t=>{d(e);let n=t.stringFlags;return Object.keys(e).some(t=>e[t]!==n[t])?{stringFlags:e}:t}),setStringFlag:(e,r,i)=>{let o=++c,u=()=>{if(l[e]!==o)return;delete l[e];let n=m(e);t(t=>t.stringFlags[e]===r?{stringFlags:{...t.stringFlags,[e]:n}}:t)},d=n(e);i&&d?(l[e]=o,a.patch({url:`/v1/assistants/${i}/feature-flags/${d}`,body:{enabled:r},throwOnError:!1}).then(t=>{t.response?.ok?(s[e]=r,l[e]===o&&delete l[e]):u()}).catch(u)):s[e]=r,t(t=>({stringFlags:{...t.stringFlags,[e]:r}}))}}}));export{h as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./local-settings-lVNyIOJ_.js";import{o as t,r as n}from"./device-settings-C07QvMzm.js";import{o as r,t as i}from"./capture-error-Di3WCQrq.js";import{t as ee}from"./useQuery-D2zf6Uhu.js";import{n as a,t as o}from"./create-selectors-CDULelrw.js";import{A as s,D as te,E as ne,O as re,T as ie,c as ae,d as c,i as oe,k as l,m as se,o as u,p as ce,r as le,t as ue,v as de,w as d,y as f}from"./local-mode-Cx_DqCMC.js";import{t as p}from"./resolved-assistants-store-em3zt7_3.js";import{r as m}from"./api-errors-DApr8J5Z.js";import{c as h,d as fe,o as pe,r as g}from"./api-D_w9HGm1.js";import{ht as me}from"./sdk.gen-BnTFwWLf.js";import{S as _,a as he,i as ge,l as _e,m as ve,t as ye,u as be,w as xe}from"./native-biometric-CfMWTyzx.js";import{n as Se}from"./event-bus-WRYwtHDl.js";var v=o(a(()=>({assistantState:{kind:`loading`},expectingFirstMessage:!1})));function y(e){if(e.ok)switch(e.data.status){case`active`:return e.data.is_local?{kind:`self_hosted`}:{kind:`active`};case`initializing`:return{kind:`initializing`};case`to_be_deleted`:return{kind:`cleaning_up`};default:return{kind:`error`,message:`Unexpected assistant status: ${e.data.status}`}}return e.status===404?{kind:`auto_hatch`}:{kind:`error`,message:m(e.error,void 0,`Failed to check assistant status.`)}}function b(e){return e===void 0||e>=500}var Ce=`platform_hosted_disabled`,x=`We are at capacity for Vellum Managed Assistants, more will be available soon!`;function S(e,t){return e===503?t?.code===Ce:!1}var C=3e5;function w(){return{kind:`error`,message:`Your assistant is taking longer than expected to start. Please try again, or check the community for help.`}}var T=[`assistant`,`current`],E=3e3,we=new Set([`initializing`,`cleaning_up`]);function Te(e){if(!e)return!1;let t=y(e);return we.has(t.kind)?E:!1}function D(e){return e?[...T,e]:T}function Ee(e){let t=e.selectedPlatformAssistantId??null;return ee({queryKey:D(t),queryFn:()=>g(t??void 0),enabled:e.enabled,retry:!1,refetchInterval:e=>Te(e.state.data),refetchOnWindowFocus:!1})}var O=e=>e===`authenticated`,k=e=>e!==`initializing`,A=e=>e===`present`,De=3,Oe=3,j=e=>{},M=()=>null,N=new class{state={kind:`loading`};hatching=!1;hatchRetryCount=0;initializingAssistantId=null;initializingRecoveryCount=0;hatchingVersion=void 0;generation=0;initializingTimeout=null;ready=!1;inputs={sessionStatus:`initializing`,isRetired:!1,isNonProduction:!1,hasPlatformSession:!1,onRedirect:j,resolveOnboardingRedirect:M,queryClient:null,selectedPlatformAssistantId:null};setInputs(e){this.inputs=e,this.ready=!0}resetForLogout(){p.getState().activeAssistantId!==null&&p.getState().setActiveAssistantId(null),this.state.kind!==`loading`&&this.transition({kind:`loading`}),this.clearExpectingFirstMessage()}async respondToInputs(){if(this.ready){if(!O(this.inputs.sessionStatus)){this.resetForLogout();return}if(s()){this.applyGatewayAuthShortCircuit();return}if(c()&&!s()&&!this.inputs.hasPlatformSession){let e=this.inputs.resolveOnboardingRedirect({intendedDestination:window.location.pathname});e&&this.inputs.onRedirect(e);return}this.inputs.hasPlatformSession&&d(null),await this.checkAssistant()}}async applyServerResult(e){this.ready&&(this.state.kind!==`initializing`&&this.state.kind!==`cleaning_up`||await this.applyServerStateUpdate(e))}async checkAssistant(){if(!this.ready)return;if(s()){this.applyGatewayAuthShortCircuit();return}let e=this.generation;try{let t=this.inputs.selectedPlatformAssistantId??null,n=await this.inputs.queryClient.fetchQuery({queryKey:D(t),queryFn:()=>g(t??void 0),staleTime:0});if(e!==this.generation)return;await this.applyServerStateUpdate(n)}catch(t){if(console.error(`Error checking assistant status:`,t),i(t,{context:`check_assistant`}),e!==this.generation)return;this.transition({kind:`error`,message:`Network error. Please check your connection and try again.`})}}retryAssistant(){this.ready&&(this.hatchRetryCount=0,this.initializingRecoveryCount=0,this.checkAssistant())}hatchVersion(e){this.ready&&(this.hatchRetryCount=0,this.markExpectingFirstMessage(),this.hatchAndCheck(e))}markExpectingFirstMessage(){v.getState().expectingFirstMessage||v.setState({expectingFirstMessage:!0})}clearExpectingFirstMessage(){v.getState().expectingFirstMessage&&v.setState({expectingFirstMessage:!1})}transition(e){let t=this.state.kind;this.state=e,v.setState({assistantState:e}),e.kind===`initializing`?t!==`initializing`&&this.armInitializingWatchdog():this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),e.kind!==`initializing`&&e.kind!==`active`&&this.clearExpectingFirstMessage()}armInitializingWatchdog(){this.initializingTimeout&&clearTimeout(this.initializingTimeout),this.initializingTimeout=setTimeout(()=>{r(`Assistant hatch stuck in initializing state`,{level:`warning`,extra:{timeoutMs:C}}),this.recoverStuckInitializingAssistant()},C)}projectActive(e){let t=e.data.maintenance_mode;d(null),p.getState().setActiveAssistantId(e.data.id),this.transition({kind:`active`,isLocal:e.data.is_local??!1,maintenanceMode:{enabled:t?.enabled}})}projectSelfHosted(e){d({url:e.data.ingress_url,token:e.data.platform_actor_token}),p.getState().setActiveAssistantId(e.data.id),this.transition({kind:`self_hosted`})}applyGatewayAuthShortCircuit(){let e=window.location.origin,t=`self`,n=oe();if(n){let r=ae();e=`${window.location.origin}${n}`,t=r?.assistantId??t}d({url:e,token:te()}),p.getState().setActiveAssistantId(t),this.transition({kind:`active`,isLocal:!0})}async applyServerStateUpdate(e){let t=this.generation,n=y(e);if(e.ok&&n.kind===`initializing`?this.initializingAssistantId=e.data.id:n.kind!==`initializing`&&(this.initializingAssistantId=null),n.kind===`auto_hatch`){if(this.inputs.isRetired){this.transition({kind:`retired`});return}let e=this.inputs.resolveOnboardingRedirect({intendedDestination:window.location.pathname});if(e){this.inputs.onRedirect(e);return}if(this.inputs.isNonProduction){this.transition({kind:`awaiting_version_selection`});return}this.markExpectingFirstMessage(),await this.hatchAndCheck();return}if(n.kind===`active`&&e.ok){this.initializingRecoveryCount=0,this.hatchingVersion=void 0,this.projectActive(e);return}if(n.kind===`self_hosted`&&e.ok){this.initializingRecoveryCount=0,this.hatchingVersion=void 0,this.projectSelfHosted(e);return}t===this.generation&&n.kind!==`active`&&this.transition(n)}async hatchAndCheck(e){if(this.hatching)return;if(this.hatchRetryCount>=De){this.transition({kind:`error`,message:`Failed to start your assistant after multiple attempts. Please refresh the page to try again.`});return}this.hatching=!0,this.hatchingVersion=e;let t=this.generation;this.transition({kind:`initializing`}),this.armInitializingWatchdog();try{let n=await pe(e?{version:e}:void 0);if(t!==this.generation)return;if(n.ok&&(this.initializingAssistantId=n.data.id,this.inputs.queryClient.setQueryData(T,{ok:!0,status:n.status,data:n.data})),!n.ok){if(this.hatchRetryCount+=1,r(`Hatch request failed`,{level:`warning`,extra:{status:n.status,error:n.error,attempt:this.hatchRetryCount}}),S(n.status,n.error)){this.transition({kind:`error`,message:x});return}if(b(n.status)){this.transition({kind:`initializing`}),setTimeout(()=>{this.inputs.queryClient.invalidateQueries({queryKey:T})},E);return}this.transition({kind:`error`,message:m(n.error,void 0,`Failed to start your assistant. Please refresh the page to try again.`)});return}this.hatchRetryCount=0}catch(e){if(this.hatchRetryCount+=1,i(e,{context:`hatch_assistant`}),t!==this.generation)return;this.transition({kind:`initializing`}),setTimeout(()=>{this.inputs.queryClient.invalidateQueries({queryKey:T})},E);return}finally{this.hatching=!1}t===this.generation&&this.transition({kind:`initializing`})}async recoverStuckInitializingAssistant(){if(this.initializingRecoveryCount>=Oe){this.generation++,this.transition(w());return}this.initializingRecoveryCount++,this.generation++;let e=this.generation;try{let t=this.initializingAssistantId;if(!t){let n=await this.inputs.queryClient.fetchQuery({queryKey:T,queryFn:()=>g(),staleTime:0});if(e!==this.generation)return;if(n.ok&&n.data.status===`initializing`)t=n.data.id;else{let e=y(n);this.initializingAssistantId=null,e.kind===`auto_hatch`?await this.hatchAndCheck(this.hatchingVersion):e.kind===`active`&&n.ok?(this.initializingRecoveryCount=0,this.projectActive(n)):e.kind===`self_hosted`&&n.ok?(this.initializingRecoveryCount=0,this.projectSelfHosted(n)):e.kind!==`active`&&this.transition(e);return}}this.hatching=!0;let n=await fe(t);if(e!==this.generation){this.hatching=!1;return}if(!n.ok&&n.status!==404){this.hatching=!1,r(`Failed to retire stuck initializing assistant`,{level:`warning`,extra:{status:n.status,error:n.error}}),this.transition(w());return}this.initializingAssistantId=null,p.getState().setActiveAssistantId(null),this.hatching=!1,await this.hatchAndCheck(this.hatchingVersion)}catch(t){if(this.hatching=!1,i(t,{context:`recover_stuck_initializing_assistant`}),e!==this.generation)return;this.transition(w())}}__resetForTesting(){this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),this.state={kind:`loading`},this.hatching=!1,this.hatchRetryCount=0,this.initializingAssistantId=null,this.initializingRecoveryCount=0,this.hatchingVersion=void 0,this.generation=0,this.ready=!1,v.setState({expectingFirstMessage:!1}),this.inputs={sessionStatus:`initializing`,isRetired:!1,isNonProduction:!1,hasPlatformSession:!1,onRedirect:j,resolveOnboardingRedirect:M,queryClient:null},v.setState({assistantState:this.state}),p.setState({activeAssistantId:null})}},P=`vellum:onboarding:tosAccepted`,F=`vellum:onboarding:aiDataConsent`,ke=`vellum:onboarding:selectedVersion`;function I(){e(P),e(F),e(ke)}function Ae(e){if(!(typeof window>`u`)&&e!==null)try{if(n(`lastUserId`,``)===e)return;I(),t(`lastUserId`,e)}catch{}}var L=`vellum_active_organization_id`;function R(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function z(){let e=R();if(!e)return null;try{return e.getItem(L)}catch{return null}}function B(e){let t=R();if(t)try{t.setItem(L,e)}catch{}}function je(){let e=R();if(e)try{e.removeItem(L)}catch{}}function Me(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var V=o(a()((e,t)=>({organizations:[],currentOrganizationId:null,status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await me()).data?.results??[],r=Me(n,t().currentOrganizationId??z());r&&B(r),e({organizations:n,currentOrganizationId:r,status:r?`ready`:`error`,error:r?null:`No organization available for this user.`})}catch(t){e({status:`error`,error:t instanceof Error&&t.message?t.message:`Failed to load organizations.`})}},setCurrentOrganizationId:n=>{let{organizations:r}=t();r.some(e=>e.id===n)&&(B(n),e({currentOrganizationId:n,status:`ready`}))},clearOrganization:()=>{je(),e({organizations:[],currentOrganizationId:null,status:`idle`,error:null})}})));function Ne(){return V.getState().currentOrganizationId??z()}function H(){V.getState().clearOrganization()}function Pe(){let e=0,t=V.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{let n=A(e.platformSession),r=A(t.platformSession);n&&(!r||e.user?.id!==t.user?.id)&&V.getState().fetchOrganizations()}),r=()=>{if(!A($.getState().platformSession))return;let{status:t}=V.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&V.getState().fetchOrganizations()},i=Se(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}var Fe=`vellum:`,Ie=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],Le=new Set([`vellum_theme`,`vellum_share_analytics`,`vellum_share_diagnostics`,`vellum_biometric_enabled`,`vellum_llm_log_retention`,`vellum_timezone`,`vellum_media_embeds_enabled`,`vellum_media_embed_domains`,`onboarding.lastUserId`]);function Re(e){return e.startsWith(Fe)?!0:Le.has(e)?!1:Ie.some(t=>e.startsWith(t))}function U(){try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&Re(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function ze(e){return e?.id??e?.email??e?.username??null}function W(e){return e?{id:ze(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var G=null,K=null,q=!1,Be={id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`},J=e=>({sessionStatus:`authenticated`,user:e,platformSession:`present`}),Y=()=>({sessionStatus:`authenticated`,user:Be}),X=()=>({sessionStatus:`unauthenticated`,user:null,platformSession:`absent`});function Ve(e){(!e||G&&G!==e)&&H(),G=e}function He(){K?.postMessage(`auth-changed`)}function Z(e){Ae(e),Ve(e)}var Ue=0;Promise.resolve();function We(e,t={}){let n=++Ue,r=()=>n!==Ue;_().then(async n=>{if(!r())if(n.ok&&n.data.user){let i=t.setUserOnSuccess?{user:W(n.data.user)}:{};if(c())try{let e=await Promise.race([h(),new Promise((e,t)=>setTimeout(()=>t(Error(`sync timeout`)),3e3))]);!r()&&e.ok&&await f(e.data)}catch{}if(r())return;e({platformSession:`present`,...i})}else t.clearOnFailure&&e({platformSession:`absent`})}).catch(()=>{r()||t.clearOnFailure&&e({platformSession:`absent`})}).finally(()=>{r()||e(e=>e.platformSession===`unknown`?{platformSession:`absent`}:{})})}function Q(e,t){!c()||l()||u().length>0?We(e,t):e({platformSession:`absent`})}var $=o(a()(e=>({sessionStatus:`initializing`,user:null,platformSession:`unknown`,initSession:async()=>{if(l()){try{await ce(),e(Y())}catch{e({sessionStatus:`unauthenticated`,user:null})}Q(e);return}if(c()&&!l()){if(u().length>0){try{let t=await _();if(t.ok&&t.data.user){let n=W(t.data.user);try{let t=await h();if(t.ok&&(await f(t.data),u().length===0&&le().length===0)){e(J(n));return}}catch{}e(J(n));return}}catch{}e(X());return}e(Y()),q?e({platformSession:`absent`}):We(e,{setUserOnSuccess:!0}),q=!1;return}try{let t=await _();if(t.ok&&t.data.user){let n=W(t.data.user);Z(n?.id??null);try{let e=await h();e.ok&&p.getState().setFromApi(e.data)}catch{}e(J(n));return}}catch(e){console.error(`auth.initSession failed`,e)}if(be()&&ge())try{let t=await he();if(t){_e(t),await ve();let n=await _();if(n.ok&&n.data.user){let t=W(n.data.user);Z(t?.id??null);try{let e=await h();e.ok&&p.getState().setFromApi(e.data)}catch{}e(J(t));return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}Z(null),e(X())},connectLocalAssistant:async t=>{de(t),await se(),e(Y()),Q(e)},refreshSession:async()=>{if(s()){try{await ne(re()),e({sessionStatus:`authenticated`})}catch{return e(X()),!1}return Q(e,{clearOnFailure:!0}),!0}try{let t=await _();if(t.ok&&t.data.user){let n=W(t.data.user);if(Z(n?.id??null),c())try{let e=await h();e.ok&&await f(e.data)}catch{}return e(J(n)),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}return Z(null),e(X()),!1},logout:async()=>{if(s()){ue(),ie(),I(),H(),U(),N.resetForLogout(),e(X()),He();return}q=!0;try{await xe()}finally{c()&&(document.cookie=`sessionid=; path=/; samesite=lax; expires=Thu, 01 Jan 1970 00:00:00 UTC`),ye(),I(),H(),U(),N.resetForLogout(),e(X()),He()}}}))),Ge=()=>O($.use.sessionStatus()),Ke=()=>!k($.use.sessionStatus()),qe=()=>A($.use.platformSession());function Je(){let{refreshSession:e}=$.getState(),t=[],n=()=>e().catch(e=>console.warn(`auth.refreshSession failed`,e)),r=Se(`app.resume`,()=>{n()});return t.push(r),typeof BroadcastChannel<`u`&&(K=new BroadcastChannel(`auth`),K.onmessage=()=>{U(),window.location.reload()},t.push(()=>{K?.close(),K=null})),()=>t.forEach(e=>e())}export{x as _,Ke as a,b,V as c,I as d,N as f,Ee as g,k as h,Ge as i,F as l,O as m,$ as n,Ne as o,A as p,qe as r,Pe as s,Je as t,P as u,S as v,v as x,y};
|