@vellumai/web 0.8.7 → 0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/assets/{QueryClientProvider-DP1e6db6.js → QueryClientProvider-DBAeGN3q.js} +1 -1
- package/dist/assets/about-page-C4tN0hSY.js +1 -0
- package/dist/assets/account-page-e-4zB_8t.js +1 -0
- package/dist/assets/{account-shell-D89t6_Jb.js → account-shell-BZu7oVl3.js} +1 -1
- package/dist/assets/add-credits-modal-p0gkX1yC.js +1 -0
- package/dist/assets/advanced-page-Du0vGXNL.js +1 -0
- package/dist/assets/ai-page-BQOcmKeW.js +1 -0
- package/dist/assets/{angular-html-e7Q9Y5Gf.js → angular-html-CDXMmzLv.js} +1 -1
- package/dist/assets/{angular-ts-BP7VFCBR.js → angular-ts-CaUHVMjx.js} +1 -1
- package/dist/assets/api-8hqpGaif.js +39 -0
- package/dist/assets/api-errors-DhNZwQy5.js +1 -0
- package/dist/assets/api-key-screen-Bgk6XGC1.js +1 -0
- package/dist/assets/{apl-DwI9Wj1u.js → apl-BTRFCz7X.js} +1 -1
- package/dist/assets/{app-html-cache-B6cw162I.js → app-html-cache-BsFOfI0R.js} +1 -1
- package/dist/assets/archive-page-DhDeJH4l.js +1 -0
- package/dist/assets/archive-yWA8_b2E.js +1 -0
- package/dist/assets/arrow-up-Cev-d0qQ.js +1 -0
- package/dist/assets/assistant-feature-flag-store-CNdFPRBD.js +1 -0
- package/dist/assets/assistant-identity-store-Y4grVs1H.js +1 -0
- package/dist/assets/assistant-status-panel-C3CvCBVl.js +1 -0
- package/dist/assets/{astro-BCmlqefZ.js → astro-CKyX7s7R.js} +1 -1
- package/dist/assets/auth-store-CYbo7naZ.js +1 -0
- package/dist/assets/avatar-api-BfDoaCjw.js +1 -0
- package/dist/assets/bell-BFRXSoMR.js +1 -0
- package/dist/assets/billing-page-CyTcQ9ki.js +34 -0
- package/dist/assets/{blade-C_oa1rmO.js → blade-Rzz0TE8c.js} +1 -1
- package/dist/assets/{bsl-MxsMKDUZ.js → bsl-DpFuAvE8.js} +1 -1
- package/dist/assets/bug-wSdnBKWO.js +1 -0
- package/dist/assets/{button-ClCfFgUi.js → button-Cs9tc8OR.js} +1 -1
- package/dist/assets/{cairo-4CIrzX_p.js → cairo-Bobk4atY.js} +1 -1
- package/dist/assets/{calendar-ClcXPhg5.js → calendar-xwiYi6y2.js} +1 -1
- package/dist/assets/capture-error-1Tr5aMfq.js +1 -0
- package/dist/assets/{card-BPyEFYCf.js → card-BcKGvsaa.js} +1 -1
- package/dist/assets/check-DqeyrftF.js +1 -0
- package/dist/assets/{checkbox-8ce6mjOk.js → checkbox-hJlRqWtn.js} +1 -1
- package/dist/assets/chevron-right-CJ0Oykrn.js +1 -0
- package/dist/assets/{chevron-up-DQhwayvc.js → chevron-up-C-4xJEr7.js} +1 -1
- package/dist/assets/chunk-5KNZJZUH-BpLAEZ0-.js +4 -0
- package/dist/assets/{cobol-ClCfxb2U.js → cobol-1CNEp2gA.js} +1 -1
- package/dist/assets/{coffee-waI6gGUD.js → coffee-CCurbO7Q.js} +1 -1
- package/dist/assets/command-palette-CTF-tqv7.js +1 -0
- package/dist/assets/community-page-BWc9-V5m.js +1 -0
- package/dist/assets/{confirm-dialog-BGK9Zfu-.js → confirm-dialog-DavdF-L4.js} +1 -1
- package/dist/assets/connect-page-DLP-KRIF.js +1 -0
- package/dist/assets/contacts-gateway-BF6L_WJp.js +1 -0
- package/dist/assets/contacts-page-route-ziTjDj3t.js +1 -0
- package/dist/assets/conversation-store-D8-qWog8.js +1 -0
- package/dist/assets/{cpp-CCQmmJ0h.js → cpp-D8F2mhyx.js} +1 -1
- package/dist/assets/{create-selectors-CNBhdpCN.js → create-selectors-LbkU9b0a.js} +1 -1
- package/dist/assets/{createLucideIcon-BAqBudC8.js → createLucideIcon-CSvzx8tc.js} +1 -1
- package/dist/assets/{createLucideIcon-B1Lebfcn.js → createLucideIcon-D8wUFCt3.js} +1 -1
- package/dist/assets/{crystal-DB9hO8um.js → crystal-BV5GbE2n.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-BlS6Bao4.js +1 -0
- package/dist/assets/debug-page-B38HF3wu.js +3 -0
- package/dist/assets/deploy-dialogs-Ddx6WsXp.js +1 -0
- package/dist/assets/{detail-card-akwfTEr9.js → detail-card-Y8InXOgy.js} +1 -1
- package/dist/assets/developer-page-CVcwOCG9.js +1 -0
- package/dist/assets/device-settings-C07QvMzm.js +1 -0
- package/dist/assets/devices-page-4yNwXw0J.js +1 -0
- package/dist/assets/{dist-CMQ63vRL.js → dist-3bWmqQYy.js} +1 -1
- package/dist/assets/{dist-DrxUCrOq.js → dist-Cb2Epurm.js} +1 -1
- package/dist/assets/{dist-DBf_097z.js → dist-Ck9KSeuV.js} +3 -3
- package/dist/assets/document-viewer-page-BZqF90o0.js +1 -0
- package/dist/assets/{dollar-sign-C0LV31Sq.js → dollar-sign-D_9hooHL.js} +1 -1
- package/dist/assets/{domain-field-4zEEJoAw.js → domain-field-CyNgwvDW.js} +1 -1
- package/dist/assets/{dropdown-B1HIMQEV.js → dropdown-PPtOL9bp.js} +1 -1
- package/dist/assets/earn-credits-modal-BfVEDIqn.js +1 -0
- package/dist/assets/{edge-CETRZUcp.js → edge-wZlHrIuI.js} +1 -1
- package/dist/assets/edit-chat-session-Bn0bAlP1.js +1 -0
- package/dist/assets/effective-timezone-CJWCpcyG.js +1 -0
- package/dist/assets/{elixir-CN6m0Ao0.js → elixir-CxYq-rkj.js} +1 -1
- package/dist/assets/{ellipsis-vertical-m9z0V1U7.js → ellipsis-vertical-f27t2xXb.js} +1 -1
- package/dist/assets/{elm-BDWy6048.js → elm-BgDZWS-i.js} +1 -1
- package/dist/assets/emails-page-VM8fJ5kb.js +1 -0
- package/dist/assets/{erb-BUWfCQdK.js → erb-DBocu5OY.js} +1 -1
- package/dist/assets/{erlang-DeG0-QwJ.js → erlang-Dd9A6Ts8.js} +1 -1
- package/dist/assets/esm-B9MFZJ_e.js +2 -0
- package/dist/assets/esm-BAXpcEfg.js +2 -0
- package/dist/assets/{esm-BXX1q_EH.js → esm-BBKnACgF.js} +2 -2
- package/dist/assets/esm-BesMJi2r.js +2 -0
- package/dist/assets/esm-Dlx5ghIf.js +2 -0
- package/dist/assets/{external-link-dAVFCT-x.js → external-link-CcV79Arv.js} +1 -1
- package/dist/assets/feature-flag-catalog-CRgdQmMF.js +1 -0
- package/dist/assets/{file-markdown-C_CDJ8On.js → file-markdown-DjJ2NSmS.js} +1 -1
- package/dist/assets/{fortran-fixed-form-CK5VRJNd.js → fortran-fixed-form-DMrzopcc.js} +1 -1
- package/dist/assets/{fsharp-TVVgzHWp.js → fsharp-C6m4Hy9y.js} +1 -1
- package/dist/assets/gateway-session-CaFk8wfN.js +1 -0
- package/dist/assets/{gdresource-DiUcyewI.js → gdresource-YKD2wsBt.js} +1 -1
- package/dist/assets/general-page-m_m-DrX4.js +1 -0
- package/dist/assets/{git-commit-CfOruFrg.js → git-commit-D3W81laO.js} +1 -1
- package/dist/assets/{git-rebase-DVfXzZgT.js → git-rebase-D7A-ZIs_.js} +1 -1
- package/dist/assets/{glimmer-js-D_KYXH1l.js → glimmer-js-Kj1yb8GI.js} +1 -1
- package/dist/assets/{glimmer-ts-rX-yI_50.js → glimmer-ts-CMle0DS9.js} +1 -1
- package/dist/assets/{globe-BylK8Ede.js → globe-B6unPYdp.js} +1 -1
- package/dist/assets/{glsl-Bk5GBs9i.js → glsl-CGs04uf3.js} +1 -1
- package/dist/assets/google-logo-NlVU0R23.js +1 -0
- package/dist/assets/{graphql-CYihpPzI.js → graphql-DTpeHwUI.js} +1 -1
- package/dist/assets/{hack-D7vPOOKP.js → hack-DCR-U-qQ.js} +1 -1
- package/dist/assets/{haml-Cq6p2VV6.js → haml-Cp_ZrdH-.js} +1 -1
- package/dist/assets/{handlebars-BMWyPVCo.js → handlebars-DTIya8Eo.js} +1 -1
- package/dist/assets/hard-drive-C5ssi802.js +1 -0
- package/dist/assets/hatching-screen-CI8iOd8-.js +1 -0
- package/dist/assets/home-page-route-ePg1Cu2z.js +1 -0
- package/dist/assets/{hosting-screen-B7vnlrdx.js → hosting-screen-CA6XnVWn.js} +1 -1
- package/dist/assets/{html-0Gesqw-D.js → html-CCPUpDrQ.js} +1 -1
- package/dist/assets/{html-derivative-SbSqYEHY.js → html-derivative-CoL1ACif.js} +1 -1
- package/dist/assets/{http-C0YA5Ah8.js → http-BjpN3wdH.js} +1 -1
- package/dist/assets/{hurl-DUL8X9Rx.js → hurl-BHqN3hsl.js} +1 -1
- package/dist/assets/{hxml-40zZ1t4x.js → hxml-CthMTwgY.js} +1 -1
- package/dist/assets/identity-page-route-BcE8OAJ6.js +1 -0
- package/dist/assets/impersonate-version-flag-D_S9-Z77.js +1 -0
- package/dist/assets/index-Cb930VA2.css +2 -0
- package/dist/assets/index-DUwiZuxe.js +124 -0
- package/dist/assets/{input-D3ItuUML.js → input-DwAJUlac.js} +1 -1
- package/dist/assets/inspect-page-CsvH5Rih.js +2 -0
- package/dist/assets/install-OHIUtZSu.js +1 -0
- package/dist/assets/integrations-page-B54hIoCi.js +1 -0
- package/dist/assets/intelligence-layout-Onjx6_Xb.js +1 -0
- package/dist/assets/is-electron-1CyUiqR4.js +1 -0
- package/dist/assets/{jinja-BVqbVU68.js → jinja-Bn3xB2ml.js} +1 -1
- package/dist/assets/{jison-xwFSCLKt.js → jison-BX4oePNj.js} +1 -1
- package/dist/assets/{julia-DdLFwKHG.js → julia-DU_-trts.js} +1 -1
- package/dist/assets/{just-C2nSWwTJ.js → just-CyokZPsE.js} +1 -1
- package/dist/assets/{latex-DQ-PIViI.js → latex-CHvXrGPz.js} +1 -1
- package/dist/assets/{lib-DHNpmqO3.js → lib-h5KT63h9.js} +1 -1
- package/dist/assets/library-detail-page-PP_bf3mt.js +1 -0
- package/dist/assets/library-page-Cg1IA3a6.js +1 -0
- package/dist/assets/{link-2-Diy8IM6e.js → link-2-B0QONFsy.js} +1 -1
- package/dist/assets/{liquid-DMN0MxFW.js → liquid-Bs4Sb-po.js} +1 -1
- package/dist/assets/llm-dimension-DPVignMk.js +1 -0
- package/dist/assets/loader-circle-FEkI0Am4.js +1 -0
- package/dist/assets/login-flow-BbsypWKa.js +1 -0
- package/dist/assets/login-page-BVX4fr6R.js +1 -0
- package/dist/assets/logout-page-BkzePxva.js +1 -0
- package/dist/assets/logs-layout-Cs8hHTTu.js +1 -0
- package/dist/assets/{lua-OvVIPbKk.js → lua-Dlulix5z.js} +1 -1
- package/dist/assets/{marko-tY59QFbN.js → marko-BKY8xXbp.js} +1 -1
- package/dist/assets/{mdc-BDW020Pz.js → mdc-DUJqLRSQ.js} +1 -1
- package/dist/assets/memory-router-playground-page-4uw1uIhg.js +3 -0
- package/dist/assets/{menu-CSSUEe4d.js → menu-0h93UDZw.js} +1 -1
- package/dist/assets/minimize-2-H-zinYcX.js +1 -0
- package/dist/assets/{misc-C66f1jHd.js → misc-BllImtEn.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-DDDsJtIP.js → mobile-sidebar-drawer-CSQF2rSV.js} +1 -1
- package/dist/assets/{modal-DnazB3IX.js → modal-C7CS3Y_X.js} +1 -1
- package/dist/assets/native-biometric-B4t4zElu.js +6 -0
- package/dist/assets/{native-file-CiPiCLx5.js → native-file-C2WSS7-h.js} +2 -2
- package/dist/assets/{nextflow-B1xq2O8L.js → nextflow-7_68OVU_.js} +1 -1
- package/dist/assets/{nginx-DtkpnFEQ.js → nginx-eipJu1bl.js} +1 -1
- package/dist/assets/{nim-CzTHLol-.js → nim-CYnL-Wir.js} +1 -1
- package/dist/assets/{notice-BD9CxrUF.js → notice-BWm2kHlI.js} +1 -1
- package/dist/assets/notifications-page-DRppz7Ms.js +1 -0
- package/dist/assets/{oauth-complete-page-DMXoApPv.js → oauth-complete-page-aT6QAfCd.js} +2 -2
- package/dist/assets/{oauth-popup-complete-page-BQ1l7eNw.js → oauth-popup-complete-page-ClfKIV61.js} +2 -2
- package/dist/assets/{octagon-x-BDjrCKCI.js → octagon-x-Bze4QGjG.js} +1 -1
- package/dist/assets/onboarding-layout-DMOume9Z.js +1 -0
- package/dist/assets/{page-shell-h1ccSMCk.js → page-shell-C4yGVVNa.js} +1 -1
- package/dist/assets/{panel-item-D-eNLUtf.js → panel-item-BPosLg5Y.js} +1 -1
- package/dist/assets/password-reset-page-CugjFViT.js +1 -0
- package/dist/assets/pcm-downsample-worklet-CwNZrVLe.js +1 -0
- package/dist/assets/{pdf-CVDqR2tF.js → pdf-BbxrOchE.js} +1 -1
- package/dist/assets/{pencil-CwqXcyAU.js → pencil-CESg1M7c.js} +1 -1
- package/dist/assets/{perl-B4xHwQjG.js → perl-D0xJm_ah.js} +1 -1
- package/dist/assets/{php-DT-qH75v.js → php-DNtH2WpS.js} +1 -1
- package/dist/assets/platform-loopback-page-DSAaBS5p.js +1 -0
- package/dist/assets/plugins-page-CYcKA2Ai.js +1 -0
- package/dist/assets/{portal-container-BfngoKcF.js → portal-container-CKtYcZfP.js} +1 -1
- package/dist/assets/pre-chat-flow-BLHHoHka.js +1 -0
- package/dist/assets/privacy-page-HiOgrDR9.js +1 -0
- package/dist/assets/privacy-screen-Ca0oGFo0.js +1 -0
- package/dist/assets/{progress-bar-DAf2e6k7.js → progress-bar-CgQMQ_UR.js} +1 -1
- package/dist/assets/provider-callback-page-DpGReURP.js +1 -0
- package/dist/assets/provider-key-DiyETKhK.js +1 -0
- package/dist/assets/provider-signup-page-BpqjcKpY.js +1 -0
- package/dist/assets/{pug-9GW60ez3.js → pug-DEPEeomQ.js} +1 -1
- package/dist/assets/{qml-bVARLFyV.js → qml-C9mVjGBN.js} +1 -1
- package/dist/assets/query-tags-yOSQTht4.js +1 -0
- package/dist/assets/{razor-X0suMNF3.js → razor-Cyg4V1EK.js} +1 -1
- package/dist/assets/react-query.gen-CfXF72qo.js +1 -0
- package/dist/assets/resize-errors-C_vO4oid.js +1 -0
- package/dist/assets/routes-C-DwSCj0.js +1 -0
- package/dist/assets/{rst-D-lNIQCa.js → rst-BiUNp2Fv.js} +1 -1
- package/dist/assets/{ruby-26UZxWDm.js → ruby-Bddxezn1.js} +1 -1
- package/dist/assets/{sas-CBE_UuH6.js → sas-DAUEkM7Z.js} +1 -1
- package/dist/assets/{save-D3FGsinv.js → save-CBzZvuPl.js} +1 -1
- package/dist/assets/schedules-mjx6ouZ2.js +1 -0
- package/dist/assets/schedules-page-zyXnmD3U.js +1 -0
- package/dist/assets/{scss-ClgdEoXG.js → scss-BlEtTolU.js} +1 -1
- package/dist/assets/{sdk.gen-1S-e52M3.js → sdk.gen-BO4vbMAj.js} +1 -1
- package/dist/assets/sdk.gen-up8j0_uF.js +6 -0
- package/dist/assets/selection-store-BCKoLRDh.js +1 -0
- package/dist/assets/settings-layout-Bsi8NeES.js +1 -0
- package/dist/assets/{shaderlab-mLnpMpN3.js → shaderlab-BH1Q2CVQ.js} +1 -1
- package/dist/assets/share-feedback-modal-BgfMO7ED.js +1 -0
- package/dist/assets/{shellsession-BKKk1SwW.js → shellsession-BdTXj0Sh.js} +1 -1
- package/dist/assets/sidebar-tree-D9JFk5pQ.js +1 -0
- package/dist/assets/signup-page-CI7xziFt.js +1 -0
- package/dist/assets/skills-page-DrpHzObX.js +1 -0
- package/dist/assets/sounds-page-Dw_ASs77.js +1 -0
- package/dist/assets/{soy-CXP3FecH.js → soy-B-FcVSYk.js} +1 -1
- package/dist/assets/{sparql-tQHB50VD.js → sparql-BjDARHNL.js} +1 -1
- package/dist/assets/{src-DDKMtkUH.js → src-Bah0_lDG.js} +2 -2
- package/dist/assets/stat-square-CMFH3mHq.js +1 -0
- package/dist/assets/{stata-gI3uZdJO.js → stata-Y4GvktLE.js} +1 -1
- package/dist/assets/step-indicator-dots-ClKaa4nc.js +1 -0
- package/dist/assets/{subagent-detail-panel-Dn212XIu.js → subagent-detail-panel-BcUQAemM.js} +2 -2
- package/dist/assets/{surrealql-BAt-qB2q.js → surrealql-BDSKZaSH.js} +1 -1
- package/dist/assets/{svelte-_sN3XHz9.js → svelte-CtuvIFmj.js} +1 -1
- package/dist/assets/system-events-page-BC0hWcTo.js +1 -0
- package/dist/assets/system-events-redirect-page-BrzAhJZT.js +1 -0
- package/dist/assets/{tag-DI4G1_a6.js → tag-BkZB4euH.js} +1 -1
- package/dist/assets/{target-Bu6hUmcU.js → target-B8JHLfTN.js} +1 -1
- package/dist/assets/{templ-DarSKCU_.js → templ-eJUdwoXg.js} +1 -1
- package/dist/assets/{tex-C_1xF61R.js → tex-CIRkYPu6.js} +1 -1
- package/dist/assets/{tiptap-document-editor-8uu7m7VU.js → tiptap-document-editor-CIVPtfOQ.js} +34 -34
- package/dist/assets/{toast-VQEhJ0eG.js → toast-Cii5pffK.js} +1 -1
- package/dist/assets/toggle-DGzEs0L1.js +1 -0
- package/dist/assets/tool-detail-panel-y2CN1PtJ.js +1 -0
- package/dist/assets/trace-page-BX5w9eln.js +1 -0
- package/dist/assets/{ts-tags-BW1K_uvA.js → ts-tags-Cza2ueQC.js} +1 -1
- package/dist/assets/{twig-D6-NX1lk.js → twig-CXZQ9Ol2.js} +1 -1
- package/dist/assets/{typography-C2ZUvvBk.js → typography-PN7B1rrW.js} +1 -1
- package/dist/assets/upgrade-cancel-page-KQ4EN_I1.js +1 -0
- package/dist/assets/upgrade-success-page-Bmv-ncJ6.js +1 -0
- package/dist/assets/usage-page-CXNTUrjR.js +1 -0
- package/dist/assets/usage-window-CsjC43Gn.js +1 -0
- package/dist/assets/{use-active-assistant-id-CAZ9yruQ.js → use-active-assistant-id-kjFL4dWB.js} +1 -1
- package/dist/assets/use-bus-subscription-r105Upoa.js +1 -0
- package/dist/assets/use-current-platform-assistant-BXRU4B3R.js +1 -0
- package/dist/assets/use-debounced-value-DK0n_BKN.js +1 -0
- package/dist/assets/{use-is-mobile-BJcMpFY1.js → use-is-mobile-B9vjoiOp.js} +1 -1
- package/dist/assets/use-is-org-ready-Dtde_1TT.js +1 -0
- package/dist/assets/use-oauth-complete-deep-link-listener-BkbO4kZ1.js +1 -0
- package/dist/assets/{use-reduced-motion-BgUzX4N9.js → use-reduced-motion-GQ_HVFpK.js} +1 -1
- package/dist/assets/{useMutation-DiUMH3gL.js → useMutation-DTb3lMvF.js} +1 -1
- package/dist/assets/{useQuery-CrONYg8_.js → useQuery-DAtrV0RI.js} +1 -1
- package/dist/assets/utils-DfoBtDfL.js +1 -0
- package/dist/assets/viewer-store-BIIKltsh.js +1 -0
- package/dist/assets/voice-page-D3jl6Uq8.js +1 -0
- package/dist/assets/{vue-CH8917up.js → vue-BHoLyUei.js} +1 -1
- package/dist/assets/{vue-html-DAE_vUrO.js → vue-html-DkcwChpt.js} +1 -1
- package/dist/assets/{vue-vine-CwkqX4-H.js → vue-vine-CWaGKpZ6.js} +1 -1
- package/dist/assets/{wand-sparkles-Bm4VWjaY.js → wand-sparkles-CIV_5Oi6.js} +1 -1
- package/dist/assets/{weather-forecast-display-DxJH81B2.js → weather-forecast-display-BA-3Q5jY.js} +1 -1
- package/dist/assets/{web-BlDUhn8s.js → web-BURo-fbJ.js} +1 -1
- package/dist/assets/{web-BmuiGnlM.js → web-Bladjo1x.js} +1 -1
- package/dist/assets/{web-CNnkyiJU.js → web-BoYC6fGC.js} +1 -1
- package/dist/assets/{web-DYZNxiAf.js → web-ByC97zP5.js} +1 -1
- package/dist/assets/{web-DvrlWSfM.js → web-D4HuJomW.js} +1 -1
- package/dist/assets/{web-D3bAy1EX.js → web-DhGMOrai.js} +1 -1
- package/dist/assets/{web-BJvfEnmz.js → web-St4pj-6p.js} +1 -1
- package/dist/assets/welcome-screen-B3oZjIVb.js +1 -0
- package/dist/assets/{with-selector-D3piXwNZ.js → with-selector-CZyYmUFz.js} +1 -1
- package/dist/assets/workspace-page-CUxLMyKc.js +1 -0
- package/dist/assets/x-2OoTSOWJ.js +1 -0
- package/dist/assets/x-CwP6G6OK.js +1 -0
- package/dist/assets/{xml-ClVI3Y-V.js → xml-CUVPRfsD.js} +1 -1
- package/dist/assets/{xsl-fuT90Jp2.js → xsl-imDMVavE.js} +1 -1
- package/dist/index.html +93 -97
- package/dist/skills/amazon/assets/icon.svg +38 -0
- package/dist/skills/api-mapping/assets/icon.svg +18 -0
- package/dist/skills/discord-app-setup/assets/icon.svg +1 -0
- package/dist/skills/doordash/assets/icon.svg +1 -0
- package/dist/skills/elevenlabs-voice/assets/icon.svg +1 -0
- package/dist/skills/frontend-design/assets/icon.svg +16 -0
- package/dist/skills/gmail/assets/icon.svg +1 -0
- package/dist/skills/google-calendar/assets/icon.svg +1 -0
- package/dist/skills/inbox-cleanup/assets/icon.svg +1 -0
- package/dist/skills/inbox-management/assets/icon.svg +1 -0
- package/dist/skills/linear-app-setup/assets/icon.svg +1 -0
- package/dist/skills/macos-automation/assets/icon.svg +12 -0
- package/dist/skills/mailgun-setup/assets/icon.svg +1 -0
- package/dist/skills/meet-join/assets/icon.svg +1 -0
- package/dist/skills/notion/assets/icon.svg +1 -0
- package/dist/skills/outlook/assets/icon.svg +2 -0
- package/dist/skills/outlook-calendar/assets/icon.svg +2 -0
- package/dist/skills/sentry-app-setup/assets/icon.svg +1 -0
- package/dist/skills/slack/assets/icon.svg +6 -0
- package/dist/skills/start-the-day/assets/icon.svg +13 -0
- package/dist/skills/stripe-app-setup/assets/icon.svg +1 -0
- package/dist/skills/stripe-link-wallet/assets/icon.svg +1 -0
- package/dist/skills/tasks/assets/icon.svg +34 -0
- package/dist/skills/telegram-setup/assets/icon.svg +1 -0
- package/dist/skills/twilio-setup/assets/icon.svg +1 -0
- package/dist/skills/vellum-github-app-setup/assets/icon.svg +1 -0
- package/dist/skills/vercel-token-setup/assets/icon.svg +1 -0
- package/dist/skills/voice-setup/assets/icon.svg +20 -0
- package/dist/skills/weather/assets/icon.svg +24 -0
- package/dist/theme-init.js +23 -0
- package/package.json +1 -1
- package/dist/assets/about-page-ChuG04vE.js +0 -1
- package/dist/assets/account-page-CrDIY8Z8.js +0 -1
- package/dist/assets/add-credits-modal-B6Gzv2vl.js +0 -1
- package/dist/assets/advanced-page-DA4ak2EO.js +0 -1
- package/dist/assets/ai-page-Ct5PY8Hr.js +0 -1
- package/dist/assets/api-B_OFJX14.js +0 -39
- package/dist/assets/api-errors-BjIRwVX0.js +0 -1
- package/dist/assets/api-key-screen-BOpLfokX.js +0 -1
- package/dist/assets/archive-page-rrkQVTUx.js +0 -1
- package/dist/assets/arrow-up-C7lv4fdd.js +0 -1
- package/dist/assets/assistant-feature-flag-store-eFzXnt31.js +0 -1
- package/dist/assets/assistant-identity-store-BKqRKOLL.js +0 -1
- package/dist/assets/assistant-status-panel-BhVNBjrt.js +0 -1
- package/dist/assets/auth-store-Cr7BV6KS.js +0 -1
- package/dist/assets/avatar-api-DUkiMcWB.js +0 -1
- package/dist/assets/billing-page-DlfvE46V.js +0 -34
- package/dist/assets/book-open-Yb24-Bn6.js +0 -1
- package/dist/assets/capture-error-DJfWcKOd.js +0 -1
- package/dist/assets/check-eRDPqo7D.js +0 -1
- package/dist/assets/command-palette-DFEQaGPU.js +0 -1
- package/dist/assets/community-page-bfjkRAbY.js +0 -1
- package/dist/assets/connect-page-BxfTgDKB.js +0 -1
- package/dist/assets/contacts-gateway-BT27BDPK.js +0 -1
- package/dist/assets/contacts-page-route-BM53qHul.js +0 -1
- package/dist/assets/danger-zone-redirect-page-QYFHTivZ.js +0 -1
- package/dist/assets/debug-page-C21JjoV7.js +0 -3
- package/dist/assets/deploy-dialogs-DL4SFMh3.js +0 -1
- package/dist/assets/developer-page-C7FApaMa.js +0 -1
- package/dist/assets/devices-page-C_sa7TuZ.js +0 -1
- package/dist/assets/document-viewer-page-B8z3ETHr.js +0 -1
- package/dist/assets/emails-page-CVjBHCVU.js +0 -1
- package/dist/assets/esm-BxOT_Vkd.js +0 -2
- package/dist/assets/esm-CUmIxxMD.js +0 -2
- package/dist/assets/esm-CkwULMW-.js +0 -2
- package/dist/assets/esm-Dn1onJZ6.js +0 -2
- package/dist/assets/feature-flag-catalog-CQJyyF9F.js +0 -1
- package/dist/assets/general-page-C-XDI8b1.js +0 -1
- package/dist/assets/hatching-screen-CQMiP_YZ.js +0 -1
- package/dist/assets/home-page-route-BV48SfuZ.js +0 -1
- package/dist/assets/identity-page-route-DaFpXmRM.js +0 -1
- package/dist/assets/index-2iJiOJAP.css +0 -2
- package/dist/assets/index-DfyO29JM.js +0 -124
- package/dist/assets/inspect-page-BRHBywRp.js +0 -2
- package/dist/assets/install-Boxb6bXU.js +0 -1
- package/dist/assets/integrations-page-DKaUYB6U.js +0 -1
- package/dist/assets/intelligence-layout-Yx83VhoZ.js +0 -1
- package/dist/assets/library-detail-page-DUU9C5Qc.js +0 -1
- package/dist/assets/library-page-BUn0-GJS.js +0 -1
- package/dist/assets/llm-dimension-DCCiYYGK.js +0 -1
- package/dist/assets/loader-circle-DnYn_L1c.js +0 -1
- package/dist/assets/local-mode-BF1E-bwb.js +0 -1
- package/dist/assets/login-flow-Dc8bcgq7.js +0 -1
- package/dist/assets/login-page-9B3yYAYY.js +0 -1
- package/dist/assets/logout-page-BenaprLt.js +0 -1
- package/dist/assets/logs-layout-CtOMkt-f.js +0 -1
- package/dist/assets/memory-router-playground-page-B7rYBJ8e.js +0 -3
- package/dist/assets/native-biometric-COiHDjMB.js +0 -6
- package/dist/assets/native-deep-link-L1RSUDsr.js +0 -1
- package/dist/assets/notifications-page-DYD5Qw5v.js +0 -1
- package/dist/assets/oauth-popup-CotK0_Xq.js +0 -1
- package/dist/assets/onboarding-layout-I064mpdZ.js +0 -1
- package/dist/assets/password-reset-page-D4OsnJgN.js +0 -1
- package/dist/assets/platform-loopback-page-Bcw-uCmy.js +0 -1
- package/dist/assets/plugins-page-CVwuk_Fh.js +0 -1
- package/dist/assets/pre-chat-flow-DYzXzK6N.js +0 -1
- package/dist/assets/prefs-DV0vPCU6.js +0 -1
- package/dist/assets/privacy-page-DgEucH63.js +0 -1
- package/dist/assets/privacy-screen-fvwKbeYH.js +0 -1
- package/dist/assets/provider-callback-page-CmOAHlCe.js +0 -1
- package/dist/assets/provider-key-D3C96Ui0.js +0 -1
- package/dist/assets/provider-signup-page-Dc2rsF00.js +0 -1
- package/dist/assets/query-tags-Dvidg_LC.js +0 -1
- package/dist/assets/react-query.gen-C_ukJxaR.js +0 -1
- package/dist/assets/react-query.gen-DHIrHqEw.js +0 -1
- package/dist/assets/resize-errors-C3PO9ann.js +0 -1
- package/dist/assets/routes-CkBoiJow.js +0 -1
- package/dist/assets/schedules-page-Dt3CLJAa.js +0 -1
- package/dist/assets/sdk.gen-COjGLNMd.js +0 -6
- package/dist/assets/selection-store-DOnhFieO.js +0 -1
- package/dist/assets/settings-layout-C3paQQd5.js +0 -1
- package/dist/assets/share-feedback-modal-BWQiSujT.js +0 -1
- package/dist/assets/sidebar-tree-DfHTF15s.js +0 -1
- package/dist/assets/signals-Bbq4C5b5.js +0 -1
- package/dist/assets/signup-page-B2t4c1d5.js +0 -1
- package/dist/assets/skills-page-ttnkr0rG.js +0 -1
- package/dist/assets/sounds-page-CHFdpMOV.js +0 -1
- package/dist/assets/stat-square-2U4ZsWYG.js +0 -1
- package/dist/assets/step-indicator-dots-D3uPz_Wt.js +0 -1
- package/dist/assets/system-events-page-BzrGm2BJ.js +0 -1
- package/dist/assets/system-events-redirect-page-CSzUi8Rq.js +0 -1
- package/dist/assets/toggle-DnsgdQ9b.js +0 -1
- package/dist/assets/tool-detail-panel-Bm-I_Sg7.js +0 -1
- package/dist/assets/trace-page-Dy7jGi6u.js +0 -1
- package/dist/assets/upgrade-cancel-page-DzKb2rHo.js +0 -1
- package/dist/assets/upgrade-success-page-BWo7L3dH.js +0 -1
- package/dist/assets/usage-page-CoskbMKy.js +0 -1
- package/dist/assets/use-current-platform-assistant-IoT7tVk6.js +0 -1
- package/dist/assets/use-debounced-value-6KVCjO4p.js +0 -1
- package/dist/assets/use-oauth-complete-deep-link-listener-BdgRkEuE.js +0 -1
- package/dist/assets/utils-SlAPWJfm.js +0 -1
- package/dist/assets/voice-page-lILDcrkB.js +0 -1
- package/dist/assets/welcome-screen-fMQ3U9V8.js +0 -1
- package/dist/assets/workspace-page-C0PJjA84.js +0 -1
- package/dist/assets/x-BgvySeHo.js +0 -1
- package/dist/assets/x-JZSbA73X.js +0 -1
- /package/dist/assets/{abap-Cjj2olMr.js → abap-C4iPiDIu.js} +0 -0
- /package/dist/assets/{actionscript-3-DCkW7kWC.js → actionscript-3-gKpUxVX1.js} +0 -0
- /package/dist/assets/{ada-AEWvZXuX.js → ada-BNfMfhXG.js} +0 -0
- /package/dist/assets/{andromeeda-D7cSpME6.js → andromeeda-DLZ1RhgM.js} +0 -0
- /package/dist/assets/{apache-DjvX0RSe.js → apache-CmXtX8w8.js} +0 -0
- /package/dist/assets/{apex-70xIZ0pH.js → apex-DQ3YjsTJ.js} +0 -0
- /package/dist/assets/{applescript-C3qKqxmA.js → applescript-CoELsxRV.js} +0 -0
- /package/dist/assets/{ara-iGt2zixk.js → ara-BLqTzepa.js} +0 -0
- /package/dist/assets/{asciidoc-Bs2t-06W.js → asciidoc-Bu3NXNp3.js} +0 -0
- /package/dist/assets/{asm-B-T0eqhE.js → asm-hlDTKcRV.js} +0 -0
- /package/dist/assets/{aurora-x-D3h_9M3E.js → aurora-x-Y3rL1Mno.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CGiGgg87.js → avatar-bundled-components-BKb8hhzM.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DTokNF3h.js → avatar-svg-compositor-CE52Zi2F.js} +0 -0
- /package/dist/assets/{awk-CZwfwpPi.js → awk-fqp6puV8.js} +0 -0
- /package/dist/assets/{ayu-dark-DulkglEA.js → ayu-dark-8m2thfgS.js} +0 -0
- /package/dist/assets/{ayu-light-DyNQiRpn.js → ayu-light-B_LzrLW4.js} +0 -0
- /package/dist/assets/{ayu-mirage-CcEt4xkI.js → ayu-mirage-C408gKdx.js} +0 -0
- /package/dist/assets/{ballerina-OhQPjyHS.js → ballerina-Dzhgw61p.js} +0 -0
- /package/dist/assets/{bat-DqKcJTUn.js → bat-CM0nyl3e.js} +0 -0
- /package/dist/assets/{beancount-BdXlMi8T.js → beancount-DS2zW2gu.js} +0 -0
- /package/dist/assets/{berry-DvgY6BkY.js → berry-CFa7Vgeg.js} +0 -0
- /package/dist/assets/{bibtex-BSRJq0yM.js → bibtex-BgrhWGNJ.js} +0 -0
- /package/dist/assets/{bicep-DpAdumKt.js → bicep-DtHaVZsZ.js} +0 -0
- /package/dist/assets/{bird2-rlbtp8di.js → bird2-CwlVhixU.js} +0 -0
- /package/dist/assets/{c-BbxWH2Eo.js → c-DHEwyzyt.js} +0 -0
- /package/dist/assets/{c3-DqIXz4Ia.js → c3-BjbJ1SWk.js} +0 -0
- /package/dist/assets/{cadence-DAJtUpOE.js → cadence-D5TkDw9F.js} +0 -0
- /package/dist/assets/{catppuccin-frappe-DUPoeZfb.js → catppuccin-frappe-AYmKAKbn.js} +0 -0
- /package/dist/assets/{catppuccin-latte-CK3U68Ql.js → catppuccin-latte-rgEci-mq.js} +0 -0
- /package/dist/assets/{catppuccin-macchiato-BzteLnIX.js → catppuccin-macchiato-DK631o7w.js} +0 -0
- /package/dist/assets/{catppuccin-mocha-ozLd0aBR.js → catppuccin-mocha-Dxwp0FIj.js} +0 -0
- /package/dist/assets/{clarity-6KqEoBfz.js → clarity-RpeFvelS.js} +0 -0
- /package/dist/assets/{client.gen-D2FNzKQM.js → client.gen-BKAMS0D0.js} +0 -0
- /package/dist/assets/{clojure-B_uBL5C7.js → clojure-CRAC2t-A.js} +0 -0
- /package/dist/assets/{clsx-grcm2PBd.js → clsx-BcPLHiun.js} +0 -0
- /package/dist/assets/{cmake-B3nxBNmj.js → cmake-CR_x8y9A.js} +0 -0
- /package/dist/assets/{cn-T5lqoG0E.js → cn-DIX4PZch.js} +0 -0
- /package/dist/assets/{codeowners-DkS-51at.js → codeowners-DCE2DWuf.js} +0 -0
- /package/dist/assets/{codeql-rpr1z_mR.js → codeql-DsaJqgmb.js} +0 -0
- /package/dist/assets/{common-lisp-BfNbv_W6.js → common-lisp-ssblfVQ2.js} +0 -0
- /package/dist/assets/{coq-EAW-1nw0.js → coq-CHVp-7H5.js} +0 -0
- /package/dist/assets/{csharp-BE3Gn5bq.js → csharp-DI5xNuVa.js} +0 -0
- /package/dist/assets/{css-BdYQVA4T.js → css-cWOM3a0B.js} +0 -0
- /package/dist/assets/{csv-B5VtaPtH.js → csv-Bpv-AoF-.js} +0 -0
- /package/dist/assets/{cue-jm6lYNrx.js → cue-DDYtbxe3.js} +0 -0
- /package/dist/assets/{cypher-DXkvK-pn.js → cypher-llXjaNz7.js} +0 -0
- /package/dist/assets/{d-CgG1_yzd.js → d-CKAGFvTZ.js} +0 -0
- /package/dist/assets/{dark-plus-CALzcIVB.js → dark-plus-rkBkJwdk.js} +0 -0
- /package/dist/assets/{dart-BEVoLlWg.js → dart-DMYKlTVD.js} +0 -0
- /package/dist/assets/{dax-H0BW3Q_P.js → dax-DdvjFH0V.js} +0 -0
- /package/dist/assets/{definitions-BW9hy2QG.js → definitions-BNrrmgWe.js} +0 -0
- /package/dist/assets/{desktop-BtYq1l_0.js → desktop-w1vLnVHT.js} +0 -0
- /package/dist/assets/{diff-CnBYdfTg.js → diff-OeXZvF1L.js} +0 -0
- /package/dist/assets/{dist-KWOsn0v8.js → dist-C49TvNNR.js} +0 -0
- /package/dist/assets/{docker-COBitpld.js → docker-C3A0dfO2.js} +0 -0
- /package/dist/assets/{dotenv-CG0x1m7c.js → dotenv-DW1eN_9r.js} +0 -0
- /package/dist/assets/{dracula-CLCi47X-.js → dracula-DTBIfZ52.js} +0 -0
- /package/dist/assets/{dracula-soft-BMv5cCAV.js → dracula-soft-CrJWuJGa.js} +0 -0
- /package/dist/assets/{dream-maker-1Bd4OSww.js → dream-maker-BbcHsNud.js} +0 -0
- /package/dist/assets/{emacs-lisp-B-2zKLn-.js → emacs-lisp-CXlankGO.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-CmIAmDSt.js → emoji-catalog-data-B2dzgy2b.js} +0 -0
- /package/dist/assets/{event-bus-B7MjXE2j.js → event-bus-WRYwtHDl.js} +0 -0
- /package/dist/assets/{everforest-dark-BGVynCbV.js → everforest-dark-B2pu_HKn.js} +0 -0
- /package/dist/assets/{everforest-light--rn3R7Cm.js → everforest-light-DN0BkMBf.js} +0 -0
- /package/dist/assets/{exports-CJ0Uoq7P.js → exports-B_RC9sMS.js} +0 -0
- /package/dist/assets/{fennel-SWg9Us_u.js → fennel-Cr6woGT-.js} +0 -0
- /package/dist/assets/{fish-B04oqgKk.js → fish-BJg8G7KS.js} +0 -0
- /package/dist/assets/{fluent-BefzAGMN.js → fluent-DwMQdbwA.js} +0 -0
- /package/dist/assets/{format-DQmCypqv.js → format-B2Cl9naL.js} +0 -0
- /package/dist/assets/{format-date-DVD0o0QA.js → format-date-C_j5UjES.js} +0 -0
- /package/dist/assets/{fortran-free-form-alw7jMxb.js → fortran-free-form-CzTB9Sqt.js} +0 -0
- /package/dist/assets/{gdscript-BAyhvjCx.js → gdscript-weUeMolr.js} +0 -0
- /package/dist/assets/{gdshader-Crl09X-B.js → gdshader-iWAUzgYh.js} +0 -0
- /package/dist/assets/{genie-BSIGRHu7.js → genie-CV-0RB6d.js} +0 -0
- /package/dist/assets/{gherkin-DJhSnSWH.js → gherkin-Bi25xuBx.js} +0 -0
- /package/dist/assets/{github-dark-r8C6qwug.js → github-dark-UUFXF3bS.js} +0 -0
- /package/dist/assets/{github-dark-default-FVtXjcm8.js → github-dark-default-C5WdYtsR.js} +0 -0
- /package/dist/assets/{github-dark-dimmed-CzrUPgSb.js → github-dark-dimmed-CJFXRI6Q.js} +0 -0
- /package/dist/assets/{github-dark-high-contrast-1s9rF5EB.js → github-dark-high-contrast-JloQ0SAJ.js} +0 -0
- /package/dist/assets/{github-light-BvIWCkl7.js → github-light-4CveJiiC.js} +0 -0
- /package/dist/assets/{github-light-default-CVdhzrxV.js → github-light-default-DGIOayrf.js} +0 -0
- /package/dist/assets/{github-light-high-contrast-CBAf6hjF.js → github-light-high-contrast-DOA9HriW.js} +0 -0
- /package/dist/assets/{gleam-DvL1q7aa.js → gleam-CKtDvnYK.js} +0 -0
- /package/dist/assets/{gn-BG5NvwAf.js → gn-lpxxrUCu.js} +0 -0
- /package/dist/assets/{gnuplot-BARnM-zG.js → gnuplot-BhYvNHXT.js} +0 -0
- /package/dist/assets/{go-DXvjjq4q.js → go-CGiDqZ23.js} +0 -0
- /package/dist/assets/{groovy-CRylSKhr.js → groovy-CGHX_PQL.js} +0 -0
- /package/dist/assets/{gruvbox-dark-hard-BVPjnqm7.js → gruvbox-dark-hard-WxeIxO0x.js} +0 -0
- /package/dist/assets/{gruvbox-dark-medium-U_PDgq0a.js → gruvbox-dark-medium-BrLRvqzP.js} +0 -0
- /package/dist/assets/{gruvbox-dark-soft-CkzNtpbr.js → gruvbox-dark-soft-Yzi926sT.js} +0 -0
- /package/dist/assets/{gruvbox-light-hard-DfMmR2G8.js → gruvbox-light-hard-Cw9Re-rI.js} +0 -0
- /package/dist/assets/{gruvbox-light-medium-BGCak-dd.js → gruvbox-light-medium-4lcJ4wOe.js} +0 -0
- /package/dist/assets/{gruvbox-light-soft-DnpM3fkN.js → gruvbox-light-soft-CXfwWDtY.js} +0 -0
- /package/dist/assets/{haskell-DXgGIDD_.js → haskell-DBidNlOX.js} +0 -0
- /package/dist/assets/{haxe-B7qlTpRz.js → haxe-B6ZewxKA.js} +0 -0
- /package/dist/assets/{hcl-ADWfVe_Q.js → hcl-BKeuz7gp.js} +0 -0
- /package/dist/assets/{hjson-BaM9gLbq.js → hjson-rgQbq9_i.js} +0 -0
- /package/dist/assets/{hlsl-iqaRA4MG.js → hlsl-D7KFXCoM.js} +0 -0
- /package/dist/assets/{horizon-BPpTnhB9.js → horizon-DAiINwqJ.js} +0 -0
- /package/dist/assets/{horizon-bright-yBLg3QbE.js → horizon-bright-CFeHelVZ.js} +0 -0
- /package/dist/assets/{houston-eFOp0ySL.js → houston-BdHxI9BK.js} +0 -0
- /package/dist/assets/{hy-BALeMn3i.js → hy-CDDbmdhC.js} +0 -0
- /package/dist/assets/{imba-CdGUm_GD.js → imba-CwLWOt59.js} +0 -0
- /package/dist/assets/{ini-DG7imsqe.js → ini-Bwb6xY8F.js} +0 -0
- /package/dist/assets/{java-j5sjtKwV.js → java-CDWeyxES.js} +0 -0
- /package/dist/assets/{javascript-CDM3Byzy.js → javascript-BN3vpbN8.js} +0 -0
- /package/dist/assets/{json-BM6IlJL7.js → json-CycFWZcg.js} +0 -0
- /package/dist/assets/{json5--Abk7MUy.js → json5-BM_H1TCH.js} +0 -0
- /package/dist/assets/{jsonc-C8jb-Z6x.js → jsonc-EUMfb5CQ.js} +0 -0
- /package/dist/assets/{jsonl-CaJNxfkm.js → jsonl-DvZe68u2.js} +0 -0
- /package/dist/assets/{jsonnet-CPrKMSCU.js → jsonnet-BG4vdzZ4.js} +0 -0
- /package/dist/assets/{jssm-DEu-9_uo.js → jssm-DNeKUJR3.js} +0 -0
- /package/dist/assets/{jsx-CU_TrSpk.js → jsx-jfTE_lQA.js} +0 -0
- /package/dist/assets/{jsx-runtime-D1qe-iBh.js → jsx-runtime-XSukodg_.js} +0 -0
- /package/dist/assets/{kanagawa-dragon-DnbcAduF.js → kanagawa-dragon-D9OVubsz.js} +0 -0
- /package/dist/assets/{kanagawa-lotus-yxsY3ew8.js → kanagawa-lotus-CSRx4SDl.js} +0 -0
- /package/dist/assets/{kanagawa-wave-C2RyvZaM.js → kanagawa-wave-UOuPU6gH.js} +0 -0
- /package/dist/assets/{kdl-CvssmvcU.js → kdl-DaJuRpNV.js} +0 -0
- /package/dist/assets/{kotlin-jufO49mU.js → kotlin-BNEzAgnJ.js} +0 -0
- /package/dist/assets/{kusto-BAFnylR7.js → kusto-BnUa5uHr.js} +0 -0
- /package/dist/assets/{laserwave-BgxFC4Ge.js → laserwave-BPO5VXXS.js} +0 -0
- /package/dist/assets/{lean-Bgt24V1D.js → lean-Z7O9sZeQ.js} +0 -0
- /package/dist/assets/{less-Bk_UaqsM.js → less-9u8t21jj.js} +0 -0
- /package/dist/assets/{lib-Bqwb-EmC.js → lib-B020BIem.js} +0 -0
- /package/dist/assets/{light-plus-nMxFfInN.js → light-plus-Wc5scgJh.js} +0 -0
- /package/dist/assets/{llvm-3_PASDOO.js → llvm-DUPAzzzh.js} +0 -0
- /package/dist/assets/{log-CKm0CxB1.js → log-yVIkEnLV.js} +0 -0
- /package/dist/assets/{logo-DFP1_5U6.js → logo-BMjRBAP1.js} +0 -0
- /package/dist/assets/{loopback-auth-jEbLJO6M.js → loopback-auth-Dclf8zKT.js} +0 -0
- /package/dist/assets/{luau-BcZnoyh3.js → luau-CRLNKfW2.js} +0 -0
- /package/dist/assets/{make-CpNSwgwT.js → make-ABiaNV_U.js} +0 -0
- /package/dist/assets/{markdown-DhU3Djpv.js → markdown-Dn1PAeWy.js} +0 -0
- /package/dist/assets/{material-theme-DD5L3OqF.js → material-theme-DKIEc_9D.js} +0 -0
- /package/dist/assets/{material-theme-darker-CG2_tD3R.js → material-theme-darker-CKATunxP.js} +0 -0
- /package/dist/assets/{material-theme-lighter-CzNkUc9Y.js → material-theme-lighter-Ch4hbIqq.js} +0 -0
- /package/dist/assets/{material-theme-ocean-BtLiAaF_.js → material-theme-ocean-DMLBHhVS.js} +0 -0
- /package/dist/assets/{material-theme-palenight-Brvjz035.js → material-theme-palenight-rAwveJbA.js} +0 -0
- /package/dist/assets/{matlab-CCY0KtMD.js → matlab-nAylgdir.js} +0 -0
- /package/dist/assets/{mdx-CH6YY0aS.js → mdx-D21b3pUC.js} +0 -0
- /package/dist/assets/{mermaid-Bqh3gFI0.js → mermaid-BpHmCKn1.js} +0 -0
- /package/dist/assets/{min-dark-BUwfTzI6.js → min-dark-B0702Ln3.js} +0 -0
- /package/dist/assets/{min-light-oLanXCOk.js → min-light-9h8I8ujc.js} +0 -0
- /package/dist/assets/{mipsasm-CTh3hPWK.js → mipsasm-CtcdPU2Y.js} +0 -0
- /package/dist/assets/{mojo-DXdszZKa.js → mojo-Bv8xbxSD.js} +0 -0
- /package/dist/assets/{monokai-TNE_tRxc.js → monokai-R3M-Pkjy.js} +0 -0
- /package/dist/assets/{moonbit-jrk-Gx1X.js → moonbit-MUcZ6VT6.js} +0 -0
- /package/dist/assets/{move-DItn61bH.js → move-B0DlmhPE.js} +0 -0
- /package/dist/assets/{narrat-3kB4dkh0.js → narrat-C1e9cFYb.js} +0 -0
- /package/dist/assets/{nextflow-groovy-CSKtwETr.js → nextflow-groovy-WB_Hv0pj.js} +0 -0
- /package/dist/assets/{night-owl-Dm91nSIq.js → night-owl-BpHVNbG5.js} +0 -0
- /package/dist/assets/{night-owl-light-riwrcPRg.js → night-owl-light-B7XHq6BU.js} +0 -0
- /package/dist/assets/{nix-sLgl9zGF.js → nix-Bz43yTHV.js} +0 -0
- /package/dist/assets/{nord-TWkJPI6M.js → nord-C3Ef8EYs.js} +0 -0
- /package/dist/assets/{nushell-CDZi4-Gf.js → nushell-BDgFfjsp.js} +0 -0
- /package/dist/assets/{objective-c-DW9PboNp.js → objective-c-CrKuI4kq.js} +0 -0
- /package/dist/assets/{objective-cpp-2XCCX6q1.js → objective-cpp-Cq2sz32p.js} +0 -0
- /package/dist/assets/{ocaml-CxPdnjrh.js → ocaml-CaddozqL.js} +0 -0
- /package/dist/assets/{odin-BJjlKpkM.js → odin-3oMQ00A0.js} +0 -0
- /package/dist/assets/{one-dark-pro-K1KOmBZ7.js → one-dark-pro-Dtx2KhVV.js} +0 -0
- /package/dist/assets/{one-light-DQB-vUyZ.js → one-light-BNUXpRjj.js} +0 -0
- /package/dist/assets/{openscad-DCoLwn4j.js → openscad-Bl9bEK7K.js} +0 -0
- /package/dist/assets/{pascal-z2ktbbWp.js → pascal-DAlnwvFf.js} +0 -0
- /package/dist/assets/{pkl-Dyq4-v6z.js → pkl-CUN5bqal.js} +0 -0
- /package/dist/assets/{plastic-C4Rq5PnD.js → plastic-BTnTnib5.js} +0 -0
- /package/dist/assets/{plsql-BCIjO63y.js → plsql-CSbyze_M.js} +0 -0
- /package/dist/assets/{po-_kXpd_0n.js → po-DNd8SYOs.js} +0 -0
- /package/dist/assets/{poimandres-C9XggjB3.js → poimandres-Du8CR7IV.js} +0 -0
- /package/dist/assets/{polar-DV_1L04z.js → polar-BP89cGjR.js} +0 -0
- /package/dist/assets/{postcss-BuqS91mQ.js → postcss-DP5swxmN.js} +0 -0
- /package/dist/assets/{powerquery-DK13B2Dc.js → powerquery-8FFmlmIB.js} +0 -0
- /package/dist/assets/{powershell-tkuhhtuP.js → powershell-Df4bjjrh.js} +0 -0
- /package/dist/assets/{preload-helper-CC9DnTon.js → preload-helper-CS_K7l1U.js} +0 -0
- /package/dist/assets/{prisma-WNXfBtpr.js → prisma-GVbmmvVi.js} +0 -0
- /package/dist/assets/{prolog-BzEdNKfO.js → prolog-CgVNaQE6.js} +0 -0
- /package/dist/assets/{proto-B5meVsrA.js → proto-DQgw5Bn7.js} +0 -0
- /package/dist/assets/{public-asset-wtS9_-QU.js → public-asset-CdVbP-K-.js} +0 -0
- /package/dist/assets/{puppet-C7h_p4r2.js → puppet-B6qkR0ho.js} +0 -0
- /package/dist/assets/{purescript-qH1KxAs6.js → purescript-D6HPYETy.js} +0 -0
- /package/dist/assets/{python-DeTIYd5V.js → python-BQxVVqSC.js} +0 -0
- /package/dist/assets/{qmldir-4Rm5AvD3.js → qmldir-C4uLs1pY.js} +0 -0
- /package/dist/assets/{qss-YRbeNtr0.js → qss-CrbqJ-bS.js} +0 -0
- /package/dist/assets/{queryOptions-BlcwdoQQ.js → queryOptions-C_ypb2wA.js} +0 -0
- /package/dist/assets/{r-CMso0frX.js → r-BYcMR2CA.js} +0 -0
- /package/dist/assets/{racket-gKn4SFLQ.js → racket-CYlA9b-a.js} +0 -0
- /package/dist/assets/{raku-DWTmAj3A.js → raku-DskHTPaV.js} +0 -0
- /package/dist/assets/{react-BlnqVGWw.js → react-DJZBPgpf.js} +0 -0
- /package/dist/assets/{red-BFuHRZFS.js → red-C6BsNewa.js} +0 -0
- /package/dist/assets/{reg-DYoOF5tH.js → reg-CVAsZyTh.js} +0 -0
- /package/dist/assets/{regexp-B6wC3Alg.js → regexp-CE46xxOu.js} +0 -0
- /package/dist/assets/{rel-Z_tTruCU.js → rel-C3ws-d8w.js} +0 -0
- /package/dist/assets/{riscv-DfTfKuvU.js → riscv-zwK-GGe7.js} +0 -0
- /package/dist/assets/{ron-CsUtW8gQ.js → ron-DKXxeRcR.js} +0 -0
- /package/dist/assets/{rose-pine-Dng_vCo6.js → rose-pine-D16YZ514.js} +0 -0
- /package/dist/assets/{rose-pine-dawn-Ds88Nezf.js → rose-pine-dawn-C6PC9FaW.js} +0 -0
- /package/dist/assets/{rose-pine-moon-DWpzrqNz.js → rose-pine-moon-B-ONpfIN.js} +0 -0
- /package/dist/assets/{rosmsg-h2sO84oD.js → rosmsg-Cly8Evf4.js} +0 -0
- /package/dist/assets/{rust-Dx86yfCi.js → rust-COkR_9xi.js} +0 -0
- /package/dist/assets/{sass-BwwVhdT9.js → sass-DDyX_867.js} +0 -0
- /package/dist/assets/{scala-WJqNEN-w.js → scala-BseDqmtP.js} +0 -0
- /package/dist/assets/{scheme-uwj-t1Rp.js → scheme-0Ar7fzWG.js} +0 -0
- /package/dist/assets/{sdbl-BYy5hgEz.js → sdbl-BjheWPT8.js} +0 -0
- /package/dist/assets/{semver-BMhLFfhj.js → semver-DI5hyC-t.js} +0 -0
- /package/dist/assets/{shellscript-B9T4z4ZS.js → shellscript-DbCYZXfD.js} +0 -0
- /package/dist/assets/{slack-dark-BvhGq5vQ.js → slack-dark-B8yuPDrG.js} +0 -0
- /package/dist/assets/{slack-ochin-C9g0ZRFr.js → slack-ochin-DLZ-yxLq.js} +0 -0
- /package/dist/assets/{smalltalk-ZEiZ6i7U.js → smalltalk-DhsjsTfs.js} +0 -0
- /package/dist/assets/{snazzy-light-29OA24q5.js → snazzy-light-BdZObzxx.js} +0 -0
- /package/dist/assets/{solarized-dark-Bnq9IOn_.js → solarized-dark-DnY9BvAi.js} +0 -0
- /package/dist/assets/{solarized-light-CYdI7T5g.js → solarized-light-BfrwmYru.js} +0 -0
- /package/dist/assets/{solidity-DcuIDB-_.js → solidity-DPjYkHh9.js} +0 -0
- /package/dist/assets/{splunk-D5ONE91g.js → splunk-aauv22i7.js} +0 -0
- /package/dist/assets/{sql-CFgcYxpU.js → sql-ChQ8ry3n.js} +0 -0
- /package/dist/assets/{ssh-config-D8717tLI.js → ssh-config-Dz6ViL0P.js} +0 -0
- /package/dist/assets/{stylus-Cm1lO4Y6.js → stylus-BOOipACK.js} +0 -0
- /package/dist/assets/{swift-X8oWpSeU.js → swift-m0EGSEdy.js} +0 -0
- /package/dist/assets/{synthwave-84-DF-t1UKY.js → synthwave-84-BgN63B7_.js} +0 -0
- /package/dist/assets/{system-verilog-JYyHFpPf.js → system-verilog-DA9NXNZH.js} +0 -0
- /package/dist/assets/{systemd-Da-5Ma_c.js → systemd-6ndOYGhY.js} +0 -0
- /package/dist/assets/{talonscript-CXraVPho.js → talonscript-B8LuZYir.js} +0 -0
- /package/dist/assets/{tasl-BCmWezH9.js → tasl-xnHVT9C9.js} +0 -0
- /package/dist/assets/{tcl-BTufzfbf.js → tcl-BODTsuI7.js} +0 -0
- /package/dist/assets/{terraform-CtUA9c8W.js → terraform-BKPIDy8E.js} +0 -0
- /package/dist/assets/{tokyo-night-BCThYXmz.js → tokyo-night-DL0vCNuB.js} +0 -0
- /package/dist/assets/{toml-D5YlDr6Y.js → toml-DFQNE4Bb.js} +0 -0
- /package/dist/assets/{tsv-CBB-P_Sl.js → tsv-CiCFnPYM.js} +0 -0
- /package/dist/assets/{tsx-BEBsk4Yi.js → tsx-r66DnitA.js} +0 -0
- /package/dist/assets/{turtle-D8PCeJ-v.js → turtle-D6TqBP-R.js} +0 -0
- /package/dist/assets/{typescript-lcLHehw2.js → typescript-DywEkG3h.js} +0 -0
- /package/dist/assets/{typespec-CHxldxIW.js → typespec-CGjgqr9W.js} +0 -0
- /package/dist/assets/{typst-Q8CqX5OR.js → typst-Bx-thO8d.js} +0 -0
- /package/dist/assets/{v-Bf2hKAMu.js → v-4VB7M7V1.js} +0 -0
- /package/dist/assets/{vala-Cbete-UE.js → vala-DyD7epks.js} +0 -0
- /package/dist/assets/{vb-CA-xWAcX.js → vb-MkcXsT7p.js} +0 -0
- /package/dist/assets/{verilog-B3wb8CfT.js → verilog-CxKKBB7K.js} +0 -0
- /package/dist/assets/{vesper-D6r3VJq_.js → vesper-BWWaFc_5.js} +0 -0
- /package/dist/assets/{vhdl-C42S_797.js → vhdl-FnKcRQFJ.js} +0 -0
- /package/dist/assets/{viml-BePrIAs8.js → viml-CLoIdFzC.js} +0 -0
- /package/dist/assets/{vitesse-black-DRqn61Ck.js → vitesse-black-LsvPTIiF.js} +0 -0
- /package/dist/assets/{vitesse-dark-39_8UE-w.js → vitesse-dark-xzpAWWRe.js} +0 -0
- /package/dist/assets/{vitesse-light-B1jwrxDm.js → vitesse-light-Dw68nIQJ.js} +0 -0
- /package/dist/assets/{vyper-tDJv3imF.js → vyper-DMsUwnVX.js} +0 -0
- /package/dist/assets/{wasm-BYoJCXXt.js → wasm-CGZ0ykRa.js} +0 -0
- /package/dist/assets/{wasm-DR7eskZH.js → wasm-ic38CN6z.js} +0 -0
- /package/dist/assets/{wenyan-CezVfqN3.js → wenyan-COLZAIZW.js} +0 -0
- /package/dist/assets/{wgsl-CwOcIiIG.js → wgsl-D-u1_3zX.js} +0 -0
- /package/dist/assets/{wikitext-C5coomYc.js → wikitext-l1E17Wn7.js} +0 -0
- /package/dist/assets/{wit-C9yyX6-U.js → wit-BW55uw8a.js} +0 -0
- /package/dist/assets/{wolfram-BWi0rMAa.js → wolfram-C0owoV7l.js} +0 -0
- /package/dist/assets/{xterm-Dsv8Be_e.js → xterm-AXHTOo82.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-C__pvf5w.js → xterm-addon-fit-CfpfPbfB.js} +0 -0
- /package/dist/assets/{yaml-FxJ2oirE.js → yaml-DP2H7z8n.js} +0 -0
- /package/dist/assets/{zenscript-Do7WLoJh.js → zenscript-ChRsLAgZ.js} +0 -0
- /package/dist/assets/{zig-Cr80Qrru.js → zig-s66PLVk_.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Discord</title><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>DoorDash</title><path d="M23.071 8.409a6.09 6.09 0 00-5.396-3.228H.584A.589.589 0 00.17 6.184L3.894 9.93a1.752 1.752 0 001.242.516h12.049a1.554 1.554 0 11.031 3.108H8.91a.589.589 0 00-.415 1.003l3.725 3.747a1.75 1.75 0 001.242.516h3.757c4.887 0 8.584-5.225 5.852-10.413"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>ElevenLabs</title><path d="M4.6035 0v24h4.9317V0zm9.8613 0v24h4.9317V0z"/></svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0" y="0" width="16" height="16" fill="#f5f5f5"/>
|
|
3
|
+
<rect x="2" y="2" width="12" height="11" fill="#ffffff" stroke="#333333" stroke-width="1"/>
|
|
4
|
+
<rect x="2" y="2" width="12" height="2" fill="#ff6b6b"/>
|
|
5
|
+
<rect x="3" y="3" width="10" height="1" fill="#ffffff"/>
|
|
6
|
+
<rect x="3" y="5" width="2" height="1" fill="#4ecdc4"/>
|
|
7
|
+
<rect x="6" y="5" width="2" height="1" fill="#4ecdc4"/>
|
|
8
|
+
<rect x="9" y="5" width="2" height="1" fill="#4ecdc4"/>
|
|
9
|
+
<rect x="3" y="7" width="4" height="1" fill="#95e1d3"/>
|
|
10
|
+
<rect x="3" y="8" width="4" height="1" fill="#95e1d3"/>
|
|
11
|
+
<rect x="3" y="9" width="3" height="1" fill="#95e1d3"/>
|
|
12
|
+
<rect x="8" y="7" width="5" height="1" fill="#ffd93d"/>
|
|
13
|
+
<rect x="8" y="8" width="5" height="1" fill="#ffd93d"/>
|
|
14
|
+
<rect x="8" y="9" width="3" height="1" fill="#ffd93d"/>
|
|
15
|
+
<rect x="3" y="11" width="10" height="1" fill="#e8e8e8"/>
|
|
16
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Gmail</title><path d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Google Calendar</title><path d="M18.316 5.684H24v12.632h-5.684V5.684zM5.684 24h12.632v-5.684H5.684V24zM18.316 5.684V0H1.895A1.894 1.894 0 0 0 0 1.895v16.421h5.684V5.684h12.632zm-7.207 6.25v-.065c.272-.144.5-.349.687-.617s.279-.595.279-.982c0-.379-.099-.72-.3-1.025a2.05 2.05 0 0 0-.832-.714 2.703 2.703 0 0 0-1.197-.257c-.6 0-1.094.156-1.481.467-.386.311-.65.671-.793 1.078l1.085.452c.086-.249.224-.461.413-.633.189-.172.445-.257.767-.257.33 0 .602.088.816.264a.86.86 0 0 1 .322.703c0 .33-.12.589-.36.778-.24.19-.535.284-.886.284h-.567v1.085h.633c.407 0 .748.109 1.02.327.272.218.407.499.407.843 0 .336-.129.614-.387.832s-.565.327-.924.327c-.351 0-.651-.103-.897-.311-.248-.208-.422-.502-.521-.881l-1.096.452c.178.616.505 1.082.977 1.401.472.319.984.478 1.538.477a2.84 2.84 0 0 0 1.293-.291c.382-.193.684-.458.902-.794.218-.336.327-.72.327-1.149 0-.429-.115-.797-.344-1.105a2.067 2.067 0 0 0-.881-.689zm2.093-1.931l.602.913L15 10.045v5.744h1.187V8.446h-.827l-2.158 1.557zM22.105 0h-3.289v5.184H24V1.895A1.894 1.894 0 0 0 22.105 0zm-3.289 23.5l4.684-4.684h-4.684V23.5zM0 22.105C0 23.152.848 24 1.895 24h3.289v-5.184H0v3.289z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Gmail</title><path d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Gmail</title><path d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Linear</title><path d="M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z"/></svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="2" y="2" width="12" height="11" fill="#e8e8e8" stroke="#333" stroke-width="1"/>
|
|
3
|
+
<rect x="3" y="3" width="10" height="9" fill="#f5f5f5"/>
|
|
4
|
+
<circle cx="8" cy="7" r="2" fill="#0071e3"/>
|
|
5
|
+
<rect x="5" y="5" width="1" height="1" fill="#333"/>
|
|
6
|
+
<rect x="10" y="5" width="1" height="1" fill="#333"/>
|
|
7
|
+
<rect x="5" y="9" width="1" height="1" fill="#333"/>
|
|
8
|
+
<rect x="10" y="9" width="1" height="1" fill="#333"/>
|
|
9
|
+
<path d="M 8 4 L 8 6 M 6 7 L 8 7 M 8 8 L 8 10 M 8 7 L 10 7" stroke="#0071e3" stroke-width="1" fill="none"/>
|
|
10
|
+
<rect x="3" y="13" width="10" height="1" fill="#333"/>
|
|
11
|
+
<rect x="4" y="14" width="8" height="1" fill="#0071e3"/>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Mailgun</title><path d="M11.837 0c6.602 0 11.984 5.381 11.984 11.994-.017 2.99-3.264 4.84-5.844 3.331a3.805 3.805 0 0 1-.06-.035l-.055-.033-.022.055c-2.554 4.63-9.162 4.758-11.894.232-2.732-4.527.46-10.313 5.746-10.416a6.868 6.868 0 0 1 7.002 6.866 1.265 1.265 0 0 0 2.52 0c0-5.18-4.197-9.38-9.377-9.387C4.611 2.594.081 10.41 3.683 16.673c3.238 5.632 11.08 6.351 15.289 1.402l1.997 1.686A11.95 11.95 0 0 1 11.837 24C2.6 23.72-2.87 13.543 1.992 5.684A12.006 12.006 0 0 1 11.837 0Zm0 7.745c-3.276-.163-5.5 3.281-4.003 6.2a4.26 4.26 0 0 0 4.014 2.31c3.276-.171 5.137-3.824 3.35-6.575a4.26 4.26 0 0 0-3.36-1.935Zm0 2.53c1.324 0 2.152 1.433 1.49 2.58a1.72 1.72 0 0 1-1.49.86 1.72 1.72 0 1 1 0-3.44Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Google Meet</title><path d="M5.53 2.13 0 7.75h5.53zm.398 0v5.62h7.608v3.65l5.47-4.45c-.014-1.22.031-2.25-.025-3.46-.148-1.09-1.287-1.47-2.236-1.36zM23.1 4.32c-.802.295-1.358.995-2.047 1.49-2.506 2.05-4.982 4.12-7.468 6.19 3.025 2.59 6.04 5.18 9.065 7.76 1.218.671 1.428-.814 1.328-1.64v-13a.828.828 0 0 0-.877-.825zM.038 8.15v7.7h5.53v-7.7zm13.577 8.1H6.008v5.62c3.864-.006 7.737.011 11.58-.009 1.02-.07 1.618-1.12 1.468-2.07v-2.51l-5.47-4.68v3.65zm-13.577 0c.02 1.44-.041 2.88.033 4.31.162.948 1.158 1.43 2.047 1.31h3.464v-5.62z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Notion</title><path d="M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z"/></svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_outlook</title><path d="M19.484,7.937v5.477L21.4,14.619a.489.489,0,0,0,.21,0l8.238-5.554a1.174,1.174,0,0,0-.959-1.128Z" style="fill:#0072c6"/><path d="M19.484,15.457l1.747,1.2a.522.522,0,0,0,.543,0c-.3.181,8.073-5.378,8.073-5.378V21.345a1.408,1.408,0,0,1-1.49,1.555H19.483V15.457Z" style="fill:#0072c6"/><path d="M10.44,12.932a1.609,1.609,0,0,0-1.42.838,4.131,4.131,0,0,0-.526,2.218A4.05,4.05,0,0,0,9.02,18.2a1.6,1.6,0,0,0,2.771.022,4.014,4.014,0,0,0,.515-2.2,4.369,4.369,0,0,0-.5-2.281A1.536,1.536,0,0,0,10.44,12.932Z" style="fill:#0072c6"/><path d="M2.153,5.155V26.582L18.453,30V2ZM13.061,19.491a3.231,3.231,0,0,1-2.7,1.361,3.19,3.19,0,0,1-2.64-1.318A5.459,5.459,0,0,1,6.706,16.1a5.868,5.868,0,0,1,1.036-3.616A3.267,3.267,0,0,1,10.486,11.1a3.116,3.116,0,0,1,2.61,1.321,5.639,5.639,0,0,1,1,3.484A5.763,5.763,0,0,1,13.061,19.491Z" style="fill:#0072c6"/></svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_outlook</title><path d="M19.484,7.937v5.477L21.4,14.619a.489.489,0,0,0,.21,0l8.238-5.554a1.174,1.174,0,0,0-.959-1.128Z" style="fill:#0072c6"/><path d="M19.484,15.457l1.747,1.2a.522.522,0,0,0,.543,0c-.3.181,8.073-5.378,8.073-5.378V21.345a1.408,1.408,0,0,1-1.49,1.555H19.483V15.457Z" style="fill:#0072c6"/><path d="M10.44,12.932a1.609,1.609,0,0,0-1.42.838,4.131,4.131,0,0,0-.526,2.218A4.05,4.05,0,0,0,9.02,18.2a1.6,1.6,0,0,0,2.771.022,4.014,4.014,0,0,0,.515-2.2,4.369,4.369,0,0,0-.5-2.281A1.536,1.536,0,0,0,10.44,12.932Z" style="fill:#0072c6"/><path d="M2.153,5.155V26.582L18.453,30V2ZM13.061,19.491a3.231,3.231,0,0,1-2.7,1.361,3.19,3.19,0,0,1-2.64-1.318A5.459,5.459,0,0,1,6.706,16.1a5.868,5.868,0,0,1,1.036-3.616A3.267,3.267,0,0,1,10.486,11.1a3.116,3.116,0,0,1,2.61,1.321,5.639,5.639,0,0,1,1,3.484A5.763,5.763,0,0,1,13.061,19.491Z" style="fill:#0072c6"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Sentry</title><path d="M13.91 2.505c-.873-1.448-2.972-1.448-3.844 0L6.904 7.92a15.478 15.478 0 0 1 8.53 12.811h-2.221A13.301 13.301 0 0 0 5.784 9.814l-2.926 5.06a7.65 7.65 0 0 1 4.435 5.848H2.194a.365.365 0 0 1-.298-.534l1.413-2.402a5.16 5.16 0 0 0-1.614-.913L.296 19.275a2.182 2.182 0 0 0 .812 2.999 2.24 2.24 0 0 0 1.086.288h6.983a9.322 9.322 0 0 0-3.845-8.318l1.11-1.922a11.47 11.47 0 0 1 4.95 10.24h5.915a17.242 17.242 0 0 0-7.885-15.28l2.244-3.845a.37.37 0 0 1 .504-.13c.255.14 9.75 16.708 9.928 16.9a.365.365 0 0 1-.327.543h-2.287c.029.612.029 1.223 0 1.831h2.297a2.206 2.206 0 0 0 1.922-3.31z"/></svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="127" height="127" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M27.2 80c0 7.3-5.9 13.2-13.2 13.2C6.7 93.2.8 87.3.8 80c0-7.3 5.9-13.2 13.2-13.2h13.2V80zm6.6 0c0-7.3 5.9-13.2 13.2-13.2 7.3 0 13.2 5.9 13.2 13.2v33c0 7.3-5.9 13.2-13.2 13.2-7.3 0-13.2-5.9-13.2-13.2V80z" fill="#E01E5A"/>
|
|
3
|
+
<path d="M47 27c-7.3 0-13.2-5.9-13.2-13.2C33.8 6.5 39.7.6 47 .6c7.3 0 13.2 5.9 13.2 13.2V27H47zm0 6.7c7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2H13.9C6.6 60.1.7 54.2.7 46.9c0-7.3 5.9-13.2 13.2-13.2H47z" fill="#36C5F0"/>
|
|
4
|
+
<path d="M99.9 46.9c0-7.3 5.9-13.2 13.2-13.2 7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2H99.9V46.9zm-6.6 0c0 7.3-5.9 13.2-13.2 13.2-7.3 0-13.2-5.9-13.2-13.2V13.8C66.9 6.5 72.8.6 80.1.6c7.3 0 13.2 5.9 13.2 13.2v33.1z" fill="#2EB67D"/>
|
|
5
|
+
<path d="M80.1 99.8c7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2-7.3 0-13.2-5.9-13.2-13.2V99.8h13.2zm0-6.6c-7.3 0-13.2-5.9-13.2-13.2 0-7.3 5.9-13.2 13.2-13.2h33.1c7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2H80.1z" fill="#ECB22E"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0" y="0" width="16" height="16" fill="#1a1a2e"/>
|
|
3
|
+
<rect x="2" y="2" width="12" height="12" fill="#16213e"/>
|
|
4
|
+
<rect x="3" y="3" width="10" height="10" fill="#0f3460"/>
|
|
5
|
+
<rect x="4" y="4" width="8" height="2" fill="#e94560"/>
|
|
6
|
+
<rect x="4" y="7" width="8" height="1" fill="#ffd700"/>
|
|
7
|
+
<rect x="4" y="9" width="8" height="1" fill="#ffd700"/>
|
|
8
|
+
<rect x="4" y="11" width="8" height="1" fill="#ffd700"/>
|
|
9
|
+
<rect x="2" y="2" width="1" height="12" fill="#16a085"/>
|
|
10
|
+
<rect x="13" y="2" width="1" height="12" fill="#16a085"/>
|
|
11
|
+
<rect x="7" y="1" width="2" height="1" fill="#ffd700"/>
|
|
12
|
+
<rect x="6" y="0" width="4" height="1" fill="#e94560"/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Stripe</title><path d="M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Stripe</title><path d="M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z"/></svg>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="16" height="16" fill="#f0f0f0"/>
|
|
3
|
+
|
|
4
|
+
<!-- Left task list (template layer) -->
|
|
5
|
+
<rect x="1" y="2" width="6" height="12" fill="#e8f4f8" stroke="#4a90e2" stroke-width="0.5"/>
|
|
6
|
+
<rect x="2" y="3" width="4" height="1" fill="#4a90e2"/>
|
|
7
|
+
<rect x="2" y="5" width="1" height="1" fill="#2ecc71"/>
|
|
8
|
+
<rect x="4" y="5" width="2" height="1" fill="#95a5a6"/>
|
|
9
|
+
<rect x="2" y="7" width="1" height="1" fill="#2ecc71"/>
|
|
10
|
+
<rect x="4" y="7" width="2" height="1" fill="#95a5a6"/>
|
|
11
|
+
<rect x="2" y="9" width="1" height="1" fill="#2ecc71"/>
|
|
12
|
+
<rect x="4" y="9" width="2" height="1" fill="#95a5a6"/>
|
|
13
|
+
<rect x="2" y="11" width="1" height="1" fill="#2ecc71"/>
|
|
14
|
+
<rect x="4" y="11" width="2" height="1" fill="#95a5a6"/>
|
|
15
|
+
|
|
16
|
+
<!-- Right task queue (prioritized work) -->
|
|
17
|
+
<rect x="9" y="2" width="6" height="12" fill="#fff4e6" stroke="#f39c12" stroke-width="0.5"/>
|
|
18
|
+
<rect x="10" y="3" width="4" height="1" fill="#f39c12"/>
|
|
19
|
+
|
|
20
|
+
<!-- Priority indicators (arrows) -->
|
|
21
|
+
<rect x="10" y="5" width="1" height="1" fill="#e74c3c"/>
|
|
22
|
+
<rect x="12" y="5" width="2" height="1" fill="#95a5a6"/>
|
|
23
|
+
|
|
24
|
+
<rect x="10" y="7" width="1" height="1" fill="#f39c12"/>
|
|
25
|
+
<rect x="12" y="7" width="2" height="1" fill="#95a5a6"/>
|
|
26
|
+
|
|
27
|
+
<rect x="10" y="9" width="1" height="1" fill="#2ecc71"/>
|
|
28
|
+
<rect x="12" y="9" width="2" height="1" fill="#95a5a6"/>
|
|
29
|
+
|
|
30
|
+
<!-- Connection arrow between lists -->
|
|
31
|
+
<rect x="7" y="7" width="2" height="1" fill="#4a90e2" opacity="0.6"/>
|
|
32
|
+
<rect x="8" y="6" width="1" height="1" fill="#4a90e2" opacity="0.6"/>
|
|
33
|
+
<rect x="8" y="8" width="1" height="1" fill="#4a90e2" opacity="0.6"/>
|
|
34
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Telegram</title><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="2500" height="752" viewBox="-313 376 166.2 50"><g fill="#f12e45"><path d="M-195.9 385.8h-8.8c-.2 0-.4.2-.4.4v5.1c0 .2.2.4.4.4h8.8c.2 0 .4-.2.4-.4v-5.1c.1-.2-.1-.4-.4-.4zm-.1 7.6h-17c-.2 0-.5.2-.6.4l-2.2 8.3-.1.4-2.6-8.9c-.1-.2-.3-.4-.6-.4h-6.6c-.2 0-.5.2-.6.4l-2.5 8.3-.1.4-.1-.2-1-4.1-1.1-4.1c-.1-.2-.3-.4-.6-.4H-245v-7.2c0-.2-.3-.5-.6-.4l-8.4 2.6c-.3.1-.4.2-.4.4v4.5h-2.2c-.2 0-.4.2-.4.4v6.4c0 .2.2.4.4.4h2.2v7.8c0 5.5 3 8.1 8.5 8.1 2.3 0 4.5-.5 6-1.3v-6.6c0-.3-.3-.4-.5-.4-.9.4-1.6.5-2.4.5-1.5 0-2.3-.6-2.3-2.3v-5.7h4.8c.2 0 .4-.2.4-.4v-5.4l6.3 20.9c.1.2.3.4.6.4h7c.2 0 .5-.2.6-.4l3-9.3 1.5 4.8 1.4 4.4c.1.2.3.4.6.4h7c.2 0 .5-.2.6-.4l6.4-21v21c0 .2.2.4.4.4h8.5c.2 0 .4-.2.4-.4v-21.8c0-.3-.2-.5-.4-.5zm11.2-7.6h-8.5c-.2 0-.4.2-.4.4v29.5c0 .2.2.4.4.4h8.5c.2 0 .4-.2.4-.4v-29.5c0-.2-.2-.4-.4-.4zm11.3 0h-8.8c-.2 0-.4.2-.4.4v5.1c0 .2.2.4.4.4h8.8c.2 0 .4-.2.4-.4v-5.1c.1-.2-.1-.4-.4-.4zm-.1 7.6h-8.5c-.2 0-.4.2-.4.4v21.9c0 .2.2.4.4.4h8.5c.2 0 .4-.2.4-.4v-21.8c0-.3-.2-.5-.4-.5zm14.1-.5c-7.5 0-12.8 5.5-12.8 11.9v.1c0 6.4 5.3 11.8 12.7 11.8 7.5 0 12.8-5.5 12.8-11.9v-.1c0-6.4-5.3-11.8-12.7-11.8zm3.6 11.9c0 2.2-1.5 3.9-3.6 3.9s-3.7-1.8-3.7-4v-.1c0-2.2 1.5-3.9 3.6-3.9s3.7 1.8 3.7 4.1zM-288 376c-13.8 0-25 11.2-25 25s11.2 25 25 25 25-11.2 25-25-11.2-25-25-25zm0 43.4c-10.2 0-18.4-8.2-18.4-18.4s8.2-18.4 18.4-18.4 18.4 8.2 18.4 18.4-8.2 18.4-18.4 18.4z"/><circle cx="-281.8" cy="394.8" r="5.2"/><circle cx="-281.8" cy="407.2" r="5.2"/><circle cx="-294.2" cy="407.2" r="5.2"/><circle cx="-294.2" cy="394.8" r="5.2"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Vercel</title><path d="m12 1.608 12 20.784H0Z"/></svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="7" y="1" width="2" height="2" fill="#4A90E2"/>
|
|
3
|
+
<rect x="6" y="3" width="4" height="1" fill="#4A90E2"/>
|
|
4
|
+
<rect x="5" y="4" width="6" height="1" fill="#7B68EE"/>
|
|
5
|
+
<rect x="4" y="5" width="8" height="1" fill="#7B68EE"/>
|
|
6
|
+
<rect x="4" y="6" width="8" height="1" fill="#4A90E2"/>
|
|
7
|
+
<rect x="5" y="7" width="6" height="1" fill="#4A90E2"/>
|
|
8
|
+
<rect x="6" y="8" width="4" height="1" fill="#7B68EE"/>
|
|
9
|
+
<rect x="7" y="9" width="2" height="1" fill="#7B68EE"/>
|
|
10
|
+
<rect x="3" y="10" width="2" height="4" fill="#50C878"/>
|
|
11
|
+
<rect x="4" y="10" width="1" height="1" fill="#50C878"/>
|
|
12
|
+
<rect x="5" y="11" width="1" height="1" fill="#50C878"/>
|
|
13
|
+
<rect x="11" y="10" width="2" height="4" fill="#E74C3C"/>
|
|
14
|
+
<rect x="10" y="10" width="1" height="1" fill="#E74C3C"/>
|
|
15
|
+
<rect x="9" y="11" width="1" height="1" fill="#E74C3C"/>
|
|
16
|
+
<rect x="6" y="11" width="4" height="1" fill="#FFD700"/>
|
|
17
|
+
<rect x="5" y="12" width="6" height="1" fill="#FFD700"/>
|
|
18
|
+
<rect x="4" y="13" width="8" height="1" fill="#FFD700"/>
|
|
19
|
+
<rect x="7" y="14" width="2" height="2" fill="#4A90E2"/>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0" y="0" width="16" height="16" fill="#87CEEB"/>
|
|
3
|
+
<rect x="3" y="2" width="10" height="1" fill="#FFFFFF"/>
|
|
4
|
+
<rect x="2" y="3" width="12" height="1" fill="#FFFFFF"/>
|
|
5
|
+
<rect x="1" y="4" width="14" height="2" fill="#FFFFFF"/>
|
|
6
|
+
<rect x="2" y="6" width="12" height="1" fill="#FFFFFF"/>
|
|
7
|
+
<rect x="3" y="7" width="10" height="1" fill="#FFFFFF"/>
|
|
8
|
+
<rect x="4" y="8" width="8" height="1" fill="#87CEEB"/>
|
|
9
|
+
<rect x="2" y="9" width="3" height="1" fill="#4A90E2"/>
|
|
10
|
+
<rect x="6" y="9" width="1" height="1" fill="#4A90E2"/>
|
|
11
|
+
<rect x="9" y="9" width="1" height="1" fill="#4A90E2"/>
|
|
12
|
+
<rect x="12" y="9" width="2" height="1" fill="#4A90E2"/>
|
|
13
|
+
<rect x="1" y="10" width="4" height="1" fill="#4A90E2"/>
|
|
14
|
+
<rect x="6" y="10" width="1" height="1" fill="#4A90E2"/>
|
|
15
|
+
<rect x="9" y="10" width="1" height="1" fill="#4A90E2"/>
|
|
16
|
+
<rect x="12" y="10" width="3" height="1" fill="#4A90E2"/>
|
|
17
|
+
<rect x="2" y="11" width="3" height="1" fill="#4A90E2"/>
|
|
18
|
+
<rect x="6" y="11" width="1" height="1" fill="#4A90E2"/>
|
|
19
|
+
<rect x="9" y="11" width="1" height="1" fill="#4A90E2"/>
|
|
20
|
+
<rect x="12" y="11" width="2" height="1" fill="#4A90E2"/>
|
|
21
|
+
<rect x="3" y="12" width="2" height="1" fill="#4A90E2"/>
|
|
22
|
+
<rect x="7" y="12" width="1" height="1" fill="#4A90E2"/>
|
|
23
|
+
<rect x="11" y="12" width="2" height="1" fill="#4A90E2"/>
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Synchronous theme init — prevents flash-of-wrong-theme before React mounts.
|
|
2
|
+
// Loaded via <script src> (not inline) so CSP script-src 'self' allows it.
|
|
3
|
+
(function () {
|
|
4
|
+
try {
|
|
5
|
+
var theme =
|
|
6
|
+
window.localStorage.getItem("device:theme") ||
|
|
7
|
+
window.localStorage.getItem("vellum_theme") ||
|
|
8
|
+
"system";
|
|
9
|
+
var prefersDark =
|
|
10
|
+
window.matchMedia &&
|
|
11
|
+
window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
12
|
+
var shouldBeDark =
|
|
13
|
+
theme === "velvet" ||
|
|
14
|
+
theme === "dark" ||
|
|
15
|
+
(theme === "system" && prefersDark);
|
|
16
|
+
var root = document.documentElement;
|
|
17
|
+
root.setAttribute("data-theme", shouldBeDark ? "dark" : "light");
|
|
18
|
+
root.classList.toggle("dark", shouldBeDark);
|
|
19
|
+
root.classList.remove("velvet");
|
|
20
|
+
} catch {
|
|
21
|
+
// Theme startup is best-effort. React will apply the default later.
|
|
22
|
+
}
|
|
23
|
+
})();
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./jsx-runtime-D1qe-iBh.js";import{Br as r}from"./index-DfyO29JM.js";var i=e(t(),1);async function a(){return r()?await window.vellum?.app.versionInfo()??null:null}async function o(){r()&&await window.vellum?.app.openWebsite()}var s=n();function c(){let[e,t]=(0,i.useState)(null);(0,i.useEffect)(()=>{a().then(t)},[]);let n=e??l;return(0,s.jsxs)(`div`,{className:`flex h-svh w-screen flex-col items-center justify-center bg-background px-8 pt-14 pb-8 text-center text-foreground select-none`,children:[(0,s.jsx)(`h1`,{className:`mt-4 text-2xl font-semibold`,children:n.appName}),(0,s.jsx)(`p`,{className:`text-muted-foreground mt-1 mb-7 text-xs`,children:`AI assistant for your Mac`}),(0,s.jsxs)(`dl`,{className:`mb-7 grid grid-cols-[auto_auto] gap-x-4 gap-y-1.5 text-sm`,children:[(0,s.jsx)(`dt`,{className:`text-muted-foreground text-right`,children:`Version`}),(0,s.jsx)(`dd`,{className:`text-left font-mono tabular-nums select-text`,children:n.version}),(0,s.jsx)(`dt`,{className:`text-muted-foreground text-right`,children:`Build`}),(0,s.jsx)(`dd`,{className:`text-left font-mono tabular-nums select-text`,children:n.commitSha})]}),(0,s.jsx)(`a`,{href:n.website,className:`text-primary text-sm hover:underline`,onClick:e=>{r()&&(e.preventDefault(),o())},children:new URL(n.website).host}),(0,s.jsx)(`div`,{className:`text-muted-foreground mt-auto pt-6 text-[11px]`,children:n.copyright})]})}var l={appName:`Vellum`,version:`—`,commitSha:`—`,copyright:`© ${new Date().getFullYear()} Vellum`,website:`https://vellum.ai`};export{c as AboutPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{d as t}from"./native-biometric-COiHDjMB.js";import{t as n}from"./react-BlnqVGWw.js";import{n as r}from"./auth-store-Cr7BV6KS.js";import{t as i}from"./jsx-runtime-D1qe-iBh.js";import{i as a}from"./routes-CkBoiJow.js";import{Yr as o,at as s}from"./index-DfyO29JM.js";import{r as c,t as l}from"./account-shell-D89t6_Jb.js";import{n as u,t as d}from"./login-flow-Dc8bcgq7.js";var f=e(n(),1),p=i();function m(){let e=r.use.isLoggedIn(),n=r.use.isLoading(),i=r.use.user(),m=r.use.logout(),[h,g]=(0,f.useState)(null),[_,v]=(0,f.useState)(!1),y=async()=>{g(null),v(!0);try{await t(u,d)}catch(e){console.error(`[account] auth flow failed:`,e),g(`Something went wrong. Please try again.`),v(!1)}};return n?(0,p.jsx)(l,{children:(0,p.jsx)(c,{title:`Loading...`})}):e?(0,p.jsxs)(l,{children:[(0,p.jsx)(c,{title:`Welcome${i?.username?`, ${i.username}`:``}!`,subtitle:`You are signed in.`}),(0,p.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,p.jsx)(o,{to:a.assistant,className:`inline-flex w-full items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-white no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Go to your assistant`}),(0,p.jsx)(`button`,{type:`button`,onClick:async()=>{await m(),s(a.account.login)},className:`cursor-pointer bg-transparent text-sm font-normal text-stone-400 transition-colors hover:text-stone-300`,children:`Sign out`})]})]}):(0,p.jsxs)(l,{children:[(0,p.jsx)(c,{title:`Welcome to Vellum`,subtitle:`Sign in to get started.`}),h&&(0,p.jsx)(`p`,{className:`text-center text-sm text-[var(--system-negative-strong)]`,children:h}),(0,p.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,p.jsx)(`button`,{type:`button`,onClick:()=>void y(),disabled:_,className:`inline-flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-white transition-colors hover:bg-[var(--primary-hover)] disabled:opacity-50`,children:`Sign in`})})]})}export{m as AccountPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BlnqVGWw.js";import{n as r}from"./QueryClientProvider-DP1e6db6.js";import{t as i}from"./useQuery-CrONYg8_.js";import{t as a}from"./useMutation-DiUMH3gL.js";import{t as o}from"./jsx-runtime-D1qe-iBh.js";import{at as s,rt as c}from"./react-query.gen-DHIrHqEw.js";import{t as l}from"./button-ClCfFgUi.js";import{t as u}from"./dropdown-B1HIMQEV.js";import{t as d}from"./modal-DnazB3IX.js";import{t as f}from"./loader-circle-DnYn_L1c.js";import{$r as p,Jn as m,K as h,Yr as g,fr as _,ni as v,q as y}from"./index-DfyO29JM.js";var b=t({AddCreditsModal:()=>E}),x=e(n(),1),S=o(),C=[`10.00`,`20.00`,`30.00`,`40.00`,`50.00`,`60.00`,`70.00`,`80.00`,`90.00`,`100.00`];function w(e){let t=parseFloat(e);if(Number.isNaN(t))return`0 credits`;let n=t.toLocaleString(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2});return`${n.endsWith(`.00`)?n.slice(0,-3):n} credits`}function T(e){if(e&&typeof e==`object`){let t=e.amount;if(Array.isArray(t)&&typeof t[0]==`string`)return t[0]}return`Failed to create checkout session. Please try again.`}function E({open:e,onOpenChange:t}){let n=r(),{pathname:o}=p(),[b]=v(),E=b.toString()?`${o}?${b.toString()}`:o,{data:D,isLoading:O}=i(c()),k=D?.allowed_top_up_amounts?.length?D.allowed_top_up_amounts:C,[A,j]=(0,x.useState)(null),M=A&&k.includes(A)?A:k[0]??C[0],N=a(s());return(0,x.useEffect)(()=>y(()=>{t(!1),n.invalidateQueries(c())}),[t,n]),(0,S.jsx)(d.Root,{open:e,onOpenChange:t,children:(0,S.jsxs)(d.Content,{size:`sm`,children:[(0,S.jsxs)(d.Header,{children:[(0,S.jsx)(d.Title,{icon:m,children:`Add Credits`}),(0,S.jsx)(d.Description,{children:`Purchase credits to continue using the assistant. You'll be redirected to Stripe to complete the payment.`})]}),(0,S.jsx)(d.Body,{children:(0,S.jsxs)(`div`,{className:`space-y-4`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`label`,{htmlFor:`add-credits-amount`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Amount`}),(0,S.jsx)(u,{id:`add-credits-amount`,value:M,onChange:e=>{j(e),N.isError&&N.reset()},disabled:O||!D,options:k.map(e=>({value:e,label:w(e)}))})]}),N.isError&&(0,S.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,S.jsx)(_,{className:`h-3.5 w-3.5 shrink-0`}),T(N.error)]}),(0,S.jsx)(g,{to:`/assistant/settings/billing`,className:`text-body-small-default text-[var(--content-tertiary)] underline hover:text-[var(--content-secondary)]`,onClick:()=>t(!1),children:`Configure Automatic Top-Ups →`})]})}),(0,S.jsxs)(d.Footer,{children:[(0,S.jsx)(d.Close,{asChild:!0,children:(0,S.jsx)(l,{variant:`outlined`,children:`Cancel`})}),(0,S.jsx)(l,{variant:`primary`,leftIcon:N.isPending?(0,S.jsx)(f,{className:`animate-spin`}):void 0,onClick:()=>{N.isPending||N.mutate({body:{amount:M,return_path:E}},{onSuccess:e=>{h(e.checkout_url)}})},disabled:N.isPending||O||!D,children:`Add credits`})]})]})})}export{b as n,E as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{W as n}from"./sdk.gen-1S-e52M3.js";import{n as r}from"./QueryClientProvider-DP1e6db6.js";import{t as i}from"./useQuery-CrONYg8_.js";import{t as a}from"./useMutation-DiUMH3gL.js";import{t as o}from"./jsx-runtime-D1qe-iBh.js";import{F as s,I as c}from"./react-query.gen-DHIrHqEw.js";import{t as l}from"./button-ClCfFgUi.js";import{t as u}from"./input-D3ItuUML.js";import{t as d}from"./toggle-DnsgdQ9b.js";import{n as f}from"./stat-square-2U4ZsWYG.js";import{t as p}from"./toast-VQEhJ0eG.js";import{t as m}from"./loader-circle-DnYn_L1c.js";import{t as h}from"./detail-card-akwfTEr9.js";import{r as g}from"./assistant-status-panel-BhVNBjrt.js";var _=e(t(),1),v=o(),y=[[`Mon`,0],[`Tue`,1],[`Wed`,2],[`Thu`,3],[`Fri`,4],[`Sat`,5],[`Sun`,6]];function b(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),t,n));return`${i.getHours().toString().padStart(2,`0`)}:${i.getMinutes().toString().padStart(2,`0`)}`}function x(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(r.getFullYear(),r.getMonth(),r.getDate(),t,n);return`${i.getUTCHours().toString().padStart(2,`0`)}:${i.getUTCMinutes().toString().padStart(2,`0`)}`}function S(){return Intl.DateTimeFormat(void 0,{timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``}function C(e){let t=e?.schedule?.window.start??`06:00`,n=e?.schedule?.window.end??`08:00`;return{enabled:e?.enabled??!0,timezone:`UTC`,frequency:e?.schedule?.frequency??`weekly`,daysOfWeek:e?.schedule?.days_of_week??[0],daysOfMonth:e?.schedule?.days_of_month??[],windowStart:b(t),windowEnd:b(n)}}function w({assistantId:e}){let t=r(),{data:o,isLoading:h,isError:g}=i(s({path:{id:e}})),b=(0,_.useMemo)(()=>C(o),[o]),[w,T]=(0,_.useState)(null),E=w??b,D=w!==null,O=(0,_.useMemo)(()=>S(),[]),[k,A]=(0,_.useState)(null),j=k??E.daysOfMonth.join(`, `),M=a({mutationFn:async t=>{let{data:r}=await n({path:{id:e},body:t,throwOnError:!0});return r}}),N=e=>{T(t=>({...t??b,...e}))},P=e=>{N({daysOfWeek:E.daysOfWeek.includes(e)?E.daysOfWeek.filter(t=>t!==e):[...E.daysOfWeek,e].sort((e,t)=>e-t)})},F=e=>e.split(`,`).map(e=>parseInt(e.trim(),10)).filter(e=>!isNaN(e)&&e>=1&&e<=31);return h?(0,v.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,v.jsx)(m,{className:`h-4 w-4 animate-spin`}),`Loading update window settings...`]}):g?(0,v.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:`Failed to load update window policy. Refresh the page to try again.`}):(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsx)(d,{checked:E.enabled,onChange:e=>N({enabled:e}),label:`Automatic updates`,helperText:`Update automatically during a configured time window`}),E.enabled&&(0,v.jsxs)(`div`,{className:`space-y-5`,children:[(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:`Frequency`}),(0,v.jsx)(`div`,{className:`max-w-[400px]`,children:(0,v.jsx)(f,{ariaLabel:`Frequency`,value:E.frequency,onChange:e=>{e!==`monthly`&&A(null),N({frequency:e})},items:[{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}]})})]}),E.frequency===`weekly`&&(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:`Day(s) of week`}),(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:y.map(([e,t])=>(0,v.jsx)(l,{variant:`outlined`,size:`compact`,active:E.daysOfWeek.includes(t),onClick:()=>P(t),children:e},t))})]}),E.frequency===`monthly`&&(0,v.jsx)(u,{label:`Day(s) of month`,type:`text`,value:j,onChange:e=>A(e.target.value),onBlur:e=>{let t=F(e.target.value);N({daysOfMonth:t}),A(t.join(`, `))},placeholder:`e.g. 1, 15`,helperText:`Comma-separated day numbers (1–31)`,className:`w-48`}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:[`Update window`,O?` (${O})`:``]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(u,{type:`time`,value:E.windowStart,onChange:e=>N({windowStart:e.target.value})}),(0,v.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`to`}),(0,v.jsx)(u,{type:`time`,value:E.windowEnd,onChange:e=>N({windowEnd:e.target.value})})]})]})]}),(0,v.jsx)(l,{variant:`primary`,leftIcon:M.isPending?(0,v.jsx)(m,{className:`animate-spin`}):void 0,onClick:async()=>{let n=E.frequency===`monthly`&&k!==null?F(k):E.daysOfMonth;try{await M.mutateAsync({enabled:E.enabled,timezone:`UTC`,schedule:{frequency:E.frequency,days_of_week:E.frequency===`weekly`?E.daysOfWeek:[],days_of_month:E.frequency===`monthly`?n:[],window:{start:x(E.windowStart),end:x(E.windowEnd)}}}),p.success(`Auto-update policy saved.`),T(null),A(null),t.invalidateQueries({queryKey:c({path:{id:e}})})}catch{p.error(`Failed to save policy. Please try again.`)}},disabled:M.isPending||!D,children:`Save policy`})]})}function T(){let{assistant:e}=g(),t=e?.is_local?null:e;return(0,v.jsx)(`div`,{className:`max-w-[940px] space-y-4`,children:t&&(0,v.jsx)(h,{title:`Update Window`,subtitle:`Configure when automatic updates are applied.`,children:(0,v.jsx)(w,{assistantId:t.id})})})}export{T as AdvancedPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,r as n,s as r}from"./local-settings-lVNyIOJ_.js";import{t as i}from"./react-BlnqVGWw.js";import{t as a}from"./capture-error-DJfWcKOd.js";import{t as o}from"./client.gen-D2FNzKQM.js";import{n as s}from"./QueryClientProvider-DP1e6db6.js";import{t as c}from"./useQuery-CrONYg8_.js";import{t as l}from"./useMutation-DiUMH3gL.js";import{t as u}from"./jsx-runtime-D1qe-iBh.js";import{$ as d,c as f,d as p,f as m,g as h,h as g,l as _,m as v,o as y,p as b,s as ee,u as x,v as S,y as C}from"./react-query.gen-DHIrHqEw.js";import{i as te}from"./routes-CkBoiJow.js";import{t as w}from"./button-ClCfFgUi.js";import{t as T}from"./typography-C2ZUvvBk.js";import{t as E}from"./dropdown-B1HIMQEV.js";import{a as D}from"./src-DDKMtkUH.js";import{t as O}from"./confirm-dialog-BGK9Zfu-.js";import{t as k}from"./notice-BD9CxrUF.js";import{t as A}from"./tag-DI4G1_a6.js";import{n as ne,t as j}from"./input-D3ItuUML.js";import{t as M}from"./toggle-DnsgdQ9b.js";import{n as N}from"./stat-square-2U4ZsWYG.js";import{t as P}from"./modal-DnazB3IX.js";import{t as F}from"./toast-VQEhJ0eG.js";import{r as I}from"./query-tags-Dvidg_LC.js";import{t as re}from"./assistant-feature-flag-store-eFzXnt31.js";import{t as ie}from"./createLucideIcon-B1Lebfcn.js";import{n as L,t as R}from"./domain-field-4zEEJoAw.js";import{t as ae}from"./external-link-dAVFCT-x.js";import{t as z}from"./loader-circle-DnYn_L1c.js";import{Dn as B,Jt as V,Mt as H,ei as oe,fr as U,gr as se,it as W,ni as ce,or as G,pr as le,zr as ue}from"./index-DfyO29JM.js";import{t as de}from"./detail-card-akwfTEr9.js";var fe=ie(`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`}]]),K=e(i(),1),pe={anthropic:[{id:`claude-opus-4-8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-5-20250929`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-opus-4-5-20251101`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-haiku-4-5-20251001`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0}],openai:[{id:`gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.4`,displayName:`GPT-5.4`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.2`,displayName:`GPT-5.2`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-mini`,displayName:`GPT-5.4 Mini`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-nano`,displayName:`GPT-5.4 Nano`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0}],gemini:[{id:`gemini-3.1-pro-preview`,displayName:`Gemini 3.1 Pro Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3.1-pro-preview-customtools`,displayName:`Gemini 3.1 Pro Preview (Custom Tools)`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3-flash-preview`,displayName:`Gemini 3 Flash Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite-preview`,displayName:`Gemini 3.1 Flash-Lite Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite`,displayName:`Gemini 3.1 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash`,displayName:`Gemini 2.5 Flash`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash-lite`,displayName:`Gemini 2.5 Flash Lite`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536},{id:`gemini-2.5-pro`,displayName:`Gemini 2.5 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5}],fireworks:[{id:`accounts/fireworks/models/kimi-k2p5`,displayName:`Kimi K2.5`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:32768},{id:`accounts/fireworks/models/minimax-m2p7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/minimax-m2p5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0}],openrouter:[{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.5`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-opus-4.5`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`x-ai/grok-4.20-beta`,displayName:`Grok 4.20 Beta`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`x-ai/grok-4`,displayName:`Grok 4`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3,supportsThinking:!0},{id:`deepseek/deepseek-r1-0528`,displayName:`DeepSeek R1`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3,supportsThinking:!0},{id:`deepseek/deepseek-chat-v3-0324`,displayName:`DeepSeek V3`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3},{id:`deepseek/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v3.2-speciale`,displayName:`DeepSeek V3.2 Speciale`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:163840,supportsThinking:!0},{id:`qwen/qwen3.5-plus-02-15`,displayName:`Qwen 3.5 Plus`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-397b-a17b`,displayName:`Qwen 3.5 397B`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-flash-02-23`,displayName:`Qwen 3.5 Flash`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`qwen/qwen3-coder-next`,displayName:`Qwen 3 Coder`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`moonshotai/kimi-k2.5`,displayName:`Kimi K2.5`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:32768},{id:`minimax/minimax-m2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:131072,supportsThinking:!0},{id:`minimax/minimax-m2.5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2.1`,displayName:`MiniMax M2.1`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2`,displayName:`MiniMax M2`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2-her`,displayName:`MiniMax M2-her`,contextWindowTokens:65536,defaultContextWindowTokens:65536,maxOutputTokens:2048},{id:`minimax/minimax-m1`,displayName:`MiniMax M1`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:4e4,supportsThinking:!0},{id:`minimax/minimax-01`,displayName:`MiniMax-01`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:1e6},{id:`mistralai/mistral-medium-3`,displayName:`Mistral Medium 3`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/mistral-small-2603`,displayName:`Mistral Small 4`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/devstral-2512`,displayName:`Devstral 2`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`meta-llama/llama-4-maverick`,displayName:`Llama 4 Maverick`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`meta-llama/llama-4-scout`,displayName:`Llama 4 Scout`,contextWindowTokens:327680,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`amazon/nova-pro-v1`,displayName:`Amazon Nova Pro`,contextWindowTokens:3e5,defaultContextWindowTokens:2e5,maxOutputTokens:5e3}],"openai-compatible":[]},q={anthropic:`claude-sonnet-4-6`,openai:`gpt-5.5`,gemini:`gemini-2.5-flash`,fireworks:`accounts/fireworks/models/kimi-k2p5`,openrouter:`x-ai/grok-4.20-beta`,"openai-compatible":``},J={anthropic:`Anthropic`,openai:`OpenAI`,gemini:`Google Gemini`,ollama:`Ollama`,fireworks:`Fireworks`,openrouter:`OpenRouter`,"openai-compatible":`OpenAI-compatible`},me={anthropic:!0,openai:!0,gemini:!0,ollama:!1,fireworks:!0,openrouter:!1,"openai-compatible":!1};pe.anthropic;function he(e){return pe[e]??[]}function ge(e){return q[e]}function _e(e){return me[e]===!0}var Y=[`inference-provider-native`,`perplexity`,`brave`,`tavily`],ve={"inference-provider-native":`Provider Native`,perplexity:`Perplexity`,brave:`Brave`,tavily:`Tavily`},X={perplexity:`pplx-...`,brave:`BSA...`,tavily:`tvly-...`},ye={perplexity:`vellum:ai:perplexityKey`,brave:`vellum:ai:braveKey`,tavily:`vellum:ai:tavilyKey`},be=new Set([`perplexity`,`brave`,`tavily`]);async function xe(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 Se(n,r,i):t===`deepgram`?await Ce(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 Se(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 Z(i,`ElevenLabs rejected the request.`)}}async function Ce(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 Z(n,`Deepgram rejected the request.`)}}async function Z(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})`}}var Q=`auto`;function we(e,t){return t?[...e]:e.filter(e=>e.name!==Q)}function Te(e,t,n){let r=we(e.filter(e=>e.status!==`disabled`),n);return t&&r.some(e=>e.name===t)?t:r[0]?.name}function Ee(e,t){let n=new Set;for(let e of t)e&&n.add(e);return e.filter(e=>e.status!==`disabled`||n.has(e.name))}function De(e){let t=e.label??e.name;return e.status===`disabled`?`${t} (Disabled)`:t}var $=u(),Oe=`__custom__`;function ke(e){return e?!!(e.profile||e.provider||e.model):!1}function Ae(e,t){let n=ke(e);return n===ke(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function je({isOpen:e,onClose:t,assistantId:n,orderedProfiles:r,persistedOverrides:i,daemonConfigLoaded:a,onSaved:o}){let s=(0,K.useRef)(!1);return(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{!e&&!s.current&&t()},children:e?(0,$.jsx)(Me,{assistantId:n,orderedProfiles:r,persistedOverrides:i,daemonConfigLoaded:a,onClose:t,onSaved:o,onSavingChange:e=>{s.current=e}}):null})}function Me({assistantId:e,orderedProfiles:t,persistedOverrides:n,daemonConfigLoaded:r,onClose:i,onSaved:s,onSavingChange:l}){let[u,d]=(0,K.useState)(``),[f,p]=(0,K.useState)({}),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(!1),b=(0,K.useRef)(!1),ee=re.use.analyzeConversation(),{data:x,isLoading:S,isError:C,refetch:te}=c({queryKey:[`call-site-catalog`,e],queryFn:async()=>{let{data:t}=await o.get({url:`/v1/assistants/{assistant_id}/config/llm/call-sites`,path:{assistant_id:e},throwOnError:!0});return t},enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),T=(0,K.useMemo)(()=>{let e=(x?.callSites??[]).filter(e=>e.id!==`mainAgent`);return ee?e:e.filter(e=>e.id!==`analyzeConversation`)},[x,ee]),D=!S&&!C&&!!x,k=(0,K.useMemo)(()=>T.map(e=>e.id),[T]);(0,K.useEffect)(()=>{if(b.current||!D||r===!1)return;let e={};for(let t of k){let r=n[t];e[t]=r?{...r}:{}}p(e),b.current=!0,_(!0)},[D,r,k,n]);let A=Mt,ne=(0,K.useMemo)(()=>new Set(k),[k]),N=(0,K.useMemo)(()=>Object.entries(n).some(([e,t])=>ne.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[n,ne]),I=(0,K.useMemo)(()=>{if(!b.current)return!1;for(let e of Object.keys(f))if(!Ae(f[e],n[e]))return!0;return!1},[f,n]),ie=(0,K.useMemo)(()=>Object.values(f).some(e=>ke(e)&&!!e?.provider&&!e?.model),[f]),L=re.use.queryComplexityRouting(),R=(0,K.useCallback)(e=>[...we(Ee(t,[e]),L).map(e=>({value:e.name,label:De(e)})),{value:Oe,label:`Custom`}],[t,L]),ae=(0,K.useMemo)(()=>{if(!u.trim())return T;let e=u.toLowerCase();return T.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[T,u]),B=(0,K.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=ae.filter(e=>e.domain===r);e.length>0&&n.push({domain:t.get(r),sites:e})}let r=new Set(e),i=ae.filter(e=>!r.has(e.domain));return i.length>0&&n.push({domain:{id:`other`,displayName:`Other`},sites:i}),n},[x,ae]);function H(e){return f[e]??null}function oe(e){return ke(H(e))}function U(e){let t=H(e);return!t||!ke(t)?``:t.provider||t.model?Oe:t.profile??``}function se(e,n,r){if(!n){p(t=>({...t,[e]:null}));return}let i=Te(t,r,L);if(i)p(t=>({...t,[e]:{profile:i}}));else{let t=A[0],n=ge(t)??``;p(r=>({...r,[e]:{provider:t,model:n}}))}}function W(e,t){if(t===`__custom__`){let t=A[0],n=ge(t)??``;p(r=>({...r,[e]:{profile:null,provider:t,model:n}}))}else p(t===``?t=>({...t,[e]:null}):n=>({...n,[e]:{profile:t,provider:null,model:null}}))}function ce(e,t){let n=ge(t)??``;p(r=>({...r,[e]:{...r[e],profile:null,provider:t,model:n}}))}function G(e,t){p(n=>({...n,[e]:{...n[e],model:t}}))}let le=(0,K.useCallback)(async()=>{h(!0),l?.(!0);try{let t={};for(let e of Object.keys(f)){let n=f[e]??null;t[e]=ke(n)?{profile:n?.profile??null,provider:n?.provider??null,model:n?.model??null}:null}await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:e},body:{llm:{callSites:t}},headers:{"Content-Type":`application/json`},throwOnError:!0}),s(),i(),F.success(`Overrides saved.`)}catch(e){F.error(`Failed to save overrides. Please try again.`),a(e,{context:`call_site_overrides_save`})}finally{h(!1),l?.(!1)}},[e,f,i,s,n]),ue=(0,K.useCallback)(async()=>{h(!0),l?.(!0);try{let t={};for(let e of Object.keys(f))t[e]=null;await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:e},body:{llm:{callSites:t}},headers:{"Content-Type":`application/json`},throwOnError:!0}),s(),i(),F.success(`Overrides reset.`)}catch(e){F.error(`Failed to reset overrides. Please try again.`),a(e,{context:`call_site_overrides_reset`})}finally{h(!1),l?.(!1)}},[e,f,i,s,n]);return(0,$.jsxs)(P.Content,{size:`lg`,hideCloseButton:!0,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:`Action Overrides`}),(0,$.jsx)(P.Description,{children:`Customize which model profile specific actions should use. Uses your default profile if no override is set.`})]}),(0,$.jsxs)(P.Body,{children:[(0,$.jsx)(`div`,{className:`mb-4`,children:(0,$.jsx)(j,{type:`search`,value:u,onChange:e=>d(e.target.value),placeholder:`Search actions…`,leftIcon:(0,$.jsx)(V,{className:`h-4 w-4`}),fullWidth:!0})}),S&&(0,$.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,$.jsx)(z,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),C&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Couldn't load actions`}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Make sure your assistant is running`}),(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:()=>void te(),children:`Retry`})]}),!S&&!C&&x&&(0,$.jsx)(`div`,{className:`space-y-4`,children:B.length===0?(0,$.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No actions match your search.`}):B.map(({domain:e,sites:n})=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,$.jsx)(`div`,{className:`space-y-1`,children:n.map(e=>{let n=oe(e.id),r=U(e.id),i=r===`__custom__`,a=H(e.id),o=a?.provider??A[0],s=he(o??`anthropic`).map(e=>({value:e.id,label:e.displayName})),c=!!a?.provider&&!a?.model,l=R(r===``||r===`__custom__`?null:r);return(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:e.displayName}),e.description&&(0,$.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[e.description,e.defaultProfile&&(0,$.jsxs)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:[`· Default: `,t.find(t=>t.name===e.defaultProfile)?.label??e.defaultProfile]})]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[n&&(0,$.jsx)(E,{value:r,onChange:t=>W(e.id,t),options:l,className:`w-36`}),(0,$.jsx)(M,{checked:n,onChange:t=>se(e.id,t,e.defaultProfile),"aria-label":`Override ${e.displayName}`})]})]}),n&&i&&(0,$.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(E,{value:o??``,onChange:t=>ce(e.id,t),options:A.map(e=>({value:e,label:Nt[e]??e}))})]}),(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,$.jsx)(E,{value:a?.model??``,onChange:t=>G(e.id,t),options:s})]})]}),c&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:`Pick a model`})]})]},e.id)})})]},e.id))})]}),(0,$.jsxs)(P.Footer,{children:[N&&(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:()=>y(!0),disabled:m||!g,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:`Reset to Defaults`}),(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:i,disabled:m,children:`Cancel`}),(0,$.jsx)(w,{variant:`primary`,size:`compact`,onClick:()=>void le(),disabled:!I||ie||m,children:m?(0,$.jsx)(z,{className:`h-4 w-4 animate-spin`}):`Save`})]}),(0,$.jsx)(O,{open:v,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:()=>{y(!1),ue()},onCancel:()=>y(!1)})]})}var Ne={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,thinking:!1,thinkingLevel:!1};function Pe(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function Fe(e){return e.startsWith(`anthropic/`)}function Ie(e){return Fe(e)||e.startsWith(`x-ai/grok-4`)||e.startsWith(`deepseek/deepseek-r1`)||e===`qwen/qwen3.5-plus-02-15`||e===`qwen/qwen3.5-397b-a17b`||e===`moonshotai/kimi-k2.6`}var Le=[`minimal`,`low`,`medium`,`high`],Re=[`low`,`medium`,`high`];function ze(e){return/^gemini-3.*pro/.test(e)}function Be(e){return ze(e.toLowerCase())?Re:Le}function Ve(e,t){let n=he(e).find(e=>e.id===t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?Ie(t):!1:n.supportsThinking}function He(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?Pe(t):e===`openrouter`?Fe(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`?n:!1}function Ue(e,t){if(!e||!t)return Ne;let n=e.toLowerCase(),r=t.toLowerCase(),i=n===`anthropic`||n===`openrouter`&&Fe(r),a=Ve(n,r);return{maxTokens:!0,contextWindow:!0,effort:He(n,r,a),speed:n===`anthropic`&&r.includes(`opus`),verbosity:n===`openai`&&Pe(r),temperature:i,thinking:(n===`anthropic`||n===`openrouter`)&&a,thinkingLevel:n===`gemini`&&a}}function We(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}var Ge=Object.keys(pe),Ke=`openai-compatible`,qe=new Set([`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.3-codex`]),Je=[`none`,`low`,`medium`,`high`,`xhigh`,`max`],Ye=[`standard`,`fast`],Xe=[`low`,`medium`,`high`],Ze=`default`,Qe=64e3,$e=1e3,et=2e5,tt=1e3;function nt({isOpen:e,mode:t,profileName:n,initialValues:r,assistantId:i,existingNames:a,connections:o,openAICompatibleEndpointsEnabled:s=!1,onSave:c,onCancel:l}){return(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{e||l()},children:e?(0,$.jsx)(rt,{mode:t,profileName:n,initialValues:r,existingNames:a,connections:o,openAICompatibleEndpointsEnabled:s,onSave:c,onCancel:l}):null})}function rt({mode:e,profileName:t,initialValues:n,existingNames:r,connections:i,openAICompatibleEndpointsEnabled:a,onSave:o,onCancel:s}){let[c,l]=(0,K.useState)(e),u=c===`view`,d=t===`auto`,f=n?.label??``,p=n?.status??`active`,[m,h]=(0,K.useState)(n?.label??``),[g,_]=(0,K.useState)(n?.description??``),[v,y]=(0,K.useState)(e===`create`?``:t??``),[b,ee]=(0,K.useState)(n?.provider??``),[x,S]=(0,K.useState)(n?.model??``),[C,te]=(0,K.useState)(n?.provider_connection??``),[O,k]=(0,K.useState)(n?.status??`active`),F=u&&(m!==f||O!==p),[I,re]=(0,K.useState)(!1),[ie,L]=(0,K.useState)(null),[R,ae]=(0,K.useState)(n?.maxTokens??null),[z,B]=(0,K.useState)(n?.contextWindow?.maxInputTokens??null),[V,H]=(0,K.useState)(n?.effort??`none`),[oe,U]=(0,K.useState)(n?.speed??`standard`),[se,W]=(0,K.useState)(n?.verbosity??`medium`),[ce,G]=(0,K.useState)(typeof n?.temperature==`number`),[le,ue]=(0,K.useState)(typeof n?.temperature==`number`?n.temperature:.7),[de,fe]=(0,K.useState)(n?.thinking?.enabled??!1),[pe,q]=(0,K.useState)(n?.thinking?.streamThinking??!1),[me,ge]=(0,K.useState)(n?.thinking?.level??Ze),_e=(0,K.useMemo)(()=>b?he(b).find(e=>e.id===x)??null:null,[b,x]),Y=(0,K.useMemo)(()=>Ue(b,x),[b,x]),ve=(0,K.useMemo)(()=>a?Ge:Ge.filter(e=>e!==Ke),[a]),X=(0,K.useMemo)(()=>b?(i??[]).filter(e=>e.provider===b&&(a||e.provider!==Ke)):[],[b,i,a]),ye=(0,K.useMemo)(()=>{let e=new Set;for(let t of i??[])(a||t.provider!==Ke)&&e.add(t.provider);return b&&(a||b!==Ke)&&e.add(b),ve.filter(t=>e.has(t))},[ve,i,a,b]),be=i===void 0?ve:ye,xe=C!==``&&!X.some(e=>e.name===C),Se=b!==``&&(X.length>0||C!==``),Ce=(0,K.useRef)(!1);(0,K.useEffect)(()=>{Ce.current=!1},[t,e]);function Z(e){h(e),c===`create`&&!Ce.current&&y(We(e))}function Q(e){Ce.current=!0,y(e)}function we(e){if(e===b)return;ee(e),S(``);let t=(i??[]).filter(t=>t.provider===e);te(t.length===1?t[0].name:``),ae(null),B(null),H(`none`),U(`standard`),W(`medium`),G(!1),ue(.7),fe(!1),q(!1),ge(Ze)}function Te(e){if(te(e),b&&he(b).length===0&&x){let t=X.find(t=>t.name===e),n=new Set((t?.models??[]).map(e=>e.id));(e===``||!n.has(x))&&S(``)}}function Ee(e){e!==x&&(S(e),ae(null),B(null))}let De=v.trim(),Oe=De.length===0,ke=/\s/.test(v),Ae=c===`create`?r.includes(De):r.filter(e=>e!==t).includes(De),je=b.length===0,Me=b.length>0&&x.length===0,Ne=Oe||ke||Ae||je||Me,Pe=Oe?`Key is required`:ke?`Key cannot contain whitespace`:Ae?`A profile with this key already exists`:null;async function Fe(){if(!(Ne&&!u)){if(u){if(!F)return;re(!0),L(null);try{await o(De,{label:m.trim()||null,status:O},{mode:`merge`})}catch{L(`Failed to save profile. Please try again.`)}finally{re(!1)}return}re(!0),L(null);try{let e={},t=C===``&&X.length===1?X[0].name:C,n=xe?``:t;c===`edit`?(e.label=m.trim()||null,e.description=g.trim()||null,e.provider=b||null,e.model=x||null,e.provider_connection=n||null):(m.trim()&&(e.label=m.trim()),g.trim()&&(e.description=g.trim()),b&&(e.provider=b),x&&(e.model=x),n&&(e.provider_connection=n)),Y.maxTokens&&R!==null&&(e.maxTokens=R),Y.contextWindow&&z!==null&&(e.contextWindow={maxInputTokens:z}),Y.effort&&V!==`none`&&(e.effort=V),Y.speed&&oe!==`standard`&&(e.speed=oe),Y.verbosity&&(e.verbosity=se),Y.temperature&&(ce?e.temperature=le:c===`edit`&&(e.temperature=null)),Y.thinking&&(e.thinking={enabled:de,...de?{streamThinking:pe}:{}}),Y.thinkingLevel&&me!==Ze&&(e.thinking={enabled:!0,level:me}),(c===`edit`||O!==`active`)&&(e.status=O),await o(De,e)}catch{L(`Failed to save profile. Please try again.`)}finally{re(!1)}}}let Ie=c===`create`?`New Profile`:c===`edit`?`Edit Profile`:n?.label??t??`Profile`,Le=(0,K.useMemo)(()=>{if(!b||b===Ke&&!a)return[];let e=he(b);if(e.length>0)return(C?X.find(e=>e.name===C):void 0)?.auth.type===`oauth_subscription`||!C&&X.length>0&&X.every(e=>e.auth.type===`oauth_subscription`)?e.filter(e=>qe.has(e.id)):e;let t=e=>(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}));if(C){let e=X.find(e=>e.name===C);return e?t(e.models):[]}let n=new Set,r=[];for(let e of X)for(let t of e.models??[])n.has(t.id)||(n.add(t.id),r.push({id:t.id,displayName:t.displayName??t.id}));return r},[b,a,C,X]);return(0,K.useEffect)(()=>{x&&Le.length>0&&!Le.some(e=>e.id===x)&&S(``)},[x,Le]),(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsx)(P.Header,{children:c===`view`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(P.Title,{children:Ie}),(0,$.jsx)(A,{tone:`positive`,children:`Platform`})]}):(0,$.jsx)(P.Title,{children:Ie})}),(0,$.jsx)(P.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Display Name`}),(0,$.jsx)(j,{type:`text`,value:m,onChange:e=>Z(e.target.value),placeholder:`e.g. Fast & Cheap`,fullWidth:!0})]}),(0,$.jsx)(ne,{label:(0,$.jsxs)($.Fragment,{children:[`Description`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),value:g,onChange:e=>_(e.target.value),placeholder:`Describe when to use this profile`,disabled:u,rows:2,fullWidth:!0,className:`resize-none`}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,$.jsx)(j,{type:`text`,value:v,onChange:e=>Q(e.target.value),placeholder:`e.g. fast-cheap`,disabled:u||c===`edit`,fullWidth:!0}),Pe&&!u?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:Pe}):null]}),(0,$.jsx)(M,{checked:O===`active`,onChange:e=>k(e?`active`:`disabled`),label:`Active`}),d&&(0,$.jsx)(`div`,{className:`rounded-lg bg-[var(--surface-info-subtle)] p-3`,children:(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Auto mode routes each query to the best profile automatically — fast for simple questions, capable for complex ones. No provider or model configuration needed.`})}),!d&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),je?(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-warning-subtle)] px-2 py-0.5 text-body-small-default text-[var(--content-warning)]`,children:`Pick a provider`}):null]}),(0,$.jsx)(E,{value:b,onChange:we,disabled:u,placeholder:`Select a provider…`,"aria-labelledby":`profile-editor-provider-label`,options:be.map(e=>({value:e,label:J[e]??e}))}),be.length===0&&!u?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`No provider connections. Open Providers to add one.`}):null]}),Se&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Connection`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,$.jsx)(E,{value:C,onChange:Te,disabled:u,options:[...X.length>1?[{value:``,label:`Any ${J[b]??b} connection`}]:[],...X.map(e=>({value:e.name,label:e.label&&e.label.trim()!==``?e.label:e.name})),...xe?[{value:C,label:`${C} (not found)`}]:[]]}),xe&&!u?(0,$.jsxs)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:[`Connection “`,C,`” not found. Will be cleared on save unless you pick another.`]}):null]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,$.jsx)(E,{value:x,onChange:Ee,disabled:u||!b,options:[{value:``,label:b?b===`openai-compatible`&&Le.length===0?`Configure models on connection`:`Select a model`:`Select a provider first`},...Le.map(e=>({value:e.id,label:e.displayName}))]}),Me&&!u?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:b===`openai-compatible`&&Le.length===0?`No models available. Configure models on the provider connection first.`:`Select a model.`}):null]})]}),!d&&(0,$.jsxs)($.Fragment,{children:[Y.maxTokens&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Max Output Tokens`}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:R===null?`Inherit`:Qt(R)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(D,{value:R??Qe,onValueChange:e=>ae(typeof e==`number`?e:e[0]),min:$e,max:_e?.maxOutputTokens??Qe,step:1e3,disabled:u})}),(0,$.jsx)(w,{variant:`ghost`,size:`compact`,onClick:()=>ae(null),disabled:u||R===null,children:`Inherit`})]})]}),Y.contextWindow&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Context Window`}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:z===null?`Inherit`:Qt(z)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(D,{value:z??et,onValueChange:e=>B(typeof e==`number`?e:e[0]),min:tt,max:_e?.contextWindowTokens??et,step:5e4,disabled:u||!_e})}),(0,$.jsx)(w,{variant:`ghost`,size:`compact`,onClick:()=>B(null),disabled:u||z===null,children:`Inherit`})]})]}),Y.effort&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Effort`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(none = inherit)`})]}),(0,$.jsx)(N,{items:Je.map(e=>({value:e,label:e})),value:V,onChange:e=>H(e),ariaLabel:`Effort`})]}),Y.speed&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Speed`}),(0,$.jsx)(N,{items:Ye.map(e=>({value:e,label:e})),value:oe,onChange:e=>U(e),ariaLabel:`Speed`})]}),Y.verbosity&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Verbosity`}),(0,$.jsx)(N,{items:Xe.map(e=>({value:e,label:e})),value:se,onChange:e=>W(e),ariaLabel:`Verbosity`})]}),Y.temperature&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Temperature`}),(0,$.jsx)(M,{checked:ce,onChange:e=>G(e),disabled:u,"aria-label":`Enable temperature override`})]}),ce&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(D,{value:le,onValueChange:e=>ue(typeof e==`number`?e:e[0]),min:0,max:2,step:.01,disabled:u,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),Y.thinking&&(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(M,{checked:de,onChange:e=>{fe(e),e||q(!1)},label:`Enable extended thinking`,disabled:u}),de&&(0,$.jsx)(`div`,{className:`pl-4`,children:(0,$.jsx)(M,{checked:pe,onChange:e=>q(e),label:`Stream thinking tokens`,disabled:u})})]}),Y.thinkingLevel&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Thinking level`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(default = inherit)`})]}),(0,$.jsx)(N,{items:[Ze,...Be(x)].map(e=>({value:e,label:e})),value:me,onChange:e=>ge(e),ariaLabel:`Thinking level`})]})]}),ie?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:ie}):null]})}),(0,$.jsx)(P.Footer,{children:c===`view`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w,{variant:`outlined`,onClick:s,disabled:I,"data-testid":`modal-cancel-btn`,children:`Close`}),!d&&(0,$.jsx)(w,{variant:`outlined`,onClick:()=>{l(`create`),y(``),Ce.current=!1},disabled:I,children:`Save As New`}),(0,$.jsx)(w,{variant:`primary`,onClick:()=>void Fe(),disabled:!F||I,"data-testid":`modal-save-btn`,children:I?`Saving…`:`Save`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w,{variant:`outlined`,onClick:s,disabled:I,"data-testid":`modal-cancel-btn`,children:`Cancel`}),(0,$.jsx)(w,{variant:`primary`,onClick:()=>void Fe(),disabled:Ne||I,"data-testid":`modal-save-btn`,children:I?`Saving…`:`Save`})]})})]})}function it(){let e={anthropic:J.anthropic,openai:J.openai,gemini:J.gemini,ollama:J.ollama,fireworks:J.fireworks,openrouter:J.openrouter,"openai-compatible":J[`openai-compatible`]},t={};for(let n of Object.keys(e)){let r=e[n];if(r===void 0)throw Error(`provider-connections-client: catalog missing displayName for ConnectionProvider "${n}".`);t[n]=r}return t}var at=it();function ot(e){throw Object.assign(Error(`Request failed`),{status:e?.status})}function st(e){return{...e,label:e.label??null,baseUrl:e.baseUrl??null,models:e.models??null}}async function ct(e,t){let n=await o.get({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,path:{assistant_id:e},query:t?{provider:t}:void 0});return n.response?.ok||ot(n.response),(n.data.connections??[]).map(st)}async function lt(e,t){let n=await o.post({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,path:{assistant_id:e},body:t,headers:{"Content-Type":`application/json`}});return n.response?.ok||ot(n.response),st(n.data)}async function ut(e,t,n){let r=await o.patch({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,path:{assistant_id:e,name:t},body:n,headers:{"Content-Type":`application/json`}});return r.response?.ok||ot(r.response),st(r.data)}async function dt(e,t){let n=await o.delete({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,path:{assistant_id:e,name:t}});n.response?.ok||ot(n.response)}async function ft(e){let t=await o.get({url:`/v1/assistants/{assistant_id}/secrets/`,path:{assistant_id:e}});t.response?.ok||ot(t.response);let n=t.data,r=n.secrets??n.accounts??[],i=[];for(let e of r){let t=e.type;if(t){if(t===`api_key`){let t=e.name;t&&i.push({service:t,field:`api_key`})}else if(t===`credential`){let t=e.name;if(!t)continue;let n=t.lastIndexOf(`:`);if(n>=0){let e=t.slice(0,n),r=t.slice(n+1);e&&r&&i.push({service:e,field:r})}}}}return i}async function pt(e,t,n){let r=await o.post({url:`/v1/assistants/{assistant_id}/secrets/read/`,path:{assistant_id:e},body:{type:t,name:n},headers:{"Content-Type":`application/json`}});if(!r.response?.ok)return{found:!1,masked:null};let i=r.data;return{found:i.found??!1,masked:i.masked??null}}async function mt(e,t,n,r){let i=await o.post({url:`/v1/assistants/{assistant_id}/secrets/`,path:{assistant_id:e},body:{type:t,name:n,value:r},headers:{"Content-Type":`application/json`}});i.response?.ok||ot(i.response)}async function ht(e){let t=await o.post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth`,path:{assistant_id:e},headers:{"Content-Type":`application/json`}});return t.response?.ok||ot(t.response),t.data}async function gt(e,t,n){let r=await o.post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth/exchange`,path:{assistant_id:e},body:{code:t,state:n},headers:{"Content-Type":`application/json`}});r.response?.ok||ot(r.response)}function _t(e,t){return t?e:e.filter(e=>e.provider!==`openai-compatible`)}function vt({isOpen:e,profiles:t,profileOrder:n,activeProfile:r,assistantId:i,callSiteOverrides:a,onClose:s,onProfilesChanged:c}){let l=re.use.openAICompatibleEndpoints(),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)(null),[m,h]=(0,K.useState)(void 0);(0,K.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{try{let e=await ct(i);t||h(_t(e,l))}catch{}})(),()=>{t=!0}},[e,i,u,l]);let g=Object.keys(t);async function _(e,r,a){let s=a?.mode??`replace`,l=!(e in t);if(s===`merge`&&!l){await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e]:r}}},headers:{"Content-Type":`application/json`},throwOnError:!0});let n={...t[e],...r};c({profiles:{[e]:n}}),d(!1),p(null);return}let u={profiles:{[e]:r}},f={profiles:{[e]:r}};if(l){let t=n.includes(e)?n:[...n,e];f.profileOrder=t,u.profileOrder=t}if(l)await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:f},headers:{"Content-Type":`application/json`},throwOnError:!0});else{let n=t[e];await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e]:null}}},headers:{"Content-Type":`application/json`},throwOnError:!0});try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:f},headers:{"Content-Type":`application/json`},throwOnError:!0})}catch(t){throw n!=null&&await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e]:n}}},headers:{"Content-Type":`application/json`},throwOnError:!0}).catch(()=>{}),t}}c(u),d(!1),p(null)}let v=(0,K.useRef)(t);(0,K.useEffect)(()=>{v.current=t});async function y(e,n){let r=n?`active`:`disabled`,a=t[e.name];if(!a)return!1;let s=a.status;c({profiles:{[e.name]:{...a,status:r}}});try{return await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e.name]:{status:r}}}},headers:{"Content-Type":`application/json`},throwOnError:!0}),!0}catch{let t=v.current[e.name];return t&&c({profiles:{[e.name]:{...t,status:s}}}),!1}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{e||s()},children:e?(0,$.jsx)(yt,{profiles:t,profileOrder:n,activeProfile:r,assistantId:i,callSiteOverrides:a,onClose:s,onProfilesChanged:c,onEditClick:e=>{p(e),d(!0)},onNewClick:()=>{p(null),d(!0)},onStatusToggle:y}):null}),(0,$.jsx)(nt,{isOpen:u,mode:f?f.source===`managed`?`view`:`edit`:`create`,profileName:f?.name,initialValues:f??void 0,assistantId:i,existingNames:g,connections:m,openAICompatibleEndpointsEnabled:l,onSave:_,onCancel:()=>{d(!1),p(null)}})]})}function yt({profiles:e,profileOrder:t,activeProfile:n,assistantId:r,callSiteOverrides:i,onClose:a,onProfilesChanged:s,onEditClick:c,onNewClick:l,onStatusToggle:u}){let[d,f]=(0,K.useState)({}),[p,m]=(0,K.useState)({}),[h,g]=(0,K.useState)(new Set),[_,v]=(0,K.useState)(null);async function y(e,t){if(!h.has(e.name)){g(t=>new Set(t).add(e.name)),v(null);try{await u(e,t)||v(`Couldn't update "${e.label??e.name}". Please try again.`)}finally{g(t=>{let n=new Set(t);return n.delete(e.name),n})}}}let[b,ee]=(0,K.useState)(null),[x,S]=(0,K.useState)(null),[C,te]=(0,K.useState)(null),E=(0,K.useRef)(t),D=(0,K.useRef)(null),O=(0,K.useRef)(null),[k,ne]=(0,K.useState)(null),[j,N]=(0,K.useState)(null),[F,I]=(0,K.useState)(``),[ie,L]=(0,K.useState)(!1),R=t.filter(t=>t in e).map(t=>{let n=e[t];return{name:t,source:n.source,status:n.status??`active`,label:n.label??void 0,description:n.description??void 0,provider:n.provider??void 0,provider_connection:n.provider_connection??void 0,model:n.model??void 0,maxTokens:n.maxTokens,effort:n.effort,speed:n.speed,verbosity:n.verbosity,temperature:n.temperature,thinking:n.thinking,contextWindow:n.contextWindow}}),ae=new Set(t),z=Object.entries(e).filter(([e])=>!ae.has(e)).map(([e,t])=>({name:e,source:t.source,status:t.status??`active`,label:t.label??void 0,description:t.description??void 0,provider:t.provider??void 0,provider_connection:t.provider_connection??void 0,model:t.model??void 0,maxTokens:t.maxTokens,effort:t.effort,speed:t.speed,verbosity:t.verbosity,temperature:t.temperature,thinking:t.thinking,contextWindow:t.contextWindow})),B=we([...R,...z],re.use.queryComplexityRouting());async function V(e){m(t=>({...t,[e]:!0})),f(t=>{let n={...t};return delete n[e],n});try{let n=t.filter(t=>t!==e);await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:r},body:{llm:{profiles:{[e]:null},profileOrder:n}},headers:{"Content-Type":`application/json`},throwOnError:!0}),s({profiles:{[e]:null},profileOrder:n})}catch{f(t=>({...t,[e]:`Failed to delete profile. Please try again.`}))}finally{m(t=>{let n={...t};return delete n[e],n})}}function oe(e){let t=B.find(t=>t.name===e)?.label??e,r=e===n,a=Object.entries(i).filter(([t,n])=>t!==`mainAgent`&&n?.profile===e).map(([e])=>e);if(r||a.length>0){ne({name:e,label:t,isActive:r,callSiteIds:a}),I(``),N(null);return}V(e)}async function U(){if(!k||!F)return;L(!0),N(null);let e={};if(k.isActive&&(e.activeProfile=F),k.callSiteIds.length>0){let t={};for(let e of k.callSiteIds)t[e]={profile:F};e.callSites=t}if(Object.keys(e).length>0)try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:r},body:{llm:e},headers:{"Content-Type":`application/json`},throwOnError:!0});let t=k.callSiteIds.length>0?Object.fromEntries(k.callSiteIds.map(e=>[e,F])):void 0;s({...k.isActive&&{activeProfile:F},...t&&{callSites:t}})}catch{N(`Failed to reassign references. Please try again.`),L(!1);return}let t=k.name;ne(null),L(!1),V(t)}async function se(e,n){if(e===n.name)return;te(null);let i=t.filter(t=>t!==e),a=i.indexOf(n.name);if(a===-1)return;n.after&&(a+=1);let c=[...i.slice(0,a),e,...i.slice(a)];s({profileOrder:c});try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:r},body:{llm:{profileOrder:c}},headers:{"Content-Type":`application/json`},throwOnError:!0}),E.current=c}catch{s({profileOrder:E.current}),te(`Failed to reorder profiles. Please try again.`)}}let W=B.filter(e=>e.name!==k?.name&&e.source!==`managed`),ce=W.length>0?W:B.filter(e=>e.name!==k?.name);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:`Model Profiles`}),(0,$.jsx)(P.Description,{children:`Bundle a provider and model into a named profile. Assign profiles to specific actions or swap between them when chatting.`})]}),(0,$.jsxs)(P.Body,{children:[B.length===0?(0,$.jsx)(T,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No profiles yet. Create one to get started.`}):(0,$.jsx)(`div`,{className:`space-y-1`,children:B.map(e=>{let t=e.source===`managed`,n=p[e.name]??!1,r=d[e.name],i=e.status!==`disabled`,a=h.has(e.name),o=e.name===Q;return(0,$.jsxs)(`div`,{className:`relative`,children:[x?.name===e.name&&!x.after&&(0,$.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg pr-2 py-2${b===e.name?` opacity-50`:``}`,draggable:!t,onDragStart:t=>{D.current=e.name,ee(e.name),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},onDragEnd:()=>{D.current=null,O.current=null,ee(null),S(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,S(i)},onDragLeave:t=>{t.currentTarget.contains(t.relatedTarget)||(O.current=null,S(t=>t?.name===e.name?null:t))},onDrop:e=>{e.preventDefault();let t=D.current,n=O.current;D.current=null,O.current=null,ee(null),S(null),t&&n&&se(t,n)},children:[(0,$.jsx)(fe,{className:`h-4 w-4 shrink-0 ${t?`invisible`:`cursor-grab text-[var(--content-tertiary)]`}`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1${i?``:` opacity-55`}`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(T,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),t&&e.name!==`auto`&&(0,$.jsx)(A,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename or disable this profile.`,children:`Platform`})]}),e.description?(0,$.jsx)(T,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.description}):null,e.model??e.provider?(0,$.jsx)(T,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.model??e.provider}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex shrink-0 items-center`,title:i?`Active — toggle to hide from pickers`:`Disabled — toggle to show in pickers`,children:(0,$.jsx)(M,{checked:i,onChange:t=>void y(e,t),disabled:a,"aria-label":`${i?`Disable`:`Enable`} ${e.label??e.name}`})}),(0,$.jsxs)(`div`,{className:`flex w-[92px] items-center justify-end gap-2${o?` invisible`:``}`,children:[(0,$.jsx)(w,{variant:`ghost`,size:`compact`,onClick:()=>c(e),children:t?`View`:`Edit`}),(0,$.jsx)(w,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(H,{}),"aria-label":`Delete ${e.label??e.name}`,disabled:t||n,title:t?`Managed profiles cannot be deleted`:void 0,onClick:()=>oe(e.name),tintColor:`var(--system-negative-strong)`})]})]})]}),x?.name===e.name&&x.after&&(0,$.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),r?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:r}):null,e.name===`auto`&&(0,$.jsx)(`div`,{className:`mx-2 mt-1 border-b border-[var(--border-subtle)]`})]},e.name)})}),C&&(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:C}),_&&(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:_})]}),(0,$.jsxs)(P.Footer,{className:`justify-between`,children:[(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:l,children:`+ New Profile`}),(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:a,children:`Done`})]})]}),(0,$.jsx)(bt,{blocked:k,availableReplacements:ce,replacement:F,onReplacementChange:I,error:j,saving:ie,onClose:()=>{ne(null),N(null)},onConfirm:()=>void U()})]})}function bt({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,$.jsx)(P.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(P.Content,{size:`sm`,children:[(0,$.jsx)(P.Header,{children:(0,$.jsx)(P.Title,{children:`Can't Delete Profile`})}),(0,$.jsxs)(P.Body,{className:`space-y-4`,children:[(0,$.jsx)(T,{variant:`body-medium-default`,as:`p`,children:c}),e&&e.callSiteIds.length>0&&(0,$.jsx)(`ul`,{className:`space-y-1 pl-1`,children:e.callSiteIds.map(e=>(0,$.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,(0,$.jsx)(`code`,{children:e})]},e))}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Replacement profile`}),(0,$.jsx)(E,{"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,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,$.jsxs)(P.Footer,{children:[(0,$.jsx)(w,{variant:`ghost`,size:`compact`,onClick:o,children:`Cancel`}),(0,$.jsx)(w,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:s,children:a?`Saving…`:`Reassign and Delete`})]})]})})}var xt=`•`.repeat(8);function St(e,t){return t?xt:e}var Ct=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`openrouter`,`openai-compatible`],wt={api_key:`API Key`,platform:`Platform (managed proxy)`,none:`None (local / no auth)`,oauth_subscription:`ChatGPT Subscription`};function Tt({mode:e,connection:t,assistantId:n,existingNames:r,openAICompatibleEndpointsEnabled:i=!1,chatgptSubscriptionEnabled:a=!1,onSave:o,onCancel:s}){let[c,l]=(0,K.useState)(e),u=c===`managed-edit`,[d,f]=(0,K.useState)(t?.label??``),[p,m]=(0,K.useState)(t?.name??``),[h,g]=(0,K.useState)(t?.provider??`anthropic`),[_,v]=(0,K.useState)(()=>t?t.auth.type:`platform`),[y,b]=(0,K.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[ee,x]=(0,K.useState)(t?.baseUrl??``),[S,C]=(0,K.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[te,D]=(0,K.useState)(!1),[O,k]=(0,K.useState)(null),A=h===`openai-compatible`,ne=(0,K.useMemo)(()=>{let e=i?Ct:Ct.filter(e=>e!==`openai-compatible`);return h&&!e.includes(h)?[...e,h]:e},[i,h]),M=(0,K.useRef)(!1),[N,F]=(0,K.useState)(``),[I,re]=(0,K.useState)(!1),[ie,L]=(0,K.useState)(!1),[R,ae]=(0,K.useState)(!1),[B,V]=(0,K.useState)([]),[H,oe]=(0,K.useState)(!1),[U,se]=(0,K.useState)(``),[W,ce]=(0,K.useState)(!1),[G,ue]=(0,K.useState)(`idle`),[de,fe]=(0,K.useState)(``),[pe,q]=(0,K.useState)(null),J=(0,K.useRef)(``);async function me(){ue(`starting`),q(null);let e=window.open(`about:blank`,`_blank`);try{let{authorize_url:t,state:r}=await ht(n);J.current=r,e?(e.opener=null,e.location.href=t):window.open(t,`_blank`,`noopener`),ue(`paste_url`)}catch{e?.close(),ue(`failed`),q(`Failed to start ChatGPT sign-in. Please try again.`)}}async function he(){q(null);let e=de.trim();if(!e){q(`Please paste the URL from the error page.`);return}let t;try{t=new URL(e)}catch{q(`Invalid URL. Please paste the full URL from the address bar.`);return}let r=t.searchParams.get(`code`),i=t.searchParams.get(`state`);if(!r){q(`The URL is missing the authorization code. Make sure you copied the full URL.`);return}if(!i){q(`The URL is missing the state parameter. Make sure you copied the full URL.`);return}ue(`exchanging`);try{await gt(n,r,i),ue(`completed`),o((await ct(n,`openai`)).find(e=>e.name===`chatgpt-subscription`||e.name===`openai-chatgpt`)||{name:`chatgpt-subscription`,provider:`openai`,auth:{type:`oauth_subscription`,credential:`credential/openai/chatgpt-subscription`},label:`ChatGPT Subscription`,createdAt:Date.now(),updatedAt:Date.now(),baseUrl:null,models:null})}catch{ue(`failed`),q(`Failed to complete sign-in. Please try again.`)}}let ge=(0,K.useCallback)(async e=>{let t=e.split(`/`);if(t.length<3||t[0]!==`credential`){L(!1);return}let r=t[1],i=t.slice(2).join(`/`);ae(!0);try{L((await pt(n,`credential`,`${r}:${i}`)).found)}catch{L(!1)}finally{ae(!1)}},[n]),Y=(0,K.useCallback)(async()=>{V(await ft(n))},[n]);(0,K.useEffect)(()=>{let e=t?.provider??`anthropic`;f(t?.label??``),m(t?.name??``),g(e),v(t?t.auth.type:`platform`),t?.auth.type===`api_key`?b(t.auth.credential):b(t?``:`credential/${e}/api_key`),M.current=!1,k(null),x(t?.baseUrl??``),C(t?.models?t.models.map(e=>e.id).join(`, `):``),F(``),L(!1),ae(!1),V([]),oe(!1),se(``),ce(!1),re(!1),ue(`idle`),fe(``),q(null),J.current=``,t?.auth.type===`api_key`?(ge(t.auth.credential),Y()):t||Y()},[t,ge,Y]);function ve(e){f(e),c===`create`&&!M.current&&m(We(e))}function X(e){M.current=!0,m(e)}function ye(){l(`create`),m(``),M.current=!1,h===`ollama`?(v(`none`),b(``)):(v(`api_key`),b(`credential/${h}/api_key`)),F(``),L(!1),x(``),C(``),k(null),Y()}let be=p.trim()&&c===`create`&&r.includes(p.trim())?`A connection named "${p.trim()}" already exists.`:null,xe=p.trim().length>0&&!be;async function Se(){if(xe){D(!0),k(null);try{let e;if(_===`api_key`){let t=y.trim()||`credential/${h}/api_key`,r=N.trim();if(r){ce(!0);try{let e=t.split(`/`);if(e.length>=3&&e[0]===`credential`){let t=e[1];await mt(n,`credential`,`${t}:${e.slice(2).join(`/`)}`,r)}else await mt(n,`api_key`,h,r);L(!0)}catch{k(`Failed to save API key. Please try again.`);return}finally{ce(!1)}}else if(!ie&&c===`create`){k(`Enter an API key or select an existing credential.`);return}e={type:`api_key`,credential:t}}else if(_===`oauth_subscription`)if(c!==`create`&&t?.auth.type===`oauth_subscription`)e=t.auth;else{k(`Use the "Sign in with ChatGPT" button to connect your subscription.`);return}else e=_===`none`?{type:`none`}:{type:`platform`};let r=d.trim()||null,i;if(c===`create`)i=await lt(n,{name:p.trim(),provider:h,auth:e,...r!==null&&{label:r},...A&&{base_url:ee.trim()||null,models:S.trim()?S.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}});else{let a={auth:e,label:r,...A&&{base_url:ee.trim()||null,models:S.trim()?S.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}};i=await ut(n,t.name,a)}o(i)}catch(e){let t=e?.status;k(t===409?`A connection named "${p.trim()}" already exists.`:t===404?`Connection not found. It may have been deleted.`:t===400?`Invalid configuration. Check the provider and auth settings.`:`Failed to save connection. Please try again.`)}finally{D(!1)}}}let Ce=B.filter(e=>e.service===h),Z=c!==`create`&&t?.auth.type===`api_key`,Q=Ce.length>0||H||Z,we=St(`Enter your API key`,ie);return(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:c===`create`?`New Provider Connection`:`Edit Connection`}),(0,$.jsx)(P.Description,{children:c===`create`?`Define a provider and auth configuration for inference routing.`:u?`Managed by Vellum — auth is locked, but you can rename "${t?.name}".`:`Editing "${t?.name}".`})]}),(0,$.jsxs)(P.Body,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,$.jsx)(j,{value:d,onChange:e=>ve(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,$.jsx)(j,{value:p,onChange:e=>{X(e.target.value),k(null)},placeholder:`e.g. anthropic-personal`,disabled:c!==`create`,fullWidth:!0}),be&&(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:be})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(E,{"aria-label":`Provider`,value:h,onChange:e=>{let t=e;g(t),c===`create`&&(t===`ollama`?(v(`none`),b(``)):(v(e=>e===`none`||e===`oauth_subscription`&&t!==`openai`||e===`platform`&&!_e(t)?`api_key`:e),b(`credential/${t}/api_key`)),L(!1))},disabled:c!==`create`,options:ne.map(e=>({value:e,label:at[e]}))})]}),A&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,$.jsx)(j,{value:ee,onChange:e=>x(e.target.value),placeholder:`https://api.example.com/v1`,disabled:u,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,$.jsx)(j,{value:S,onChange:e=>C(e.target.value),placeholder:`model-1, model-2`,disabled:u,fullWidth:!0}),(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Auth Type`}),(0,$.jsx)(E,{"aria-label":`Auth type`,value:_,onChange:e=>{v(e),k(null)},disabled:u||h===`ollama`,options:(()=>{let e;return e=h===`ollama`?[`none`]:_e(h)?[`api_key`,`platform`]:[`api_key`],a&&h===`openai`&&c===`create`&&e.push(`oauth_subscription`),_&&!e.includes(_)&&e.push(_),e.map(e=>({value:e,label:wt[e]}))})()})]}),_===`api_key`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),R?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(T,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Loading…`})]}):(0,$.jsx)(j,{type:`password`,value:N,onChange:e=>{F(e.target.value),k(null)},placeholder:we,disabled:u,fullWidth:!0})]}),Q&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":I,onClick:()=>re(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(le,{className:`h-4 w-4 transition-transform ${I?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`}),(0,$.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:`· Credential reference`})]}),I&&(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[(()=>{let e=Ce.map(e=>{let t=`credential/${e.service}/${e.field}`;return{label:t,value:t}}),t=e.some(e=>e.value===y),n=y&&!t?[{label:y,value:y},...e]:e;return n.length===0?null:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Credential Reference`}),(0,$.jsx)(E,{"aria-label":`Credential reference`,value:y,onChange:e=>{b(e),ge(e)},disabled:u,options:n})]})})(),H&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`New Credential Name`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(j,{value:U,onChange:e=>se(e.target.value),placeholder:`e.g. team-key`,disabled:u,fullWidth:!0}),(0,$.jsx)(w,{variant:`primary`,size:`compact`,disabled:u||!U.trim(),onClick:()=>{let e=U.trim();if(!e)return;let t=`credential/${h}/${e}`;b(t),oe(!1),se(``),ge(t)},children:`Use`})]})]}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(w,{variant:`ghost`,size:`compact`,disabled:u,onClick:()=>{H?(oe(!1),se(``)):oe(!0)},children:H?`Cancel`:`+ New Credential`})})]})]})]}),_===`oauth_subscription`&&(0,$.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] p-4`,children:[(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Connect your ChatGPT subscription to use OpenAI models without an API key.`}),G===`idle`||G===`paste_url`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(T,{variant:`body-small-default`,as:`p`,className:G===`paste_url`?`text-[var(--content-tertiary)] line-through`:`text-[var(--content-secondary)]`,children:[`1. Click “Sign in with ChatGPT”`,G===`idle`?` below`:null,` to open a popup`]}),(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`2. Sign in, then you'll land on an error page — that's expected`}),(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`3. Copy the full URL from that page's address bar and paste it below`})]}),G===`idle`?(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:()=>void me(),children:`Sign in with ChatGPT`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(j,{value:de,onChange:e=>{fe(e.target.value),q(null)},placeholder:`Paste callback URL here...`,fullWidth:!0}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(w,{variant:`primary`,size:`compact`,disabled:!de.trim(),onClick:()=>void he(),children:`Complete Sign In`})})]})]}):null,G===`starting`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(T,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Starting sign-in...`})]}):null,G===`exchanging`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(T,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Completing sign-in...`})]}):null,G===`completed`?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:`ChatGPT subscription connected successfully.`}):null,pe?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:pe}):null,G===`failed`?(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:()=>{ue(`idle`),fe(``),q(null)},children:`Try Again`}):null]}),O&&(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:O})]}),(0,$.jsxs)(P.Footer,{children:[(0,$.jsx)(w,{variant:`ghost`,size:`compact`,onClick:s,children:`Cancel`}),c===`managed-edit`&&(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:ye,disabled:te||W,children:`Save as New`}),(0,$.jsx)(w,{variant:`primary`,size:`compact`,disabled:!xe||te||W,onClick:()=>void Se(),children:te?`Saving…`:c===`create`?`Create`:`Save`})]})]})}function Et(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 Dt(e,t){return t?e:e.filter(e=>e.provider!==`openai-compatible`)}function Ot({isOpen:e,assistantId:t,onClose:n}){let r=re.use.openAICompatibleEndpoints(),i=re.use.chatgptSubscriptionAuth(),[a,o]=(0,K.useState)([]),[s,c]=(0,K.useState)(!0),[l,u]=(0,K.useState)(null),[d,f]=(0,K.useState)(!1),[p,m]=(0,K.useState)(null),h=(0,K.useRef)(0),g=(0,K.useCallback)(()=>{let e=++h.current;c(!0),u(null),ct(t).then(t=>{h.current===e&&(o(Dt(t,r)),c(!1))}).catch(()=>{h.current===e&&(u(`Failed to load connections. Please try again.`),c(!1))})},[t,r]);(0,K.useEffect)(()=>{e&&g()},[e,g]);function _(e){h.current++,o(t=>{if(e.provider===`openai-compatible`&&!r)return t;let n=t.findIndex(t=>t.name===e.name);if(n>=0){let r=[...t];return r[n]=e,r}return[...t,e]}),f(!1),m(null)}let v=a.map(e=>e.name),y=()=>{f(!1),m(null)};return(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{e||(d?y():n())},children:e?d?(0,$.jsx)(Tt,{mode:p?p.isManaged?`managed-edit`:`edit`:`create`,connection:p??void 0,assistantId:t,existingNames:v,openAICompatibleEndpointsEnabled:r,chatgptSubscriptionEnabled:i,onSave:_,onCancel:y}):(0,$.jsx)(kt,{connections:a,loading:s,loadError:l,assistantId:t,onClose:n,onEditClick:e=>{m(e),f(!0)},onNewClick:()=>{m(null),f(!0)},onConnectionDeleted:e=>{o(t=>t.filter(t=>t.name!==e))}}):null})}function kt({connections:e,loading:t,loadError:n,assistantId:r,onClose:i,onEditClick:a,onNewClick:o,onConnectionDeleted:s}){let[c,l]=(0,K.useState)({}),[u,d]=(0,K.useState)({});async function f(e){d(t=>({...t,[e]:!0})),l(t=>{let n={...t};return delete n[e],n});try{await dt(r,e),s(e)}catch(t){let n=t?.status;n===409?l(t=>({...t,[e]:`Connection is in use by one or more profiles. Remove those references first.`})):n===404?s(e):l(t=>({...t,[e]:`Failed to delete connection. Please try again.`}))}finally{d(t=>{let n={...t};return delete n[e],n})}}return(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:`Provider Connections`}),(0,$.jsx)(P.Description,{children:`Manage inference provider connections. Each connection binds a name to a provider and auth configuration.`})]}),(0,$.jsx)(P.Body,{children:t?(0,$.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,$.jsx)(`div`,{className:`h-10 animate-pulse rounded-lg bg-[var(--surface-active)]`},e))}):n?(0,$.jsx)(T,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:n}):e.length===0?(0,$.jsx)(T,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No connections yet. Create one to get started.`}):(0,$.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,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg px-2 py-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(T,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),r&&(0,$.jsx)(A,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename this connection.`,children:`Platform`})]}),(0,$.jsxs)(T,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:[e.label?`${e.name} · `:``,at[e.provider]??e.provider,` · `,Et(e.auth)]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,$.jsx)(w,{variant:`ghost`,size:`compact`,onClick:()=>a(e),children:`Edit`}),(0,$.jsx)(w,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(H,{}),"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,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:n}):null]},e.name)})})}),(0,$.jsxs)(P.Footer,{className:`justify-between`,children:[(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:o,children:`+ New Connection`}),(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:i,children:`Done`})]})]})}var At=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`],jt={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`},Mt=[`anthropic`,`openai`,`fireworks`,`openrouter`,`gemini`],Nt=J,Pt=[{id:`elevenlabs`,displayName:`ElevenLabs`,subtitle:`High-quality voice synthesis for conversations and read-aloud. Requires an ElevenLabs API key.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`sk_…`,credentialsGuide:{description:`Sign in to ElevenLabs, go to your Profile, and copy your API key.`,url:`https://elevenlabs.io/app/settings/api-keys`,linkLabel:`Open ElevenLabs API Keys`}},{id:`fish-audio`,displayName:`Fish Audio`,subtitle:`Natural-sounding voice synthesis with custom voice cloning. Requires a Fish Audio API key and voice reference ID.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`Enter your Fish Audio API key`,credentialsGuide:{description:`Sign in to Fish Audio, navigate to API Keys in your dashboard, and create a new key.`,url:`https://fish.audio/app/api-keys/`,linkLabel:`Open Fish Audio API Keys`}},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate text-to-speech synthesis. Uses the same API key as Deepgram speech-to-text.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for speech-to-text.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`xai`,displayName:`xAI`,subtitle:`Text-to-speech from xAI with expressive voices (eve, ara, rex, sal, leo). Requires an xAI API key.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your xAI API key`,credentialsGuide:{description:`Sign in to the xAI console, navigate to API Keys, and create a new key.`,url:`https://console.x.ai/`,linkLabel:`Open xAI Console`}}],Ft=[{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate speech-to-text transcription. Uses the same API key as Deepgram text-to-speech.`,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for text-to-speech.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`openai`,displayName:`OpenAI`,subtitle:`OpenAI Whisper transcription. Requires an OpenAI API key.`,apiKeyPlaceholder:`sk-…`,credentialsGuide:{description:`Sign in to the OpenAI platform, navigate to API Keys, and create a new secret key.`,url:`https://platform.openai.com/api-keys`,linkLabel:`Open OpenAI API Keys`}}];function It(e){if(e?.success===!1)throw Error(`Failed to provision API key: server returned success=false`)}function Lt(e){let t=e.services??{},n=e.llm??{},r={},i=n.default?.provider;i&&(r.inferenceProvider=i);let a=n.default?.model;a&&(r.selectedModel=a),n.activeProfile!==void 0&&(r.activeProfile=n.activeProfile??null),n.profiles&&(r.profiles=n.profiles),n.profileOrder!==void 0&&(r.profileOrder=n.profileOrder);let o=t[`web-search`]?.mode;(o===`managed`||o===`your-own`)&&(r.webSearchMode=o);let s=t[`web-search`]?.provider;s&&(r.webSearchProvider=s);let c=t[`image-generation`]?.mode;return(c===`managed`||c===`your-own`)&&(r.imageGenMode=c),r}var Rt=`vellum:ai:imageGenMode`,zt=`vellum:ai:imageGenModel`,Bt=`vellum:ai:webSearchMode`,Vt=`vellum:ai:webSearchProvider`,Ht=`vellum:ai:emailMode`,Ut=`vellum:ai:emailByoProvider`,Wt=`vellum:voice:ttsProvider`,Gt=`vellum:voice:ttsApiKey:`,Kt=`vellum:voice:ttsVoiceId:`,qt=`vellum:voice:sttProvider`,Jt=`vellum:voice:sttApiKey:`,Yt=`vellum:ai:geminiKey`;function Xt(e){return ye[e]??``}function Zt(e,t){return e.toLocaleString(`en-US`,{maximumFractionDigits:t,minimumFractionDigits:0})}function Qt(e){let t=Array.isArray(e)?e[0]??0:e,n=Math.round(t);return Math.abs(n)>=1e6?`${Zt(n/1e6,2)}M`:Math.abs(n)>=1e3?`${Zt(n/1e3,1)}K`:n.toLocaleString(`en-US`)}function $t({mode:e,onChange:t}){return(0,$.jsx)(`div`,{className:`max-w-[280px]`,children:(0,$.jsx)(N,{ariaLabel:`Service mode`,value:e,onChange:t,items:[{value:`managed`,label:`Managed`},{value:`your-own`,label:`Your Own`}]})})}function en({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,$.jsxs)(de,{id:e,title:t,subtitle:n,accessory:(0,$.jsx)($t,{mode:r,onChange:i}),children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:a})]})}function tn({onClick:e,disabled:t}){return(0,$.jsx)(w,{onClick:e,disabled:t,children:`Save`})}function nn({onClick:e,filled:t=!1}){return(0,$.jsx)(w,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function rn({title:e,subtitle:t,children:n}){return(0,$.jsxs)(de,{title:e,subtitle:t,children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:n})]})}function an({guide:e}){return(0,$.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,$.jsx)(B,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:e.description}),(0,$.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,$.jsx)(ae,{className:`h-3 w-3`})]})]})]})}function on(){let e=Pt[0]?.id??`elevenlabs`,[t,i]=(0,K.useState)(()=>n(Wt,e)),[a,o]=(0,K.useState)(t),[s,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(``),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(!1),{data:b}=c(S()),ee=b?.results?.[0]?.name??`your assistant`,x=(0,K.useMemo)(()=>Pt.find(e=>e.id===t)??Pt[0],[t]),C=(0,K.useCallback)(e=>{let t=n(Gt+e,``),r=n(Kt+e,``);h(t.length>0),d(r),p(r),l(``)},[]);(0,K.useEffect)(()=>{C(t)},[t,C]);let te=(0,K.useMemo)(()=>{let e=t!==a,n=s.trim().length>0,r=u.trim()!==f;return e||n||r},[t,a,s,u,f]),T=(0,K.useCallback)(()=>{_(!0);try{r(Wt,t);let e=s.trim();e.length>0&&(r(Gt+t,e),h(!0));let n=u.trim();r(Kt+t,n),o(t),p(n),l(``)}finally{_(!1)}},[t,s,u]),D=(0,K.useCallback)(()=>{r(Gt+t,``),h(!1),l(``)},[t]),O=(0,K.useCallback)(async()=>{y(!0);try{let e=n(Gt+t,``),r=s.trim(),i=r.length>0?r:e;if(i.length===0){F.error(`Save an API key for this provider before testing.`);return}let a=n(Kt+t,``),o=u.trim(),c=await xe({provider:t,apiKey:i,voiceId:o.length>0?o:a,text:`Hey! It's ${ee}. How does this sound?`});if(c.kind!==`audio`){F.error(c.message);return}let l=URL.createObjectURL(c.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{y(!1)}},[ee,s,t,u]),k=m?`•••••••• (Enter a new key to replace)`:x.apiKeyPlaceholder;return(0,$.jsx)(rn,{title:`Text-to-Speech`,subtitle:x.subtitle,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Provider`}),(0,$.jsx)(E,{value:t,onChange:i,options:Pt.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`API Key`}),(0,$.jsx)(j,{type:`password`,value:s,onChange:e=>l(e.target.value),placeholder:k,fullWidth:!0})]}),x.supportsVoiceSelection&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Voice ID`}),(0,$.jsx)(j,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),(0,$.jsx)(an,{guide:x.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(w,{variant:`outlined`,onClick:O,disabled:v,children:v?`Testing…`:`Test`}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,$.jsx)(tn,{onClick:T,disabled:!te||g}),g&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-stone-400`}),m&&(0,$.jsx)(nn,{onClick:D})]})]})]})})}function sn(){let e=Ft[0]?.id??`deepgram`,[t,i]=(0,K.useState)(()=>n(qt,e)),[a,o]=(0,K.useState)(t),[s,c]=(0,K.useState)(``),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(!1),p=(0,K.useMemo)(()=>Ft.find(e=>e.id===t)??Ft[0],[t]);(0,K.useEffect)(()=>{u(n(Jt+t,``).length>0),c(``)},[t]);let m=(0,K.useMemo)(()=>{let e=t!==a,n=s.trim().length>0;return e||n},[t,a,s]),h=(0,K.useCallback)(()=>{f(!0);try{r(qt,t);let e=s.trim();e.length>0&&(r(Jt+t,e),u(!0)),o(t),c(``)}finally{f(!1)}},[t,s]),g=(0,K.useCallback)(()=>{r(Jt+t,``),u(!1),c(``)},[t]),_=l?`•••••••• (Enter a new key to replace)`:p.apiKeyPlaceholder;return(0,$.jsx)(rn,{title:`Speech-to-Text`,subtitle:p.subtitle,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Provider`}),(0,$.jsx)(E,{value:t,onChange:i,options:Ft.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`API Key`}),(0,$.jsx)(j,{type:`password`,value:s,onChange:e=>c(e.target.value),placeholder:_,fullWidth:!0})]}),(0,$.jsx)(an,{guide:p.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,$.jsx)(tn,{onClick:h,disabled:!m||d}),d&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-stone-400`}),l&&(0,$.jsx)(nn,{onClick:g})]})]})})}var cn=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}];function ln({status:e,message:t,isLoading:n}){return n?(0,$.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,$.jsx)(z,{className:`h-3 w-3 animate-spin`}),`Checking domain…`]}):e?e===`verified`?(0,$.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,$.jsx)(se,{className:`h-3 w-3`}),`Domain verified`]}):e===`pending`||e===`not_started`?(0,$.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,$.jsx)(G,{className:`h-3 w-3`}),`Verifying domain…`]}):(0,$.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,$.jsx)(U,{className:`h-3 w-3`}),`Verification failed`]}):(0,$.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`})}function un({assistantId:e,assistantHandle:t}){let i=s(),o=oe(),[u,S]=ce(),T=ue.use.emailRootDomain(),D=W(),[A,ne]=(0,K.useState)(()=>D===`gated`?`your-own`:n(Ht,`managed`)),[j,M]=(0,K.useState)(()=>n(Ut,`resend`)),[N,P]=(0,K.useState)(``),[I,re]=(0,K.useState)(!1),[ie,V]=(0,K.useState)(null),[U,se]=(0,K.useState)(``),[G,le]=(0,K.useState)(null),[fe,pe]=(0,K.useState)(!1),[q,J]=(0,K.useState)(!1),[me,he]=(0,K.useState)(!1),[ge,_e]=(0,K.useState)(!1);(0,K.useEffect)(()=>{I||!t||N||(P(t),re(!0))},[t,I,N]);let Y=c({...d(),enabled:A===`managed`&&D===`full`}),ve=Y.data,X=ve?.entitlements,ye=X?.managed_email===!0,be=!!X&&!ye,xe=!ve&&Y.isError&&!Y.isFetching,Se=c({...f({path:{assistant_id:e??``}}),enabled:!!e&&A===`managed`&&!be&&D===`full`}),Ce=c({...b({path:{assistant_id:e??``}}),enabled:!!e&&A===`managed`&&!be&&D===`full`}),Z=Se.data?.results?.[0],Q=Ce.data?.results?.[0],we=Z?`${Z.subdomain}.${T}`:null,Te=c({...g({path:{assistant_id:e??``,id:Q?.id??``}}),enabled:!!e&&!!Q?.id&&A===`managed`&&D===`full`,refetchOnWindowFocus:!1}),Ee=c({...x({path:{assistant_id:e??``,id:Z?.id??``}}),enabled:!!e&&!!Z?.id&&A===`managed`&&D===`full`,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,K.useEffect)(()=>{u.get(`release`)!==`1`||!Z||Q||(he(!0),S(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[Q,Z,u,S]);let De=l(y()),Oe=l(ee()),ke=l(p()),Ae=l(m()),je=(0,K.useCallback)(()=>{if(!e)return;let t={assistant_id:e};i.invalidateQueries({queryKey:_({path:t})}),i.invalidateQueries({queryKey:v({path:t})}),Q?.id&&i.invalidateQueries({queryKey:h({path:{...t,id:Q.id}})}),i.invalidateQueries({queryKey:C()})},[Q?.id,e,i]),Me=(0,K.useCallback)(async()=>{if(!e)return;let t=N.trim().toLowerCase();if(!t){V(`Enter a subdomain.`);return}J(!1);try{await De.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),P(``),V(null),je(),F.success(`Domain ${t}.${T} registered.`)}catch(e){let t=e;V((t&&typeof t.detail==`string`?t.detail:null)??(e instanceof Error&&e.message?e.message:`Failed to register domain.`))}},[e,T,je,De,N]),Ne=(0,K.useCallback)(async()=>{if(!e)return;let t=U.trim().toLowerCase();if(!t){le(`Enter an email username.`);return}try{await ke.mutateAsync({path:{assistant_id:e},body:{username:t}}),se(``),le(null),je(),F.success(`Email address created.`)}catch(e){let t=e;le((t&&typeof t.detail==`string`?t.detail:null)??(e instanceof Error&&e.message?e.message:`Failed to create email address.`))}},[e,je,ke,U]),Pe=(0,K.useCallback)(async()=>{if(!(!e||!Q?.id)){_e(!1);try{await Ae.mutateAsync({path:{assistant_id:e,id:Q.id}}),je(),F.success(`Email address removed.`)}catch(e){a(e,{context:`email_address_delete`}),F.error(`Failed to remove email address.`)}}},[Q?.id,e,Ae,je]),Fe=(0,K.useCallback)(async()=>{if(!e||!Z?.id)return;if(Q){F.error(`Remove the email address first.`);return}he(!1);let t=Z.subdomain;try{await Oe.mutateAsync({path:{assistant_id:e,id:Z.id}}),P(t),je(),F.success(`Domain released.`)}catch(e){a(e,{context:`email_domain_release`}),F.error(`Failed to release domain.`)}},[Q,e,Oe,Z?.id,Z?.subdomain,je]),Ie=(0,K.useCallback)(e=>{ne(e),r(Ht,e)},[]),Le=(0,K.useCallback)(async()=>{pe(!0);try{A===`your-own`&&r(Ut,j),F.success(`Email settings saved.`)}finally{pe(!1)}},[j,A]),Re=(0,K.useMemo)(()=>cn.find(e=>e.id===j)??cn[0],[j]),ze=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(E,{value:j,onChange:e=>M(e),options:cn.map(e=>({value:e.id,label:e.displayName}))})]}),(0,$.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,$.jsx)(B,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`span`,{children:[`Configure `,Re.displayName,` via the assistant CLI: ask the assistant to run the`,` `,(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:Re.setupSkill}),` `,`skill. It walks you through storing the API key, detecting the domain, and (optionally) wiring up an inbound webhook.`]}),(0,$.jsxs)(`a`,{href:Re.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,Re.displayName,(0,$.jsx)(ae,{className:`h-3 w-3`})]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(tn,{onClick:Le,disabled:fe}),fe&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]});return D===`gated`?(0,$.jsxs)(de,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:ze})]}):(0,$.jsx)(en,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,mode:A,onModeChange:Ie,children:A===`managed`?(0,$.jsx)(`div`,{className:`space-y-4`,children:D===`disabled`?(0,$.jsx)(k,{tone:`info`,children:`Log in to the Vellum platform to manage email settings.`}):(0,$.jsxs)($.Fragment,{children:[xe&&(0,$.jsx)(k,{tone:`warning`,title:`Couldn't verify subscription status`,actions:(0,$.jsx)(w,{size:`compact`,variant:`outlined`,onClick:()=>Y.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.`}),Y.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(z,{className:`h-4 w-4 animate-spin`}),`Checking subscription…`]}):be?(0,$.jsxs)(k,{tone:`info`,icon:(0,$.jsx)(L,{className:`h-4 w-4`,"aria-hidden":!0}),title:`Get a dedicated email address for your assistant`,actions:(0,$.jsx)(w,{size:`compact`,onClick:()=>o(`${te.settings.billing}?adjust_plan`),children:`Upgrade to Pro`}),children:[`Pro plans include a managed`,` `,`<your-subdomain>.${T}`,` inbox — no provider setup required. Or switch to `,(0,$.jsx)(`strong`,{children:`Your Own`}),` to bring an existing provider.`]}):e?Z?Q?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Address`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:Q.address}),(0,$.jsx)(ln,{status:Ee.data?.status,message:Ee.data?.message,isLoading:Ee.isLoading}),(0,$.jsx)(w,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(H,{}),onClick:()=>_e(!0),disabled:Ae.isPending,"aria-label":`Remove email address`})]}),(0,$.jsx)(O,{open:ge,title:`Remove Email Address`,message:(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to remove `,(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:Q.address}),`? Your assistant will no longer be able to send or receive email at this address.`]}),confirmLabel:`Remove`,destructive:!0,onConfirm:Pe,onCancel:()=>_e(!1)})]}),Te.data?.usage&&(0,$.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Te.data.usage.sent_today,` /`,` `,Te.data.usage.daily_limit,` sent today ·`,` `,Te.data.usage.received_today,` received`]})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Domain`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[Z.subdomain,`.`,T]}),(0,$.jsx)(ln,{status:Ee.data?.status,message:Ee.data?.message,isLoading:Ee.isLoading}),(0,$.jsx)(w,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(H,{}),onClick:()=>he(!0),disabled:Oe.isPending,"aria-label":`Release domain`})]}),(0,$.jsx)(O,{open:me,title:`Release Domain`,message:(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to release `,(0,$.jsxs)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:[Z.subdomain,`.`,T]}),`? The subdomain will become available for others to claim.`]}),confirmLabel:`Release`,destructive:!0,onConfirm:Fe,onCancel:()=>he(!1)})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Email address`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.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 ${G?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,$.jsx)(`input`,{value:U,onChange:e=>{se(e.target.value.toLowerCase()),G&&le(null)},placeholder:`hi`,"aria-label":`Email username`,"aria-invalid":!!G,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,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,we]})]}),(0,$.jsx)(w,{onClick:Ne,disabled:ke.isPending||!U.trim(),children:ke.isPending?`Creating…`:`Create`})]}),G&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:G})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Subdomain`}),(0,$.jsx)(R,{subdomain:N,onSubdomainChange:e=>{P(e),ie&&V(null)},domainSuffix:T,subdomainPlaceholder:`my-assistant`,error:ie}),(0,$.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,$.jsx)(w,{onClick:()=>J(!0),disabled:De.isPending||!N.trim(),children:De.isPending?`Registering…`:`Register`}),(0,$.jsx)(O,{open:q,title:`Set Subdomain`,message:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:N.trim().toLowerCase()||`subdomain`}),` will also become your assistant's public handle. You won't be able to change it once set.`]}),confirmLabel:`Confirm`,onConfirm:Me,onCancel:()=>J(!1)})]}):(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found yet.`})]})}):ze})}function dn(){let[e,i]=(0,K.useState)(!1),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)(null),[m,h]=(0,K.useState)(null),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)({}),[b,ee]=(0,K.useState)([]),[x,C]=(0,K.useState)(!1),[te,D]=(0,K.useState)(!1),[O,k]=(0,K.useState)(!1);(0,K.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]);let A=s(),{data:ne}=c(S()),M=ne?.results?.[0]?.id,{data:N}=c({queryKey:I(M),queryFn:async()=>{let{data:e}=await o.get({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:M},throwOnError:!0});return e},enabled:!!M,staleTime:3e4,refetchOnWindowFocus:!1}),P=l({mutationFn:async e=>{let{data:t}=await o.post({url:`/v1/assistants/{assistant_id}/secrets/`,path:{assistant_id:e.assistantId},body:e.body,throwOnError:!0});return t}}),ie=l({mutationFn:async e=>{let{data:t}=await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:e.assistantId},body:e.partial,throwOnError:!0});return t}}),L=l({mutationFn:async e=>{let{data:t}=await o.put({url:`/v1/assistants/{assistant_id}/model/image-gen`,path:{assistant_id:e.assistantId},body:{modelId:e.modelId},throwOnError:!0});return t}}),R=(0,K.useCallback)(async()=>M||((await A.fetchQuery(S())).results?.[0]?.id??null),[M,A]),V=(0,K.useCallback)(async(e,t)=>{try{let n=await R();if(!n)throw F.error(`No assistant found. Please hatch an assistant first.`),Error(`No assistant found`);It(await P.mutateAsync({assistantId:n,body:{value:t,type:`api_key`,name:e}}))}catch(t){throw t instanceof Error&&t.message===`No assistant found`||F.error(`Failed to save ${e} API key. Please try again.`),a(t,{context:`provision_provider_key`}),t}},[P,R]),H=(0,K.useCallback)(async e=>{let t=await R();if(!t)throw F.error(`No assistant found. Please hatch an assistant first.`),Error(`No assistant found`);try{await ie.mutateAsync({assistantId:t,partial:e})}catch(e){throw F.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e}},[ie,R]),oe=(0,K.useCallback)(async e=>{let t=await R();if(!t)throw F.error(`No assistant found. Please hatch an assistant first.`),Error(`No assistant found`);try{await L.mutateAsync({assistantId:t,modelId:e})}catch(e){throw F.error(`Failed to update image generation model. Please try again.`),a(e,{context:`set_image_gen_model`}),e}},[L,R]),[U,se]=(0,K.useState)(()=>n(Bt,`your-own`)),[W,ce]=(0,K.useState)(()=>n(Vt,`inference-provider-native`)),[G,le]=(0,K.useState)(U),[ue,de]=(0,K.useState)(W),[fe,pe]=(0,K.useState)(``),[q,J]=(0,K.useState)(!1),[me,he]=(0,K.useState)(0),ge=(0,K.useRef)({assistantId:null,provider:null}),[_e,ye]=(0,K.useState)(()=>n(Rt,`your-own`)),[xe,Se]=(0,K.useState)(()=>n(zt,`gemini-3.1-flash-image-preview`)),[Ce,Z]=(0,K.useState)(``),Q=be.has(W),Te=fe.trim().length>0,Oe=e||U===`your-own`&&Q&&!q&&!Te||!(U!==G||(U===`managed`?`inference-provider-native`:W)!==ue)&&!Te,ke=St(X[W]??`Enter your API key`,q),Ae=(0,K.useMemo)(()=>{let e=b.filter(e=>e in v).map(e=>({name:e,...v[e]})),t=new Set(b),n=Object.entries(v).filter(([e])=>!t.has(e)).map(([e,t])=>({name:e,...t}));return[...e,...n]},[v,b]),Me=re.use.queryComplexityRouting(),Ne=(0,K.useMemo)(()=>we(Ee(Ae,[f]),Me),[Ae,f,Me]),Pe=(0,K.useRef)(!1);(0,K.useEffect)(()=>{if(!N||Pe.current)return;Pe.current=!0;let e=Lt(N);if(e.activeProfile!==void 0){let t=e.activeProfile??null;p(t),h(t)}e.profiles&&y(e.profiles),e.profileOrder!==void 0&&ee(e.profileOrder),e.webSearchMode&&(se(e.webSearchMode),le(e.webSearchMode)),e.webSearchProvider&&(ce(e.webSearchProvider),de(e.webSearchProvider)),e.imageGenMode&&ye(e.imageGenMode)},[N]),(0,K.useEffect)(()=>{let e=!1,t=ge.current,n={assistantId:M??null,provider:W},r=t.assistantId!==n.assistantId||t.provider!==n.provider;return ge.current=n,(async()=>{if(await Promise.resolve(),!e){if(!M||!Q){J(!1);return}r&&J(!1);try{let t=await pt(M,`api_key`,W);if(e)return;J(t.found)}catch(t){if(e)return;J(!1),a(t,{context:`settings-ai-web-search-read-secret`})}}})(),()=>{e=!0}},[M,Q,W,me]);let Fe=Object.entries(N?.llm?.callSites??{}).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length,Ie=Fe===1?`1 Override`:Fe>0?`${Fe} Overrides`:`Overrides`,Le=f!==m,Re=(0,K.useCallback)(async()=>{if(!M){F.error(`Assistant not ready. Please try again.`);return}_(!0);try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:M},body:{llm:{activeProfile:f}},headers:{"Content-Type":`application/json`},throwOnError:!0}),h(f),A.invalidateQueries({queryKey:I(M)}),F.success(`Profile saved.`)}catch{F.error(`Failed to switch profile. Please try again.`)}finally{_(!1)}},[f,M,A]),ze=(0,K.useCallback)(e=>{e.profiles&&(y(t=>{let n={...t};for(let[t,r]of Object.entries(e.profiles))r===null?delete n[t]:n[t]=r;return n}),A.invalidateQueries({queryKey:I(M)})),e.profileOrder!==void 0&&ee(e.profileOrder),e.activeProfile!==void 0&&(p(e.activeProfile),h(e.activeProfile)),e.callSites!==void 0&&A.invalidateQueries({queryKey:I(M)})},[M,A]),Be=async()=>{i(!0);let e=fe.trim(),t=U===`managed`?`inference-provider-native`:W,n=Xt(t),o=U===`your-own`&&Q&&e.length>0,s=!1;try{o&&await V(t,e),await H({services:{"web-search":{mode:U,provider:t}}}),s=!0,A.invalidateQueries({queryKey:I(M)})}catch{}if(!s){i(!1);return}try{r(Bt,U),r(Vt,t),ce(t),le(U),de(t),o&&(n&&r(n,e),J(!0),he(e=>e+1),pe(``)),F.success(`Web search settings saved.`)}catch(e){a(e,{context:`settings-ai-web-search-persist-local`}),F.error(`Saved, but local preferences could not be written.`)}finally{i(!1)}},Ve=()=>{let e=Xt(W);e&&t(e),J(!1),pe(``),ce(`inference-provider-native`),r(Vt,`inference-provider-native`)},He=async()=>{d(!0);let e=Ce.trim(),t=_e===`your-own`&&e.length>0,n=!1;try{t&&await V(`gemini`,e),await H({services:{"image-generation":{mode:_e}}}),await oe(xe),n=!0,A.invalidateQueries({queryKey:I(M)})}catch{}if(!n){d(!1);return}try{r(Rt,_e),r(zt,xe),t&&(r(Yt,e),Z(``)),F.success(`Image generation settings saved.`)}catch(e){a(e,{context:`settings-ai-image-gen-persist-local`}),F.error(`Saved, but local preferences could not be written.`)}finally{d(!1)}};return(0,$.jsxs)(`div`,{className:`max-w-[940px] space-y-5`,children:[(0,$.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,$.jsx)(B,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,$.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:[`Managed services are metered and deducted from your Vellum account balance.`,` `,(0,$.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,$.jsx)(ae,{className:`h-3.5 w-3.5`})]})]})]}),(0,$.jsx)(rn,{title:`Language Model`,subtitle:`Configure the LLMs that power your assistant`,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Default Profile`}),(0,$.jsx)(E,{value:f??``,onChange:e=>{p(e===``?null:e)},placeholder:`Select a default profile…`,options:Ne.map(e=>({value:e.name,label:e.name===`auto`?`Automatically switch between profiles`:De(e)}))}),Me&&f===`auto`&&(0,$.jsx)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--surface-warning-subtle)] px-3 py-2`,children:(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-warning)]`,children:`Auto may use more powerful models when needed, which can increase costs.`})}),Ne.length===0?(0,$.jsx)(T,{variant:`body-small-default`,as:`p`,className:`mt-1 text-(--content-tertiary)`,children:`No profiles yet. Click Profiles below to create one.`}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:()=>k(!0),children:`Providers`}),(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:()=>C(!0),children:`Profiles`}),(0,$.jsx)(w,{variant:`outlined`,size:`compact`,onClick:()=>D(!0),children:Ie})]}),Le&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(tn,{onClick:Re,disabled:g}),g&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]})}),(0,$.jsx)(en,{title:`Web Search`,subtitle:`Configure how your assistant should search the web`,mode:U,onModeChange:e=>se(e),children:U===`managed`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Web search is included with managed inference.`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(tn,{onClick:Be,disabled:Oe}),e&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(E,{value:W,onChange:ce,options:Y.map(e=>({value:e,label:ve[e]??e}))})]}),Q&&(0,$.jsx)(j,{label:`API Key`,type:`password`,value:fe,onChange:e=>pe(e.target.value),placeholder:ke,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(tn,{onClick:Be,disabled:Oe}),e&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),Q&&(0,$.jsx)(nn,{onClick:Ve,filled:!0})]})]})}),(0,$.jsx)(un,{assistantId:M,assistantHandle:ne?.results?.[0]?.handle}),(0,$.jsx)(en,{title:`Image Generation`,subtitle:`Configure which model your assistant uses to generate images`,mode:_e,onModeChange:e=>ye(e),children:_e===`managed`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,$.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,$.jsx)(E,{className:`flex-1`,value:xe,onChange:Se,options:At.map(e=>({value:e,label:jt[e]??e}))}),(0,$.jsx)(tn,{onClick:He,disabled:u}),u&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsx)(j,{label:`API Key`,type:`password`,value:Ce,onChange:e=>Z(e.target.value),placeholder:`Enter your Gemini API key`,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,$.jsx)(E,{value:xe,onChange:Se,options:At.map(e=>({value:e,label:jt[e]??e}))})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(tn,{onClick:He,disabled:u}),u&&(0,$.jsx)(z,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),(0,$.jsx)(nn,{onClick:()=>{t(Yt),Z(``),Se(`gemini-3.1-flash-image-preview`),r(zt,`gemini-3.1-flash-image-preview`)}})]})]})}),(0,$.jsx)(on,{}),(0,$.jsx)(sn,{}),M&&(0,$.jsx)(vt,{isOpen:x,profiles:v,profileOrder:b,activeProfile:f,assistantId:M,callSiteOverrides:N?.llm?.callSites??{},onClose:()=>C(!1),onProfilesChanged:ze}),M&&(0,$.jsx)(je,{isOpen:te,onClose:()=>D(!1),assistantId:M,orderedProfiles:Ae,persistedOverrides:N?.llm?.callSites??{},daemonConfigLoaded:!!N,onSaved:()=>{A.invalidateQueries({queryKey:I(M)})}}),M&&(0,$.jsx)(Ot,{isOpen:O,assistantId:M,onClose:()=>k(!1)})]})}export{dn as AiPage};
|