@vellumai/web 0.8.10 → 0.8.11-staging.1
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-CkmGRzTV.js → BundleConfirmPage-CJUMc4bz.js} +1 -1
- package/dist/assets/{QueryClientProvider-DNHWXaGq.js → QueryClientProvider-DKhXIxGb.js} +1 -1
- package/dist/assets/account-page-BgoUbcu5.js +1 -0
- package/dist/assets/account-shell-CA1uzm5M.js +1 -0
- package/dist/assets/add-credits-modal-CZdgXsXj.js +1 -0
- package/dist/assets/advanced-page-oJCTFl8X.js +1 -0
- package/dist/assets/ai-page-BBZtc7Se.js +1 -0
- package/dist/assets/ai-utils-C-JayVoL.js +1 -0
- package/dist/assets/{angular-html-EHq37VRB.js → angular-html-o5zyfNMP.js} +1 -1
- package/dist/assets/{angular-ts-CyvnMw9x.js → angular-ts-COIgzZmG.js} +1 -1
- package/dist/assets/{api-DEEx3e9R.js → api-Cx2rQd2X.js} +2 -2
- package/dist/assets/{api-key-screen-_pmVhsup.js → api-key-screen-D5nimgOY.js} +1 -1
- package/dist/assets/{apl-CDFqSPmq.js → apl-BoMJNa1C.js} +1 -1
- package/dist/assets/{app-html-cache-DNQd-TK8.js → app-html-cache-cjGyQhq6.js} +1 -1
- package/dist/assets/{archive-page-Bn06aNEy.js → archive-page-CFd5rY0d.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-0382ImYF.js → assistant-feature-flag-store-BA7S1fkQ.js} +1 -1
- package/dist/assets/{assistant-identity-store-dQ1LxIr0.js → assistant-identity-store-CRzGEuvZ.js} +1 -1
- package/dist/assets/assistant-status-panel-tHyhaEbK.js +1 -0
- package/dist/assets/{astro-DwtMGmbh.js → astro-BxXWXj3g.js} +1 -1
- package/dist/assets/auth-store-CLLEE3R7.js +6 -0
- package/dist/assets/{avatar-api-BwHmtSnS.js → avatar-api-DNRib28z.js} +1 -1
- package/dist/assets/billing-page-CHK2QX0S.js +35 -0
- package/dist/assets/{blade-CxYcTDW-.js → blade-WVhfIIFU.js} +1 -1
- package/dist/assets/{bsl-CVaQXkX-.js → bsl-DI2KOR3D.js} +1 -1
- package/dist/assets/{button-DdEh-9f_.js → button-C68o-wep.js} +1 -1
- package/dist/assets/{cairo-2Y07A7vZ.js → cairo-BLW1-yrm.js} +1 -1
- package/dist/assets/{capture-error-CZsNGL6n.js → capture-error-Dze4ISSQ.js} +1 -1
- package/dist/assets/chevron-left-IaM5LZKa.js +1 -0
- package/dist/assets/cloud-off-DxVWIkmM.js +1 -0
- package/dist/assets/{cobol-B5bQhoAq.js → cobol-DSnPJjEQ.js} +1 -1
- package/dist/assets/{coffee-CX-zNI46.js → coffee-C2u5V8YU.js} +1 -1
- package/dist/assets/command-palette-DPAR1YHm.js +1 -0
- package/dist/assets/command-palette-window-page-9jQyRPGM.js +1 -0
- package/dist/assets/{community-page-Dt39tUwD.js → community-page-Z3wrcaqB.js} +1 -1
- package/dist/assets/{confirm-dialog-NYG-K9zN.js → confirm-dialog-94QFOD8a.js} +1 -1
- package/dist/assets/{connect-page-Csfk5gxJ.js → connect-page-Bm9eU0DX.js} +1 -1
- package/dist/assets/{contacts-gateway-DBRvewkn.js → contacts-gateway-C1_QOvnM.js} +1 -1
- package/dist/assets/contacts-page-route-kRRr8T1S.js +1 -0
- package/dist/assets/{cpp-D-wqygg_.js → cpp-DXOtVIu9.js} +1 -1
- package/dist/assets/{crystal-2rXzMO-C.js → crystal-B9gFmoaK.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-G9ozZFrR.js → danger-zone-redirect-page-B1cG3_7V.js} +1 -1
- package/dist/assets/debug-page-DNGQ60Ea.js +2 -0
- package/dist/assets/deploy-dialogs-BSHPPgEA.js +1 -0
- package/dist/assets/{detail-card-B5j4Rqau.js → detail-card-x41VlVxj.js} +1 -1
- package/dist/assets/developer-page-bybyPQrB.js +1 -0
- package/dist/assets/devices-page-DdHTw4b0.js +1 -0
- package/dist/assets/dictation-overlay-page-CF3H6vDq.js +1 -0
- package/dist/assets/{dist-BmaCqMgD.js → dist-Dp-9-iAt.js} +3 -3
- package/dist/assets/{document-viewer-page-DZuzK5Y4.js → document-viewer-page-Bu_ZB1F6.js} +1 -1
- package/dist/assets/{earn-credits-modal-BJXnNvv7.js → earn-credits-modal-CvOtyNW3.js} +1 -1
- package/dist/assets/{edge-DxiTxESb.js → edge-CXsS2iNI.js} +1 -1
- package/dist/assets/{elixir-BqExV7Mb.js → elixir-DMZ7YdqR.js} +1 -1
- package/dist/assets/{elm-DoHcZ_98.js → elm-B1XR3S85.js} +1 -1
- package/dist/assets/emails-page-C7cXOhQK.js +1 -0
- package/dist/assets/environment-store-Bh115i2_.js +1 -0
- package/dist/assets/{erb-T1Yd4grC.js → erb-CFiBiZ6X.js} +1 -1
- package/dist/assets/{erlang-sMV4xc3e.js → erlang-CmwBywR-.js} +1 -1
- package/dist/assets/esm-8R3ftdHD.js +2 -0
- package/dist/assets/esm-BYR7plKH.js +2 -0
- package/dist/assets/esm-BppgsWOr.js +2 -0
- package/dist/assets/{esm-BfiJ42Ad.js → esm-CZTGl8kG.js} +2 -2
- package/dist/assets/esm-KrzyZxK5.js +2 -0
- package/dist/assets/feature-flag-catalog-DACOIRBg.js +1 -0
- package/dist/assets/{file-markdown-DX5x9ziL.js → file-markdown-BhOwo9Zq.js} +1 -1
- package/dist/assets/flag-query-freshness-DGEhbjqA.js +1 -0
- package/dist/assets/{fortran-fixed-form-DKnaUnzq.js → fortran-fixed-form-TvXpM4F9.js} +1 -1
- package/dist/assets/{fsharp-BizN7JaO.js → fsharp-CS-Pkz57.js} +1 -1
- package/dist/assets/{gdresource-C03Nu36p.js → gdresource-CxeZzfg7.js} +1 -1
- package/dist/assets/general-page-BEZrnuaW.js +1 -0
- package/dist/assets/{git-commit-Dlbu4g9u.js → git-commit-Da7bdZ3Y.js} +1 -1
- package/dist/assets/{git-rebase-Bp5nCjBJ.js → git-rebase-BzMxo2KY.js} +1 -1
- package/dist/assets/{glimmer-js-BRNkuAjG.js → glimmer-js-DWUZvKpT.js} +1 -1
- package/dist/assets/{glimmer-ts-C-WDx-0B.js → glimmer-ts-DSZbfss2.js} +1 -1
- package/dist/assets/{glsl-CjrHb9ps.js → glsl-rojWftQl.js} +1 -1
- package/dist/assets/{graphql-vJOsI9Q0.js → graphql-CmX-4AwQ.js} +1 -1
- package/dist/assets/{hack-TawZ7_H0.js → hack-C7_aoBsb.js} +1 -1
- package/dist/assets/{haml-Ck1tHO4J.js → haml-D8C8at8e.js} +1 -1
- package/dist/assets/{handlebars-CW8KnsAX.js → handlebars-CGgsh2ze.js} +1 -1
- package/dist/assets/hatching-screen-FC2vI5aB.js +1 -0
- package/dist/assets/home-page-route-B35JpxzC.js +1 -0
- package/dist/assets/{hosting-screen-B-KyyLUm.js → hosting-screen-BAUaETuJ.js} +1 -1
- package/dist/assets/{html-Dni-tmtM.js → html-5BNeAODo.js} +1 -1
- package/dist/assets/{html-derivative-CxaJ6DvG.js → html-derivative-wQ-7p3qh.js} +1 -1
- package/dist/assets/{http-Dp4EVAWP.js → http-D1-lfclh.js} +1 -1
- package/dist/assets/{hurl-CSfNp96n.js → hurl-BoWZcd9t.js} +1 -1
- package/dist/assets/{hxml-DHyd-nrX.js → hxml-CGjKtqGT.js} +1 -1
- package/dist/assets/identity-page-route-BxAxjQc1.js +1 -0
- package/dist/assets/index-D40atya4.js +123 -0
- package/dist/assets/index-eb6lI3k_.css +2 -0
- package/dist/assets/inspect-page-DzshTTzw.js +3 -0
- package/dist/assets/{install-DzcS2hVv.js → install-VINCWiX-.js} +1 -1
- package/dist/assets/integrations-page-DlyX4INT.js +1 -0
- package/dist/assets/{intelligence-layout-DZ_lXLTB.js → intelligence-layout-BLNpCs9w.js} +1 -1
- package/dist/assets/{jinja-CijccQJ8.js → jinja-B2uk_7Zr.js} +1 -1
- package/dist/assets/{jison-Bt8ZjqFZ.js → jison-BZCD480C.js} +1 -1
- package/dist/assets/{julia-BiriYc35.js → julia-lClz55m4.js} +1 -1
- package/dist/assets/{just-DHvFRFSz.js → just-4elA-HsY.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-CwEtke1e.js → keyboard-shortcuts-page-JVBcvalL.js} +1 -1
- package/dist/assets/{latex-Dyl4S9re.js → latex-DhX975xC.js} +1 -1
- package/dist/assets/lib-DrE2poiQ.js +1 -0
- package/dist/assets/{lib-B8eh8Q36.js → lib-XEXItJRf.js} +1 -1
- package/dist/assets/library-detail-page-D-XqHIvW.js +1 -0
- package/dist/assets/library-page-TnTLJBue.js +1 -0
- package/dist/assets/{liquid-BB4lKYGB.js → liquid-oDA73m74.js} +1 -1
- package/dist/assets/{login-flow-BZiMiMrf.js → login-flow-0gjM6dX7.js} +1 -1
- package/dist/assets/{login-page-C-lBEtiR.js → login-page-B2vjMpiR.js} +1 -1
- package/dist/assets/{logout-page-Dd8xdb39.js → logout-page-BJwyrrrE.js} +1 -1
- package/dist/assets/{logs-layout-C2Qs3fI-.js → logs-layout-CZOBbx1m.js} +1 -1
- package/dist/assets/{lua-BvVuKqEk.js → lua-BV8rY9XJ.js} +1 -1
- package/dist/assets/{marko-S1DsBE-c.js → marko-D-wJ8_rt.js} +1 -1
- package/dist/assets/{mdc-Dh4PJVso.js → mdc-Bo50wGum.js} +1 -1
- package/dist/assets/{memory-router-playground-page-D9miza7X.js → memory-router-playground-page-BMjxrZga.js} +1 -1
- package/dist/assets/{misc-MEUnNRwX.js → misc-D918vavx.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-DrrMr6Xw.js → mobile-sidebar-drawer-BxNgk4Ag.js} +1 -1
- package/dist/assets/moon-MxKfIzam.js +1 -0
- package/dist/assets/{native-file-CS-pobfT.js → native-file-B-akg7AA.js} +2 -2
- package/dist/assets/{nextflow-BE6HS58m.js → nextflow-Cvs2ct76.js} +1 -1
- package/dist/assets/{nginx-BZIz2mri.js → nginx-BZRc1Y3p.js} +1 -1
- package/dist/assets/{nim-DTA68UpI.js → nim-C-pvItM1.js} +1 -1
- package/dist/assets/notifications-page-D5EbbhQg.js +1 -0
- package/dist/assets/{oauth-complete-page-DAbPV3TG.js → oauth-complete-page-hsYfmtVH.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-DyEV43x9.js → oauth-popup-complete-page-DCqnVLjk.js} +2 -2
- package/dist/assets/{onboarding-layout-BIVa2BnX.js → onboarding-layout-DJ90cgv4.js} +1 -1
- package/dist/assets/{page-shell-CYsp3hSr.js → page-shell-CBgYsCzo.js} +1 -1
- package/dist/assets/{password-reset-page-BJo9vGl_.js → password-reset-page-DBQpWuWl.js} +1 -1
- package/dist/assets/{perl-G6ZZQsfy.js → perl-ClY3vTPa.js} +1 -1
- package/dist/assets/{php-BeUbGztq.js → php-DBJeSYCQ.js} +1 -1
- package/dist/assets/platform-loopback-page-CXZKX4b6.js +1 -0
- package/dist/assets/plugin-detail-page-tXo1PC8A.js +1 -0
- package/dist/assets/plugins-page-DS9NL2Em.js +1 -0
- package/dist/assets/pre-chat-flow-fFNvTq7m.js +1 -0
- package/dist/assets/privacy-page-CbALE8jZ.js +1 -0
- package/dist/assets/privacy-screen-DY5IDh04.js +1 -0
- package/dist/assets/provider-callback-page-JhVBHPi1.js +1 -0
- package/dist/assets/{provider-key-D_Hh-rHb.js → provider-key-BXkfKalx.js} +1 -1
- package/dist/assets/{provider-signup-page-vOry8yXY.js → provider-signup-page-RUZPlffS.js} +1 -1
- package/dist/assets/{pug-D45MnfGZ.js → pug-BSxu842Z.js} +1 -1
- package/dist/assets/{qml-COPmH2mF.js → qml-D5u3ztNk.js} +1 -1
- package/dist/assets/{query-tags-Cez88bzY.js → query-tags-DrtnUrDx.js} +1 -1
- package/dist/assets/{quick-input-page-nd4iN-tG.js → quick-input-page-BidSvS2X.js} +1 -1
- package/dist/assets/{razor-CQW42Ogp.js → razor-CbM4z1Tw.js} +1 -1
- package/dist/assets/react-query.gen-DzfXetCv.js +1 -0
- package/dist/assets/{resize-errors-DejLlS-b.js → resize-errors-C4dfcP9G.js} +1 -1
- package/dist/assets/resolved-assistants-store-amGWEWJE.js +1 -0
- package/dist/assets/{review-terms-screen-DDGg4T4h.js → review-terms-screen-C9Ku6eJ-.js} +1 -1
- package/dist/assets/routes-VcLWbBmh.js +1 -0
- package/dist/assets/{rst-C9ZVT0AG.js → rst-BYjw4qp6.js} +1 -1
- package/dist/assets/{ruby-DDticLOn.js → ruby-CaSOZx3h.js} +1 -1
- package/dist/assets/{sas-C5rCQJBu.js → sas-CvNu6bzk.js} +1 -1
- package/dist/assets/schedules-TRbnhfBs.js +1 -0
- package/dist/assets/schedules-page-Bw_Uih6S.js +1 -0
- package/dist/assets/{scss-CLfSZysM.js → scss-Dh1cmU9t.js} +1 -1
- package/dist/assets/sdk.gen-ClmX029Q.js +1 -0
- package/dist/assets/sdk.gen-DGlh_aqJ.js +6 -0
- package/dist/assets/select-assistant-screen-Bns7QKso.js +1 -0
- package/dist/assets/settings-layout-LeF4rBMd.js +1 -0
- package/dist/assets/{shaderlab-BEussGgZ.js → shaderlab-Don9AZBL.js} +1 -1
- package/dist/assets/{share-feedback-modal-Cd3EJn8y.js → share-feedback-modal-1WDpUezy.js} +1 -1
- package/dist/assets/{shellsession-DA8c5lD0.js → shellsession-Bg10qU04.js} +1 -1
- package/dist/assets/sidebar-tree-CJNIa6NK.js +1 -0
- package/dist/assets/{signup-page-CBvfJsht.js → signup-page-BtANWfsl.js} +1 -1
- package/dist/assets/skills-page-BOnBRWCC.js +1 -0
- package/dist/assets/{sounds-page-C4u0pcg-.js → sounds-page-DLBy14XI.js} +1 -1
- package/dist/assets/{soy-CBeww7qH.js → soy-B0_Wsg-h.js} +1 -1
- package/dist/assets/{sparql-DOILO3Ud.js → sparql-BL6CgR-R.js} +1 -1
- package/dist/assets/{src-hn7lwVCD.js → src-Bnn6algv.js} +1 -1
- package/dist/assets/src-CfUWwwYf.css +1 -0
- package/dist/assets/{stat-square-sRJmexc-.js → stat-square-BENJGRZr.js} +1 -1
- package/dist/assets/{stata-D4jcvFy6.js → stata-DJqf0_VV.js} +1 -1
- package/dist/assets/{step-indicator-dots-C_NCj5FH.js → step-indicator-dots-Bg7z8g8m.js} +1 -1
- package/dist/assets/{subagent-detail-panel-0yehIKO8.js → subagent-detail-panel-BhOGz9A2.js} +2 -2
- package/dist/assets/{surrealql-B68HrEZ7.js → surrealql-DPOV80TT.js} +1 -1
- package/dist/assets/{svelte-93u-3tLs.js → svelte-B72Sp_Zo.js} +1 -1
- package/dist/assets/system-events-page-DrxnBQi6.js +1 -0
- package/dist/assets/{system-events-redirect-page-DY7BhERh.js → system-events-redirect-page-CYNzPphX.js} +1 -1
- package/dist/assets/{templ-Ctw_ylZL.js → templ-CZQig1uZ.js} +1 -1
- package/dist/assets/{tex-M6sV0M4v.js → tex-s8_sGi7l.js} +1 -1
- package/dist/assets/tiptap-document-editor-D4AO6v9N.js +281 -0
- package/dist/assets/{toast-DU1nH33j.js → toast-BL8OPiip.js} +1 -1
- package/dist/assets/tool-detail-panel-BHN6cPdP.js +1 -0
- package/dist/assets/trace-page-C5SwtGA7.js +1 -0
- package/dist/assets/{ts-tags-Qp4WvCJw.js → ts-tags-DsgYIu_-.js} +1 -1
- package/dist/assets/{twig-CogzkHzb.js → twig-4t8i7hwp.js} +1 -1
- package/dist/assets/upgrade-cancel-page-C0blTthK.js +1 -0
- package/dist/assets/upgrade-success-page-BvH1DDRp.js +1 -0
- package/dist/assets/usage-page-CpT_Ash1.js +1 -0
- package/dist/assets/{use-active-assistant-id-BIhArlF_.js → use-active-assistant-id-B-MOQI3c.js} +1 -1
- package/dist/assets/{use-bus-subscription-BuU6xaZz.js → use-bus-subscription-owH26HHM.js} +1 -1
- package/dist/assets/use-daemon-config-BLshm1vI.js +1 -0
- package/dist/assets/use-is-org-ready-BplTUqfT.js +1 -0
- package/dist/assets/{use-oauth-complete-deep-link-listener-aRDKwx8y.js → use-oauth-complete-deep-link-listener-UdvALOnl.js} +1 -1
- package/dist/assets/{use-onboarding-login-CWKxGXhS.js → use-onboarding-login-C4ufPmq_.js} +1 -1
- package/dist/assets/use-reduced-motion-BIssnhWN.js +1 -0
- package/dist/assets/{useMutation-BuofVRHk.js → useMutation-Lj4VunQV.js} +1 -1
- package/dist/assets/{useQuery-D2zf6Uhu.js → useQuery-B45lW1Kk.js} +1 -1
- package/dist/assets/{utils-Csn9OVRE.js → utils-DuENVQMg.js} +1 -1
- package/dist/assets/{viewer-store-Cc5YI5ay.js → viewer-store-C5Wb17GY.js} +1 -1
- package/dist/assets/voice-page-BGhCX-Jk.js +1 -0
- package/dist/assets/{vue-CKYV05Wl.js → vue-BdxRXv3t.js} +1 -1
- package/dist/assets/{vue-html-CD969jd0.js → vue-html-ChPJMjWW.js} +1 -1
- package/dist/assets/{vue-vine-BPU_80oA.js → vue-vine-D0Jhansu.js} +1 -1
- package/dist/assets/weather-forecast-display-D9-aTqBE.js +1 -0
- package/dist/assets/{web-hjMLFqJn.js → web-BaB1t1zS.js} +1 -1
- package/dist/assets/{web-oH2q0g1D.js → web-CgTB_Jfo.js} +1 -1
- package/dist/assets/{web-XRhV1FIb.js → web-Cl3KW25D.js} +1 -1
- package/dist/assets/{web-m17sEkBA.js → web-DRsG7vi_.js} +1 -1
- package/dist/assets/{web-MavgiYAR.js → web-DchkMCHm.js} +1 -1
- package/dist/assets/{web-Cue81zTY.js → web-DoTwLUow.js} +1 -1
- package/dist/assets/{web-DgJRXlLM.js → web-Lx0SHAZs.js} +1 -1
- package/dist/assets/{welcome-screen-lzsZvDsg.js → welcome-screen-DIkpI7iZ.js} +1 -1
- package/dist/assets/workspace-page-OQIW_JNQ.js +1 -0
- package/dist/assets/{xml-B-TXQRmh.js → xml-DhybgFQS.js} +1 -1
- package/dist/assets/{xsl-hDlDZuus.js → xsl-CM0J2PZ4.js} +1 -1
- package/dist/index.html +60 -55
- package/package.json +1 -1
- package/dist/assets/account-page-u7ke_44I.js +0 -1
- package/dist/assets/account-shell-qQqbocXz.js +0 -1
- package/dist/assets/add-credits-modal-CjJBB_aT.js +0 -1
- package/dist/assets/advanced-page-BybHh4NW.js +0 -1
- package/dist/assets/ai-page-BjCnCImt.js +0 -1
- package/dist/assets/assistant-status-panel-ClxIYpxL.js +0 -1
- package/dist/assets/auth-store-CiQCAKS1.js +0 -6
- package/dist/assets/billing-page-XLpuMBWG.js +0 -34
- package/dist/assets/command-palette-DFTMiCCM.js +0 -1
- package/dist/assets/contacts-page-route-CAfebyIn.js +0 -1
- package/dist/assets/debug-page-DuVq7WGa.js +0 -3
- package/dist/assets/deploy-dialogs-BjBUBG5o.js +0 -1
- package/dist/assets/developer-page-BtLYaMJ4.js +0 -1
- package/dist/assets/devices-page-Dr0ybqr8.js +0 -1
- package/dist/assets/emails-page-ChNIsyxX.js +0 -1
- package/dist/assets/esm-CautLOfa.js +0 -2
- package/dist/assets/esm-DTgeUUet.js +0 -2
- package/dist/assets/esm-DZPMmLdo.js +0 -2
- package/dist/assets/esm-D_HYq01-.js +0 -2
- package/dist/assets/feature-flag-catalog-D6XoH2hm.js +0 -1
- package/dist/assets/general-page-Joeygf_N.js +0 -1
- package/dist/assets/hatching-screen-B4BX6YJm.js +0 -1
- package/dist/assets/home-page-route-CmVT_FWM.js +0 -1
- package/dist/assets/identity-page-route-Dl65N_cj.js +0 -1
- package/dist/assets/index-D3Lqh6yW.css +0 -2
- package/dist/assets/index-DGojzQtP.js +0 -124
- package/dist/assets/inspect-page-DGmhgzNU.js +0 -2
- package/dist/assets/integrations-page-D_TaVfYl.js +0 -1
- package/dist/assets/lib-CNXbvB2y.js +0 -1
- package/dist/assets/library-detail-page-DP_uvWHQ.js +0 -1
- package/dist/assets/library-page-D4Ay8lOK.js +0 -1
- package/dist/assets/notifications-page-aakfxDxE.js +0 -1
- package/dist/assets/platform-loopback-page--72P008D.js +0 -1
- package/dist/assets/plugin-detail-page-cM71JV79.js +0 -1
- package/dist/assets/plugins-page-BbOw3iEZ.js +0 -1
- package/dist/assets/pre-chat-flow-DYa4Tg43.js +0 -1
- package/dist/assets/privacy-page-qfuUT3ZP.js +0 -1
- package/dist/assets/privacy-screen-Iqyv6zx6.js +0 -1
- package/dist/assets/provider-callback-page-CxHnf-wJ.js +0 -1
- package/dist/assets/react-query.gen-B8xaBreR.js +0 -1
- package/dist/assets/resolved-assistants-store-ub66utfl.js +0 -1
- package/dist/assets/routes-Dk5Qeryt.js +0 -1
- package/dist/assets/schedules-BJAra2Ob.js +0 -1
- package/dist/assets/schedules-page-C6MSsxSW.js +0 -1
- package/dist/assets/sdk.gen-AJllUeDf.js +0 -6
- package/dist/assets/sdk.gen-BO4vbMAj.js +0 -1
- package/dist/assets/select-assistant-screen-CNC2S4Bq.js +0 -1
- package/dist/assets/settings-layout-BXQK9h6V.js +0 -1
- package/dist/assets/sidebar-tree-CPFfB2hS.js +0 -1
- package/dist/assets/skills-page-CS2tWjQe.js +0 -1
- package/dist/assets/src-D18r15rs.css +0 -1
- package/dist/assets/system-events-page-Dw7NwEcP.js +0 -1
- package/dist/assets/tiptap-document-editor-pNgheL8Q.js +0 -274
- package/dist/assets/tool-detail-panel-B5SgZOMP.js +0 -1
- package/dist/assets/trace-page-C7tNAZHn.js +0 -1
- package/dist/assets/upgrade-cancel-page-ByiEITdu.js +0 -1
- package/dist/assets/upgrade-success-page-CLOlaEfu.js +0 -1
- package/dist/assets/usage-page-Drq5qPw2.js +0 -1
- package/dist/assets/use-current-platform-assistant-TpNI2OQf.js +0 -1
- package/dist/assets/use-is-org-ready-IPLcsl77.js +0 -1
- package/dist/assets/use-reduced-motion-CZO_MWGV.js +0 -1
- package/dist/assets/voice-page-DiYRh5kS.js +0 -1
- package/dist/assets/weather-forecast-display-DV6RskYo.js +0 -1
- package/dist/assets/workspace-page-DPhpvY0s.js +0 -1
- /package/dist/assets/{abap-C765urHY.js → abap-Cmj0Nk-Z.js} +0 -0
- /package/dist/assets/{about-page-M03PCQjM.js → about-page-C6jVxjyo.js} +0 -0
- /package/dist/assets/{actionscript-3-lC5SPJIn.js → actionscript-3-BmgSZ1d1.js} +0 -0
- /package/dist/assets/{ada-D6z3_0sc.js → ada-Ckd7rwvB.js} +0 -0
- /package/dist/assets/{andromeeda-DxGTh_os.js → andromeeda-B6e4eNz0.js} +0 -0
- /package/dist/assets/{apache-rkls1DSR.js → apache-Bvd3DK8C.js} +0 -0
- /package/dist/assets/{apex-CNQCNeA7.js → apex-DH1jza1E.js} +0 -0
- /package/dist/assets/{api-errors-ChauV4ed.js → api-errors-CsfCFJ8r.js} +0 -0
- /package/dist/assets/{applescript-DQYsaxRM.js → applescript-D5_ugV3G.js} +0 -0
- /package/dist/assets/{ara-Zm0W1ER8.js → ara-DAwwS7gl.js} +0 -0
- /package/dist/assets/{asciidoc-uekNNlKP.js → asciidoc-CVdUBRc9.js} +0 -0
- /package/dist/assets/{asm-Bbxb9Q7N.js → asm-BqH8pPU3.js} +0 -0
- /package/dist/assets/{aurora-x-CaQsey3l.js → aurora-x-pFdyTYcw.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CrafToy8.js → avatar-bundled-components-CxMQhsw8.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-krWs9LGY.js → avatar-svg-compositor-roGooP9D.js} +0 -0
- /package/dist/assets/{awk-CNSoW6F_.js → awk-CEJ-HMbA.js} +0 -0
- /package/dist/assets/{ayu-dark-D3cTidcI.js → ayu-dark-DLXpThOR.js} +0 -0
- /package/dist/assets/{ayu-light-Cs1cEPZA.js → ayu-light-B6l2JP-2.js} +0 -0
- /package/dist/assets/{ayu-mirage-xGyelbjm.js → ayu-mirage-vFtAVFo8.js} +0 -0
- /package/dist/assets/{ballerina-UrfaUWaS.js → ballerina-DEnG7B70.js} +0 -0
- /package/dist/assets/{bat-BSseGlJ2.js → bat-6aBJEOBU.js} +0 -0
- /package/dist/assets/{beancount-BME0bq77.js → beancount-Cr6BBraX.js} +0 -0
- /package/dist/assets/{berry-BbmX7W94.js → berry-C3dEYuh4.js} +0 -0
- /package/dist/assets/{bibtex-Bj1CNNvW.js → bibtex-C3fW7OVS.js} +0 -0
- /package/dist/assets/{bicep-BSN2uHnH.js → bicep-CXdZJn7c.js} +0 -0
- /package/dist/assets/{bird2-DKVBk6e_.js → bird2-DlY4aIej.js} +0 -0
- /package/dist/assets/{c-yTfbDbmI.js → c-DEHFkpVT.js} +0 -0
- /package/dist/assets/{c3-Tbt7gffV.js → c3-iWWj4VR2.js} +0 -0
- /package/dist/assets/{cadence-DQUV1O6z.js → cadence-CaHDavSY.js} +0 -0
- /package/dist/assets/{catppuccin-frappe-DxbhXt9K.js → catppuccin-frappe-BCo5msEa.js} +0 -0
- /package/dist/assets/{catppuccin-latte-CgFlEQYs.js → catppuccin-latte-CY8pJj9v.js} +0 -0
- /package/dist/assets/{catppuccin-macchiato-Pgo0Bz4Y.js → catppuccin-macchiato-DWctQKOC.js} +0 -0
- /package/dist/assets/{catppuccin-mocha-CUd4v5ay.js → catppuccin-mocha-DpMRQFx4.js} +0 -0
- /package/dist/assets/{chevron-right-zTNPbA1m.js → chevron-right-C1TiR5qP.js} +0 -0
- /package/dist/assets/{chevron-up-D4oYMRNW.js → chevron-up-D0uBz2Uy.js} +0 -0
- /package/dist/assets/{clarity-Cja2-cF9.js → clarity-cevzIuVI.js} +0 -0
- /package/dist/assets/{client.gen-BKAMS0D0.js → client.gen-BchW2Z6T.js} +0 -0
- /package/dist/assets/{clojure-1vnBLaIC.js → clojure-G-6D-9ty.js} +0 -0
- /package/dist/assets/{clsx-CyUKbFfa.js → clsx-Cu-Q1nFZ.js} +0 -0
- /package/dist/assets/{cmake-B7nBRZe5.js → cmake-PULhkjs2.js} +0 -0
- /package/dist/assets/{codeowners-l0-p2hBj.js → codeowners-DzyHyLov.js} +0 -0
- /package/dist/assets/{codeql-CZegxzQJ.js → codeql-Cr3zMCSL.js} +0 -0
- /package/dist/assets/{common-lisp-BwWhYub9.js → common-lisp-CTGb9Qda.js} +0 -0
- /package/dist/assets/{conversation-store-BEgf__eu.js → conversation-store-CvL-Qvj6.js} +0 -0
- /package/dist/assets/{coq-DXStvgQ7.js → coq-PtKNcji9.js} +0 -0
- /package/dist/assets/{csharp-DLXmY1sb.js → csharp-D8pIGPAK.js} +0 -0
- /package/dist/assets/{css-B4lldM37.js → css-ChXGTegw.js} +0 -0
- /package/dist/assets/{csv-DGudciUq.js → csv-sU8ECZ_Q.js} +0 -0
- /package/dist/assets/{cue-D53528FL.js → cue-BH1Sd4Rr.js} +0 -0
- /package/dist/assets/{cypher-Bv8Z4GK2.js → cypher-B_iIZEtn.js} +0 -0
- /package/dist/assets/{d-B0tR3tAH.js → d-DZTmqtV9.js} +0 -0
- /package/dist/assets/{dark-plus-DxGtsBDC.js → dark-plus-Bo9qvWQL.js} +0 -0
- /package/dist/assets/{dart-BKofA41x.js → dart-CEnxLQnE.js} +0 -0
- /package/dist/assets/{dax-Dd0gvVZ0.js → dax-CY3Yz5Am.js} +0 -0
- /package/dist/assets/{definitions-FC3DcvI3.js → definitions-BVbl1bSy.js} +0 -0
- /package/dist/assets/{desktop-BbJezzxJ.js → desktop-DEBmLZ-w.js} +0 -0
- /package/dist/assets/{diff-CPVWfCck.js → diff-D4QDVkWF.js} +0 -0
- /package/dist/assets/{dist-B4KYfSON.js → dist-hvfhQWUv.js} +0 -0
- /package/dist/assets/{docker-BUIA6Gjt.js → docker-FkS9pOoC.js} +0 -0
- /package/dist/assets/{dollar-sign-B-1DlpoB.js → dollar-sign-CARQr5C3.js} +0 -0
- /package/dist/assets/{domain-field-cWBlWR4h.js → domain-field-PnLPKONf.js} +0 -0
- /package/dist/assets/{dotenv-BLms_imc.js → dotenv-DZoFwkHG.js} +0 -0
- /package/dist/assets/{dracula-CFX8u3fe.js → dracula-BO1nFC1t.js} +0 -0
- /package/dist/assets/{dracula-soft-DIr29C0b.js → dracula-soft-BXEd2c9N.js} +0 -0
- /package/dist/assets/{dream-maker-D1q7VQg6.js → dream-maker-CYwhkcWt.js} +0 -0
- /package/dist/assets/{edit-chat-session-Cx2xnSSj.js → edit-chat-session-BvCwjYl9.js} +0 -0
- /package/dist/assets/{effective-timezone-CKEcAtDc.js → effective-timezone-BmddLSyO.js} +0 -0
- /package/dist/assets/{ellipsis-vertical-Dxg526It.js → ellipsis-vertical-TLQiFl7T.js} +0 -0
- /package/dist/assets/{emacs-lisp-BcZ9rlnt.js → emacs-lisp-C5on1_C4.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-ZbE1lqD6.js → emoji-catalog-data-DRg56zEI.js} +0 -0
- /package/dist/assets/{event-bus-CMBsMREI.js → event-bus-DW5jUEkE.js} +0 -0
- /package/dist/assets/{everforest-dark-BQBBmI9l.js → everforest-dark-cYrV3iFr.js} +0 -0
- /package/dist/assets/{everforest-light-Cuh0ru8h.js → everforest-light-BFYmMmB0.js} +0 -0
- /package/dist/assets/{external-link-BCB1rbW9.js → external-link-Dj8dup-K.js} +0 -0
- /package/dist/assets/{fennel-BpqBXoBR.js → fennel-DOUQ-PJT.js} +0 -0
- /package/dist/assets/{fish-DyYYr9bo.js → fish-tU0XEiDI.js} +0 -0
- /package/dist/assets/{fluent-LgrDR_-H.js → fluent-CLjEAUYv.js} +0 -0
- /package/dist/assets/{format-VxJLq14L.js → format-B0eAhhVn.js} +0 -0
- /package/dist/assets/{format-date-lYqfuFdi.js → format-date-BUdtLgr5.js} +0 -0
- /package/dist/assets/{format-file-size-Cx-rVS-D.js → format-file-size-DO9eMnZq.js} +0 -0
- /package/dist/assets/{fortran-free-form-zxo4vZkI.js → fortran-free-form-i1oSxlBi.js} +0 -0
- /package/dist/assets/{gdscript-8-sj85Vb.js → gdscript-DoKmcfqT.js} +0 -0
- /package/dist/assets/{gdshader-BZfJmuLj.js → gdshader-DkxS1q2w.js} +0 -0
- /package/dist/assets/{genie-BFvJfKnC.js → genie-CzjuaGtt.js} +0 -0
- /package/dist/assets/{gherkin-CPWjfG76.js → gherkin-fpI0deuw.js} +0 -0
- /package/dist/assets/{github-dark-CDP4O7Bn.js → github-dark-BLAZcc9K.js} +0 -0
- /package/dist/assets/{github-dark-default-BcXmigOb.js → github-dark-default-BKx-M5rS.js} +0 -0
- /package/dist/assets/{github-dark-dimmed-5_i38q35.js → github-dark-dimmed-CpLgrGYo.js} +0 -0
- /package/dist/assets/{github-dark-high-contrast-_CgCWILr.js → github-dark-high-contrast-VOQjCWmV.js} +0 -0
- /package/dist/assets/{github-light-B51iW2_d.js → github-light-BvHvw558.js} +0 -0
- /package/dist/assets/{github-light-default-WJu0iiQj.js → github-light-default-Br2CRkp2.js} +0 -0
- /package/dist/assets/{github-light-high-contrast-CvbJyaey.js → github-light-high-contrast-BFsOyo_C.js} +0 -0
- /package/dist/assets/{gleam-DRz17LOo.js → gleam-D6yLlB_s.js} +0 -0
- /package/dist/assets/{globe-ByNYDdSW.js → globe-CMrMrZef.js} +0 -0
- /package/dist/assets/{gn-CJhzP-4V.js → gn-CIEAcT5u.js} +0 -0
- /package/dist/assets/{gnuplot-BWrGxdNu.js → gnuplot-D3apx92u.js} +0 -0
- /package/dist/assets/{go-CNIAodSs.js → go-CVvducQG.js} +0 -0
- /package/dist/assets/{google-logo-mNxCGWd3.js → google-logo-BMyOIdGG.js} +0 -0
- /package/dist/assets/{groovy-Dbr7YtTJ.js → groovy-0BMfeOwI.js} +0 -0
- /package/dist/assets/{gruvbox-dark-hard-BRDuiL2M.js → gruvbox-dark-hard-CYlE_Ioi.js} +0 -0
- /package/dist/assets/{gruvbox-dark-medium-BSHS7XsT.js → gruvbox-dark-medium-CPnNv_qA.js} +0 -0
- /package/dist/assets/{gruvbox-dark-soft-D5sY56aX.js → gruvbox-dark-soft-D9ImK6Ww.js} +0 -0
- /package/dist/assets/{gruvbox-light-hard-Crga28iX.js → gruvbox-light-hard-CNKFbaWf.js} +0 -0
- /package/dist/assets/{gruvbox-light-medium-DYI_fIXR.js → gruvbox-light-medium-B6aRnAAu.js} +0 -0
- /package/dist/assets/{gruvbox-light-soft-DGrx7O6I.js → gruvbox-light-soft-CY5W_9bh.js} +0 -0
- /package/dist/assets/{hard-drive-DKBjBUo8.js → hard-drive-06X__Bvy.js} +0 -0
- /package/dist/assets/{haskell-s3USba_s.js → haskell-CIXAQuBT.js} +0 -0
- /package/dist/assets/{haxe-DHVuHtAU.js → haxe-BbPW0PV8.js} +0 -0
- /package/dist/assets/{hcl-CibSb2Tt.js → hcl-BAhXnxEb.js} +0 -0
- /package/dist/assets/{hjson-MSVmDATS.js → hjson-w0zQjT1b.js} +0 -0
- /package/dist/assets/{hlsl-wPjA7f4R.js → hlsl-BZIeCd1U.js} +0 -0
- /package/dist/assets/{horizon-bright-BhWyww1y.js → horizon-bright-CoLIUhK-.js} +0 -0
- /package/dist/assets/{horizon-DSv_Vl7g.js → horizon-u0mrDa4H.js} +0 -0
- /package/dist/assets/{houston-kqxIENiP.js → houston-Dg_Sw3IO.js} +0 -0
- /package/dist/assets/{hy-CcDNvXBw.js → hy-yfQTgdnC.js} +0 -0
- /package/dist/assets/{imba-ClQFmFPP.js → imba-CH3r71m8.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-DXEwev6c.js → impersonate-version-flag-_N7rtwW7.js} +0 -0
- /package/dist/assets/{ini-DuVrbFYV.js → ini-CFGjiumx.js} +0 -0
- /package/dist/assets/{java-79Va6bJc.js → java-D7V3dESs.js} +0 -0
- /package/dist/assets/{javascript-wLwe9AbG.js → javascript-DHqsfvRM.js} +0 -0
- /package/dist/assets/{json-DlXFKBYE.js → json-CrZ8fJPp.js} +0 -0
- /package/dist/assets/{json5-CkCkKH3E.js → json5-Bl9TLCA_.js} +0 -0
- /package/dist/assets/{jsonc-0Xq7tyz4.js → jsonc-C5MYZbZA.js} +0 -0
- /package/dist/assets/{jsonl-FSPvpkq2.js → jsonl-BUZGz6Nz.js} +0 -0
- /package/dist/assets/{jsonnet-BSv69JRS.js → jsonnet-BR0nqn6X.js} +0 -0
- /package/dist/assets/{jssm-CyIoWSxC.js → jssm-CBTdduNQ.js} +0 -0
- /package/dist/assets/{jsx-AdZrb5z2.js → jsx-YzMxIs62.js} +0 -0
- /package/dist/assets/{kanagawa-dragon-Bd79Tun-.js → kanagawa-dragon-D37ccMj8.js} +0 -0
- /package/dist/assets/{kanagawa-lotus-DeCV-Urg.js → kanagawa-lotus-CQwQI5XJ.js} +0 -0
- /package/dist/assets/{kanagawa-wave-aglxw59J.js → kanagawa-wave-CoEPa5VN.js} +0 -0
- /package/dist/assets/{kdl-BUg1cLiI.js → kdl-Zssqs7XG.js} +0 -0
- /package/dist/assets/{kotlin-BhThn95H.js → kotlin-Dq2AM2zV.js} +0 -0
- /package/dist/assets/{kusto--hwp7U1v.js → kusto-Bf6C0JAP.js} +0 -0
- /package/dist/assets/{laserwave-C0Ni-UOW.js → laserwave-Dungh0s5.js} +0 -0
- /package/dist/assets/{lean-D0WZXxTy.js → lean-ClY6v3AE.js} +0 -0
- /package/dist/assets/{less-BqMPRJgy.js → less-CvM4wSPb.js} +0 -0
- /package/dist/assets/{light-plus-CvXxK5L0.js → light-plus-BR_n1CxC.js} +0 -0
- /package/dist/assets/{link-2-BHdo-6Lp.js → link-2-C9rNe5kO.js} +0 -0
- /package/dist/assets/{llm-dimension-DZzl8VAV.js → llm-dimension-8wfNr8X5.js} +0 -0
- /package/dist/assets/{llvm-DxX8WKJ-.js → llvm-DzxLhkKH.js} +0 -0
- /package/dist/assets/{loader-circle-BSAFLoPH.js → loader-circle-C563RcPZ.js} +0 -0
- /package/dist/assets/{log-D8tJQN5p.js → log-BDAJFf74.js} +0 -0
- /package/dist/assets/{logo-Dh8zozRh.js → logo-BlUmufty.js} +0 -0
- /package/dist/assets/{luau-X-mc9HXh.js → luau-DNoRukT-.js} +0 -0
- /package/dist/assets/{make-Cw4iUEce.js → make-Dfox3qgR.js} +0 -0
- /package/dist/assets/{markdown-C4wgDjuo.js → markdown-DQTxlAgS.js} +0 -0
- /package/dist/assets/{material-theme-CEmeBs_y.js → material-theme-Ca-eMEoE.js} +0 -0
- /package/dist/assets/{material-theme-darker-BXvhddOF.js → material-theme-darker-tDRSeAjj.js} +0 -0
- /package/dist/assets/{material-theme-lighter-DMW3Ucs8.js → material-theme-lighter-C0MRc9II.js} +0 -0
- /package/dist/assets/{material-theme-ocean-c0mOFI0Z.js → material-theme-ocean-CPMt5a9Z.js} +0 -0
- /package/dist/assets/{material-theme-palenight-DHn1ZMRK.js → material-theme-palenight-BopXlqoA.js} +0 -0
- /package/dist/assets/{matlab-DwttN0_Y.js → matlab-B0EYivAm.js} +0 -0
- /package/dist/assets/{mdx-VNbJXzl_.js → mdx-zyuvufgY.js} +0 -0
- /package/dist/assets/{mermaid-8nLortlR.js → mermaid-CXPg53i3.js} +0 -0
- /package/dist/assets/{min-dark-Cfo9Imnn.js → min-dark-Dc7JF_0M.js} +0 -0
- /package/dist/assets/{min-light-D-eNMY61.js → min-light-DK0JIAk_.js} +0 -0
- /package/dist/assets/{minimize-2-CXA_X5M9.js → minimize-2-BsiUUDFc.js} +0 -0
- /package/dist/assets/{mipsasm-CmR7MApm.js → mipsasm-BKic4Q6r.js} +0 -0
- /package/dist/assets/{mojo-E4JmNL4g.js → mojo-D2QSC8Up.js} +0 -0
- /package/dist/assets/{monokai-DkH9jgy0.js → monokai-DAduqgyw.js} +0 -0
- /package/dist/assets/{moonbit-B0sciZbe.js → moonbit-Bg8t2qV7.js} +0 -0
- /package/dist/assets/{move-Bn26HYrn.js → move-D2XYF2cL.js} +0 -0
- /package/dist/assets/{narrat-Cy8di6K9.js → narrat-Dc-7zgpc.js} +0 -0
- /package/dist/assets/{nextflow-groovy-BJBZYnqb.js → nextflow-groovy-DM-q1yDV.js} +0 -0
- /package/dist/assets/{night-owl-BaJh1bae.js → night-owl-DLGGnVs3.js} +0 -0
- /package/dist/assets/{night-owl-light-DOIQSNZE.js → night-owl-light-RFt0bXLV.js} +0 -0
- /package/dist/assets/{nix-DYMb3fN3.js → nix-Y_mzbhtn.js} +0 -0
- /package/dist/assets/{nord-Dfe8nufc.js → nord-C3wm8E4I.js} +0 -0
- /package/dist/assets/{nushell-BecinQos.js → nushell-DybY7eY7.js} +0 -0
- /package/dist/assets/{objective-c-wBEbMfkE.js → objective-c-Xv41DRqF.js} +0 -0
- /package/dist/assets/{objective-cpp-DwsMXks9.js → objective-cpp-CpCjh4iG.js} +0 -0
- /package/dist/assets/{ocaml-DwRdjLFM.js → ocaml-BkH0TtHI.js} +0 -0
- /package/dist/assets/{odin-CjlC7GSD.js → odin-ByoEVs_h.js} +0 -0
- /package/dist/assets/{one-dark-pro-DQhIyD5N.js → one-dark-pro-B6FJ0zvF.js} +0 -0
- /package/dist/assets/{one-light-CBfRrrPU.js → one-light-BGXnR4Yd.js} +0 -0
- /package/dist/assets/{openscad-CHCGCt5B.js → openscad-Cuk7R1cf.js} +0 -0
- /package/dist/assets/{pascal-DSLi1dwC.js → pascal-ClnFuuSu.js} +0 -0
- /package/dist/assets/{pdf-eIgXagOI.js → pdf-CX8SqjYA.js} +0 -0
- /package/dist/assets/{pencil-BA9LOIzP.js → pencil-72cxzUyZ.js} +0 -0
- /package/dist/assets/{pkl-CYrbmtMh.js → pkl-B9cmWSnc.js} +0 -0
- /package/dist/assets/{plastic-CcBG239g.js → plastic-BRO-85T7.js} +0 -0
- /package/dist/assets/{plsql-DW8rLCTs.js → plsql-Cq55IOpg.js} +0 -0
- /package/dist/assets/{po-DRD9UGH5.js → po-5X8BthBl.js} +0 -0
- /package/dist/assets/{poimandres-C1Y8UWlv.js → poimandres-DCo9RR46.js} +0 -0
- /package/dist/assets/{polar-BuMHPk14.js → polar-CWZaZyg5.js} +0 -0
- /package/dist/assets/{postcss-D_KibIwL.js → postcss-Bef1Uhrq.js} +0 -0
- /package/dist/assets/{powerquery-DPqdCtl4.js → powerquery-D9pPkT1t.js} +0 -0
- /package/dist/assets/{powershell-B_nHu8ou.js → powershell-B3XNafuX.js} +0 -0
- /package/dist/assets/{prisma-CEKpljWu.js → prisma-5gZW7ocs.js} +0 -0
- /package/dist/assets/{prolog-Be9bhwua.js → prolog-D7gIbUtl.js} +0 -0
- /package/dist/assets/{proto-DjKKU6XR.js → proto-DVj7EW9q.js} +0 -0
- /package/dist/assets/{public-asset-Dx4la7Nv.js → public-asset-CUfTDjDm.js} +0 -0
- /package/dist/assets/{puppet-B3_5JXyb.js → puppet-BQIch9Wt.js} +0 -0
- /package/dist/assets/{purescript-B40B7hnk.js → purescript-Chi-qOnj.js} +0 -0
- /package/dist/assets/{python-CBtENHpB.js → python-5JpI6kgG.js} +0 -0
- /package/dist/assets/{qmldir-DmmSKh1z.js → qmldir-DV5mjtmi.js} +0 -0
- /package/dist/assets/{qss-DC50xW7x.js → qss-B1TrC4-y.js} +0 -0
- /package/dist/assets/{r-Bxh_P6nZ.js → r-C90ZrRLQ.js} +0 -0
- /package/dist/assets/{racket-Cd0dc7Z9.js → racket-j2Qs80i3.js} +0 -0
- /package/dist/assets/{raku-Bez4O8bz.js → raku-DThySOcs.js} +0 -0
- /package/dist/assets/{red-B6c6GahA.js → red-Ih7tMgXP.js} +0 -0
- /package/dist/assets/{reg-RGHB2vyu.js → reg-CeWg2nAt.js} +0 -0
- /package/dist/assets/{regexp-B4qMM8sH.js → regexp-B3u_I-T5.js} +0 -0
- /package/dist/assets/{rel-BzD8rdGz.js → rel-0yDiB4cH.js} +0 -0
- /package/dist/assets/{riscv-R9qNw498.js → riscv-DGASrDZv.js} +0 -0
- /package/dist/assets/{ron-fTY3p6VR.js → ron-PTfTVUsf.js} +0 -0
- /package/dist/assets/{rose-pine-0XrcwhjC.js → rose-pine-CBcSv8_z.js} +0 -0
- /package/dist/assets/{rose-pine-dawn-om3p9-A_.js → rose-pine-dawn-DsFTrjAP.js} +0 -0
- /package/dist/assets/{rose-pine-moon-MGxH_v4S.js → rose-pine-moon-DSRrHXqB.js} +0 -0
- /package/dist/assets/{rosmsg-CVvSijm3.js → rosmsg-BZRVDGoy.js} +0 -0
- /package/dist/assets/{rust-CA961RlG.js → rust-IilUxR0Y.js} +0 -0
- /package/dist/assets/{sass-CoOeSP7H.js → sass-BWTyD0km.js} +0 -0
- /package/dist/assets/{save-DHFrLI4J.js → save-DfZ7IoMI.js} +0 -0
- /package/dist/assets/{scala-Bbpmmahb.js → scala-DBszRdoo.js} +0 -0
- /package/dist/assets/{scheme-D-G16M41.js → scheme-CtV0KGCW.js} +0 -0
- /package/dist/assets/{sdbl-BhfGXOJp.js → sdbl-NrV9zyWH.js} +0 -0
- /package/dist/assets/{semver-Dd0ocNOn.js → semver-CRB3SerZ.js} +0 -0
- /package/dist/assets/{shellscript-Cwj5scmN.js → shellscript-CugGNJYU.js} +0 -0
- /package/dist/assets/{slack-dark-EnMwLJh2.js → slack-dark-DJYHgMC5.js} +0 -0
- /package/dist/assets/{slack-ochin-DbQZnuuX.js → slack-ochin-DMZh8xHM.js} +0 -0
- /package/dist/assets/{smalltalk-wkvAA4Ge.js → smalltalk-BF00pyFX.js} +0 -0
- /package/dist/assets/{snazzy-light-HKT43YcO.js → snazzy-light-CWz9pGNQ.js} +0 -0
- /package/dist/assets/{solarized-dark-DHekkVtS.js → solarized-dark-D9XpTy8q.js} +0 -0
- /package/dist/assets/{solarized-light-MPvd5SW1.js → solarized-light-CbOIwuI-.js} +0 -0
- /package/dist/assets/{solidity-B7JThXr2.js → solidity-CbwhXqqI.js} +0 -0
- /package/dist/assets/{splunk-GQMh95CP.js → splunk-BifnD-Y9.js} +0 -0
- /package/dist/assets/{sql-BXe6lADW.js → sql-BghoHtXi.js} +0 -0
- /package/dist/assets/{ssh-config-DVuuj5mu.js → ssh-config-CALIsjYt.js} +0 -0
- /package/dist/assets/{stylus-DbmaQDjE.js → stylus-CW9hRw3O.js} +0 -0
- /package/dist/assets/{swift-BSc6I7H3.js → swift-XnvjWWWQ.js} +0 -0
- /package/dist/assets/{synthwave-84-vXwrabUd.js → synthwave-84-BnPKtV8a.js} +0 -0
- /package/dist/assets/{system-verilog-DGtgT0u9.js → system-verilog-sXcvSAdV.js} +0 -0
- /package/dist/assets/{systemd-DjhZZzlg.js → systemd-gIHkqv2y.js} +0 -0
- /package/dist/assets/{talonscript-jbZ73QSp.js → talonscript-u0b1kqtW.js} +0 -0
- /package/dist/assets/{target-BMMY7Kql.js → target-yNZHTIf1.js} +0 -0
- /package/dist/assets/{tasl-Cp0NySwy.js → tasl-4NbQVfsv.js} +0 -0
- /package/dist/assets/{tcl-CDvB7l7r.js → tcl-CohiqM0A.js} +0 -0
- /package/dist/assets/{terraform-ViADpNla.js → terraform-C2SCpFsh.js} +0 -0
- /package/dist/assets/{tokyo-night-CP5B0W8z.js → tokyo-night-ByryBNMy.js} +0 -0
- /package/dist/assets/{toml-Ng7oUEBY.js → toml-DIwLv6ba.js} +0 -0
- /package/dist/assets/{tsv-CBEPJV1q.js → tsv-Wq0jy8zc.js} +0 -0
- /package/dist/assets/{tsx-Bay-x93q.js → tsx-CJr-G2SX.js} +0 -0
- /package/dist/assets/{turtle-6k3HpfrS.js → turtle-DtUXQD5N.js} +0 -0
- /package/dist/assets/{typescript-CESsi6qd.js → typescript-BWBos5mf.js} +0 -0
- /package/dist/assets/{typespec-BHVNqmiS.js → typespec-CMzaYGNR.js} +0 -0
- /package/dist/assets/{typst-CPHv3Z_E.js → typst-BXss02ax.js} +0 -0
- /package/dist/assets/{usage-window-D5EMg2nb.js → usage-window-BxJlJ0u0.js} +0 -0
- /package/dist/assets/{use-is-mobile-D_xrnINF.js → use-is-mobile-CgLpEUW2.js} +0 -0
- /package/dist/assets/{v-DbQnswmZ.js → v-Dlx5aRMh.js} +0 -0
- /package/dist/assets/{vala-B9xFrP6Q.js → vala-BPY-dxs1.js} +0 -0
- /package/dist/assets/{vb-DhUjJFob.js → vb-fEZJaj_I.js} +0 -0
- /package/dist/assets/{verilog-knoXnPW_.js → verilog-Ch3h9a5t.js} +0 -0
- /package/dist/assets/{vesper-DMn9sD5q.js → vesper-CfNpvTpc.js} +0 -0
- /package/dist/assets/{vhdl-BC236CWS.js → vhdl-k9JLsLxQ.js} +0 -0
- /package/dist/assets/{viml-BiHN9dcP.js → viml-AETnYpBH.js} +0 -0
- /package/dist/assets/{vitesse-black-BPikaA4r.js → vitesse-black-CK3sbzcK.js} +0 -0
- /package/dist/assets/{vitesse-dark-etdagetc.js → vitesse-dark-D1-w1Fr7.js} +0 -0
- /package/dist/assets/{vitesse-light-wF4P0Zsy.js → vitesse-light-D7Ky4DHb.js} +0 -0
- /package/dist/assets/{vyper-9LO9XYNL.js → vyper-BOB1dBvz.js} +0 -0
- /package/dist/assets/{wand-sparkles-DL9Oe56R.js → wand-sparkles-C8AciJgl.js} +0 -0
- /package/dist/assets/{wasm-BQxIq9Eb.js → wasm-BxcqIoxw.js} +0 -0
- /package/dist/assets/{wasm-cLEfWrbG.js → wasm-CkSOvETR.js} +0 -0
- /package/dist/assets/{wenyan-CpO3LOSA.js → wenyan-klF87KTD.js} +0 -0
- /package/dist/assets/{wgsl-DVMBiogp.js → wgsl-Critfvz0.js} +0 -0
- /package/dist/assets/{wikitext-C4YdJkhb.js → wikitext-o9T06DMF.js} +0 -0
- /package/dist/assets/{wit-Dk2LwD_7.js → wit-13nwpGLw.js} +0 -0
- /package/dist/assets/{with-selector-BomrVLKx.js → with-selector-CLG77dkv.js} +0 -0
- /package/dist/assets/{wolfram-BewBpAXL.js → wolfram-DrTARb9i.js} +0 -0
- /package/dist/assets/{x-BDqbYVtS.js → x-D1JFrRas.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-B4zTZTld.js → xterm-addon-fit-DZmo2fSB.js} +0 -0
- /package/dist/assets/{xterm-D62GGRqD.js → xterm-mJFfqhZz.js} +0 -0
- /package/dist/assets/{yaml-DvBKdDiG.js → yaml-TgRApoDa.js} +0 -0
- /package/dist/assets/{zenscript-CSyyk0b_.js → zenscript-npva8tX5.js} +0 -0
- /package/dist/assets/{zig-DUP4LvJO.js → zig-shXrLLVU.js} +0 -0
- /package/dist/assets/{zwitch-19hSuEjR.js → zwitch-BhcVC6Ch.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-CZsNGL6n.js";import{t as o}from"./react-DJZBPgpf.js";import{d as s,h as c}from"./chunk-5KNZJZUH-DdS6bb-3.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-NYG-K9zN.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-BYMhDpQo.js";import{n as C}from"./toast-DU1nH33j.js";import{t as w}from"./createLucideIcon-D6d6iDdi.js";import{n as T,t as E}from"./domain-field-cWBlWR4h.js";import{t as D}from"./external-link-BCB1rbW9.js";import{t as O}from"./loader-circle-BSAFLoPH.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-AJllUeDf.js";import{C as I,R as L,S as R,s as ee}from"./react-query.gen-B8xaBreR.js";import{r as z}from"./api-errors-ChauV4ed.js";import{i as te}from"./routes-Dk5Qeryt.js";import{t as B}from"./use-is-org-ready-IPLcsl77.js";import{r as V}from"./query-tags-Cez88bzY.js";import{t as H}from"./assistant-feature-flag-store-0382ImYF.js";import{t as U}from"./assistant-identity-store-dQ1LxIr0.js";import{$r as W,Ar as G,Br as ne,Da as K,Dr as q,Er as J,Fr as re,Gr as Y,Hr as ie,Ir as X,Jr as ae,Kr as oe,Lr as se,Mr as ce,Ni as le,Nr as ue,Or as de,Pr as fe,Qr as pe,Rr as me,Ur as he,Vr as ge,Wr as _e,Xr as ve,Yi as ye,Yr as be,Zr as xe,_i as Se,ai as Ce,ao as we,ar as Te,bi as Ee,ci as De,ct as Oe,di as ke,do as Ae,dt as je,ei as Me,en as Ne,et as Pe,fi as Fe,ft as Ie,gi as Le,gt as Re,hi as ze,ht as Be,ii as Ve,jr as He,kr as Ue,li as We,lo as Ge,lt as Ke,mi as qe,mo as Je,mt as Ye,ni as Xe,oi as Ze,ot as Qe,pi as $e,pt as et,qr as tt,ri as nt,si as rt,st as it,ti as at,ui as ot,ut as st,vi as ct,vt as lt,yi as ut,yt as dt,zr as ft}from"./index-DGojzQtP.js";import{t as pt}from"./use-active-assistant-id-BIhArlF_.js";import{t as mt}from"./detail-card-B5j4Rqau.js";var ht=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`}]]),Z=e(o(),1),Q=f();function gt({mode:e,onChange:t}){return(0,Q.jsx)(`div`,{className:`max-w-[280px]`,children:(0,Q.jsx)(x,{ariaLabel:`Service mode`,value:e,onChange:t,items:[{value:`managed`,label:`Managed`},{value:`your-own`,label:`Your Own`}]})})}function _t({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,Q.jsxs)(mt,{id:e,title:t,subtitle:n,accessory:(0,Q.jsx)(gt,{mode:r,onChange:i}),children:[(0,Q.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Q.jsx)(`div`,{className:`mt-4`,children:a})]})}function $({onClick:e,disabled:t}){return(0,Q.jsx)(p,{onClick:e,disabled:t,children:`Save`})}function vt({onClick:e,filled:t=!1}){return(0,Q.jsx)(p,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function yt({id:e,title:t,subtitle:n,children:r}){return(0,Q.jsxs)(mt,{id:e,title:t,subtitle:n,children:[(0,Q.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Q.jsx)(`div`,{className:`mt-4`,children:r})]})}function bt({guide:e}){return(0,Q.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,Q.jsx)(K,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`span`,{children:e.description}),(0,Q.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,Q.jsx)(D,{className:`h-3 w-3`})]})]})]})}function xt({status:e,message:t,isLoading:n}){return n?(0,Q.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,Q.jsx)(O,{className:`h-3 w-3 animate-spin`}),`Checking domain…`]}):e?e===`verified`?(0,Q.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,Q.jsx)(Je,{className:`h-3 w-3`}),`Domain verified`]}):e===`pending`||e===`not_started`?(0,Q.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,Q.jsx)(we,{className:`h-3 w-3`}),`Verifying domain…`]}):(0,Q.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,Q.jsx)(Ae,{className:`h-3 w-3`}),`Verification failed`]}):(0,Q.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 St=`__custom__`;function Ct(e){return e?!!(e.profile||e.provider||e.model):!1}function wt(e,t){let n=Ct(e);return n===Ct(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=Ct(i),l=!i||!c?``:i.provider||i.model?St:i.profile??``,u=l===St,d=i?.provider??nt[0],f=ut(d??`anthropic`).map(e=>({value:e.id,label:e.displayName})),p=!!i?.provider&&!i?.model;function m(t){if(t===`__custom__`){let t=nt[0];o(e,{profile:null,provider:t,model:ct(t)??``})}else t===``?o(e,null):o(e,{profile:t,provider:null,model:null})}function g(t){let n=ct(t)??``;o(e,{...i??{},profile:null,provider:t,model:n})}function _(t){o(e,{...i??{},model:t})}return(0,Q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:t}),n&&(0,Q.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[n,r&&(0,Q.jsxs)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:[`· Default: `,r]})]})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c&&(0,Q.jsx)(h,{value:l,onChange:m,options:a,className:`w-36`}),(0,Q.jsx)(b,{checked:c,onChange:t=>s(e,t),"aria-label":`Override ${t}`})]})]}),c&&u&&(0,Q.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex-1`,children:[(0,Q.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:d??``,onChange:g,options:nt.map(e=>({value:e,label:Ve[e]??e}))})]}),(0,Q.jsxs)(`div`,{className:`flex-1`,children:[(0,Q.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,Q.jsx)(h,{value:i?.model??``,onChange:_,options:f})]})]}),p&&(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:`Pick a model`})]})]})}function Et(){let e=pt();return{assistantId:e,resolveAssistantId:(0,Z.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,Z.useMemo)(()=>t?.llm?.profiles??{},[t?.llm?.profiles]),r=(0,Z.useMemo)(()=>t?.llm?.profileOrder??[],[t?.llm?.profileOrder]),i=(0,Z.useMemo)(()=>t?.llm?.activeProfile??null,[t?.llm?.activeProfile]),a=(0,Z.useMemo)(()=>t?.llm?.callSites??{},[t?.llm?.callSites]);return{assistantId:e,config:t,profiles:n,profileOrder:r,orderedProfiles:(0,Z.useMemo)(()=>tt(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?be(i,n):void 0;return e.setQueryData(r,e=>e&&Y(e,n)),{rollback:a,queryKey:r}},onError:(t,n,r)=>{let{queryKey:i,rollback:a}=r??{};i&&a&&e.setQueryData(i,e=>e&&Y(e,a))},onSettled:n=>{let r=n?.resolvedId??t;e.invalidateQueries({queryKey:V(r)})}})}function kt(){let{resolveAssistantId:e}=Et();return(0,Z.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});oe(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,Z.useRef)(!1);return(0,Q.jsx)(S.Root,{open:e,onOpenChange:e=>{!e&&!r.current&&t()},children:e?(0,Q.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,Z.useState)(``),[d,f]=(0,Z.useState)({}),[m,h]=(0,Z.useState)(!1),[_,v]=(0,Z.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,Z.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,Z.useMemo)(()=>D.map(e=>e.id),[D]),j=(0,Z.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,Z.useMemo)(()=>new Set(A),[A]),N=(0,Z.useMemo)(()=>Object.entries(i).some(([e,t])=>M.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[i,M]),P=(0,Z.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,Z.useMemo)(()=>Object.values(j).some(e=>Ct(e)&&!!e?.provider&&!e?.model),[j]),I=H.use.queryComplexityRouting(),L=(0,Z.useCallback)(e=>[...ge(_e(r,[e]),I).map(e=>({value:e.name,label:ie(e)})),{value:St,label:`Custom`}],[r,I]),R=(0,Z.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,Z.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,Z.useCallback)((e,t)=>{f(n=>({...n,[e]:t}))},[]),B=(0,Z.useCallback)((e,t)=>{if(!t){f(t=>({...t,[e]:null}));return}let n=he(r,D.find(t=>t.id===e)?.defaultProfile,I);if(n)f(t=>({...t,[e]:{profile:n}}));else{let t=nt[0],n=ct(t)??``;f(r=>({...r,[e]:{provider:t,model:n}}))}},[D,r,I]),V=(0,Z.useCallback)(async()=>{h(!0),n?.(!0);try{let e={};for(let t of Object.keys(j)){let n=j[t]??null;e[t]=Ct(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,Z.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,Q.jsxs)(S.Content,{size:`lg`,hideCloseButton:!0,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Action Overrides`}),(0,Q.jsx)(S.Description,{children:`Customize which model profile specific actions should use. Uses your default profile if no override is set.`})]}),(0,Q.jsxs)(S.Body,{children:[(0,Q.jsx)(`div`,{className:`mb-4`,children:(0,Q.jsx)(y,{type:`search`,value:c,onChange:e=>l(e.target.value),placeholder:`Search actions…`,leftIcon:(0,Q.jsx)(ye,{className:`h-4 w-4`}),fullWidth:!0})}),w&&(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(O,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),T&&(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Couldn't load actions`}),(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Make sure your assistant is running`}),(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>void E(),children:`Retry`})]}),!w&&!T&&x&&(0,Q.jsx)(`div`,{className:`space-y-4`,children:z.length===0?(0,Q.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,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,Q.jsx)(`div`,{className:`space-y-1`,children:t.map(e=>{let t=(()=>{let t=j[e.id]??null;return!t||!Ct(t)?``:t.provider||t.model?`__custom__`:t.profile??``})(),n=e.defaultProfile?r.find(t=>t.name===e.defaultProfile)?.label??e.defaultProfile:null;return(0,Q.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,Q.jsxs)(S.Footer,{children:[N&&(0,Q.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,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:t,disabled:m,children:`Cancel`}),(0,Q.jsx)(p,{variant:`primary`,size:`compact`,onClick:()=>void V(),disabled:!P||F||m,children:m?(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin`}):`Save`})]}),(0,Q.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,Q.jsx)(S.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,Q.jsxs)(S.Content,{size:`sm`,children:[(0,Q.jsx)(S.Header,{children:(0,Q.jsx)(S.Title,{children:`Can't Delete Profile`})}),(0,Q.jsxs)(S.Body,{className:`space-y-4`,children:[(0,Q.jsx)(m,{variant:`body-medium-default`,as:`p`,children:c}),e&&e.callSiteIds.length>0&&(0,Q.jsx)(`ul`,{className:`space-y-1 pl-1`,children:e.callSiteIds.map(e=>(0,Q.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,(0,Q.jsx)(`code`,{children:e})]},e))}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Replacement profile`}),(0,Q.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,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,Q.jsxs)(S.Footer,{children:[(0,Q.jsx)(p,{variant:`ghost`,size:`compact`,onClick:o,children:`Cancel`}),(0,Q.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===ne;return(0,Q.jsxs)(`div`,{className:`relative`,children:[n?.name===e.name&&!n.after&&(0,Q.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),(0,Q.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,Q.jsx)(ht,{className:`h-4 w-4 shrink-0 ${g?`invisible`:`cursor-grab text-[var(--content-tertiary)]`}`}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1${_?``:` opacity-55`}`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(m,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),g&&e.name!==`auto`&&(0,Q.jsx)(v,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename or disable this profile.`,children:`Platform`})]}),e.description?(0,Q.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.description}):null,e.model??e.provider?(0,Q.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.model??e.provider}):null]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Q.jsx)(`div`,{className:`flex shrink-0 items-center`,title:_?`Active — toggle to hide from pickers`:`Disabled — toggle to show in pickers`,children:(0,Q.jsx)(b,{checked:_,onChange:e=>h(e),disabled:a,"aria-label":`${_?`Disable`:`Enable`} ${e.label??e.name}`})}),(0,Q.jsxs)(`div`,{className:`flex w-[92px] items-center justify-end gap-2${y?` invisible`:``}`,children:[(0,Q.jsx)(p,{variant:`ghost`,size:`compact`,onClick:d,children:g?`View`:`Edit`}),(0,Q.jsx)(p,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(le,{}),"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,Q.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),i?(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:i}):null,e.name===`auto`&&(0,Q.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,Z.useState)(!1),[h,g]=(0,Z.useState)(null),{data:_}=u({...R({path:{assistant_id:t}}),enabled:e}),v=(0,Z.useMemo)(()=>_?se(_.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,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(S.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,Q.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,Q.jsx)(J,{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,Z.useState)({}),[f,h]=(0,Z.useState)({}),[g,_]=(0,Z.useState)(new Set),[v,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(null),[T,E]=(0,Z.useState)(null),D=(0,Z.useRef)(null),O=(0,Z.useRef)(null),[k,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(null),[N,P]=(0,Z.useState)(``),[F,I]=(0,Z.useState)(!1),L=H.use.queryComplexityRouting(),R=(0,Z.useMemo)(()=>ge(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,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(S.Content,{size:`md`,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Model Profiles`}),(0,Q.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,Q.jsxs)(S.Body,{children:[R.length===0?(0,Q.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,Q.jsx)(`div`,{className:`space-y-1`,children:R.map(e=>(0,Q.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,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:T}),v&&(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:v})]}),(0,Q.jsxs)(S.Footer,{className:`justify-between`,children:[(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:c,children:`+ New Profile`}),(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:o,children:`Done`})]})]}),(0,Q.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,Z.useState)(e),[d,f]=(0,Z.useState)(void 0),g=c===`managed-edit`,[_,v]=(0,Z.useState)(t?.label??``),[b,x]=(0,Z.useState)(t?.name??``),[C,w]=(0,Z.useState)(t?.provider??`anthropic`),[T,E]=(0,Z.useState)(()=>t?t.auth.type:`platform`),[D,O]=(0,Z.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[k,j]=(0,Z.useState)(t?.baseUrl??``),[N,P]=(0,Z.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[F,I]=(0,Z.useState)(!1),[L,R]=(0,Z.useState)(null),ee=C===`openai-compatible`,z=(0,Z.useMemo)(()=>{let e=i?ce:ce.filter(e=>e!==`openai-compatible`);return C&&!e.includes(C)?[...e,C]:e},[i,C]),{handleLabelChange:te,resetDirty:B}=Ue(c,v,x),[V,H]=(0,Z.useState)(``),[U,W]=(0,Z.useState)(!1),ne=l(),K=(0,Z.useMemo)(()=>fe(D),[D]),J=T===`api_key`&&K!==null,{hasStoredCredential:Y,isLoading:ie,queryKey:ae}=ft({assistantId:n,credentialKind:`credential`,credentialName:K?`${K.service}:${K.field}`:``,enabled:J,errorContext:`settings-provider-editor-credential-presence`}),{credentials:oe,queryKey:se}=de({assistantId:n,enabled:T===`api_key`});(0,Z.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 pe=b.trim().length>0;async function he(){if(pe){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=fe(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(ae,!0),ne.invalidateQueries({queryKey:se})}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(ue(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 ge=oe.filter(e=>e.service===C),_e=c!==`create`&&t?.auth.type===`api_key`,ve=ge.length>0||_e,ye=G(`Enter your API key`,Y);return c===`create`?(0,Q.jsx)(q,{variant:`modal`,assistantId:n,existingNames:r,openAICompatibleEndpointsEnabled:i,chatgptSubscriptionEnabled:a,defaultProviderType:C,defaultAuthType:d,onCreated:o,onCancel:s},C):(0,Q.jsxs)(S.Content,{size:`md`,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Edit Connection`}),(0,Q.jsx)(S.Description,{children:g?`Managed by Vellum — auth is locked, but you can rename "${t?.name}".`:`Editing "${t?.name}".`})]}),(0,Q.jsxs)(S.Body,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,Q.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,Q.jsx)(y,{value:_,onChange:e=>te(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,Q.jsx)(y,{value:b,placeholder:`e.g. anthropic-personal`,disabled:!0,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{"aria-label":`Provider`,value:C,onChange:e=>w(e),disabled:!0,options:z.map(e=>({value:e,label:X[e]}))})]}),ee&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,Q.jsx)(y,{value:k,onChange:e=>j(e.target.value),placeholder:`https://api.example.com/v1`,disabled:g,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,Q.jsx)(y,{value:N,onChange:e=>P(e.target.value),placeholder:`model-1, model-2`,disabled:g,fullWidth:!0}),(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Auth Type`}),(0,Q.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`]:Ee(C)?[`api_key`,`platform`]:[`api_key`],T&&!e.includes(T)&&e.push(T),e.map(e=>({value:e,label:He[e]}))})()})]}),T===`api_key`&&(0,Q.jsx)(re,{apiKeyValue:V,onApiKeyChange:H,credential:D,onCredentialChange:O,isAuthLocked:g,isLoadingCredential:ie,apiKeyPlaceholder:ye,provider:C,providerCredentials:ge,showAdvancedSection:ve,onError:R}),T===`oauth_subscription`&&(0,Q.jsx)(me,{assistantId:n,onConnected:o}),L&&(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:L})]}),(0,Q.jsxs)(S.Footer,{children:[(0,Q.jsx)(p,{variant:`ghost`,size:`compact`,onClick:s,children:`Cancel`}),c===`managed-edit`&&(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:le,disabled:F||U,children:`Save as New`}),(0,Q.jsx)(p,{variant:`primary`,size:`compact`,disabled:!pe||F||U,onClick:()=>void he(),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,Z.useState)(!1),[s,c]=(0,Z.useState)(null),d=l(),{data:f,isLoading:p,isError:m}=u({...R({path:{assistant_id:t}}),enabled:e}),h=(0,Z.useMemo)(()=>se(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,Q.jsx)(S.Root,{open:e,onOpenChange:e=>{e||(a?v():n())},children:e?a?(0,Q.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,Q.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,Z.useState)({}),[u,d]=(0,Z.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,Q.jsxs)(S.Content,{size:`md`,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Provider Connections`}),(0,Q.jsx)(S.Description,{children:`Manage inference provider connections. Each connection binds a name to a provider and auth configuration.`})]}),(0,Q.jsx)(S.Body,{children:t?(0,Q.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,Q.jsx)(`div`,{className:`h-10 animate-pulse rounded-lg bg-[var(--surface-active)]`},e))}):n?(0,Q.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,Q.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,Q.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,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg px-2 py-2`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(m,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),r&&(0,Q.jsx)(v,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename this connection.`,children:`Platform`})]}),(0,Q.jsxs)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:[e.label?`${e.name} · `:``,X[e.provider]??e.provider,` · `,Lt(e.auth)]})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Q.jsx)(p,{variant:`ghost`,size:`compact`,onClick:()=>a(e),children:`Edit`}),(0,Q.jsx)(p,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(le,{}),"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,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:n}):null]},e.name)})})}),(0,Q.jsxs)(S.Footer,{className:`justify-between`,children:[(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:o,children:`+ New Connection`}),(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:i,children:`Done`})]})]})}function Bt(e){let[t,n]=(0,Z.useState)(void 0);return(0,Z.useEffect)(()=>{t!==void 0&&e===t.value&&n(void 0)},[e,t]),[t===void 0?e:t.value,(0,Z.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,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),[f,g]=(0,Z.useState)(!1),_=H.use.queryComplexityRouting(),v=(0,Z.useMemo)(()=>ge(_e(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,Z.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,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yt,{title:`Language Model`,subtitle:`Configure the LLMs that power your assistant`,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Default Profile`}),(0,Q.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`:ie(e)}))}),_&&o===`auto`&&(0,Q.jsx)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--surface-warning-subtle)] px-3 py-2`,children:(0,Q.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,Q.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,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>g(!0),children:`Providers`}),(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>l(!0),children:`Profiles`}),(0,Q.jsx)(p,{variant:`outlined`,size:`compact`,onClick:()=>d(!0),children:b})]}),x&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:S,disabled:i.isPending}),i.isPending&&(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]})}),e&&(0,Q.jsx)(Pt,{isOpen:c,assistantId:e,onClose:()=>l(!1)}),e&&(0,Q.jsx)(At,{isOpen:u,onClose:()=>d(!1),assistantId:e}),e&&(0,Q.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,Z.useMemo)(()=>{if(!i)return{serverWebSearchMode:n(qe,`your-own`),serverWebSearchProvider:n(ze,`inference-provider-native`)};let e=i.services?.[`web-search`],t=e?.mode;return{serverWebSearchMode:t===`managed`||t===`your-own`?t:n(qe,`your-own`),serverWebSearchProvider:e?.provider||n(`vellum:ai:webSearchProvider`,`inference-provider-native`)}},[i]),[f,p]=(0,Z.useState)(!1),[m,g]=Bt(u),[_,v]=Bt(d),[b,x]=(0,Z.useState)(``),S=ve.has(_),{hasStoredCredential:w,queryKey:T}=ft({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=G(W[_]??`Enter your API key`,w),A=(0,Z.useCallback)(async()=>{p(!0);let e=b.trim(),t=m===`managed`?`inference-provider-native`:_,n=ae(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(qe,m),r(ze,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,Z.useCallback)(()=>{let e=ae(_);e&&t(e),x(``),v(`inference-provider-native`),r(ze,`inference-provider-native`)},[_,v]);return(0,Q.jsx)(_t,{title:`Web Search`,subtitle:`Configure how your assistant should search the web`,mode:m,onModeChange:e=>g(e),children:m===`managed`?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Web search is included with managed inference.`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:A,disabled:D}),f&&(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:_,onChange:v,options:pe.map(e=>({value:e,label:xe[e]??e}))})]}),S&&(0,Q.jsx)(y,{label:`API Key`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:k,fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:A,disabled:D}),f&&(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),S&&(0,Q.jsx)(vt,{onClick:j,filled:!0})]})]})})}function Ut({assistantId:e,assistantHandle:t,emailRootDomain:n}){let r=l(),i=s(),[o,f]=c(),[m,h]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(null),[S,w]=(0,Z.useState)(``),[D,k]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(!1),[P,F]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{v||!t||m||(h(t),y(!0))},[t,v,m]);let I=u({...Ne(),enabled:!0}),L=I.data,R=L?.entitlements,ee=R?.managed_email===!0,B=!!R&&!ee,V=!L&&I.isError&&!I.isFetching,H=u({...Oe({path:{assistant_id:e}}),enabled:!B}),U=u({...et({path:{assistant_id:e}}),enabled:!B}),W=H.data?.results?.[0],G=U.data?.results?.[0],ne=W?`${W.subdomain}.${n}`:null,K=u({...Be({path:{assistant_id:e,id:G?.id??``}}),enabled:!!G?.id,refetchOnWindowFocus:!1}),q=u({...st({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,Z.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(Qe()),re=d(it()),Y=d(je()),ie=d(Ie()),X=(0,Z.useCallback)(()=>{let t={assistant_id:e};r.invalidateQueries({queryKey:Ke({path:t})}),r.invalidateQueries({queryKey:Ye({path:t})}),G?.id&&r.invalidateQueries({queryKey:Re({path:{...t,id:G.id}})}),r.invalidateQueries({queryKey:dt()})},[G?.id,e,r]),ae=(0,Z.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),X(),C.success(`Domain ${t}.${n} registered.`)}catch(e){x(z(e,void 0,`Failed to register domain.`))}},[e,n,X,J,m]),oe=(0,Z.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){k(`Enter an email username.`);return}try{await Y.mutateAsync({path:{assistant_id:e},body:{username:t}}),w(``),k(null),X(),C.success(`Email address created.`)}catch(e){k(z(e,void 0,`Failed to create email address.`))}},[e,X,Y,S]),se=(0,Z.useCallback)(async()=>{if(G?.id){F(!1);try{await ie.mutateAsync({path:{assistant_id:e,id:G.id}}),X(),C.success(`Email address removed.`)}catch(e){a(e,{context:`email_address_delete`}),C.error(`Failed to remove email address.`)}}},[G?.id,e,ie,X]),ce=(0,Z.useCallback)(async()=>{if(!W?.id)return;if(G){C.error(`Remove the email address first.`);return}N(!1);let t=W.subdomain;try{await re.mutateAsync({path:{assistant_id:e,id:W.id}}),h(t),X(),C.success(`Domain released.`)}catch(e){a(e,{context:`email_domain_release`}),C.error(`Failed to release domain.`)}},[G,e,re,W?.id,W?.subdomain,X]);if(I.isLoading)return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin`}),`Checking subscription…`]});if(B)return(0,Q.jsxs)(_,{tone:`info`,icon:(0,Q.jsx)(T,{className:`h-4 w-4`,"aria-hidden":!0}),title:`Get a dedicated email address for your assistant`,actions:(0,Q.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,Q.jsx)(`strong`,{children:`Your Own`}),` to bring an existing provider.`]});let ue=V?(0,Q.jsx)(_,{tone:`warning`,title:`Couldn't verify subscription status`,actions:(0,Q.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,Q.jsxs)(`div`,{className:`space-y-4`,children:[ue,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Address`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:G.address}),(0,Q.jsx)(xt,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,Q.jsx)(p,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(le,{}),onClick:()=>F(!0),disabled:ie.isPending,"aria-label":`Remove email address`})]}),(0,Q.jsx)(g,{open:P,title:`Remove Email Address`,message:(0,Q.jsxs)(Q.Fragment,{children:[`Are you sure you want to remove `,(0,Q.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:se,onCancel:()=>F(!1)})]}),K.data?.usage&&(0,Q.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,Q.jsxs)(`div`,{className:`space-y-4`,children:[ue,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Domain`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[W.subdomain,`.`,n]}),(0,Q.jsx)(xt,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,Q.jsx)(p,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(le,{}),onClick:()=>N(!0),disabled:re.isPending,"aria-label":`Release domain`})]}),(0,Q.jsx)(g,{open:M,title:`Release Domain`,message:(0,Q.jsxs)(Q.Fragment,{children:[`Are you sure you want to release `,(0,Q.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:ce,onCancel:()=>N(!1)})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Email address`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.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,Q.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,Q.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,ne]})]}),(0,Q.jsx)(p,{onClick:oe,disabled:Y.isPending||!S.trim(),children:Y.isPending?`Creating…`:`Create`})]}),D&&(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:D})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[ue,(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Subdomain`}),(0,Q.jsx)(E,{subdomain:m,onSubdomainChange:e=>{h(e),b&&x(null)},domainSuffix:n,subdomainPlaceholder:`my-assistant`,error:b}),(0,Q.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,Q.jsx)(p,{onClick:()=>j(!0),disabled:J.isPending||!m.trim(),children:J.isPending?`Registering…`:`Register`}),(0,Q.jsx)(g,{open:A,title:`Set Subdomain`,message:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.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:ae,onCancel:()=>j(!1)})]})}function Wt(){let e=pt(),{data:t}=u(lt()),o=t?.results?.[0]?.handle,s=Te.use.emailRootDomain(),c=Pe(),[l,d]=(0,Z.useState)(()=>c===`gated`?`your-own`:n(Ze,`managed`)),[f,p]=(0,Z.useState)(()=>n(Ce,`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,Z.useEffect)(()=>{m.error&&a(m.error,{context:`byo_email_credential_check`,bestEffort:!0})},[m.error]);let g=m.data?.hasSecret===!0,v=(0,Z.useCallback)(e=>{d(e),r(Ze,e)},[]),y=(0,Z.useCallback)(()=>{r(Ce,f),C.success(`Email settings saved.`)},[f]),b=(0,Z.useMemo)(()=>at.find(e=>e.id===f)??at[0],[f]),x=(0,Q.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,Q.jsx)(K,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsxs)(`span`,{children:[`Configure `,b.displayName,` via the assistant CLI: ask the assistant to run the`,` `,(0,Q.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,Q.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,Q.jsx)(D,{className:`h-3 w-3`})]})]})]}),S=(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:f,onChange:e=>p(e),options:at.map(e=>({value:e.id,label:e.displayName}))})]}),g?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.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,Q.jsx)(Ge,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsxs)(`span`,{children:[b.displayName,` API key configured. To reconfigure, run the`,` `,(0,Q.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:b.setupSkill}),` `,`skill.`]})]}),(0,Q.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,Q.jsx)(D,{className:`h-3 w-3`})]})]}):x,(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Q.jsx)($,{onClick:y,disabled:!1})})]});return c===`gated`?(0,Q.jsx)(yt,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,children:S}):(0,Q.jsx)(_t,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,mode:l,onModeChange:v,children:l===`managed`?(0,Q.jsx)(`div`,{className:`space-y-4`,children:c===`disabled`?(0,Q.jsx)(_,{tone:`info`,children:`Log in to the Vellum platform to manage email settings.`}):(0,Q.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,Z.useMemo)(()=>{if(!e)return n(rt,`your-own`);let t=e.services?.[`image-generation`]?.mode;return t===`managed`||t===`your-own`?t:n(rt,`your-own`)},[e])),[d,f]=(0,Z.useState)(()=>n(De,`gemini-3.1-flash-image-preview`)),[p,m]=(0,Z.useState)(``),[g,_]=(0,Z.useState)(!1),v=(0,Z.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(rt,c),r(De,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,Z.useCallback)(()=>{m(``),f(`gemini-3.1-flash-image-preview`),r(De,`gemini-3.1-flash-image-preview`)},[]);return(0,Q.jsx)(_t,{title:`Image Generation`,subtitle:`Configure which model your assistant uses to generate images`,mode:c,onModeChange:e=>u(e),children:c===`managed`?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,Q.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,Q.jsx)(h,{className:`flex-1`,value:d,onChange:f,options:Me.map(e=>({value:e,label:Xe[e]??e}))}),(0,Q.jsx)($,{onClick:v,disabled:g}),g&&(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(y,{label:`API Key`,type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:`Enter your Gemini API key`,fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,Q.jsx)(h,{value:d,onChange:f,options:Me.map(e=>({value:e,label:Xe[e]??e}))})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:v,disabled:g}),g&&(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),(0,Q.jsx)(vt,{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=pt(),t=U.use.name()??`your assistant`,i=B(),{data:a}=u({...L({path:{assistant_id:e}}),enabled:i,staleTime:1/0}),o=a?.providers??Se,s=o[0]?.id??`elevenlabs`,[c,l]=(0,Z.useState)(()=>n(Fe,s)),[d,f]=(0,Z.useState)(c),[m,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[b,x]=(0,Z.useState)(``),[S,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(!1),D=(0,Z.useMemo)(()=>o.find(e=>e.id===c)??o[0],[c,o]),O=(0,Z.useCallback)(e=>{let t=n(ke+e,``),r=n($e+e,``);w(t.length>0),v(r),x(r),g(``)},[]);(0,Z.useEffect)(()=>{O(c)},[c,O]);let k=(0,Z.useMemo)(()=>{let e=c!==d,t=m.trim().length>0,n=_.trim()!==b;return e||t||n},[c,d,m,_,b]),A=(0,Z.useCallback)(()=>{r(Fe,c);let e=m.trim();e.length>0&&(r(ke+c,e),w(!0));let t=_.trim();r($e+c,t),f(c),x(t),g(``)},[c,m,_]),j=(0,Z.useCallback)(()=>{r(ke+c,``),w(!1),g(``)},[c]),M=(0,Z.useCallback)(async()=>{E(!0);try{let e=n(ke+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($e+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,Q.jsx)(yt,{title:`Text-to-Speech`,subtitle:D.subtitle,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:c,onChange:l,options:o.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,Q.jsx)(y,{type:`password`,value:m,onChange:e=>g(e.target.value),placeholder:N,fullWidth:!0})]}),D.supportsVoiceSelection&&(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice ID`}),(0,Q.jsx)(y,{type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),(0,Q.jsx)(bt,{guide:D.credentialsGuide}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(p,{variant:`outlined`,onClick:M,disabled:T,children:T?`Testing…`:`Test`}),(0,Q.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:A,disabled:!k}),S&&(0,Q.jsx)(vt,{onClick:j})]})]})]})})}function Zt(){let e=Le[0]?.id??`deepgram`,[t,i]=(0,Z.useState)(()=>n(ot,e)),[a,o]=(0,Z.useState)(t),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(!1),d=(0,Z.useMemo)(()=>Le.find(e=>e.id===t)??Le[0],[t]);(0,Z.useEffect)(()=>{u(n(We+t,``).length>0),c(``)},[t]);let f=(0,Z.useMemo)(()=>{let e=t!==a,n=s.trim().length>0;return e||n},[t,a,s]),p=(0,Z.useCallback)(()=>{r(ot,t);let e=s.trim();e.length>0&&(r(We+t,e),u(!0)),o(t),c(``)},[t,s]),m=(0,Z.useCallback)(()=>{r(We+t,``),u(!1),c(``)},[t]),g=l?`•••••••• (Enter a new key to replace)`:d.apiKeyPlaceholder;return(0,Q.jsx)(yt,{title:`Speech-to-Text`,subtitle:d.subtitle,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:t,onChange:i,options:Le.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,Q.jsx)(y,{type:`password`,value:s,onChange:e=>c(e.target.value),placeholder:g,fullWidth:!0})]}),(0,Q.jsx)(bt,{guide:d.credentialsGuide}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,Q.jsx)($,{onClick:p,disabled:!f}),l&&(0,Q.jsx)(vt,{onClick:m})]})]})})}function Qt(){return(0,Z.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]),(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[(0,Q.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,Q.jsx)(K,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,Q.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:[`Managed services are metered and deducted from your Vellum account balance.`,` `,(0,Q.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,Q.jsx)(D,{className:`h-3.5 w-3.5`})]})]})]}),(0,Q.jsx)(Vt,{}),(0,Q.jsx)(Ht,{}),(0,Q.jsx)(Wt,{}),(0,Q.jsx)(Gt,{}),(0,Q.jsx)(Xt,{}),(0,Q.jsx)(Zt,{})]})}export{Qt as AiPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-CZsNGL6n.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./useQuery-D2zf6Uhu.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import"./src-hn7lwVCD.js";import{t as o}from"./tag-Ccr7Quy6.js";import{n as s}from"./toast-DU1nH33j.js";import{t as c}from"./loader-circle-BSAFLoPH.js";import{n as l}from"./auth-store-CiQCAKS1.js";import{a as u,r as d}from"./api-DEEx3e9R.js";import{t as f}from"./assistant-feature-flag-store-0382ImYF.js";import{ar as p}from"./index-DGojzQtP.js";var m=e(r(),1),h=a();function g({value:e,max:t,caption:n}){let r=t>0?Math.max(0,Math.min(e/t*100,100)):0,i=r>90;return(0,h.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,h.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,h.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-200`,style:{width:`${r}%`,backgroundColor:i?`var(--system-negative-strong)`:`var(--system-positive-strong)`}})}),n&&(0,h.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var _=7,v=2e3;function y({version:e,loading:t,assistantId:n}){let r=(0,m.useRef)(0),i=(0,m.useRef)(null),[a,o]=(0,m.useState)(null),s=(0,m.useCallback)(()=>{if(r.current+=1,r.current>=_){r.current=0;let e=f.getState(),t=!e.settingsDeveloperNav;e.setFlag(`settingsDeveloperNav`,t,n),o(t?`Developer mode enabled`:`Developer mode disabled`),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>{o(null),i.current=null},v)}},[n]);return(0,m.useEffect)(()=>()=>{i.current!==null&&clearTimeout(i.current)},[]),t?(0,h.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,h.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:s,children:e}),a&&(0,h.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:a})]}):(0,h.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var b=[`currentAssistant`],x=4e3,S=9e4;function C(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function w(){let{data:e=null,isLoading:r,refetch:a}=i({queryKey:b,queryFn:async()=>{let e=await d();return e.ok?e.data:null},retry:!1}),o=e?.id,[c,l]=(0,m.useState)(null),[f,p]=(0,m.useState)(!1),[h,g]=(0,m.useState)(!1),_=(0,m.useRef)(0),v=(0,m.useRef)(0),y=(0,m.useCallback)(async e=>{if(!o)return l(null),p(!1),null;_.current+=1;let r=_.current;p(!0);try{let t=await u(o);return r===_.current?t.ok?(l(t.data),t.data):(e?.keepStaleOnError||l(null),null):null}catch(i){return r===_.current?(e?.keepStaleOnError||l(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===_.current&&p(!1)}},[o]);return(0,m.useEffect)(()=>{y()},[y]),(0,m.useEffect)(()=>()=>{v.current+=1,g(!1),l(null)},[o]),{assistant:e,assistantLoading:r,healthz:c,healthzLoading:f,healthzPolling:h,refetch:(0,m.useCallback)(async()=>{await a(),await y()},[a,y]),refetchUntilResized:(0,m.useCallback)(async e=>{let t=++v.current,n=Date.now()+S;g(!0);let r=e;try{for(a();Date.now()<n&&t===v.current;){if(await new Promise(e=>setTimeout(e,x)),t!==v.current)return;let e=await y({keepStaleOnError:!0});if(t!==v.current)return;if(e){if(r==null){r=e;continue}if(C(e,r))return}}}finally{t===v.current&&g(!1)}},[y,a])}}function T({assistant:e,assistantLoading:t,healthz:n,healthzLoading:r}){let i=p.use.isNonProduction(),a=l.use.user()?.email;if(t)return(0,h.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,h.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]});if(!e)return(0,h.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`});let s=n?.version??e.current_release_version;return(0,h.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[a&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(D,{children:`Account`}),(0,h.jsx)(O,{children:a})]}),(0,h.jsx)(D,{children:`Name`}),(0,h.jsx)(O,{children:e.name}),e.description&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(D,{children:`Description`}),(0,h.jsx)(O,{children:e.description})]}),(0,h.jsx)(D,{children:`Status`}),(0,h.jsx)(`div`,{children:(0,h.jsx)(o,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,h.jsx)(D,{children:`Assistant ID`}),(0,h.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),i&&e.machine_id&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(D,{children:`Machine ID`}),(0,h.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,h.jsx)(D,{children:`Created`}),(0,h.jsx)(O,{children:e.created?new Date(e.created).toLocaleDateString():`Unknown`}),(0,h.jsx)(D,{children:`Version`}),(0,h.jsx)(y,{version:s??null,loading:r&&!e.current_release_version,assistantId:e.id??null})]})}function E(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}function D({children:e}){return(0,h.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function O({children:e}){return(0,h.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}export{g as i,E as n,w as r,T as t};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,c as n,i as r,t as i}from"./local-settings-lVNyIOJ_.js";import{a,n as o,t as s}from"./device-settings-C07QvMzm.js";import{o as c,t as l}from"./capture-error-CZsNGL6n.js";import{t as u}from"./react-DJZBPgpf.js";import{t as d}from"./useQuery-D2zf6Uhu.js";import{n as f,t as p}from"./create-selectors-CDULelrw.js";import{A as m,D as h,E as ee,O as te,T as ne,a as re,b as ie,f as g,h as ae,i as oe,k as se,l as ce,m as le,n as ue,s as de,t as _,w as v,y as fe}from"./resolved-assistants-store-ub66utfl.js";import{t as y}from"./is-electron-CavSPgmY.js";import{n as pe,r as b,t as me}from"./api-errors-ChauV4ed.js";import{c as x,d as he,o as ge,r as _e}from"./api-DEEx3e9R.js";import{t as S}from"./client.gen-BKAMS0D0.js";import{ht as ve}from"./sdk.gen-BO4vbMAj.js";import{i as ye,t as be}from"./dist-B4KYfSON.js";import{i as xe}from"./routes-Dk5Qeryt.js";import{n as Se}from"./event-bus-CMBsMREI.js";var C=p(f(()=>({assistantState:{kind:`loading`},expectingFirstMessage:!1})));function w(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:b(e.error,void 0,`Failed to check assistant status.`)}}function Ce(e){return e===void 0||e>=500}var we=`platform_hosted_disabled`,Te=`We are at capacity for Vellum Managed Assistants, more will be available soon!`;function Ee(e,t){return e===503?t?.code===we:!1}var De=3e5;function Oe(){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,ke=new Set([`initializing`,`cleaning_up`]);function Ae(e){if(!e)return!1;let t=w(e);return ke.has(t.kind)?E:!1}function je(e){return e?[...T,e]:T}function Me(e){let t=e.selectedPlatformAssistantId??null;return d({queryKey:je(t),queryFn:()=>_e(t??void 0),enabled:e.enabled,retry:!1,refetchInterval:e=>Ae(e.state.data),refetchOnWindowFocus:!1})}var Ne=e=>e===`authenticated`,Pe=e=>e!==`initializing`,D=e=>e===`present`,Fe=3,Ie=3,Le=e=>{},Re=()=>null,ze=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:Le,resolveOnboardingRedirect:Re,queryClient:null,selectedPlatformAssistantId:null};setInputs(e){this.inputs=e,this.ready=!0}resetForLogout(){_.getState().activeAssistantId!==null&&_.getState().setActiveAssistantId(null),this.state.kind!==`loading`&&this.transition({kind:`loading`}),this.clearExpectingFirstMessage()}async respondToInputs(){if(this.ready){if(!Ne(this.inputs.sessionStatus)){this.resetForLogout();return}if(m()){this.applyGatewayAuthShortCircuit();return}if(g()&&!m()&&!this.inputs.hasPlatformSession){let e=this.inputs.resolveOnboardingRedirect({intendedDestination:window.location.pathname});e&&this.inputs.onRedirect(e);return}this.inputs.hasPlatformSession&&v(null),this.inputs.isOrgReady&&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(m()){this.applyGatewayAuthShortCircuit();return}let e=this.generation;try{let t=this.inputs.selectedPlatformAssistantId??null,n=await this.inputs.queryClient.fetchQuery({queryKey:je(t),queryFn:()=>_e(t??void 0),staleTime:0});if(e!==this.generation)return;await this.applyServerStateUpdate(n)}catch(t){if(console.error(`Error checking assistant status:`,t),l(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(){C.getState().expectingFirstMessage||C.setState({expectingFirstMessage:!0})}clearExpectingFirstMessage(){C.getState().expectingFirstMessage&&C.setState({expectingFirstMessage:!1})}transition(e){let t=this.state.kind;this.state=e,C.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(()=>{c(`Assistant hatch stuck in initializing state`,{level:`warning`,extra:{timeoutMs:De}}),this.recoverStuckInitializingAssistant()},De)}projectActive(e){let t=e.data.maintenance_mode;v(null),_.getState().setActiveAssistantId(e.data.id),this.transition({kind:`active`,isLocal:e.data.is_local??!1,maintenanceMode:{enabled:t?.enabled}})}projectSelfHosted(e){v({url:e.data.ingress_url,token:e.data.platform_actor_token}),_.getState().setActiveAssistantId(e.data.id),this.transition({kind:`self_hosted`})}applyGatewayAuthShortCircuit(){let e=window.location.origin,t=`self`,n=re();if(n){let r=ce();e=`${window.location.origin}${n}`,t=r?.assistantId??t}v({url:e,token:h()}),_.getState().setActiveAssistantId(t),this.transition({kind:`active`,isLocal:!0})}async applyServerStateUpdate(e){let t=this.generation,n=w(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>=Fe){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 ge(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,c(`Hatch request failed`,{level:`warning`,extra:{status:n.status,error:n.error,attempt:this.hatchRetryCount}}),Ee(n.status,n.error)){this.transition({kind:`error`,message:Te});return}if(Ce(n.status)){this.transition({kind:`initializing`}),setTimeout(()=>{this.inputs.queryClient.invalidateQueries({queryKey:T})},E);return}this.transition({kind:`error`,message:b(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,l(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>=Ie){this.generation++,this.transition(Oe());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:()=>_e(),staleTime:0});if(e!==this.generation)return;if(n.ok&&n.data.status===`initializing`)t=n.data.id;else{let e=w(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 he(t);if(e!==this.generation){this.hatching=!1;return}if(!n.ok&&n.status!==404){this.hatching=!1,c(`Failed to retire stuck initializing assistant`,{level:`warning`,extra:{status:n.status,error:n.error}}),this.transition(Oe());return}this.initializingAssistantId=null,_.getState().setActiveAssistantId(null),this.hatching=!1,await this.hatchAndCheck(this.hatchingVersion)}catch(t){if(this.hatching=!1,l(t,{context:`recover_stuck_initializing_assistant`}),e!==this.generation)return;this.transition(Oe())}}__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,C.setState({expectingFirstMessage:!1}),this.inputs={sessionStatus:`initializing`,isRetired:!1,isNonProduction:!1,hasPlatformSession:!1,onRedirect:Le,resolveOnboardingRedirect:Re,queryClient:null},C.setState({assistantState:this.state}),_.setState({activeAssistantId:null})}},Be={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function Ve({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
|
|
2
|
-
`);let a=p.split(`
|
|
3
|
-
|
|
4
|
-
`);p=a.pop()??``;for(let e of a){let t=e.split(`
|
|
5
|
-
`),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
|
|
6
|
-
`);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;await f(Math.min(c*2**(p-1),s??3e4))}}}()}}var He=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Ue=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},We=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Ge=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(Ue(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=He(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):O({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},O=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},Ke=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=We(r),s=Object.entries(i).map(([t,i])=>O({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},qe=/\{[^{}]+\}/g,Je=({path:e,url:t})=>{let n=t,r=t.match(qe);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,Ge({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,Ke({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${O({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},Ye=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=Je({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function Xe(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var Ze=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},Qe=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=Ge({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=Ke({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=O({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},$e=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},et=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,tt=async({security:e,...t})=>{for(let n of e){if(et(t,n.name))continue;let e=await Ze(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e);break}}},nt=e=>Ye({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:Qe(e.querySerializer),url:e.url}),rt=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=at(e.headers,t.headers),n},it=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},at=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?it(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},ot=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},st=()=>({error:new ot,request:new ot,response:new ot}),ct=Qe({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),lt={"Content-Type":`application/json`},ut=(e={})=>({...Be,headers:lt,parseAs:`auto`,querySerializer:ct,...e}),k=((e={})=>{let t=rt(ut(),e),n=()=>({...t}),r=e=>(t=rt(t,e),n()),i=st(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:at(t.headers,e.headers),serializedBody:void 0};n.security&&await tt({...n,security:n.security}),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:nt(r)}},o=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,o,s;try{let{opts:t,url:n}=await a(e),r={redirect:`follow`,...t,body:Xe(t)};o=new Request(n,r);for(let e of i.request.fns)e&&(o=await e(o,t));let c=t.fetch;s=await c(o);for(let e of i.response.fns)e&&(s=await e(s,o,t));let l={request:o,response:s};if(s.ok){let e=(t.parseAs===`auto`?$e(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={};break}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let a=t;for(let t of i.error.fns)t&&(a=await t(a,s,o,e));if(a||={},n)throw a;return r===`data`?void 0:{error:a,request:o,response:s}}},s=e=>t=>o({...t,method:e}),c=e=>async t=>{let{opts:n,url:r}=await a(t);return Ve({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of i.request.fns)e&&(r=await e(r,n));return r},serializedBody:Xe(n),url:r})};return{buildUrl:e=>nt({...t,...e}),connect:s(`CONNECT`),delete:s(`DELETE`),get:s(`GET`),getConfig:n,head:s(`HEAD`),interceptors:i,options:s(`OPTIONS`),patch:s(`PATCH`),post:s(`POST`),put:s(`PUT`),request:o,setConfig:r,sse:{connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),head:c(`HEAD`),options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),trace:c(`TRACE`)},trace:s(`TRACE`)}})(ut()),dt=e=>(e.client??k).get({url:`/_allauth/{client}/v1/auth/provider/signup`,...e}),ft=e=>(e.client??k).post({url:`/_allauth/{client}/v1/auth/provider/signup`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),pt=e=>(e.client??k).delete({url:`/_allauth/{client}/v1/auth/session`,...e}),mt=e=>(e.client??k).get({url:`/_allauth/{client}/v1/auth/session`,...e}),A=()=>y()?`app`:`browser`;function ht(e){return!e.ok&&e.status===409}function j(e,t){let n=e;if(n&&Array.isArray(n.errors))return{ok:!1,status:t,errors:n.errors};let r=n?.data;return r&&Array.isArray(r.flows)?{ok:!1,status:t,errors:[],flows:r.flows}:{ok:!1,status:t,errors:[]}}async function M(){let{data:e,error:t,response:n}=await mt({path:{client:A()}});return e?{ok:!0,data:e.data}:j(t,n?.status)}async function gt(){let{data:e,error:t,response:n}=await pt({path:{client:A()}});return e?{ok:!0,data:e}:n?.status===401?{ok:!0,data:{}}:j(t,n?.status)}async function _t(){let{data:e,error:t,response:n}=await dt({path:{client:A()}});return e?{ok:!0,data:e.data}:j(t,n?.status)}async function vt({email:e,username:t}){let{data:n,error:r,response:i}=await ft({path:{client:A()},body:{email:e,username:t}});return n?{ok:!0,data:n.data}:j(r,i?.status)}var N=`__Secure-csrftoken`;function P(){return document.cookie.split(`; `).findLast(e=>e.startsWith(`${N}=`))?.split(`=`).slice(1).join(`=`)}function yt(){document.cookie.split(`; `).filter(e=>e.startsWith(`${N}=`)).length>1&&(document.cookie=`${N}=; path=/; max-age=0; secure`)}var bt=null;async function xt(){y()||m()||(yt(),!P()&&(bt||=(async()=>{for(let e=0;e<2;e++)try{if(await mt({path:{client:`browser`}}),P())return}catch{console.warn(`CSRF cookie bootstrap failed (attempt ${e+1}/2)`),e===0&&await new Promise(e=>setTimeout(e,500))}})().finally(()=>{bt=null}),await bt))}var St=`/accounts/oidc/redirect/`;function Ct(e,t,n,r={}){let i={provider:e,callback_url:new URL(t,n).href,process:`login`};return r.intent&&(i.intent=r.intent),r.loginHint&&(i.login_hint=r.loginHint),r.providerHint&&(i.provider_hint=r.providerHint),i}function wt(e){if(!e)throw Error(`Unable to start provider redirect: CSRF token is missing. The session may not be initialized. Please refresh the page and try again.`)}async function Tt(e,t,n={}){await xt();let r=P();wt(r);let i=window.location.origin,a=document.createElement(`form`);a.method=`POST`,a.action=`${i}${St}`;let o=Ct(e,t,i,n);o.csrfmiddlewaretoken=r;for(let[e,t]of Object.entries(o)){let n=document.createElement(`input`);n.type=`hidden`,n.name=e,n.value=t,a.appendChild(n)}document.body.appendChild(a),a.submit()}function Et(e,t){return e?{kind:`authenticated`}:t.some(e=>e.id===`provider_signup`&&e.is_pending)?{kind:`provider_signup`}:{kind:`error`,message:`Unexpected authentication state.`}}function Dt(e){return e===`vellum.ai`||e.endsWith(`.vellum.ai`)}var Ot=/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//;function kt(e,t){if(!e)return t;if(Ot.test(e)){try{let t=new URL(e);if(t.protocol===`https:`&&Dt(t.hostname))return e}catch{}return t}return e.startsWith(`//`)||e.includes(`\\`)||!e.startsWith(`/`)?t:e}var At=`https://www.vellum.ai`,jt=`vellum:loopback:state`,Mt=`vellum:loopback:returnTo`;function Nt(){let e=window.__VELLUM_CONFIG__;return e?.webUrl?{webUrl:e.webUrl}:{webUrl:At}}function Pt(){let e=new Uint8Array(32);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function Ft(){return Nt().webUrl===window.location.origin}async function It(e,t){let{webUrl:n}=Nt(),r=Pt(),i=window.location.port||`3000`;sessionStorage.setItem(jt,r),e&&sessionStorage.setItem(Mt,e);let a=`/accounts/cli/callback?port=${i}&state=${r}`,o=`${n}/account/${t?.intent===`signup`?`signup`:`login`}?returnTo=${encodeURIComponent(a)}`;window.location.href=o}async function Lt(e){y()&&await window.vellum?.menu.setPlatformSession(e)}var Rt=e(u(),1),zt=ye(`NativeAuth`),Bt=xe.assistant;function Vt(){return`${window.location.protocol}//${window.location.host}`}function F(){return typeof window<`u`&&be.isNativePlatform()}var Ht=()=>()=>{};function Ut(){return(0,Rt.useSyncExternalStore)(Ht,F,()=>!1)}async function Wt(e){let t=e?.baseURL??Vt(),{sessionToken:n}=await zt.startAuth({baseURL:t,...e?.loginHint?{loginHint:e.loginHint}:{},...e?.providerHint?{providerHint:e.providerHint}:{}});Kt(n),F()&&await Gt(),z()&&await Xt(n);let r=kt(e?.returnTo??null,Bt);window.location.href=r}async function Gt(){for(let e=0;e<6;e++){try{let e=await M();if(e.ok&&e.data.user)return}catch{}await new Promise(t=>setTimeout(t,50*(e+1)))}}function Kt(e){let t=`path=/; domain=.vellum.ai; secure; samesite=lax; max-age=1209600`;document.cookie=`sessionid=${e}; ${t}`,document.cookie=`__Secure-sessionid=${e}; ${t}`}function qt(){if(typeof document>`u`)return null;let e=document.cookie.split(`; `);for(let t of[`__Secure-sessionid`,`sessionid`]){let n=e.find(e=>e.startsWith(`${t}=`));if(n){let e=n.slice(t.length+1);if(e)return e}}return null}async function Jt(e,t,n={}){if(F()){try{await Wt({returnTo:n.intent===`signup`?xe.onboarding.privacy:n.returnTo??null,loginHint:n.loginHint,providerHint:n.providerHint})}catch(e){if(e?.code===`USER_CANCELLED`)return;throw e}return}if(y()&&window.vellum?.auth?.startOAuth){if((await window.vellum.auth.startOAuth({providerHint:n.providerHint,loginHint:n.loginHint,intent:n.intent}))?.sessionToken){await Lt(!0);let e=kt(n.intent===`signup`?xe.onboarding.privacy:n.returnTo??null,Bt);window.location.href=e}return}if(g()&&!Ft()){await It(n.returnTo??void 0,{intent:n.intent});return}await Tt(e,t,n)}var I=ye(`NativeBiometric`),L=`vellum.ai`;async function Yt(){if(!F())return!1;try{let{available:e}=await I.isAvailable();return e}catch{return!1}}async function Xt(e){if(!await Yt())return!1;try{return await I.storeToken({token:e,server:L}),!0}catch(e){return console.error(`[native-biometric] failed to store token:`,e),!1}}var R=null;async function Zt(){return F()?R||(R=(async()=>{try{let{token:e}=await I.retrieveToken({server:L,reason:`Sign in to Vellum`});return e}catch{return null}finally{R=null}})(),R):null}async function Qt(){if(F())try{await I.deleteToken({server:L})}catch{}}function z(){return o(`biometricEnabled`,!0)}function $t(e){a(`biometricEnabled`,e)}async function en(){if(!F())return`Biometrics`;try{let{biometryType:e}=await I.isAvailable();switch(e){case`faceId`:return`Face ID`;case`touchId`:return`Touch ID`;case`opticId`:return`Optic ID`;default:return`Biometrics`}}catch{return`Biometrics`}}function tn(e){return e}function B(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return{code:null,message:n};let r=tn(e),i=r[t];if(Array.isArray(i)&&i.length>0){let e=i[0];if(typeof e==`string`)return{code:null,message:e};if(e&&typeof e==`object`&&!Array.isArray(e)){let t=tn(e),r=t.code,i=t.string??t.message;return{code:typeof r==`string`?r:null,message:typeof i==`string`?i:n}}}return typeof r.detail==`string`?{code:null,message:r.detail}:{code:null,message:n}}var nn={too_short:`Must be at least 3 characters.`,too_long:`Must be at most 30 characters.`,invalid_chars:`Use only lowercase letters, digits, hyphens, and underscores.`,leading_underscore:`Cannot start with an underscore.`,trailing_underscore:`Cannot end with an underscore.`,leading_hyphen:`Cannot start with a hyphen.`,trailing_hyphen:`Cannot end with a hyphen.`,all_digits:`Cannot be all digits.`,reserved:`This handle is reserved.`,taken:`This handle is already taken.`};async function rn(){let{data:e,error:t,response:n}=await S.get({url:`/v1/user/me/`,throwOnError:!1});if(pe(n,t,`Failed to load profile.`),!n.ok||!e)throw new me(n.status,b(t,n,`Failed to load profile.`));return e}var an=`Please choose a different handle.`;async function on(e){let{data:t,error:n,response:r}=await S.patch({url:`/v1/user/me/`,body:e,throwOnError:!1});if(!r)return{kind:`error`,message:b(n,void 0,`Failed to save profile.`)??`Failed to save profile.`};if(r.ok&&t)return{kind:`ok`,data:t};if(r.status===409){let{message:e}=B(n,`username`,nn.taken);return{kind:`taken`,message:e}}if(r.status===400){let{code:e,message:t}=B(n,`username`,an);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:b(n,r,`Failed to save profile.`)}}async function V(e){await S.patch({url:`/v1/user/me/`,body:{consent:e},throwOnError:!0})}async function sn(e,t){let{data:n,error:r,response:i}=await S.get({url:`/v1/user/username-available/`,query:{username:e},signal:t,throwOnError:!1});if(pe(i,r,`Failed to check handle availability.`),!i.ok||!n)throw new me(i.status,i.status===429?`Too many checks — try again in a moment.`:b(r,i,`Failed to check handle availability.`));return n}var H=s(`shareAnalytics`),U=s(`shareDiagnostics`),cn=f()(e=>({shareAnalytics:i(H,!0),shareDiagnostics:i(U,!0),tosAccepted:!1,aiDataConsent:!1,setShareAnalytics:n=>{e({shareAnalytics:n}),t(H,n)},setShareDiagnostics:n=>{e({shareDiagnostics:n}),t(U,n)},setTosAccepted:t=>{e({tosAccepted:t})},setAiDataConsent:t=>{e({aiDataConsent:t})}})),W=p(cn),ln=new Map([[H,`shareAnalytics`],[U,`shareDiagnostics`]]),un={shareAnalytics:!0,shareDiagnostics:!0};for(let[e,t]of ln)n(e,()=>{let n=i(e,un[t]??!1);cn.setState({[t]:n})});var G=`2026-06-08`;function K(e,t){return`device:consent:${e}:v${G}:${t}`}function dn(e){if(typeof window>`u`||!e)return{tos:!1,ai:!1};try{let t=i(K(`tos`,e),!1),n=i(K(`ai`,e),!1);if(t||n)return{tos:t,ai:n};let r=i(`vellum:onboarding:tosAccepted`,!1),a=i(`vellum:onboarding:aiDataConsent`,!1);return r||a?(fn(e,r,a),{tos:r,ai:a}):{tos:!1,ai:!1}}catch{return{tos:!1,ai:!1}}}function fn(e,n,r){if(!(typeof window>`u`||!e))try{t(K(`tos`,e),n),t(K(`ai`,e),r)}catch{}}function pn(e){if(r(`vellum:onboarding:tosAccepted`),r(`vellum:onboarding:aiDataConsent`),r(`vellum:onboarding:selectedVersion`),!(typeof window>`u`||!e))try{r(K(`tos`,e)),r(K(`ai`,e))}catch{}}function mn(e){return e?{tos:e.tos_accepted_version===`2026-06-08`&&e.privacy_policy_accepted_version===`2026-06-08`,ai:e.ai_data_sharing_accepted_version===G,shareAnalytics:e.share_analytics,shareDiagnostics:e.share_diagnostics}:{tos:!1,ai:!1,shareAnalytics:null,shareDiagnostics:null}}function hn(e){let t=W.getState();t.setTosAccepted(e.tos),t.setAiDataConsent(e.ai),t.setShareAnalytics(e.shareAnalytics),t.setShareDiagnostics(e.shareDiagnostics),fn(e.userId,e.tos,e.ai),e.hasPlatformSession&&V({tos_accepted_version:e.tos?G:``,privacy_policy_accepted_version:e.tos?G:``,ai_data_sharing_accepted_version:e.ai?G:``,share_analytics:e.shareAnalytics,share_diagnostics:e.shareDiagnostics}).catch(()=>{})}function gn(e,t,n){let r=W.getState();e===`share_analytics`?(r.setShareAnalytics(t),a(`shareAnalytics`,t)):(r.setShareDiagnostics(t),a(`shareDiagnostics`,t)),n&&V({[e]:t}).catch(()=>{})}var _n=`vellum_active_organization_id`;function vn(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function yn(){let e=vn();if(!e)return null;try{return e.getItem(_n)}catch{return null}}function bn(e){let t=vn();if(t)try{t.setItem(_n,e)}catch{}}function xn(){let e=vn();if(e)try{e.removeItem(_n)}catch{}}function Sn(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var q=p(f()((e,t)=>({organizations:[],currentOrganizationId:null,status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await ve()).data?.results??[],r=Sn(n,t().currentOrganizationId??yn());r&&bn(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)&&(bn(n),e({currentOrganizationId:n,status:`ready`}))},clearOrganization:()=>{xn(),e({organizations:[],currentOrganizationId:null,status:`idle`,error:null})}})));function Cn(){return q.getState().currentOrganizationId??yn()}function wn(){q.getState().clearOrganization()}function Tn(){let e=0,t=q.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{let n=D(e.platformSession),r=D(t.platformSession);n&&(!r||e.user?.id!==t.user?.id)&&q.getState().fetchOrganizations()}),r=()=>{if(!D($.getState().platformSession))return;let{status:t}=q.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&q.getState().fetchOrganizations()},i=Se(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}var En=`vellum:`,Dn=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],On=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 kn(e){return e.startsWith(En)?!0:On.has(e)?!1:Dn.some(t=>e.startsWith(t))}function An(){try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&kn(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function jn(e){return e?.id??e?.email??e?.username??null}function J(e){return e?{id:jn(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var Mn=null,Y=null,Nn=!1,Pn={id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`},X=e=>({sessionStatus:`authenticated`,user:e,platformSession:`present`}),Fn=()=>({sessionStatus:`authenticated`,user:Pn}),Z=()=>({sessionStatus:`unauthenticated`,user:null,platformSession:`absent`});function In(e){(!e||Mn&&Mn!==e)&&wn(),Mn=e}function Ln(){Y?.postMessage(`auth-changed`)}async function Q(e){if(e)try{let t=await rn();if(t.consent){let n=mn(t.consent),r=W.getState();r.setTosAccepted(n.tos),r.setAiDataConsent(n.ai),n.shareAnalytics!==null&&r.setShareAnalytics(n.shareAnalytics),n.shareDiagnostics!==null&&r.setShareDiagnostics(n.shareDiagnostics),fn(e,n.tos,n.ai),In(e);return}let n=dn(e),r=W.getState();r.setTosAccepted(n.tos),r.setAiDataConsent(n.ai),n.tos&&n.ai&&V({tos_accepted_version:G,privacy_policy_accepted_version:G,ai_data_sharing_accepted_version:G}).catch(()=>{}),In(e);return}catch{}let t=dn(e),n=W.getState();n.setTosAccepted(t.tos),n.setAiDataConsent(t.ai),In(e)}var Rn=0;Promise.resolve();function zn(e,t={}){let n=++Rn,r=()=>n!==Rn;M().then(async n=>{if(!r())if(n.ok&&n.data.user){let i=t.setUserOnSuccess?{user:J(n.data.user)}:{};if(g())try{let e=await Promise.race([x(),new Promise((e,t)=>setTimeout(()=>t(Error(`sync timeout`)),3e3))]);!r()&&e.ok&&await ie(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 Bn(e,t){!g()||se()||de().length>0?zn(e,t):e({platformSession:`absent`})}var $=p(f()(e=>({sessionStatus:`initializing`,user:null,platformSession:`unknown`,initSession:async()=>{if(se()){try{await le(),e(Fn())}catch{e({sessionStatus:`unauthenticated`,user:null})}Bn(e);return}if(g()&&!se()){if(de().length>0){try{let t=await M();if(t.ok&&t.data.user){let n=J(t.data.user);await Q(n?.id??null);try{let t=await x();if(t.ok&&(await ie(t.data),de().length===0&&oe().length===0)){e(X(n));return}}catch{}e(X(n));return}}catch{}e(Z());return}e(Fn()),Nn?e({platformSession:`absent`}):zn(e,{setUserOnSuccess:!0}),Nn=!1;return}try{let t=await M();if(t.ok&&t.data.user){let n=J(t.data.user);await Q(n?.id??null);try{let e=await x();e.ok&&_.getState().setFromApi(e.data)}catch{}e(X(n));return}}catch(e){console.error(`auth.initSession failed`,e)}if(F()&&z())try{let t=await Zt();if(t){Kt(t),await Gt();let n=await M();if(n.ok&&n.data.user){let t=J(n.data.user);await Q(t?.id??null);try{let e=await x();e.ok&&_.getState().setFromApi(e.data)}catch{}e(X(t));return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}await Q(null),e(Z())},connectLocalAssistant:async t=>{fe(t),await ae(),e(Fn()),Bn(e)},connectPlatformAssistant:async t=>{fe(t);let n=await M();if(!n.ok||!n.data.user)throw Error(`Platform authentication required`);let r=J(n.data.user);await Q(r?.id??null),e(X(r))},refreshSession:async()=>{if(m()){try{await ee(te()),e({sessionStatus:`authenticated`})}catch{return e(Z()),!1}return Bn(e,{clearOnFailure:!0}),!0}try{let t=await M();if(t.ok&&t.data.user){let n=J(t.data.user);if(await Q(n?.id??null),g())try{let e=await x();e.ok&&await ie(e.data)}catch{}return e(X(n)),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}return await Q(null),e(Z()),!1},logout:async()=>{if(m()){ue(),ne(),wn(),An(),ze.resetForLogout(),e(Z()),Ln();return}Nn=!0;try{await gt()}finally{y()&&await window.vellum?.auth?.signOut?.(),g()&&(document.cookie=`sessionid=; path=/; samesite=lax; expires=Thu, 01 Jan 1970 00:00:00 UTC`),Qt(),wn(),An(),ze.resetForLogout(),e(Z()),Ln()}}}))),Vn=()=>Ne($.use.sessionStatus()),Hn=()=>!Pe($.use.sessionStatus()),Un=()=>D($.use.platformSession());function Wn(){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`&&(Y=new BroadcastChannel(`auth`),Y.onmessage=()=>{An(),window.location.reload()},t.push(()=>{Y?.close(),Y=null})),()=>t.forEach(e=>e())}export{Ft as A,ze as B,Xt as C,Wt as D,Jt as E,_t as F,Te as G,Ne as H,M as I,Ce as J,Ee as K,ht as L,Et as M,xt as N,Ut as O,P,vt as R,$t as S,F as T,Pe as U,D as V,Me as W,C as Y,B as _,Hn as a,Yt as b,q as c,gn as d,W as f,on as g,rn as h,Vn as i,kt as j,Lt as k,pn as l,sn as m,$ as n,Cn as o,nn as p,w as q,Un as r,Tn as s,Wn as t,hn as u,Qt as v,qt as w,z as x,en as y,k as z};
|