@vellumai/web 0.10.0-staging.3 → 0.10.1-dev.202606240206.7c2bca6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AnimatePresence-iz8Br0FI.js +9 -0
- package/dist/assets/{BundleConfirmPage-CkXUMWg6.js → BundleConfirmPage-BTA9TT5I.js} +1 -1
- package/dist/assets/{Combination-DmnhUZru.js → Combination-CDqVzelh.js} +1 -1
- package/dist/assets/{about-page-Bue2vNnY.js → about-page-hM0QvIhh.js} +1 -1
- package/dist/assets/account-page-Cx2lJXxC.js +1 -0
- package/dist/assets/{account-shell-oWV1wIYb.js → account-shell-f2__fVz3.js} +1 -1
- package/dist/assets/add-credits-modal-BUsfAHJ_.js +1 -0
- package/dist/assets/advanced-page-CLH8n_ah.js +1 -0
- package/dist/assets/ai-page-Cn_cV6V8.js +1 -0
- package/dist/assets/api-Czc-KUSC.js +1 -0
- package/dist/assets/{api-key-screen-CUKjlF2C.js → api-key-screen-BrNqyzXk.js} +1 -1
- package/dist/assets/{archive-BCoY55bM.js → archive-BFILUl9x.js} +1 -1
- package/dist/assets/{archive-page-YsBlmevd.js → archive-page-CXYY6Q_U.js} +1 -1
- package/dist/assets/arrow-left-CP-EhDNF.js +1 -0
- package/dist/assets/arrow-up-nBfZxfhi.js +1 -0
- package/dist/assets/assistant-api-BKBoHcTV.js +1 -0
- package/dist/assets/assistant-feature-flag-store-I7i0GajG.js +6 -0
- package/dist/assets/assistant-identity-store-ADxStqSC.js +1 -0
- package/dist/assets/assistant-status-panel-Br-1lrig.js +1 -0
- package/dist/assets/auth-store-Kzt5s89H.js +7 -0
- package/dist/assets/ban-BpBuRCKI.js +1 -0
- package/dist/assets/{bell-CSP2EUlP.js → bell-DB1SrBre.js} +1 -1
- package/dist/assets/billing-page-Bo-xyUQs.js +3 -0
- package/dist/assets/{bookmark-Cj14Qikr.js → bookmark-C3S-p0MQ.js} +1 -1
- package/dist/assets/{bookmarks-page-DRcIBBva.js → bookmarks-page-CDwnxXMW.js} +1 -1
- package/dist/assets/brain-Bs6LnfHO.js +1 -0
- package/dist/assets/browser-DKUVpLgv.js +2 -0
- package/dist/assets/{bug-BIPj7Nbx.js → bug-DDcuQ3au.js} +1 -1
- package/dist/assets/build-state-S7lbvs8e.js +1 -0
- package/dist/assets/{cable-R_YO6j5x.js → cable-DeiZJhx5.js} +1 -1
- package/dist/assets/{calendar-Dm2Jn-zV.js → calendar-DS3F8MRx.js} +1 -1
- package/dist/assets/{capture-error-B0wqOYKY.js → capture-error-BaKOqBjF.js} +1 -1
- package/dist/assets/check-BCNZ91b3.js +1 -0
- package/dist/assets/{checkbox-Dc9gjmAy.js → checkbox-ChtGq7OI.js} +1 -1
- package/dist/assets/chevron-left-BSPjMq8L.js +1 -0
- package/dist/assets/chevron-right-CWG30kI8.js +1 -0
- package/dist/assets/{chevron-up-Ck7_ou16.js → chevron-up-vUqVm-q3.js} +1 -1
- package/dist/assets/{circle-alert-C5TvMkJV.js → circle-alert-CIThYDGJ.js} +1 -1
- package/dist/assets/circle-check-Cfl8Yl_j.js +1 -0
- package/dist/assets/{client-feature-flag-store-ivPVcKfH.js → client-feature-flag-store-CdYzowYI.js} +1 -1
- package/dist/assets/{cloud-off-DJomNBuZ.js → cloud-off-fMC5iwVY.js} +1 -1
- package/dist/assets/code-BhoMjTYO.js +1 -0
- package/dist/assets/{command-palette-BXEAR93M.js → command-palette-C0fZKt7u.js} +1 -1
- package/dist/assets/command-palette-window-page-CoRyh3xQ.js +1 -0
- package/dist/assets/community-page-CA6aOqsR.js +1 -0
- package/dist/assets/confirm-dialog-SpCsmAdG.js +1 -0
- package/dist/assets/{connect-page-Bvs0EgCJ.js → connect-page-DU6NxOLI.js} +1 -1
- package/dist/assets/consent-controls-DB7KsbmQ.js +1 -0
- package/dist/assets/{contacts-gateway-Cf32jSYa.js → contacts-gateway-BZXHatqg.js} +1 -1
- package/dist/assets/contacts-page-route-B3ET8MOp.js +1 -0
- package/dist/assets/{conversation-queries-Dt4RoWIo.js → conversation-queries-C_dW4Y1z.js} +1 -1
- package/dist/assets/{conversation-store-BSxi0r0X.js → conversation-store-nVJwhymp.js} +1 -1
- package/dist/assets/{cpu-CT8bAyOk.js → cpu-D1r7PLan.js} +1 -1
- package/dist/assets/{credit-card-XOxZwKz-.js → credit-card-BwN95biV.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-5H-AuIvi.js → danger-zone-redirect-page-CH1zY0d7.js} +1 -1
- package/dist/assets/debug-page-DqRKzdW7.js +2 -0
- package/dist/assets/{deploy-dialogs-BtpYB7B8.js → deploy-dialogs-UMP37sKQ.js} +1 -1
- package/dist/assets/{detail-card-CLwQ17AA.js → detail-card-BnPZuM3e.js} +1 -1
- package/dist/assets/developer-page-DRMQxjGi.js +1 -0
- package/dist/assets/devices-page-DOkGnwME.js +1 -0
- package/dist/assets/diagnostics-D5xXiLo-.js +1 -0
- package/dist/assets/dictation-overlay-page-DQFFYUvf.js +1 -0
- package/dist/assets/{dist-DhhV5jI1.js → dist-cZPU9ZZL.js} +1 -1
- package/dist/assets/document-viewer-page-BTw2xmWO.js +1 -0
- package/dist/assets/{domain-field-yW8B9mxj.js → domain-field-CNW1t3OC.js} +1 -1
- package/dist/assets/earn-credits-modal-B6MtM4Yc.js +1 -0
- package/dist/assets/emails-page-BSGFwndC.js +1 -0
- package/dist/assets/{environment-store-Ck7wXCrL.js → environment-store-C_XwUYTL.js} +1 -1
- package/dist/assets/esm-5V2_V7Ao.js +1 -0
- package/dist/assets/{esm-DkmmS1Rg.js → esm-CJjEymow.js} +2 -2
- package/dist/assets/esm-CYrzAUNH.js +2 -0
- package/dist/assets/esm-ClC_4zcn.js +2 -0
- package/dist/assets/esm-CxEFp02j.js +2 -0
- package/dist/assets/esm-_pMRHia8.js +2 -0
- package/dist/assets/{external-link-B3skagqt.js → external-link-RJkZLlff.js} +1 -1
- package/dist/assets/{feature-flag-catalog-DEr38CMM.js → feature-flag-catalog-DBTdmHXz.js} +1 -1
- package/dist/assets/file-editor-BqUEZUnO.js +1 -0
- package/dist/assets/file-text-ClqzuFsu.js +1 -0
- package/dist/assets/general-page-B0YxmWex.js +1 -0
- package/dist/assets/{globe-BV8ouh66.js → globe-atPvTfX9.js} +1 -1
- package/dist/assets/google-logo-C0Ye7zqf.js +1 -0
- package/dist/assets/{hard-drive-C6sJQKXL.js → hard-drive-CxwXPeeK.js} +1 -1
- package/dist/assets/hatching-screen-Bk5JJ8rb.js +1 -0
- package/dist/assets/home-page-route-CHdXG1Bd.js +1 -0
- package/dist/assets/{hosting-screen-dPfTLCnv.js → hosting-screen-CQ5LsLb-.js} +1 -1
- package/dist/assets/identity-page-route-DAwe5dsh.js +1 -0
- package/dist/assets/index-1kam3Nv0.js +133 -0
- package/dist/assets/index-CK8rkjpV.css +2 -0
- package/dist/assets/{octagon-x-DV9qasaC.js → info-BGLlcyt6.js} +1 -1
- package/dist/assets/{info-BJtskZc-.js → info-DKfsKkAk.js} +1 -1
- package/dist/assets/{inspect-page-2cNMjT4e.js → inspect-page-B_pMSzmg.js} +5 -5
- package/dist/assets/install-CsydOTUH.js +1 -0
- package/dist/assets/integrations-page-Cbv8GW70.js +1 -0
- package/dist/assets/{intelligence-layout-CjDxFKQO.js → intelligence-layout-CV48tXos.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-DIhG1FK_.js → keyboard-shortcuts-page-CklGHii8.js} +1 -1
- package/dist/assets/lib-Ck-V6pPR.js +14 -0
- package/dist/assets/library-detail-page-DItbJu-P.js +1 -0
- package/dist/assets/library-page-OWWbhrOx.js +1 -0
- package/dist/assets/{link-2-BedDg97D.js → link-2-DAUpNv36.js} +1 -1
- package/dist/assets/loader-circle-BU6b8vrp.js +1 -0
- package/dist/assets/local-mode-BD2zqd9I.js +39 -0
- package/dist/assets/{log-in-DOSWwTiS.js → log-in-F2ivXAeS.js} +1 -1
- package/dist/assets/{login-flow-BMwbZfKA.js → login-flow-DKWdYx_7.js} +1 -1
- package/dist/assets/login-page-CfYM4pWw.js +1 -0
- package/dist/assets/{logout-page-DI7i4Hok.js → logout-page-B7QWzXdA.js} +1 -1
- package/dist/assets/{logs-layout-BEMQQY7S.js → logs-layout-DxX2hgBr.js} +1 -1
- package/dist/assets/mcp-page-DpQdvCb1.js +1 -0
- package/dist/assets/{memory-router-playground-page-JdkTEwPy.js → memory-router-playground-page-Bw-oeVwo.js} +1 -1
- package/dist/assets/{menu-BvyV91Np.js → menu-CdoNX1qx.js} +1 -1
- package/dist/assets/messages-D7FVEZ7g.js +13 -0
- package/dist/assets/{metric-card-B3EBP9m4.js → metric-card-J-OmNSo1.js} +1 -1
- package/dist/assets/{minimize-2-CwIqAxPY.js → minimize-2-Ps3BPNpX.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-DuJUmy0b.js → mobile-sidebar-drawer-D5XpaFeM.js} +1 -1
- package/dist/assets/{modal-DX6UN7b0.js → modal-CHuPOsJJ.js} +1 -1
- package/dist/assets/monitor-AzR2uZb7.js +1 -0
- package/dist/assets/{moon-C0wLM1iN.js → moon-shagZJqX.js} +1 -1
- package/dist/assets/mutation-error-CYNKNnwE.js +1 -0
- package/dist/assets/{native-file-CbhjzPxL.js → native-file-CI0ZuErz.js} +2 -2
- package/dist/assets/notice-CynJKEow.js +1 -0
- package/dist/assets/notifications-page-C7v4_Bxr.js +1 -0
- package/dist/assets/{oauth-complete-page-R_1ODIIi.js → oauth-complete-page-CEdWsQvk.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-YECuZtPs.js → oauth-popup-complete-page-Bc-7vFDX.js} +1 -1
- package/dist/assets/{page-shell-C0oiLAoY.js → page-shell-R_mNcK6L.js} +1 -1
- package/dist/assets/{pairing-page-BtaFWq0w.js → pairing-page-CVhK9MpO.js} +1 -1
- package/dist/assets/{panel-item-BFOUNXY1.js → panel-item-BLQE_l-g.js} +1 -1
- package/dist/assets/{password-reset-page-Cf5SQHDV.js → password-reset-page-hjygW6Hh.js} +1 -1
- package/dist/assets/{pencil-lwgMCqyH.js → pencil-CKTX3v1w.js} +1 -1
- package/dist/assets/platform-loopback-page-DsuxvvII.js +1 -0
- package/dist/assets/{plugin-detail-page-D6Gve0qx.js → plugin-detail-page-Yu4RIWNW.js} +1 -1
- package/dist/assets/{plugins-page-DA-JrehF.js → plugins-page-BmOy4NND.js} +1 -1
- package/dist/assets/{popover-PnyzuDx3.js → popover-BsF65jZY.js} +1 -1
- package/dist/assets/prechat-CHU0E2N5.js +1 -0
- package/dist/assets/prechat-route-CAyzg9nr.js +1 -0
- package/dist/assets/{prefs-Mrqh1A7Y.js → prefs-CYFTgRU_.js} +1 -1
- package/dist/assets/privacy-page-Kl2fNB44.js +1 -0
- package/dist/assets/{privacy-screen-ccjT4S0F.js → privacy-screen-BcZWvKU-.js} +1 -1
- package/dist/assets/{provider-callback-page-BS-DqV_M.js → provider-callback-page-KpACbH1Q.js} +1 -1
- package/dist/assets/{provider-key-DH6JmPXt.js → provider-key-DLsM5EJF.js} +1 -1
- package/dist/assets/{provider-signup-page-Beuafn_s.js → provider-signup-page-DNYVhuNa.js} +1 -1
- package/dist/assets/proxy-BMd4CkvC.js +1 -0
- package/dist/assets/{quick-input-page-0PEcj6WT.js → quick-input-page-DtwHX4te.js} +1 -1
- package/dist/assets/react-query.gen-B0Od5MEZ.js +1 -0
- package/dist/assets/{react-query.gen-DdB0sQgj.js → react-query.gen-CoJLbfpu.js} +1 -1
- package/dist/assets/refresh-cw-d--DqlE0.js +1 -0
- package/dist/assets/research-mock-page-DJjJ7-Iu.js +1 -0
- package/dist/assets/research-onboarding-route-qFNy9Ol1.js +42 -0
- package/dist/assets/{resize-errors-tz_Tui32.js → resize-errors-l1gkz4Wc.js} +1 -1
- package/dist/assets/resolved-assistants-store-DLNFVaZL.js +1 -0
- package/dist/assets/return-to-BIv6kmmy.js +1 -0
- package/dist/assets/review-terms-screen-BmHsVmA3.js +1 -0
- package/dist/assets/risk-badge-CJ2eBzL2.js +1 -0
- package/dist/assets/{routes-BKwsRssF.js → routes-DlW6mpdp.js} +1 -1
- package/dist/assets/{save-WZktF4Xe.js → save-BOCvrkQo.js} +1 -1
- package/dist/assets/{schedules-DqkGi2Lm.js → schedules-BCcBhzcW.js} +1 -1
- package/dist/assets/{sdk.gen-Bew9wO5C.js → sdk.gen-BTIMXC7B.js} +1 -1
- package/dist/assets/{sdk.gen-DRL3oRwz.js → sdk.gen-DSjI3deY.js} +1 -1
- package/dist/assets/select-assistant-screen-CdXc-bqY.js +1 -0
- package/dist/assets/{semver-DmouQEQK.js → semver-DpUibCte.js} +1 -1
- package/dist/assets/{setting-row-IILQu7AE.js → setting-row-DuHadCFy.js} +1 -1
- package/dist/assets/settings-layout-DxJgudRT.js +1 -0
- package/dist/assets/share-feedback-modal-B2R38xkX.js +1 -0
- package/dist/assets/sidebar-tree-DBFXJCiL.js +1 -0
- package/dist/assets/signup-page-DEpKwLiS.js +1 -0
- package/dist/assets/{signup-shell-D6LXKfGy.js → signup-shell-BaFbh88c.js} +1 -1
- package/dist/assets/skill-row-DDoJmniT.js +1 -0
- package/dist/assets/skills-page-tnuQgPfw.js +1 -0
- package/dist/assets/{sound-manager-CC2af7bI.js → sound-manager-CgtJRpIg.js} +1 -1
- package/dist/assets/{sounds-page-DE47aZrz.js → sounds-page-DTExjtqI.js} +1 -1
- package/dist/assets/{sparkles-B9QIWdq0.js → sparkles-DzoKZLdI.js} +1 -1
- package/dist/assets/{src-D6Nu2Lol.js → src-BJj2O5XB.js} +3 -3
- package/dist/assets/{step-indicator-dots-BOKv1I4C.js → step-indicator-dots-BOnJGjpI.js} +1 -1
- package/dist/assets/subagent-detail-panel-CLKXSzLl.js +4 -0
- package/dist/assets/subagent-store-B6q-RyW8.js +3 -0
- package/dist/assets/system-events-page-kGmOVPUf.js +1 -0
- package/dist/assets/{system-events-redirect-page-CmooXfba.js → system-events-redirect-page-C5RU4M1q.js} +1 -1
- package/dist/assets/{tag-BadGF3FB.js → tag-CE_o2aao.js} +1 -1
- package/dist/assets/{tiptap-document-editor-DjIQ9tCC.js → tiptap-document-editor-BCX5nvDd.js} +1 -1
- package/dist/assets/toast-CxaZ5f1d.js +1 -0
- package/dist/assets/tool-call-status-DNS6Y_vi.js +1 -0
- package/dist/assets/tool-detail-panel-BV__QHqe.js +2 -0
- package/dist/assets/trace-page-gDvTnfXj.js +1 -0
- package/dist/assets/{triangle-alert-M_S_Pe8C.js → triangle-alert-B3q5kQ4P.js} +1 -1
- package/dist/assets/triangle-alert-DnZC45c-.js +1 -0
- package/dist/assets/{upgrade-cancel-page-D2-xTACq.js → upgrade-cancel-page-BTvZBWe3.js} +1 -1
- package/dist/assets/upgrade-success-page-qyE3QAAg.js +1 -0
- package/dist/assets/usage-page-BCPooT5t.js +1 -0
- package/dist/assets/{usage-window-BO_9IIjX.js → usage-window-dm_mRqGo.js} +1 -1
- package/dist/assets/{use-active-assistant-id-512RohBL.js → use-active-assistant-id-DXjofATQ.js} +1 -1
- package/dist/assets/{use-bus-subscription-RUbeQDfy.js → use-bus-subscription-CKWguMzy.js} +1 -1
- package/dist/assets/use-is-org-ready-kFoGr63U.js +1 -0
- package/dist/assets/{use-onboarding-login-CxXV3Iue.js → use-onboarding-login-Ddww_Use.js} +1 -1
- package/dist/assets/{use-plugin-drift-BUHRYq2W.js → use-plugin-drift-GTZaiGZ9.js} +1 -1
- package/dist/assets/{use-reduced-motion-CXbk4fYO.js → use-reduced-motion-DomgCP7o.js} +1 -1
- package/dist/assets/user-plus-Chk2BJ7O.js +1 -0
- package/dist/assets/utils-eWxz_g-8.js +1 -0
- package/dist/assets/{viewer-store-CInCucV8.js → viewer-store-B89qQmwz.js} +1 -1
- package/dist/assets/{voice-page-VrJ7AZrg.js → voice-page-D4ba1mCL.js} +1 -1
- package/dist/assets/weather-forecast-display-DTeOsjHe.js +1 -0
- package/dist/assets/{web-BcNl6r2T.js → web-B426K90I.js} +1 -1
- package/dist/assets/{web-DKvxfNu_.js → web-BDmMa2Ah.js} +1 -1
- package/dist/assets/{web-BEsXuN9d.js → web-BI7Og_dq.js} +1 -1
- package/dist/assets/{web-CVJTgRoJ.js → web-BjJEIboG.js} +1 -1
- package/dist/assets/{web-BorhjBfF.js → web-BsjDq2-Z.js} +1 -1
- package/dist/assets/{web-4XHemeeJ.js → web-C5TKmyZ7.js} +1 -1
- package/dist/assets/{web-DALQZUJ4.js → web-CkqagAoR.js} +1 -1
- package/dist/assets/{welcome-screen-DVeLGZKg.js → welcome-screen-Cb8vUDQU.js} +1 -1
- package/dist/assets/workflow-detail-panel-F2CoPboC.js +1 -0
- package/dist/assets/workflow-status-B53qU9DS.js +1 -0
- package/dist/assets/workspace-page-CjQibvIG.js +1 -0
- package/dist/assets/x-Cb3jFpZR.js +1 -0
- package/dist/index.html +126 -108
- package/package.json +1 -1
- package/dist/assets/account-page-B5rB7loj.js +0 -1
- package/dist/assets/add-credits-modal-BEX4_5jj.js +0 -1
- package/dist/assets/advanced-page-9RUi4YCF.js +0 -1
- package/dist/assets/ai-page-CZj92XF4.js +0 -1
- package/dist/assets/api-BSHLYsxJ.js +0 -1
- package/dist/assets/arrow-left-DpZuwfUr.js +0 -1
- package/dist/assets/arrow-up-BsbPgGtM.js +0 -1
- package/dist/assets/assistant-api-D7r6RWoh.js +0 -39
- package/dist/assets/assistant-feature-flag-store-D2CUHsmL.js +0 -1
- package/dist/assets/assistant-identity-store-BFaMpt_3.js +0 -1
- package/dist/assets/assistant-status-panel-CMdqv7mF.js +0 -1
- package/dist/assets/auth-store-CrTf0uWL.js +0 -7
- package/dist/assets/ban-BMsomjPu.js +0 -1
- package/dist/assets/billing-page-DgX2YBSA.js +0 -3
- package/dist/assets/build-state-DqzVxR37.js +0 -1
- package/dist/assets/chevron-left-CySeFTW4.js +0 -1
- package/dist/assets/chevron-right-HpmykQ8I.js +0 -1
- package/dist/assets/circle-check-D3yd2el7.js +0 -1
- package/dist/assets/code-CXddtaOh.js +0 -1
- package/dist/assets/command-palette-window-page-5SP_Ft4Y.js +0 -1
- package/dist/assets/community-page-D5-exeNr.js +0 -1
- package/dist/assets/confirm-dialog-DbNUkFt6.js +0 -1
- package/dist/assets/consent-controls-cNdj_gb8.js +0 -1
- package/dist/assets/contacts-page-route-C9T-8Sdr.js +0 -1
- package/dist/assets/debug-page-ClQetFUa.js +0 -2
- package/dist/assets/developer-page-DQs8SZ8K.js +0 -1
- package/dist/assets/devices-page-VsRsz6XP.js +0 -1
- package/dist/assets/dictation-overlay-page-C5HFJIsY.js +0 -1
- package/dist/assets/document-viewer-page-BLBwWqM4.js +0 -1
- package/dist/assets/dollar-sign-Ctayw6dD.js +0 -1
- package/dist/assets/earn-credits-modal-Dig03UD-.js +0 -1
- package/dist/assets/emails-page-D9R72EQW.js +0 -1
- package/dist/assets/esm--X8IY1ec.js +0 -1
- package/dist/assets/esm-Cs-ixW_a.js +0 -2
- package/dist/assets/esm-DxJBeF-2.js +0 -2
- package/dist/assets/esm-JmlvYCir.js +0 -2
- package/dist/assets/esm-LyzWW9Z1.js +0 -2
- package/dist/assets/file-editor-HQXiGdH-.js +0 -1
- package/dist/assets/general-page-CMr5RhNh.js +0 -1
- package/dist/assets/hatching-screen-BAzE4aGD.js +0 -1
- package/dist/assets/home-page-route-JenDSLBl.js +0 -1
- package/dist/assets/identity-page-route-r9ZgIw8g.js +0 -1
- package/dist/assets/index-BiN-6kWM.js +0 -140
- package/dist/assets/index-DIEDlrdu.css +0 -2
- package/dist/assets/install-CHMiF_Hw.js +0 -1
- package/dist/assets/integrations-page-BiLM3QyR.js +0 -1
- package/dist/assets/lib-CQbq3OZw.js +0 -29
- package/dist/assets/library-detail-page-CjeBxuMc.js +0 -1
- package/dist/assets/library-page-BFIPthR_.js +0 -1
- package/dist/assets/loader-circle-CTs38Ovl.js +0 -1
- package/dist/assets/local-mode-9ZkSq1Fr.js +0 -1
- package/dist/assets/login-page-KDH0IZ6y.js +0 -1
- package/dist/assets/mcp-page-B7tUTzT0.js +0 -1
- package/dist/assets/notice-G5Imd5pC.js +0 -1
- package/dist/assets/notifications-page-CmOvbV59.js +0 -1
- package/dist/assets/platform-loopback-page-Wie5xEwr.js +0 -1
- package/dist/assets/prechat-route-BhzvRsw3.js +0 -1
- package/dist/assets/privacy-page-Yex5OJjZ.js +0 -1
- package/dist/assets/proxy-CQsxT9tJ.js +0 -1
- package/dist/assets/research-mock-page-D0-sKBpu.js +0 -1
- package/dist/assets/research-onboarding-route-ZTgUGnrN.js +0 -38
- package/dist/assets/resolved-assistants-store-DMuRxkZC.js +0 -1
- package/dist/assets/return-to-Bc7amvZZ.js +0 -1
- package/dist/assets/review-terms-screen-DLWgKysx.js +0 -1
- package/dist/assets/select-assistant-screen-LNX6PpzR.js +0 -1
- package/dist/assets/settings-layout-BA0suokL.js +0 -1
- package/dist/assets/share-feedback-modal-CFgHvfgR.js +0 -1
- package/dist/assets/sidebar-tree-DALLHIeG.js +0 -1
- package/dist/assets/signup-page-13TRI3CC.js +0 -1
- package/dist/assets/skills-page-DiopOlcy.js +0 -1
- package/dist/assets/subagent-detail-panel-BdPp2LMK.js +0 -4
- package/dist/assets/subagent-status-CaVVlphf.js +0 -1
- package/dist/assets/system-events-page-DcaF2EuX.js +0 -1
- package/dist/assets/toast-DLWkiWW6.js +0 -1
- package/dist/assets/tool-detail-panel-C6uFi3_6.js +0 -2
- package/dist/assets/trace-page-4MU66DDM.js +0 -1
- package/dist/assets/upgrade-success-page-DLjl6978.js +0 -1
- package/dist/assets/usage-page-CCBqWkRU.js +0 -1
- package/dist/assets/use-is-org-ready-BoWiaeMc.js +0 -1
- package/dist/assets/utils-B5-aBe5u.js +0 -1
- package/dist/assets/weather-forecast-display-DKMPxDv5.js +0 -1
- package/dist/assets/workflow-detail-panel-BgDWu3_4.js +0 -1
- package/dist/assets/workspace-page-BlVlfXIt.js +0 -1
- package/dist/assets/x-Dz7msELe.js +0 -1
- /package/dist/assets/{api-errors-CwAGZ-xJ.js → api-errors-B-g6gvNv.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-UfXe4Pfu.js → avatar-bundled-components-DoxUXsZB.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-Bbqkq_FE.js → avatar-svg-compositor-CZqTxX-j.js} +0 -0
- /package/dist/assets/{build.umd-TjHHwLRY.js → build.umd-C-9hxmJK.js} +0 -0
- /package/dist/assets/{client.gen-CWZrHbc9.js → client.gen-4zzwm6UN.js} +0 -0
- /package/dist/assets/{client.gen-Cuv6iN0E.js → client.gen-BnoNy2w0.js} +0 -0
- /package/dist/assets/{composer-focus-DP3jFn8K.js → composer-focus-BZr63Cvs.js} +0 -0
- /package/dist/assets/{conversation-selection-BMndnV1U.js → conversation-selection-CNu7j2Xb.js} +0 -0
- /package/dist/assets/{create-selectors-ClYkcuKo.js → create-selectors-BE0_e_Ed.js} +0 -0
- /package/dist/assets/{createLucideIcon-DIlBzeWM.js → createLucideIcon-BlMXrA59.js} +0 -0
- /package/dist/assets/{definitions-BqAtozTh.js → definitions--qkv65-s.js} +0 -0
- /package/dist/assets/{dist-D7Zr-ONk.js → dist-BQHdyjQ3.js} +0 -0
- /package/dist/assets/{dist-nMnxT9pm.js → dist-CzyDxYAs.js} +0 -0
- /package/dist/assets/{edit-chat-session-B1tanC3Z.js → edit-chat-session-BYvbyTwd.js} +0 -0
- /package/dist/assets/{effective-timezone-wo2Bhl1P.js → effective-timezone-DAkNzd21.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-B6Q5tPZJ.js → emoji-catalog-data-B_lm6Crq.js} +0 -0
- /package/dist/assets/{event-bus-DntJgYuJ.js → event-bus-CBil9JQT.js} +0 -0
- /package/dist/assets/{format-B12w_G9l.js → format-HKnibeVj.js} +0 -0
- /package/dist/assets/{format-date-B6hTwbOM.js → format-date-DyMQp2_m.js} +0 -0
- /package/dist/assets/{format-file-size-DxhjMSDx.js → format-file-size-DOcXaUaE.js} +0 -0
- /package/dist/assets/{haptics-BtSYrQNK.js → haptics-CKwMH4eq.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-ZdQOgpO3.js → impersonate-version-flag-Caig8rhF.js} +0 -0
- /package/dist/assets/{input-CwdmSRlD.js → input-Ch7OC6ME.js} +0 -0
- /package/dist/assets/{is-electron-BuSDabCt.js → is-electron-C_ZTVhv8.js} +0 -0
- /package/dist/assets/{llm-dimension-Cs4q1Ovq.js → llm-dimension-Dx3xIzPP.js} +0 -0
- /package/dist/assets/{misc-Bo3spjOe.js → misc-CBD9JJCY.js} +0 -0
- /package/dist/assets/{native-deep-link-_WT_7c80.js → native-deep-link-DmJ7Ty6z.js} +0 -0
- /package/dist/assets/{pdf-CMJp1GoR.js → pdf-Bi0PDaJC.js} +0 -0
- /package/dist/assets/{prechat-names-BZIP2Y-H.js → prechat-names-Bo5bdzfH.js} +0 -0
- /package/dist/assets/{progress-bar-BOKTRqXE.js → progress-bar-DFH5aT1D.js} +0 -0
- /package/dist/assets/{public-asset-Dp-i4xhW.js → public-asset-BTisO-cB.js} +0 -0
- /package/dist/assets/{reduced-motion-Do7LyjE6.js → reduced-motion-BZH7waJ6.js} +0 -0
- /package/dist/assets/{shortcut-keys-WNQqv5_X.js → shortcut-keys-vM6sNj7W.js} +0 -0
- /package/dist/assets/{stat-square-B5tBfA4w.js → stat-square-CraPxMcl.js} +0 -0
- /package/dist/assets/{toggle-_vZlLDBV.js → toggle-95p73HGd.js} +0 -0
- /package/dist/assets/{typed-storage-SkUUNYR1.js → typed-storage-Chj38wph.js} +0 -0
- /package/dist/assets/{use-is-mobile-CvT53Qs1.js → use-is-mobile-BF5x8sr8.js} +0 -0
- /package/dist/assets/{x-CaVViVFn.js → x-DE8JhiDZ.js} +0 -0
- /package/dist/assets/{xterm-BJ2bbKsF.js → xterm-BJTDHDUK.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BJTajn72.js → xterm-addon-fit-Ba7bgpoc.js} +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{I as r,L as i,R as a,f as o,n as s,r as c,z as l}from"./proxy-BMd4CkvC.js";var u=n(),d=e(t(),1);function f(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function p(...e){return t=>{let n=!1,r=e.map(e=>{let r=f(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():f(e[t],null)}}}}function m(...e){return d.useCallback(p(...e),e)}var h=class extends d.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(o(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=o(e)&&e.offsetWidth||0,r=o(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top,a.direction=i.direction}return null}componentDidUpdate(){}render(){return this.props.children}};function g({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:a}){let o=(0,d.useId)(),s=(0,d.useRef)(null),l=(0,d.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:`ltr`}),{nonce:f}=(0,d.useContext)(c),p=m(s,e.props?.ref??e?.ref);return(0,d.useInsertionEffect)(()=>{let{width:e,height:c,top:u,left:d,right:p,bottom:m,direction:h}=l.current;if(t||a===!1||!s.current||!e||!c)return;let g=h===`rtl`,_=n===`left`?g?`right: ${p}`:`left: ${d}`:g?`left: ${d}`:`right: ${p}`,v=r===`bottom`?`bottom: ${m}`:`top: ${u}`;s.current.dataset.motionPopId=o;let y=document.createElement(`style`);f&&(y.nonce=f);let b=i??document.head;return b.appendChild(y),y.sheet&&y.sheet.insertRule(`
|
|
2
|
+
[data-motion-pop-id="${o}"] {
|
|
3
|
+
position: absolute !important;
|
|
4
|
+
width: ${e}px !important;
|
|
5
|
+
height: ${c}px !important;
|
|
6
|
+
${_}px !important;
|
|
7
|
+
${v}px !important;
|
|
8
|
+
}
|
|
9
|
+
`),()=>{s.current?.removeAttribute(`data-motion-pop-id`),b.contains(y)&&b.removeChild(y)}},[t]),(0,u.jsx)(h,{isPresent:t,childRef:s,sizeRef:l,pop:a,children:a===!1?e:d.cloneElement(e,{ref:p})})}var _=({children:e,initial:t,isPresent:n,onExitComplete:i,custom:o,presenceAffectsLayout:s,mode:c,anchorX:l,anchorY:f,root:p})=>{let m=a(v),h=(0,d.useId)(),_=!0,y=(0,d.useMemo)(()=>(_=!1,{id:h,initial:t,isPresent:n,custom:o,onExitComplete:e=>{m.set(e,!0);for(let e of m.values())if(!e)return;i&&i()},register:e=>(m.set(e,!1),()=>m.delete(e))}),[n,m,i]);return s&&_&&(y={...y}),(0,d.useMemo)(()=>{m.forEach((e,t)=>m.set(t,!1))},[n]),d.useEffect(()=>{!n&&!m.size&&i&&i()},[n]),e=(0,u.jsx)(g,{pop:c===`popLayout`,isPresent:n,anchorX:l,anchorY:f,root:p,children:e}),(0,u.jsx)(r.Provider,{value:y,children:e})};function v(){return new Map}var y=e=>e.key||``;function b(e){let t=[];return d.Children.forEach(e,e=>{(0,d.isValidElement)(e)&&t.push(e)}),t}var x=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:o=!0,mode:c=`sync`,propagate:f=!1,anchorX:p=`left`,anchorY:m=`top`,root:h})=>{let[g,v]=s(f),x=(0,d.useMemo)(()=>b(e),[e]),S=f&&!g?[]:x.map(y),C=(0,d.useRef)(!0),w=(0,d.useRef)(x),T=a(()=>new Map),E=(0,d.useRef)(new Set),[D,O]=(0,d.useState)(x),[k,A]=(0,d.useState)(x);i(()=>{C.current=!1,w.current=x;for(let e=0;e<k.length;e++){let t=y(k[e]);S.includes(t)?(T.delete(t),E.current.delete(t)):T.get(t)!==!0&&T.set(t,!1)}},[k,S.length,S.join(`-`)]);let j=[];if(x!==D){let e=[...x];for(let t=0;t<k.length;t++){let n=k[t],r=y(n);S.includes(r)||(e.splice(t,0,n),j.push(n))}return c===`wait`&&j.length&&(e=j),A(b(e)),O(x),null}let{forceRender:M}=(0,d.useContext)(l);return(0,u.jsx)(u.Fragment,{children:k.map(e=>{let i=y(e),a=f&&!g?!1:x===k||S.includes(i);return(0,u.jsx)(_,{isPresent:a,initial:!C.current||n?void 0:!1,custom:t,presenceAffectsLayout:o,mode:c,root:h,onExitComplete:a?void 0:()=>{if(E.current.has(i))return;if(T.has(i))E.current.add(i),T.set(i,!0);else return;let e=!0;T.forEach(t=>{t||(e=!1)}),e&&(M?.(),A(w.current),f&&v?.(),r&&r())},anchorX:p,anchorY:m,children:e},i)})})};export{x as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./misc-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./misc-CBD9JJCY.js";import{t as i}from"./format-file-size-DOcXaUaE.js";var a=e(t(),1),o=n(),s={verified:{label:`Verified`,className:`bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`},signed:{label:`Signed`,className:`bg-[var(--system-info-weak)] text-[var(--system-info-strong)]`},unsigned:{label:`Unsigned`,className:`bg-[var(--surface-active)] text-[var(--content-secondary)]`},tampered:{label:`Tampered — signature invalid`,className:`bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`}};function c(){let[e,t]=(0,a.useState)(null),[n,c]=(0,a.useState)(!1);if((0,a.useEffect)(()=>{window.vellum?.bundleConfirm?.getData().then(e=>{e&&t(e)})},[]),!e)return(0,o.jsx)(`div`,{className:`flex h-svh w-screen items-center justify-center bg-background text-muted-foreground select-none`,children:`Loading...`});let{manifest:l,scanResult:u,signatureResult:d,bundleSizeBytes:f}=e,p=s[d.trustTier],m=d.trustTier===`tampered`,h=u.warnings;return(0,o.jsxs)(`div`,{className:`flex h-svh w-screen flex-col bg-background px-6 pt-14 pb-6 text-foreground select-none`,children:[(0,o.jsxs)(`div`,{className:`flex items-start gap-3`,children:[l.icon?(0,o.jsx)(`span`,{className:`text-5xl leading-none`,children:l.icon}):(0,o.jsx)(`span`,{className:`text-5xl leading-none`,children:`📦`}),(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)(`h1`,{className:`truncate text-lg font-semibold`,children:l.name}),l.description&&(0,o.jsx)(`p`,{className:`text-muted-foreground mt-0.5 text-sm leading-snug`,children:l.description})]})]}),(0,o.jsxs)(`div`,{className:`mt-4 flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:r(`inline-block rounded-full px-2.5 py-0.5 text-xs font-medium`,p.className),children:p.label}),d.trustTier===`signed`&&d.signerDisplayName&&(0,o.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`by `,d.signerDisplayName]})]}),(0,o.jsxs)(`dl`,{className:`mt-4 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-sm`,children:[(0,o.jsx)(`dt`,{className:`text-muted-foreground`,children:`Size`}),(0,o.jsx)(`dd`,{children:i(f)}),(0,o.jsx)(`dt`,{className:`text-muted-foreground`,children:`Created by`}),(0,o.jsx)(`dd`,{className:`truncate`,children:l.created_by}),l.capabilities.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`dt`,{className:`text-muted-foreground`,children:`Capabilities`}),(0,o.jsx)(`dd`,{className:`truncate`,children:l.capabilities.join(`, `)})]})]}),h.length>0&&(0,o.jsxs)(`div`,{className:`mt-4`,children:[(0,o.jsxs)(`button`,{type:`button`,className:`text-muted-foreground text-xs font-medium hover:underline`,onClick:()=>c(e=>!e),children:[n?`Hide`:`Show`,` Warnings (`,h.length,`)`]}),n&&(0,o.jsx)(`ul`,{className:`mt-1.5 space-y-1 text-xs`,children:h.map((e,t)=>(0,o.jsx)(`li`,{className:`rounded bg-[var(--system-mid-weak)] px-2 py-1 text-[var(--system-mid-strong)]`,children:e},t))})]}),(0,o.jsxs)(`div`,{className:`mt-auto flex items-center justify-end gap-3 pt-4`,children:[(0,o.jsx)(`button`,{type:`button`,className:`rounded-md border border-border px-4 py-1.5 text-sm font-medium text-foreground hover:bg-muted`,onClick:()=>window.vellum?.bundleConfirm?.respond(!1),children:`Cancel`}),(0,o.jsx)(`button`,{type:`button`,className:r(`rounded-md px-4 py-1.5 text-sm font-medium text-white`,m?`bg-red-600 hover:bg-red-700`:`bg-primary hover:bg-primary/90`),onClick:()=>window.vellum?.bundleConfirm?.respond(!0),children:m?`Install Anyway`:`Install`})]})]})}export{c as BundleConfirmPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{C as n,S as r,w as i,x as a}from"./button-D7s2Q_uG.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{o as s}from"./cn-DvW5mxZR.js";import{n as c}from"./dist-D7Zr-ONk.js";var l=e(t(),1),u=o(),d=`DismissableLayer`,f=`dismissableLayer.update`,p=`dismissableLayer.pointerDownOutside`,m=`dismissableLayer.focusOutside`,h,g=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),_=l.forwardRef((e,t)=>{let{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:d,onInteractOutside:p,onDismiss:m,..._}=e,v=l.useContext(g),[y,S]=l.useState(null),C=y?.ownerDocument??globalThis?.document,[,w]=l.useState({}),T=s(t,e=>S(e)),E=Array.from(v.layers),[D]=[...v.layersWithOutsidePointerEventsDisabled].slice(-1),O=E.indexOf(D),k=y?E.indexOf(y):-1,A=v.layersWithOutsidePointerEventsDisabled.size>0,j=k>=O,te=b(e=>{let t=e.target,n=[...v.branches].some(e=>e.contains(t));!j||n||(o?.(e),p?.(e),e.defaultPrevented||m?.())},C),M=ee(e=>{let t=e.target;[...v.branches].some(e=>e.contains(t))||(d?.(e),p?.(e),e.defaultPrevented||m?.())},C);return a(e=>{k===v.layers.size-1&&(i?.(e),!e.defaultPrevented&&m&&(e.preventDefault(),m()))},C),l.useEffect(()=>{if(y)return r&&(v.layersWithOutsidePointerEventsDisabled.size===0&&(h=C.body.style.pointerEvents,C.body.style.pointerEvents=`none`),v.layersWithOutsidePointerEventsDisabled.add(y)),v.layers.add(y),x(),()=>{r&&v.layersWithOutsidePointerEventsDisabled.size===1&&(C.body.style.pointerEvents=h)}},[y,C,r,v]),l.useEffect(()=>()=>{y&&(v.layers.delete(y),v.layersWithOutsidePointerEventsDisabled.delete(y),x())},[y,v]),l.useEffect(()=>{let e=()=>w({});return document.addEventListener(f,e),()=>document.removeEventListener(f,e)},[]),(0,u.jsx)(n.div,{..._,ref:T,style:{pointerEvents:A?j?`auto`:`none`:void 0,...e.style},onFocusCapture:c(e.onFocusCapture,M.onFocusCapture),onBlurCapture:c(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:c(e.onPointerDownCapture,te.onPointerDownCapture)})});_.displayName=d;var v=`DismissableLayerBranch`,y=l.forwardRef((e,t)=>{let r=l.useContext(g),i=l.useRef(null),a=s(t,i);return l.useEffect(()=>{let e=i.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,u.jsx)(n.div,{...e,ref:a})});y.displayName=v;function b(e,t=globalThis?.document){let n=r(e),i=l.useRef(!1),a=l.useRef(()=>{});return l.useEffect(()=>{let e=e=>{if(e.target&&!i.current){let r=function(){S(p,n,i,{discrete:!0})},i={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,a.current),a.current=r,t.addEventListener(`click`,a.current,{once:!0})):r()}else t.removeEventListener(`click`,a.current);i.current=!1},r=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(r),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,a.current)}},[t,n]),{onPointerDownCapture:()=>i.current=!0}}function ee(e,t=globalThis?.document){let n=r(e),i=l.useRef(!1);return l.useEffect(()=>{let e=e=>{e.target&&!i.current&&S(m,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function x(){let e=new CustomEvent(f);document.dispatchEvent(e)}function S(e,t,n,{discrete:r}){let a=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?i(a,o):a.dispatchEvent(o)}var C=0;function w(){l.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??T()),document.body.insertAdjacentElement(`beforeend`,e[1]??T()),C++,()=>{C===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),C--}},[])}function T(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var E=`focusScope.autoFocusOnMount`,D=`focusScope.autoFocusOnUnmount`,O={bubbles:!1,cancelable:!0},k=`FocusScope`,A=l.forwardRef((e,t)=>{let{loop:i=!1,trapped:a=!1,onMountAutoFocus:o,onUnmountAutoFocus:c,...d}=e,[f,p]=l.useState(null),m=r(o),h=r(c),g=l.useRef(null),_=s(t,e=>p(e)),v=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(a){let e=function(e){if(v.paused||!f)return;let t=e.target;f.contains(t)?g.current=t:P(g.current,{select:!0})},t=function(e){if(v.paused||!f)return;let t=e.relatedTarget;t!==null&&(f.contains(t)||P(g.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&P(f)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return f&&r.observe(f,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[a,f,v.paused]),l.useEffect(()=>{if(f){ie.add(v);let e=document.activeElement;if(!f.contains(e)){let t=new CustomEvent(E,O);f.addEventListener(E,m),f.dispatchEvent(t),t.defaultPrevented||(j(se(M(f)),{select:!0}),document.activeElement===e&&P(f))}return()=>{f.removeEventListener(E,m),setTimeout(()=>{let t=new CustomEvent(D,O);f.addEventListener(D,h),f.dispatchEvent(t),t.defaultPrevented||P(e??document.body,{select:!0}),f.removeEventListener(D,h),ie.remove(v)},0)}}},[f,m,h,v]);let y=l.useCallback(e=>{if(!i&&!a||v.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){let t=e.currentTarget,[r,a]=te(t);r&&a?!e.shiftKey&&n===a?(e.preventDefault(),i&&P(r,{select:!0})):e.shiftKey&&n===r&&(e.preventDefault(),i&&P(a,{select:!0})):n===t&&e.preventDefault()}},[i,a,v.paused]);return(0,u.jsx)(n.div,{tabIndex:-1,...d,ref:_,onKeyDown:y})});A.displayName=k;function j(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(P(r,{select:t}),document.activeElement!==n)return}function te(e){let t=M(e);return[N(t,e),N(t.reverse(),e)]}function M(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function N(e,t){for(let n of e)if(!ne(n,{upTo:t}))return n}function ne(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function re(e){return e instanceof HTMLInputElement&&`select`in e}function P(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&re(e)&&t&&e.select()}}var ie=ae();function ae(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=oe(e,t),e.unshift(t)},remove(t){e=oe(e,t),e[0]?.resume()}}}function oe(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function se(e){return e.filter(e=>e.tagName!==`A`)}var ce=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},F=new WeakMap,I=new WeakMap,L={},R=0,le=function(e){return e&&(e.host||le(e.parentNode))},ue=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=le(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},de=function(e,t,n,r){var i=ue(t,Array.isArray(e)?e:[e]);L[n]||(L[n]=new WeakMap);var a=L[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(F.get(e)||0)+1,l=(a.get(e)||0)+1;F.set(e,c),a.set(e,l),o.push(e),c===1&&i&&I.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),R++,function(){o.forEach(function(e){var t=F.get(e)-1,i=a.get(e)-1;F.set(e,t),a.set(e,i),t||(I.has(e)||e.removeAttribute(r),I.delete(e)),i||e.removeAttribute(n)}),R--,R||(F=new WeakMap,F=new WeakMap,I=new WeakMap,L={})}},fe=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ce(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),de(r,i,n,`aria-hidden`)):function(){return null}},z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},z.apply(this,arguments)};function pe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function me(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var B=`right-scroll-bar-position`,V=`width-before-scroll-bar`,he=`with-scroll-bars-hidden`,ge=`--removed-body-scroll-bar-size`;function H(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function _e(e,t){var n=(0,l.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var ve=typeof window<`u`?l.useLayoutEffect:l.useEffect,ye=new WeakMap;function be(e,t){var n=_e(t||null,function(t){return e.forEach(function(e){return H(e,t)})});return ve(function(){var t=ye.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||H(e,null)}),i.forEach(function(e){r.has(e)||H(e,a)})}ye.set(n,e)},[e]),n}function xe(e){return e}function Se(e,t){t===void 0&&(t=xe);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ce(e){e===void 0&&(e={});var t=Se(null);return t.options=z({async:!0,ssr:!1},e),t}var we=function(e){var t=e.sideCar,n=pe(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return l.createElement(r,z({},n))};we.isSideCarExport=!0;function Te(e,t){return e.useMedium(t),we}var U=Ce(),W=function(){},G=l.forwardRef(function(e,t){var n=l.useRef(null),r=l.useState({onScrollCapture:W,onWheelCapture:W,onTouchMoveCapture:W}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,ee=pe(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=p,S=be([n,t]),C=z(z({},ee),i);return l.createElement(l.Fragment,null,d&&l.createElement(x,{sideCar:U,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?l.cloneElement(l.Children.only(s),z(z({},C),{ref:S})):l.createElement(y,z({},C,{className:c,ref:S}),s))});G.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},G.classNames={fullWidth:V,zeroRight:B};var K,Ee=function(){if(K)return K;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function De(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Ee();return t&&e.setAttribute(`nonce`,t),e}function Oe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ke(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Ae=function(){var e=0,t=null;return{add:function(n){e==0&&(t=De())&&(Oe(t,n),ke(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},je=function(){var e=Ae();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Me=function(){var e=je();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Ne={left:0,top:0,right:0,gap:0},q=function(e){return parseInt(e||``,10)||0},Pe=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[q(n),q(r),q(i)]},Fe=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Ne;var t=Pe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ie=Me(),J=`data-scroll-locked`,Le=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{C as n,S as r,w as i,x as a}from"./button-D7s2Q_uG.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{o as s}from"./cn-DvW5mxZR.js";import{n as c}from"./dist-BQHdyjQ3.js";var l=e(t(),1),u=o(),d=`DismissableLayer`,f=`dismissableLayer.update`,p=`dismissableLayer.pointerDownOutside`,m=`dismissableLayer.focusOutside`,h,g=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),_=l.forwardRef((e,t)=>{let{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:d,onInteractOutside:p,onDismiss:m,..._}=e,v=l.useContext(g),[y,S]=l.useState(null),C=y?.ownerDocument??globalThis?.document,[,w]=l.useState({}),T=s(t,e=>S(e)),E=Array.from(v.layers),[D]=[...v.layersWithOutsidePointerEventsDisabled].slice(-1),O=E.indexOf(D),k=y?E.indexOf(y):-1,A=v.layersWithOutsidePointerEventsDisabled.size>0,j=k>=O,te=b(e=>{let t=e.target,n=[...v.branches].some(e=>e.contains(t));!j||n||(o?.(e),p?.(e),e.defaultPrevented||m?.())},C),M=ee(e=>{let t=e.target;[...v.branches].some(e=>e.contains(t))||(d?.(e),p?.(e),e.defaultPrevented||m?.())},C);return a(e=>{k===v.layers.size-1&&(i?.(e),!e.defaultPrevented&&m&&(e.preventDefault(),m()))},C),l.useEffect(()=>{if(y)return r&&(v.layersWithOutsidePointerEventsDisabled.size===0&&(h=C.body.style.pointerEvents,C.body.style.pointerEvents=`none`),v.layersWithOutsidePointerEventsDisabled.add(y)),v.layers.add(y),x(),()=>{r&&v.layersWithOutsidePointerEventsDisabled.size===1&&(C.body.style.pointerEvents=h)}},[y,C,r,v]),l.useEffect(()=>()=>{y&&(v.layers.delete(y),v.layersWithOutsidePointerEventsDisabled.delete(y),x())},[y,v]),l.useEffect(()=>{let e=()=>w({});return document.addEventListener(f,e),()=>document.removeEventListener(f,e)},[]),(0,u.jsx)(n.div,{..._,ref:T,style:{pointerEvents:A?j?`auto`:`none`:void 0,...e.style},onFocusCapture:c(e.onFocusCapture,M.onFocusCapture),onBlurCapture:c(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:c(e.onPointerDownCapture,te.onPointerDownCapture)})});_.displayName=d;var v=`DismissableLayerBranch`,y=l.forwardRef((e,t)=>{let r=l.useContext(g),i=l.useRef(null),a=s(t,i);return l.useEffect(()=>{let e=i.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,u.jsx)(n.div,{...e,ref:a})});y.displayName=v;function b(e,t=globalThis?.document){let n=r(e),i=l.useRef(!1),a=l.useRef(()=>{});return l.useEffect(()=>{let e=e=>{if(e.target&&!i.current){let r=function(){S(p,n,i,{discrete:!0})},i={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,a.current),a.current=r,t.addEventListener(`click`,a.current,{once:!0})):r()}else t.removeEventListener(`click`,a.current);i.current=!1},r=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(r),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,a.current)}},[t,n]),{onPointerDownCapture:()=>i.current=!0}}function ee(e,t=globalThis?.document){let n=r(e),i=l.useRef(!1);return l.useEffect(()=>{let e=e=>{e.target&&!i.current&&S(m,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function x(){let e=new CustomEvent(f);document.dispatchEvent(e)}function S(e,t,n,{discrete:r}){let a=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?i(a,o):a.dispatchEvent(o)}var C=0;function w(){l.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??T()),document.body.insertAdjacentElement(`beforeend`,e[1]??T()),C++,()=>{C===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),C--}},[])}function T(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var E=`focusScope.autoFocusOnMount`,D=`focusScope.autoFocusOnUnmount`,O={bubbles:!1,cancelable:!0},k=`FocusScope`,A=l.forwardRef((e,t)=>{let{loop:i=!1,trapped:a=!1,onMountAutoFocus:o,onUnmountAutoFocus:c,...d}=e,[f,p]=l.useState(null),m=r(o),h=r(c),g=l.useRef(null),_=s(t,e=>p(e)),v=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(a){let e=function(e){if(v.paused||!f)return;let t=e.target;f.contains(t)?g.current=t:P(g.current,{select:!0})},t=function(e){if(v.paused||!f)return;let t=e.relatedTarget;t!==null&&(f.contains(t)||P(g.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&P(f)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return f&&r.observe(f,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[a,f,v.paused]),l.useEffect(()=>{if(f){ie.add(v);let e=document.activeElement;if(!f.contains(e)){let t=new CustomEvent(E,O);f.addEventListener(E,m),f.dispatchEvent(t),t.defaultPrevented||(j(se(M(f)),{select:!0}),document.activeElement===e&&P(f))}return()=>{f.removeEventListener(E,m),setTimeout(()=>{let t=new CustomEvent(D,O);f.addEventListener(D,h),f.dispatchEvent(t),t.defaultPrevented||P(e??document.body,{select:!0}),f.removeEventListener(D,h),ie.remove(v)},0)}}},[f,m,h,v]);let y=l.useCallback(e=>{if(!i&&!a||v.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){let t=e.currentTarget,[r,a]=te(t);r&&a?!e.shiftKey&&n===a?(e.preventDefault(),i&&P(r,{select:!0})):e.shiftKey&&n===r&&(e.preventDefault(),i&&P(a,{select:!0})):n===t&&e.preventDefault()}},[i,a,v.paused]);return(0,u.jsx)(n.div,{tabIndex:-1,...d,ref:_,onKeyDown:y})});A.displayName=k;function j(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(P(r,{select:t}),document.activeElement!==n)return}function te(e){let t=M(e);return[N(t,e),N(t.reverse(),e)]}function M(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function N(e,t){for(let n of e)if(!ne(n,{upTo:t}))return n}function ne(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function re(e){return e instanceof HTMLInputElement&&`select`in e}function P(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&re(e)&&t&&e.select()}}var ie=ae();function ae(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=oe(e,t),e.unshift(t)},remove(t){e=oe(e,t),e[0]?.resume()}}}function oe(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function se(e){return e.filter(e=>e.tagName!==`A`)}var ce=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},F=new WeakMap,I=new WeakMap,L={},R=0,le=function(e){return e&&(e.host||le(e.parentNode))},ue=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=le(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},de=function(e,t,n,r){var i=ue(t,Array.isArray(e)?e:[e]);L[n]||(L[n]=new WeakMap);var a=L[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(F.get(e)||0)+1,l=(a.get(e)||0)+1;F.set(e,c),a.set(e,l),o.push(e),c===1&&i&&I.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),R++,function(){o.forEach(function(e){var t=F.get(e)-1,i=a.get(e)-1;F.set(e,t),a.set(e,i),t||(I.has(e)||e.removeAttribute(r),I.delete(e)),i||e.removeAttribute(n)}),R--,R||(F=new WeakMap,F=new WeakMap,I=new WeakMap,L={})}},fe=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ce(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),de(r,i,n,`aria-hidden`)):function(){return null}},z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},z.apply(this,arguments)};function pe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function me(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var B=`right-scroll-bar-position`,V=`width-before-scroll-bar`,he=`with-scroll-bars-hidden`,ge=`--removed-body-scroll-bar-size`;function H(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function _e(e,t){var n=(0,l.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var ve=typeof window<`u`?l.useLayoutEffect:l.useEffect,ye=new WeakMap;function be(e,t){var n=_e(t||null,function(t){return e.forEach(function(e){return H(e,t)})});return ve(function(){var t=ye.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||H(e,null)}),i.forEach(function(e){r.has(e)||H(e,a)})}ye.set(n,e)},[e]),n}function xe(e){return e}function Se(e,t){t===void 0&&(t=xe);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ce(e){e===void 0&&(e={});var t=Se(null);return t.options=z({async:!0,ssr:!1},e),t}var we=function(e){var t=e.sideCar,n=pe(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return l.createElement(r,z({},n))};we.isSideCarExport=!0;function Te(e,t){return e.useMedium(t),we}var U=Ce(),W=function(){},G=l.forwardRef(function(e,t){var n=l.useRef(null),r=l.useState({onScrollCapture:W,onWheelCapture:W,onTouchMoveCapture:W}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,ee=pe(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=p,S=be([n,t]),C=z(z({},ee),i);return l.createElement(l.Fragment,null,d&&l.createElement(x,{sideCar:U,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?l.cloneElement(l.Children.only(s),z(z({},C),{ref:S})):l.createElement(y,z({},C,{className:c,ref:S}),s))});G.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},G.classNames={fullWidth:V,zeroRight:B};var K,Ee=function(){if(K)return K;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function De(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Ee();return t&&e.setAttribute(`nonce`,t),e}function Oe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ke(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Ae=function(){var e=0,t=null;return{add:function(n){e==0&&(t=De())&&(Oe(t,n),ke(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},je=function(){var e=Ae();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Me=function(){var e=je();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Ne={left:0,top:0,right:0,gap:0},q=function(e){return parseInt(e||``,10)||0},Pe=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[q(n),q(r),q(i)]},Fe=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Ne;var t=Pe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ie=Me(),J=`data-scroll-locked`,Le=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
2
|
.${he} {
|
|
3
3
|
overflow: hidden ${r};
|
|
4
4
|
padding-right: ${s}px ${r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./is-electron-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./is-electron-C_ZTVhv8.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{N as i,a,n as o,o as s}from"./auth-store-Kzt5s89H.js";import{a as c}from"./routes-DlW6mpdp.js";import{n as l,t as u}from"./login-flow-DKWdYx_7.js";import{Pn as d}from"./index-1kam3Nv0.js";import{r as f,t as p}from"./account-shell-f2__fVz3.js";var m=e(t(),1),h=r();function g(){let e=a(),t=s(),r=o.use.user(),g=o.use.logout(),[_,v]=(0,m.useState)(null),[y,b]=(0,m.useState)(!1),x=async()=>{v(null),b(!0);try{await i(l,u)}catch(e){console.error(`[account] auth flow failed:`,e),v(`Something went wrong. Please try again.`),b(!1)}};return t?(0,h.jsx)(p,{children:(0,h.jsx)(f,{title:`Loading...`})}):e?(0,h.jsxs)(p,{children:[(0,h.jsx)(f,{title:`Welcome${r?.username?`, ${r.username}`:``}!`,subtitle:`You are signed in.`}),(0,h.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,h.jsx)(n,{to:c.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-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Go to your assistant`}),(0,h.jsx)(`button`,{type:`button`,onClick:async()=>{await g(),d(c.account.login)},className:`cursor-pointer bg-transparent text-sm font-normal text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:`Sign out`})]})]}):(0,h.jsxs)(p,{children:[(0,h.jsx)(f,{title:`Welcome to Vellum`,subtitle:`Sign in to get started.`}),_&&(0,h.jsx)(`p`,{className:`text-center text-sm text-[var(--system-negative-strong)]`,children:_}),(0,h.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,h.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:y,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-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:opacity-50`,children:`Sign in`})})]})}export{g as AccountPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import"./src-
|
|
1
|
+
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import"./src-BJj2O5XB.js";import{t}from"./notice-CynJKEow.js";var n=e(),r=(0,n.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,n.jsx)(`path`,{d:`M7.5 15L12.5 10L7.5 5`,stroke:`currentColor`,strokeWidth:`1.67`,strokeLinecap:`round`,strokeLinejoin:`round`})});function i({onSubmit:e,error:i,children:a,submitLabel:o,submittingLabel:s,isSubmitting:c,footer:l}){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`form`,{onSubmit:e,className:`flex flex-col gap-4`,children:[i&&(0,n.jsx)(t,{tone:`error`,children:i}),(0,n.jsx)(`div`,{className:`flex flex-col gap-3`,children:a}),(0,n.jsxs)(`button`,{type:`submit`,disabled:c,className:`mt-2 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-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-wait disabled:opacity-50`,children:[c?s:o,r]})]}),l&&(0,n.jsx)(`div`,{className:`mt-8 text-center`,children:l})]})}function a(e){return(0,n.jsx)(`input`,{...e,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-4 py-3 text-sm text-[var(--content-default)] outline-none placeholder:text-[var(--content-tertiary)] focus:border-[var(--primary-base)]/50`})}function o({title:e,subtitle:t}){return(0,n.jsxs)(`div`,{className:`mb-8 text-center`,children:[(0,n.jsx)(`h1`,{className:`mb-2 font-serif text-[2rem] font-bold italic text-[var(--content-default)]`,children:e}),t&&(0,n.jsx)(`p`,{className:`text-sm text-[var(--content-secondary)]`,children:t})]})}function s({children:e}){return(0,n.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)]`,children:(0,n.jsx)(`div`,{className:`w-full max-w-[480px] px-6`,children:(0,n.jsx)(`div`,{className:`flex flex-col items-center gap-10`,children:(0,n.jsx)(`div`,{className:`w-full`,children:e})})})})}export{a as i,i as n,o as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-D7s2Q_uG.js";import{h as i,t as a,u as o}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as s}from"./QueryClientProvider-DKhXIxGb.js";import{t as c}from"./useQuery-B45lW1Kk.js";import{t as l}from"./useMutation-Lj4VunQV.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./dropdown-yOV5eJnU.js";import{t as f}from"./modal-CHuPOsJJ.js";import{t as p}from"./circle-alert-CIThYDGJ.js";import{t as m}from"./credit-card-BwN95biV.js";import{t as h}from"./loader-circle-BU6b8vrp.js";import{at as g,rt as _}from"./react-query.gen-B0Od5MEZ.js";import{n as v,t as y}from"./browser-DKUVpLgv.js";var b=t({AddCreditsModal:()=>E}),x=e(n(),1),S=u(),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=s(),{pathname:u}=o(),[b]=i(),E=b.toString()?`${u}?${b.toString()}`:u,{data:D,isLoading:O}=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=l(g());return(0,x.useEffect)(()=>v(()=>{t(!1),n.invalidateQueries(_())}),[t,n]),(0,S.jsx)(f.Root,{open:e,onOpenChange:t,children:(0,S.jsxs)(f.Content,{size:`sm`,children:[(0,S.jsxs)(f.Header,{children:[(0,S.jsx)(f.Title,{icon:m,children:`Add Credits`}),(0,S.jsx)(f.Description,{children:`Purchase credits to continue using the assistant. You'll be redirected to Stripe to complete the payment.`})]}),(0,S.jsx)(f.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)(d,{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)(p,{className:`h-3.5 w-3.5 shrink-0`}),T(N.error)]}),(0,S.jsx)(a,{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)(f.Footer,{children:[(0,S.jsx)(f.Close,{asChild:!0,children:(0,S.jsx)(r,{variant:`outlined`,children:`Cancel`})}),(0,S.jsx)(r,{variant:`primary`,leftIcon:N.isPending?(0,S.jsx)(h,{className:`animate-spin`}):void 0,onClick:()=>{N.isPending||N.mutate({body:{amount:M,return_path:E}},{onSuccess:e=>{y(e.checkout_url)}})},disabled:N.isPending||O||!D,children:`Add credits`})]})]})})}export{b as n,E as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BaKOqBjF.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-D7s2Q_uG.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./useMutation-Lj4VunQV.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./input-Ch7OC6ME.js";import{t as l}from"./toggle-95p73HGd.js";import{n as u}from"./stat-square-CraPxMcl.js";import{n as d}from"./toast-CxaZ5f1d.js";import{t as f}from"./loader-circle-BU6b8vrp.js";import{c as p,kt as m,u as h}from"./react-query.gen-CoJLbfpu.js";import{X as g}from"./sdk.gen-DSjI3deY.js";import{F as _,P as v}from"./react-query.gen-B0Od5MEZ.js";import{tn as y,x as b}from"./index-1kam3Nv0.js";import{t as x}from"./use-active-assistant-id-DXjofATQ.js";import{t as S}from"./detail-card-BnPZuM3e.js";import{r as C}from"./assistant-status-panel-Br-1lrig.js";var w=e(n(),1),T=s(),E=[[`Mon`,0],[`Tue`,1],[`Wed`,2],[`Thu`,3],[`Fri`,4],[`Sat`,5],[`Sun`,6]];function D(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 O(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 k(){return Intl.DateTimeFormat(void 0,{timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``}function A(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:D(t),windowEnd:D(n)}}function j({assistantId:e}){let t=i(),{data:n,isLoading:s,isError:p}=a(v({path:{id:e}})),m=(0,w.useMemo)(()=>A(n),[n]),[h,y]=(0,w.useState)(null),b=h??m,x=h!==null,S=(0,w.useMemo)(()=>k(),[]),[C,D]=(0,w.useState)(null),j=C??b.daysOfMonth.join(`, `),M=o({mutationFn:async t=>{let{data:n}=await g({path:{id:e},body:t,throwOnError:!0});return n}}),N=e=>{y(t=>({...t??m,...e}))},P=e=>{N({daysOfWeek:b.daysOfWeek.includes(e)?b.daysOfWeek.filter(t=>t!==e):[...b.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 s?(0,T.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,T.jsx)(f,{className:`h-4 w-4 animate-spin`}),`Loading update window settings...`]}):p?(0,T.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,T.jsxs)(`div`,{className:`space-y-6`,children:[(0,T.jsx)(l,{checked:b.enabled,onChange:e=>N({enabled:e}),label:`Automatic updates`,helperText:`Update automatically during a configured time window`}),b.enabled&&(0,T.jsxs)(`div`,{className:`space-y-5`,children:[(0,T.jsxs)(`div`,{className:`space-y-2`,children:[(0,T.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:`Frequency`}),(0,T.jsx)(`div`,{className:`max-w-[400px]`,children:(0,T.jsx)(u,{ariaLabel:`Frequency`,value:b.frequency,onChange:e=>{e!==`monthly`&&D(null),N({frequency:e})},items:[{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}]})})]}),b.frequency===`weekly`&&(0,T.jsxs)(`div`,{className:`space-y-2`,children:[(0,T.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:`Day(s) of week`}),(0,T.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:E.map(([e,t])=>(0,T.jsx)(r,{variant:`outlined`,size:`compact`,active:b.daysOfWeek.includes(t),onClick:()=>P(t),children:e},t))})]}),b.frequency===`monthly`&&(0,T.jsx)(c,{label:`Day(s) of month`,type:`text`,value:j,onChange:e=>D(e.target.value),onBlur:e=>{let t=F(e.target.value);N({daysOfMonth:t}),D(t.join(`, `))},placeholder:`e.g. 1, 15`,helperText:`Comma-separated day numbers (1–31)`,className:`w-48`}),(0,T.jsxs)(`div`,{className:`space-y-2`,children:[(0,T.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:[`Update window`,S?` (${S})`:``]}),(0,T.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,T.jsx)(c,{type:`time`,value:b.windowStart,onChange:e=>N({windowStart:e.target.value})}),(0,T.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`to`}),(0,T.jsx)(c,{type:`time`,value:b.windowEnd,onChange:e=>N({windowEnd:e.target.value})})]})]})]}),(0,T.jsx)(r,{variant:`primary`,leftIcon:M.isPending?(0,T.jsx)(f,{className:`animate-spin`}):void 0,onClick:async()=>{let n=b.frequency===`monthly`&&C!==null?F(C):b.daysOfMonth;try{await M.mutateAsync({enabled:b.enabled,timezone:`UTC`,schedule:{frequency:b.frequency,days_of_week:b.frequency===`weekly`?b.daysOfWeek:[],days_of_month:b.frequency===`monthly`?n:[],window:{start:O(b.windowStart),end:O(b.windowEnd)}}}),d.success(`Auto-update policy saved.`),y(null),D(null),t.invalidateQueries({queryKey:_({path:{id:e}})})}catch{d.error(`Failed to save policy. Please try again.`)}},disabled:M.isPending||!x,children:`Save policy`})]})}function M(){let{assistant:e,healthz:n}=C(),r=y({platformHostedOnly:!0}),o=e?.is_local?null:e,s=x(),c=i(),u=n?.capabilities?.memoryOptOut===!0,{data:f}=a({...p({path:{assistant_id:s}}),staleTime:3e4,enabled:u}),g=m({onSuccess:e=>{h(c,{path:{assistant_id:s}},e)}}),_=f?.memory?.enabled!==!1,v=async e=>{try{await g.mutateAsync({path:{assistant_id:s},body:{memory:{enabled:e}}}),d.success(e?`Memory enabled.`:`Memory disabled.`)}catch(e){t(e,{context:`settings-memory-toggle`}),d.error(`Failed to update memory setting.`)}};return(0,T.jsxs)(`div`,{className:`space-y-4`,children:[r===`full`&&o&&(0,T.jsx)(S,{title:`Update Window`,subtitle:`Configure when automatic updates are applied.`,children:(0,T.jsx)(j,{assistantId:o.id})}),r===`disabled`&&(0,T.jsx)(S,{title:`Update Window`,subtitle:`Configure when automatic updates are applied.`,children:(0,T.jsx)(b,{children:`Log in to the Vellum platform to manage update window policy.`})}),u?(0,T.jsx)(S,{title:`Memory`,subtitle:`Let your assistant remember information from past conversations. Turning this off also pauses memory consolidation.`,accessory:(0,T.jsx)(l,{checked:_,onChange:e=>void v(e),"aria-label":`Enable memory`,disabled:g.isPending}),compactAccessory:!0}):null]})}export{M as AdvancedPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,r as n,s as r}from"./local-settings-lVNyIOJ_.js";import{r as i,t as a}from"./capture-error-BaKOqBjF.js";import{t as o}from"./react-DJZBPgpf.js";import{t as s}from"./button-D7s2Q_uG.js";import{d as c,h as l}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as u}from"./QueryClientProvider-DKhXIxGb.js";import{t as d}from"./useQuery-B45lW1Kk.js";import{t as f}from"./useMutation-Lj4VunQV.js";import{t as p}from"./jsx-runtime-CVSDxk6A.js";import{t as m}from"./typography-BscuIPxA.js";import{t as h}from"./dropdown-yOV5eJnU.js";import{t as g}from"./confirm-dialog-SpCsmAdG.js";import{t as _}from"./notice-CynJKEow.js";import{t as v}from"./tag-CE_o2aao.js";import{t as y}from"./input-Ch7OC6ME.js";import{t as b}from"./toggle-95p73HGd.js";import{n as x}from"./stat-square-CraPxMcl.js";import{t as S}from"./modal-CHuPOsJJ.js";import{n as C}from"./toast-CxaZ5f1d.js";import{t as w}from"./createLucideIcon-BlMXrA59.js";import{t as T}from"./check-BCNZ91b3.js";import{t as E}from"./circle-alert-CIThYDGJ.js";import{t as D}from"./circle-check-Cfl8Yl_j.js";import{n as O,t as k}from"./domain-field-CNW1t3OC.js";import{t as A}from"./external-link-RJkZLlff.js";import{t as j}from"./info-DKfsKkAk.js";import{t as M}from"./loader-circle-BU6b8vrp.js";import{t as N}from"./triangle-alert-B3q5kQ4P.js";import{Fn as P,Mt as F,in as I,jt as L,nt as R}from"./sdk.gen-BTIMXC7B.js";import{R as z,c as B,d as ee,ft as te,kt as V,l as H,u as U,wt as W,z as G}from"./react-query.gen-CoJLbfpu.js";import{r as K}from"./api-errors-B-g6gvNv.js";import{a as ne}from"./routes-DlW6mpdp.js";import{t as q}from"./use-is-org-ready-kFoGr63U.js";import{t as J}from"./assistant-identity-store-ADxStqSC.js";import{t as re}from"./assistant-feature-flag-store-I7i0GajG.js";import{c as ie,d as ae,et as oe,f as se,g as ce,h as le,l as ue,m as de,o as fe,p as pe,s as me,u as he,v as ge,y as _e}from"./react-query.gen-B0Od5MEZ.js";import{$n as ve,Gn as Y,Gr as ye,Hi as be,Jn as xe,Kn as Se,Mr as Ce,Qn as we,Xn as Te,Yn as Ee,Zn as De,_ as Oe,_r as ke,ar as Ae,b as je,br as Me,cr as Ne,dr as Pe,er as Fe,fr as Ie,gr as Le,hr as Re,ir as ze,lr as Be,mr as Ve,nr as He,or as Ue,pr as We,qn as Ge,rr as Ke,sr as qe,tn as Je,tr as Ye,ur as Xe,v as Ze,vr as Qe,x as $e,xn as et,xr as tt,y as nt,yr as rt}from"./index-1kam3Nv0.js";import{t as X}from"./use-active-assistant-id-DXjofATQ.js";import{t as it}from"./detail-card-BnPZuM3e.js";import{t as at}from"./environment-store-C_XwUYTL.js";var ot=w(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Z=e(o(),1),Q=p();function st({mode:e,onChange:t}){return(0,Q.jsx)(`div`,{className:`max-w-[280px]`,children:(0,Q.jsx)(x,{ariaLabel:`Service mode`,value:e,onChange:t,items:[{value:`managed`,label:`Managed`},{value:`your-own`,label:`Your Own`}]})})}function ct({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,Q.jsxs)(it,{id:e,title:t,subtitle:n,accessory:(0,Q.jsx)(st,{mode:r,onChange:i}),children:[(0,Q.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Q.jsx)(`div`,{className:`mt-4`,children:a})]})}function $({onClick:e,disabled:t}){return(0,Q.jsx)(s,{onClick:e,disabled:t,children:`Save`})}function lt({onClick:e,filled:t=!1}){return(0,Q.jsx)(s,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function ut({id:e,title:t,subtitle:n,children:r}){return(0,Q.jsxs)(it,{id:e,title:t,subtitle:n,children:[(0,Q.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Q.jsx)(`div`,{className:`mt-4`,children:r})]})}function dt({guide:e}){return(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(j,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`span`,{children:e.description}),(0,Q.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,Q.jsx)(A,{className:`h-3 w-3`})]})]})]})}function ft({status:e,message:t,isLoading:n}){return n?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,Q.jsx)(M,{className:`h-3 w-3 animate-spin`}),`Checking domain…`]}):e?e===`verified`?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:`DNS records have been verified. Your domain is ready to send and receive email.`,children:[(0,Q.jsx)(T,{className:`h-3 w-3`}),`Domain verified`]}):e===`pending`||e===`not_started`?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:`DNS records have been provisioned. Waiting for the email provider to verify them — this usually takes a few minutes.`,children:[(0,Q.jsx)(be,{className:`h-3 w-3`}),`Verifying domain…`]}):(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:`Domain verification failed. DNS records may not have propagated correctly. You could try releasing and re-registering the domain.`,children:[(0,Q.jsx)(E,{className:`h-3 w-3`}),`Verification failed`]}):(0,Q.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:`Unable to retrieve domain verification status.`,children:`Unknown status`})}var pt=`__custom__`;function mt(e){return e?!!(e.profile||e.provider||e.model):!1}function ht(e,t){let n=mt(e);return n===mt(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function gt({id:e,displayName:t,description:n,defaultProfileLabel:r,draft:i,profileOptions:a,onDraftChange:o,onToggle:s}){let c=mt(i),l=!i||!c?``:i.provider||i.model?pt:i.profile??``,u=l===pt,d=ke.find(e=>e===i?.provider)??ke[0],f=Me(d).map(e=>({value:e.id,label:e.displayName})),p=!!i?.provider&&!i?.model;function m(t){if(t===`__custom__`){let t=ke[0];o(e,{profile:null,provider:t,model:rt(t)??``})}else t===``?o(e,null):o(e,{profile:t,provider:null,model:null})}function g(t){let n=rt(t)??``;o(e,{...i??{},profile:null,provider:t,model:n})}function _(t){o(e,{...i??{},model:t})}return(0,Q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:t}),n&&(0,Q.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[n,r&&(0,Q.jsxs)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:[`· Default: `,r]})]})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c&&(0,Q.jsx)(h,{value:l,onChange:m,options:a,className:`w-44`,menuMinWidth:280,menuAlign:`end`}),(0,Q.jsx)(b,{checked:c,onChange:t=>s(e,t),"aria-label":`Override ${t}`})]})]}),c&&u&&(0,Q.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex-1`,children:[(0,Q.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:d??``,onChange:g,options:ke.map(e=>({value:e,label:Qe[e]??e}))})]}),(0,Q.jsxs)(`div`,{className:`flex-1`,children:[(0,Q.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,Q.jsx)(h,{value:i?.model??``,onChange:_,options:f})]})]}),p&&(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:`Pick a model`})]})]})}function _t({isOpen:e,onClose:t,assistantId:n}){let r=(0,Z.useRef)(!1);return(0,Q.jsx)(S.Root,{open:e,onOpenChange:e=>{!e&&!r.current&&t()},children:e?(0,Q.jsx)(vt,{assistantId:n,onClose:t,onSavingChange:e=>{r.current=e}}):null})}function vt({assistantId:e,onClose:t,onSavingChange:n}){let r=u(),{data:i}=d({...B({path:{assistant_id:e}}),staleTime:3e4}),o=(0,Z.useMemo)(()=>i?.llm?.profiles??{},[i?.llm?.profiles]),c=(0,Z.useMemo)(()=>i?.llm?.profileOrder??[],[i?.llm?.profileOrder]),l=(0,Z.useMemo)(()=>i?.llm?.callSites??{},[i?.llm?.callSites]),f=(0,Z.useMemo)(()=>Ae(o,c),[o,c]),p=V({onSuccess:t=>{U(r,{path:{assistant_id:e}},t)}}),[m,h]=(0,Z.useState)(``),[_,v]=(0,Z.useState)({}),[b,x]=(0,Z.useState)(!1),[w,T]=(0,Z.useState)(!1),E=re.use.analyzeConversation(),{data:D,isLoading:O,isError:k,refetch:A}=d({...ee({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),j=(0,Z.useMemo)(()=>{let e=(D?.callSites??[]).filter(e=>e.id!==`mainAgent`);return E||(e=e.filter(e=>e.id!==`analyzeConversation`)),e},[D,E]),N=!O&&!k&&!!D&&!!i,P=(0,Z.useMemo)(()=>j.map(e=>e.id),[j]),F=(0,Z.useMemo)(()=>{if(!N)return{};let e={};for(let t of P)if(t in _)e[t]=_[t];else{let n=l[t];e[t]=n?{...n}:{}}return e},[N,P,l,_]),I=(0,Z.useMemo)(()=>new Set(P),[P]),L=(0,Z.useMemo)(()=>Object.entries(l).some(([e,t])=>I.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[l,I]),R=(0,Z.useMemo)(()=>{if(!N)return!1;for(let e of Object.keys(F))if(!ht(F[e],l[e]))return!0;return!1},[N,F,l]),z=(0,Z.useMemo)(()=>Object.values(F).some(e=>mt(e)&&!!e?.provider&&!e?.model),[F]),te=(0,Z.useCallback)(e=>[...je(f,[e]).map(e=>({value:e.name,label:Ze(e)})),{value:pt,label:`Custom`}],[f]),H=(0,Z.useMemo)(()=>{if(!m.trim())return j;let e=m.toLowerCase();return j.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[j,m]),W=(0,Z.useMemo)(()=>{if(!D)return[];let e=D.domains.map(e=>e.id),t=new Map(D.domains.map(e=>[e.id,e])),n=[];for(let r of e){let e=H.filter(e=>e.domain===r);e.length>0&&n.push({domain:t.get(r),sites:e})}let r=new Set(e),i=H.filter(e=>!r.has(e.domain));return i.length>0&&n.push({domain:{id:`other`,displayName:`Other`},sites:i}),n},[D,H]),G=(0,Z.useCallback)((e,t)=>{v(n=>({...n,[e]:t}))},[]),K=(0,Z.useCallback)((e,t)=>{if(!t){v(t=>({...t,[e]:null}));return}let n=nt(f,j.find(t=>t.id===e)?.defaultProfile);if(n)v(t=>({...t,[e]:{profile:n}}));else{let t=ke[0],n=rt(t)??``;v(r=>({...r,[e]:{provider:t,model:n}}))}},[j,f]),ne=(0,Z.useCallback)(async()=>{x(!0),n?.(!0);try{let n={};for(let e of Object.keys(F)){let t=F[e]??null;n[e]=mt(t)?{profile:t?.profile??null,provider:t?.provider??null,model:t?.model??null}:null}await p.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:n}}}),t(),C.success(`Overrides saved.`)}catch(e){C.error(`Failed to save overrides. Please try again.`),a(e,{context:`call_site_overrides_save`})}finally{x(!1),n?.(!1)}},[F,t,p,n,e]),q=(0,Z.useCallback)(async()=>{x(!0),n?.(!0);try{let n={};for(let e of Object.keys(F))n[e]=null;await p.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:n}}}),t(),C.success(`Overrides reset.`)}catch(e){C.error(`Failed to reset overrides. Please try again.`),a(e,{context:`call_site_overrides_reset`})}finally{x(!1),n?.(!1)}},[F,t,p,n,e]);return(0,Q.jsxs)(S.Content,{size:`lg`,hideCloseButton:!0,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Action Overrides`}),(0,Q.jsx)(S.Description,{children:`Customize which model profile specific actions should use. Uses your default profile if no override is set.`})]}),(0,Q.jsxs)(S.Body,{children:[(0,Q.jsx)(`div`,{className:`mb-4`,children:(0,Q.jsx)(y,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:`Search actions…`,leftIcon:(0,Q.jsx)(ye,{className:`h-4 w-4`}),fullWidth:!0})}),O&&(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(M,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),k&&(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Couldn't load actions`}),(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Make sure your assistant is running`}),(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>void A(),children:`Retry`})]}),!O&&!k&&D&&(0,Q.jsx)(`div`,{className:`space-y-4`,children:W.length===0?(0,Q.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No actions match your search.`}):W.map(({domain:e,sites:t})=>(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,Q.jsx)(`div`,{className:`space-y-1`,children:t.map(e=>{let t=(()=>{let t=F[e.id]??null;return!t||!mt(t)?``:t.provider||t.model?`__custom__`:t.profile??``})(),n=e.defaultProfile?f.find(t=>t.name===e.defaultProfile)?.label??e.defaultProfile:null;return(0,Q.jsx)(gt,{id:e.id,displayName:e.displayName,description:e.description,defaultProfileLabel:n,draft:F[e.id]??null,profileOptions:te(t===``||t===`__custom__`?null:t),onDraftChange:G,onToggle:K},e.id)})})]},e.id))})]}),(0,Q.jsxs)(S.Footer,{children:[L&&(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>T(!0),disabled:b||!N,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:`Reset to Defaults`}),(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:t,disabled:b,children:`Cancel`}),(0,Q.jsx)(s,{variant:`primary`,size:`compact`,onClick:()=>void ne(),disabled:!R||z||b,children:b?(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin`}):`Save`})]}),(0,Q.jsx)(g,{open:w,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:()=>{T(!1),q()},onCancel:()=>T(!1)})]})}function yt({blocked:e,availableReplacements:t,replacement:n,onReplacementChange:r,error:i,saving:a,onClose:o,onConfirm:c}){let l=``;if(e){let t=e.label||e.name;l=e.isActive&&e.callSiteIds.length>0?`"${t}" is the active profile and is used by ${e.callSiteIds.length} call site(s). Pick a replacement profile.`:e.isActive?`"${t}" is the active profile. Pick a different active profile before deleting, or select a replacement below.`:`"${t}" is used by ${e.callSiteIds.length} call site(s). Select a replacement profile to reassign them before deleting.`}return(0,Q.jsx)(S.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,Q.jsxs)(S.Content,{size:`sm`,children:[(0,Q.jsx)(S.Header,{children:(0,Q.jsx)(S.Title,{children:`Can't Delete Profile`})}),(0,Q.jsxs)(S.Body,{className:`space-y-4`,children:[(0,Q.jsx)(m,{variant:`body-medium-default`,as:`p`,children:l}),e&&e.callSiteIds.length>0&&(0,Q.jsx)(`ul`,{className:`space-y-1 pl-1`,children:e.callSiteIds.map(e=>(0,Q.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,(0,Q.jsx)(`code`,{children:e})]},e))}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Replacement profile`}),(0,Q.jsx)(h,{"aria-label":`Replacement profile`,value:n,onChange:r,options:[{value:``,label:`Select a replacement…`},...t.map(e=>({value:e.name,label:e.label??e.name}))]})]}),i&&(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,Q.jsxs)(S.Footer,{children:[(0,Q.jsx)(s,{variant:`ghost`,size:`compact`,onClick:o,children:`Cancel`}),(0,Q.jsx)(s,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:c,children:a?`Saving…`:`Reassign and Delete`})]})]})})}function bt(e,t){if(e){let n=Me(e).find(e=>e.id===t);if(n)return n.displayName}let n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t}function xt(e){let t=[];e.description&&t.push(e.description);let n=[];if(e.model&&n.push(bt(e.provider,e.model)),e.provider){let t=Qe[e.provider]??e.provider;n.push(`hosted by ${t}`)}return n.length>0&&t.push(n.join(` `)),t.join(` – `)}function St({profile:e,isDragging:t,dropTarget:n,isDeleting:r,deleteError:i,isToggling:a,onDragStart:o,onDragEnd:c,onDragOver:l,onDragLeave:u,onDrop:d,onEditClick:f,onDeleteClick:p,onStatusToggle:h}){let g=e.source===`managed`,_=e.status!==`disabled`;return(0,Q.jsxs)(`div`,{className:`relative`,children:[n?.name===e.name&&!n.after&&(0,Q.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg pr-2 py-2${t?` opacity-50`:``}`,draggable:!g,onDragStart:o,onDragEnd:c,onDragOver:l,onDragLeave:u,onDrop:d,children:[(0,Q.jsx)(ot,{className:`h-4 w-4 shrink-0 ${g?`invisible`:`cursor-grab text-[var(--content-tertiary)]`}`}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1${_?``:` opacity-55`}`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(m,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),g&&(0,Q.jsx)(v,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename or disable this profile.`,children:`Platform`})]}),e.description||e.model||e.provider?(0,Q.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:xt(e)}):null]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Q.jsx)(`div`,{className:`flex shrink-0 items-center`,title:_?`Active — toggle to hide from pickers`:`Disabled — toggle to show in pickers`,children:(0,Q.jsx)(b,{checked:_,onChange:e=>h(e),disabled:a,"aria-label":`${_?`Disable`:`Enable`} ${e.label??e.name}`})}),(0,Q.jsxs)(`div`,{className:`flex w-[92px] items-center justify-end gap-2`,children:[(0,Q.jsx)(s,{variant:`ghost`,size:`compact`,onClick:f,children:g?`View`:`Edit`}),(0,Q.jsx)(s,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":`Delete ${e.label??e.name}`,disabled:g||r,title:g?`Managed profiles cannot be deleted`:void 0,onClick:p,tintColor:`var(--system-negative-strong)`})]})]})]}),n?.name===e.name&&n.after&&(0,Q.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),i?(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:i}):null]})}function Ct({isOpen:e,assistantId:t,onClose:n}){let r=u(),{data:i}=d({...B({path:{assistant_id:t}}),staleTime:3e4}),o=(0,Z.useMemo)(()=>i?.llm?.profiles??{},[i?.llm?.profiles]),s=(0,Z.useMemo)(()=>i?.llm?.profileOrder??[],[i?.llm?.profileOrder]),c=i?.llm?.activeProfile??null,l=i?.llm?.callSites??{},f=(0,Z.useMemo)(()=>Ae(o,s),[o,s]),p=V({onSuccess:e=>{U(r,{path:{assistant_id:t}},e)}}),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(null),{data:v}=d({...z({path:{assistant_id:t}}),enabled:e}),y=v?.connections,b=Object.keys(o);async function x(e,n,r){let i=r?.mode??`replace`,c=!(e in o);if(i===`merge`&&!c){await p.mutateAsync({path:{assistant_id:t},body:{llm:{profiles:{[e]:n}}}}),h(!1),_(null);return}let l={profiles:{[e]:n}};if(c&&(l.profileOrder=s.includes(e)?s:[...s,e]),c)await p.mutateAsync({path:{assistant_id:t},body:{llm:l}});else{let n=o[e];await p.mutateAsync({path:{assistant_id:t},body:{llm:{profiles:{[e]:null}}}});try{await p.mutateAsync({path:{assistant_id:t},body:{llm:l}})}catch(r){throw a(r,{context:`settings-ai-profile-edit-recreate`}),n!=null&&await p.mutateAsync({path:{assistant_id:t},body:{llm:{profiles:{[e]:n}}}}).catch(()=>{}),r}}c&&C.success(`Profile "${n.label??e}" created`),h(!1),_(null)}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(S.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,Q.jsx)(wt,{assistantId:t,profiles:o,profileOrder:s,orderedProfiles:f,activeProfile:c,callSiteOverrides:l,onClose:n,onEditClick:e=>{_(e),h(!0)},onNewClick:()=>{_(null),h(!0)}}):null}),(0,Q.jsx)(Y,{isOpen:m,mode:g?g.source===`managed`?`view`:`edit`:`create`,profileName:g?.name,initialValues:g??void 0,existingNames:b,connections:y,assistantId:t,onSave:x,onCancel:()=>{h(!1),_(null)}})]})}function wt({assistantId:e,profiles:t,profileOrder:n,orderedProfiles:r,activeProfile:i,callSiteOverrides:o,onClose:c,onEditClick:l,onNewClick:d}){let f=u(),p=V({onSuccess:t=>{U(f,{path:{assistant_id:e}},t)}}),[h,g]=(0,Z.useState)({}),[_,v]=(0,Z.useState)({}),[y,b]=(0,Z.useState)(new Set),[x,C]=(0,Z.useState)(null),[w,T]=(0,Z.useState)(null),[E,D]=(0,Z.useState)(null),[O,k]=(0,Z.useState)(null),A=(0,Z.useRef)(null),j=(0,Z.useRef)(null),[M,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(null),[I,L]=(0,Z.useState)(``),[R,z]=(0,Z.useState)(!1),B=(0,Z.useMemo)(()=>r,[r]);async function ee(n,r){if(y.has(n.name))return!1;b(e=>new Set(e).add(n.name)),C(null);let i=r?`active`:`disabled`;if(!t[n.name])return b(e=>{let t=new Set(e);return t.delete(n.name),t}),!1;try{return await p.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[n.name]:{status:i}}}}}),!0}catch(e){return a(e,{context:`settings-ai-profile-toggle`}),C(`Couldn't update "${n.label??n.name}". Please try again.`),!1}finally{b(e=>{let t=new Set(e);return t.delete(n.name),t})}}async function te(t){v(e=>({...e,[t]:!0})),g(e=>{let n={...e};return delete n[t],n});try{let r=n.filter(e=>e!==t);await p.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[t]:null},profileOrder:r}}})}catch(e){a(e,{context:`settings-ai-profile-delete`}),g(e=>({...e,[t]:`Failed to delete profile. Please try again.`}))}finally{v(e=>{let n={...e};return delete n[t],n})}}function H(e){let t=B.find(t=>t.name===e)?.label??e,n=e===i,r=Object.entries(o).filter(([t,n])=>t!==`mainAgent`&&n?.profile===e).map(([e])=>e);if(n||r.length>0){N({name:e,label:t,isActive:n,callSiteIds:r}),L(``),F(null);return}te(e)}async function W(){if(!M||!I)return;z(!0),F(null);let t={};if(M.isActive&&(t.activeProfile=I),M.callSiteIds.length>0){let e={};for(let t of M.callSiteIds)e[t]={profile:I};t.callSites=e}if(Object.keys(t).length>0)try{await p.mutateAsync({path:{assistant_id:e},body:{llm:t}})}catch(e){a(e,{context:`settings-ai-profile-reassign-delete`}),F(`Failed to reassign references. Please try again.`),z(!1);return}let n=M.name;N(null),z(!1),te(n)}async function G(t,r){if(t===r.name)return;k(null);let i=n.filter(e=>e!==t),o=i.indexOf(r.name);if(o===-1)return;r.after&&(o+=1);let s=[...i.slice(0,o),t,...i.slice(o)];try{await p.mutateAsync({path:{assistant_id:e},body:{llm:{profileOrder:s}}})}catch(e){a(e,{context:`settings-ai-profile-reorder`}),k(`Failed to reorder profiles. Please try again.`)}}let K=B.filter(e=>e.name!==M?.name&&e.source!==`managed`),ne=K.length>0?K:B.filter(e=>e.name!==M?.name);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(S.Content,{size:`md`,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Model Profiles`}),(0,Q.jsx)(S.Description,{children:`Bundle a provider and model into a named profile. Assign profiles to specific actions or swap between them when chatting.`})]}),(0,Q.jsxs)(S.Body,{children:[B.length===0?(0,Q.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No profiles yet. Create one to get started.`}):(0,Q.jsx)(`div`,{className:`space-y-1`,children:B.map(e=>(0,Q.jsx)(St,{profile:e,isDragging:w===e.name,dropTarget:E,isDeleting:_[e.name]??!1,deleteError:h[e.name],isToggling:y.has(e.name),onDragStart:t=>{A.current=e.name,T(e.name),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},onDragEnd:()=>{A.current=null,j.current=null,T(null),D(null)},onDragOver:t=>{t.preventDefault();let n=t.currentTarget.getBoundingClientRect(),r=t.clientY>n.top+n.height/2,i={name:e.name,after:r};j.current=i,D(i)},onDragLeave:t=>{t.currentTarget.contains(t.relatedTarget)||(j.current=null,D(t=>t?.name===e.name?null:t))},onDrop:e=>{e.preventDefault();let t=A.current,n=j.current;A.current=null,j.current=null,T(null),D(null),t&&n&&G(t,n)},onEditClick:()=>l(e),onDeleteClick:()=>H(e.name),onStatusToggle:t=>void ee(e,t)},e.name))}),O&&(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:O}),x&&(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:x})]}),(0,Q.jsxs)(S.Footer,{className:`justify-between`,children:[(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:d,children:`+ New Profile`}),(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Done`})]})]}),(0,Q.jsx)(yt,{blocked:M,availableReplacements:ne,replacement:I,onReplacementChange:L,error:P,saving:R,onClose:()=>{N(null),F(null)},onConfirm:()=>void W()})]})}function Tt({mode:e,connection:t,assistantId:n,existingNames:r,onSave:i,onCancel:a}){let[o,c]=(0,Z.useState)(e),[l,d]=(0,Z.useState)(void 0),f=o===`managed-edit`,[p,g]=(0,Z.useState)(t?.label??``),[_,v]=(0,Z.useState)(t?.name??``),[b,x]=(0,Z.useState)(t?.provider??`anthropic`),[C,w]=(0,Z.useState)(()=>t?t.auth.type:`platform`),[T,E]=(0,Z.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[D,O]=(0,Z.useState)(t?.baseUrl??``),[k,A]=(0,Z.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[j,M]=(0,Z.useState)(!1),[N,I]=(0,Z.useState)(null),L=b===`openai-compatible`,R=(0,Z.useMemo)(()=>b&&!De.includes(b)?[...De,b]:De,[b]),{handleLabelChange:z,resetDirty:B}=xe(o,g,v),[ee,V]=(0,Z.useState)(``),[H,U]=(0,Z.useState)(!1),W=u(),G=(0,Z.useMemo)(()=>ve(T),[T]),K=C===`api_key`&&G!==null,{hasStoredCredential:ne,isLoading:q}=Ke({assistantId:n,credentialKind:`credential`,credentialName:G?`${G.service}:${G.field}`:``,enabled:K}),{credentials:J}=Ge({assistantId:n,enabled:C===`api_key`});(0,Z.useEffect)(()=>{let e=t?.provider??`anthropic`;g(t?.label??``),v(t?.name??``),x(e),w(t?t.auth.type:`platform`),t?.auth.type===`api_key`?E(t.auth.credential):E(t?``:`credential/${e}/api_key`),B(),I(null),O(t?.baseUrl??``),A(t?.models?t.models.map(e=>e.id).join(`, `):``),V(``),U(!1)},[t,B]);function re(){c(`create`),d(b===`ollama`?`none`:`api_key`)}let ie=_.trim().length>0;async function ae(){if(ie){M(!0),I(null);try{let e;if(C===`api_key`){let t=T.trim()||`credential/${b}/api_key`,r=ee.trim();if(r){U(!0);try{let e=ve(t);await P({path:{assistant_id:n},body:e?{type:`credential`,name:`${e.service}:${e.field}`,value:r}:{type:`api_key`,name:b,value:r},throwOnError:!0});let i=He(n,`credential`,e?`${e.service}:${e.field}`:``);W.setQueryData(i,!0),W.invalidateQueries({queryKey:te({path:{assistant_id:n}})})}catch{I(`Failed to save API key. Please try again.`);return}finally{U(!1)}}e={type:`api_key`,credential:t}}else if(C===`oauth_subscription`)if(t?.auth.type===`oauth_subscription`)e=t.auth;else{I(`Use the "Sign in with ChatGPT" button to connect your subscription.`);return}else if(C===`service_account`)if(t?.auth.type===`service_account`)e=t.auth;else{I(`Service account connections cannot be created through this form.`);return}else e=C===`none`?{type:`none`}:{type:`platform`};let r=p.trim()||null,a={auth:e,label:r,...L&&{base_url:D.trim()||null,models:k.trim()?k.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:o,response:s}=await F({path:{assistant_id:n,name:t?.name??_.trim()},body:a});if(!s?.ok){I(we(s?.status,_.trim()));return}if(!o){I(`Server returned an empty response. Please try again.`);return}i(o)}catch{I(`Failed to save connection. Please try again.`)}finally{M(!1)}}}let oe=J.filter(e=>e.service===b),se=o!==`create`&&t?.auth.type===`api_key`,ce=oe.length>0||se,le=Ee(`Enter your API key`,ne);return o===`create`?(0,Q.jsx)(Se,{variant:`modal`,assistantId:n,existingNames:r,defaultProviderType:b,defaultAuthType:l,onCreated:i,onCancel:a},b):(0,Q.jsxs)(S.Content,{size:`md`,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Edit Connection`}),(0,Q.jsx)(S.Description,{children:f?`Managed by Vellum — auth is locked, but you can rename "${t?.name}".`:`Editing "${t?.name}".`})]}),(0,Q.jsxs)(S.Body,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,Q.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,Q.jsx)(y,{value:p,onChange:e=>z(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,Q.jsx)(y,{value:_,placeholder:`e.g. anthropic-personal`,disabled:!0,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{"aria-label":`Provider`,value:b,onChange:x,disabled:!0,options:R.map(e=>({value:e,label:Qe[e]}))})]}),L&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,Q.jsx)(y,{value:D,onChange:e=>O(e.target.value),placeholder:`https://api.example.com/v1`,disabled:f,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,Q.jsx)(y,{value:k,onChange:e=>A(e.target.value),placeholder:`model-1, model-2`,disabled:f,fullWidth:!0}),(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Auth Type`}),(0,Q.jsx)(h,{"aria-label":`Auth type`,value:C,onChange:e=>{w(e),I(null)},disabled:f||b===`ollama`,options:(()=>{let e;return e=b===`ollama`?[`none`]:tt(b)?[`api_key`,`platform`]:[`api_key`],C&&!e.includes(C)&&e.push(C),e.map(e=>({value:e,label:Te[e]}))})()})]}),C===`api_key`&&(0,Q.jsx)(Fe,{apiKeyValue:ee,onApiKeyChange:V,credential:T,onCredentialChange:E,isAuthLocked:f,isLoadingCredential:q,apiKeyPlaceholder:le,provider:b,providerCredentials:oe,showAdvancedSection:ce,onError:I}),C===`oauth_subscription`&&(0,Q.jsx)(Ye,{assistantId:n,onConnected:i}),N&&(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:N})]}),(0,Q.jsxs)(S.Footer,{children:[(0,Q.jsx)(s,{variant:`ghost`,size:`compact`,onClick:a,children:`Cancel`}),o===`managed-edit`&&(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:re,disabled:j||H,children:`Save as New`}),(0,Q.jsx)(s,{variant:`primary`,size:`compact`,disabled:!ie||j||H,onClick:()=>void ae(),children:j?`Saving…`:`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({isOpen:e,assistantId:t,onClose:n}){let[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(null),s=u(),{data:c,isLoading:l,isError:f}=d({...z({path:{assistant_id:t}}),enabled:e}),p=(0,Z.useMemo)(()=>c?.connections??[],[c]);function m(e){s.invalidateQueries({queryKey:G({path:{assistant_id:t}})}),i(!1),o(null)}let h=p.map(e=>e.name),g=()=>{i(!1),o(null)};return(0,Q.jsx)(S.Root,{open:e,onOpenChange:e=>{e||(r?g():n())},children:e?r?(0,Q.jsx)(Tt,{mode:a?a.isManaged?`managed-edit`:`edit`:`create`,connection:a??void 0,assistantId:t,existingNames:h,onSave:m,onCancel:g}):(0,Q.jsx)(Ot,{connections:p,loading:l,isError:f,assistantId:t,onClose:n,onEditClick:e=>{o(e),i(!0)},onNewClick:()=>{o(null),i(!0)},onConnectionDeleted:()=>{s.invalidateQueries({queryKey:G({path:{assistant_id:t}})})}}):null})}function Ot({connections:e,loading:t,isError:n,assistantId:r,onClose:i,onEditClick:a,onNewClick:o,onConnectionDeleted:c}){let[l,u]=(0,Z.useState)({}),[d,f]=(0,Z.useState)({});async function p(e){f(t=>({...t,[e]:!0})),u(t=>{let n={...t};return delete n[e],n});try{let{response:t}=await L({path:{assistant_id:r,name:e}});t?.ok||t?.status===404?c(e):t?.status===409?u(t=>({...t,[e]:`Connection is in use by one or more profiles. Remove those references first.`})):u(t=>({...t,[e]:`Failed to delete connection. Please try again.`}))}catch{u(t=>({...t,[e]:`Failed to delete connection. Please try again.`}))}finally{f(t=>{let n={...t};return delete n[e],n})}}return(0,Q.jsxs)(S.Content,{size:`md`,children:[(0,Q.jsxs)(S.Header,{children:[(0,Q.jsx)(S.Title,{children:`Provider Connections`}),(0,Q.jsx)(S.Description,{children:`Manage inference provider connections. Each connection binds a name to a provider and auth configuration.`})]}),(0,Q.jsx)(S.Body,{children:t?(0,Q.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,Q.jsx)(`div`,{className:`h-10 animate-pulse rounded-lg bg-[var(--surface-active)]`},e))}):n?(0,Q.jsx)(m,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:`Failed to load connections. Please try again.`}):e.length===0?(0,Q.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No connections yet. Create one to get started.`}):(0,Q.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>{let t=d[e.name]??!1,n=l[e.name],r=e.isManaged??!1;return(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg px-2 py-2`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(m,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),r&&(0,Q.jsx)(v,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename this connection.`,children:`Platform`})]}),(0,Q.jsxs)(m,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:[e.label?`${e.name} · `:``,Qe[e.provider]??e.provider,` · `,Et(e.auth)]})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Q.jsx)(s,{variant:`ghost`,size:`compact`,onClick:()=>a(e),children:`Edit`}),(0,Q.jsx)(s,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":`Delete ${e.name}`,disabled:r||t,title:r?`Managed connections cannot be deleted`:void 0,onClick:()=>void p(e.name),tintColor:`var(--system-negative-strong)`})]})]}),n?(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:n}):null]},e.name)})})}),(0,Q.jsxs)(S.Footer,{className:`justify-between`,children:[(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:o,children:`+ New Connection`}),(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:i,children:`Done`})]})]})}function kt(e){let[t,n]=(0,Z.useState)(void 0);return(0,Z.useEffect)(()=>{t!==void 0&&e===t.value&&n(void 0)},[e,t]),[t===void 0?e:t.value,(0,Z.useCallback)(e=>n(e===void 0?void 0:{value:e}),[])]}function At(){let e=X(),t=u(),{data:n}=d({...B({path:{assistant_id:e}}),staleTime:3e4}),r=n?.llm?.activeProfile??null,i=n?.llm?.advisorProfile??null,o=n?.llm?.callSites??{},{profiles:c,profileOrder:l}=Oe(n?.llm,e),f=(0,Z.useMemo)(()=>Ae(c,l),[c,l]),p=V({onSuccess:n=>{U(t,{path:{assistant_id:e}},n)}}),[g,_]=kt(r),[v,y]=kt(i),[b,x]=(0,Z.useState)(!1),[S,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(!1),D=(0,Z.useMemo)(()=>je(f,[g]),[f,g]),O=(0,Z.useMemo)(()=>je(f,[v]),[f,v]),k=Object.entries(o).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length,A=k===1?`1 Override`:k>0?`${k} Overrides`:`Overrides`,j=g!==r,N=v!==i,P=(0,Z.useCallback)(async()=>{try{let t={};j&&(t.activeProfile=g),N&&(t.advisorProfile=v),await p.mutateAsync({path:{assistant_id:e},body:{llm:t}}),C.success(`Saved.`)}catch(e){C.error(`Failed to save. Please try again.`),a(e,{context:`settings-ai-language-model-save`})}},[j,N,g,v,p,e]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ut,{title:`Language Model`,subtitle:`Configure the LLMs that power your assistant`,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Default Profile`}),(0,Q.jsx)(h,{value:g??``,onChange:e=>{_(e===``?null:e)},placeholder:`Select a default profile…`,options:D.map(e=>({value:e.name,label:Ze(e)}))}),D.length===0?(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-1 text-(--content-tertiary)`,children:`No profiles yet. Click Profiles below to create one.`}):null]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Advisor Profile`}),(0,Q.jsx)(h,{value:v??``,onChange:e=>{y(e===``?null:e)},placeholder:`Select an advisor profile…`,options:O.map(e=>({value:e.name,label:Ze(e)}))}),(0,Q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`mt-1 text-(--content-tertiary)`,children:`Which model your assistant consults for a second opinion`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>E(!0),children:`Providers`}),(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>x(!0),children:`Profiles`}),(0,Q.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>w(!0),children:A})]}),(j||N)&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:P,disabled:p.isPending}),p.isPending&&(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]})}),e&&(0,Q.jsx)(Ct,{isOpen:b,assistantId:e,onClose:()=>x(!1)}),e&&(0,Q.jsx)(_t,{isOpen:S,onClose:()=>w(!1),assistantId:e}),e&&(0,Q.jsx)(Dt,{isOpen:T,assistantId:e,onClose:()=>E(!1)})]})}var jt=`vellum:ai:imageGenMode`,Mt=`vellum:ai:imageGenModel`,Nt=`vellum:ai:webSearchMode`,Pt=`vellum:ai:webSearchProvider`,Ft=`vellum:ai:webFetchProvider`,It=`vellum:ai:emailMode`,Lt=`vellum:ai:emailByoProvider`,Rt=`vellum:voice:ttsProvider`,zt=`vellum:voice:ttsApiKey:`,Bt=`vellum:voice:ttsVoiceId:`,Vt=`vellum:voice:sttProvider`,Ht=`vellum:voice:sttApiKey:`;function Ut(){let e=X();return(0,Z.useCallback)(async(t,n)=>{try{let{data:r}=await P({path:{assistant_id:e},body:{value:n,type:`api_key`,name:t},throwOnError:!0});ze(r)}catch(e){throw e instanceof Error&&e.message===`No assistant found`?C.error(`Assistant not ready. Please try again.`):C.error(`Failed to save ${t} API key. Please try again.`),a(e,{context:`provision_provider_key`}),e}},[e])}function Wt(){let e=X(),i=u(),{data:o}=d({...B({path:{assistant_id:e}}),staleTime:3e4}),s=V({onSuccess:t=>{U(i,{path:{assistant_id:e}},t)}}),c=Ut(),{serverWebSearchMode:l,serverWebSearchProvider:f}=(0,Z.useMemo)(()=>{if(!o)return{serverWebSearchMode:Ne(n(Nt,`your-own`),`your-own`),serverWebSearchProvider:n(Pt,`inference-provider-native`)};let e=o.services?.[`web-search`];return{serverWebSearchMode:Ne(e?.mode??n(`vellum:ai:webSearchMode`,`your-own`),`your-own`),serverWebSearchProvider:e?.provider||n(`vellum:ai:webSearchProvider`,`inference-provider-native`)}},[o]),[p,m]=(0,Z.useState)(!1),[g,_]=kt(l),[v,b]=kt(f),[x,S]=(0,Z.useState)(``),w=Be.has(v),{hasStoredCredential:T}=Ke({assistantId:e,credentialKind:`api_key`,credentialName:v,enabled:w}),E=x.trim().length>0,D=p||g===`your-own`&&w&&!T&&!E||!(g!==l||(g===`managed`?`inference-provider-native`:v)!==f)&&!E,O=Ee(Ie[v]??`Enter your API key`,T),k=(0,Z.useCallback)(async()=>{m(!0);let t=x.trim(),n=g===`managed`?`inference-provider-native`:v,o=qe(n),l=g===`your-own`&&w&&t.length>0;try{l&&await c(n,t),await s.mutateAsync({path:{assistant_id:e},body:{services:{"web-search":{mode:g,provider:n}}}}).catch(e=>{throw C.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e})}catch{m(!1);return}m(!1);try{if(r(Nt,g),r(Pt,n),l){o&&r(o,t);let n=He(e,`api_key`,v);i.setQueryData(n,!0),i.invalidateQueries({queryKey:n}),S(``)}C.success(`Web search settings saved.`)}catch(e){a(e,{context:`settings-ai-web-search-persist-local`}),C.error(`Saved, but local preferences could not be written.`)}},[w,s,c,i,e,x,g,v]),A=(0,Z.useCallback)(()=>{let e=qe(v);e&&t(e),S(``),b(`inference-provider-native`),r(Pt,`inference-provider-native`)},[v,b]);return(0,Q.jsx)(ct,{title:`Web Search`,subtitle:`Configure how your assistant should search the web`,mode:g,onModeChange:e=>_(e),children:g===`managed`?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Web search is included with managed inference.`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:k,disabled:D}),p&&(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:v,onChange:b,options:Pe.map(e=>({value:e,label:Xe[e]??e}))})]}),w&&(0,Q.jsx)(y,{label:`API Key`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:O,fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:k,disabled:D}),p&&(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),w&&(0,Q.jsx)(lt,{onClick:A,filled:!0})]})]})})}var Gt=`default`;function Kt(){let e=X(),i=u(),{data:o}=d({...B({path:{assistant_id:e}}),staleTime:3e4}),s=V({onSuccess:t=>{U(i,{path:{assistant_id:e}},t)}}),c=Ut(),l=(0,Z.useMemo)(()=>o?o.services?.[`web-fetch`]?.provider||n(`vellum:ai:webFetchProvider`,Gt):n(Ft,Gt),[o]),[f,p]=(0,Z.useState)(!1),[m,g]=kt(l),[_,v]=(0,Z.useState)(``),b=We.has(m),{hasStoredCredential:x}=Ke({assistantId:e,credentialKind:`api_key`,credentialName:m,enabled:b}),S=_.trim().length>0,w=f||b&&!x&&!S||m===l&&!S,T=Ee(Le[m]??`Enter your API key`,x),E=(0,Z.useCallback)(async()=>{p(!0);let t=_.trim(),n=b&&t.length>0;try{n&&await c(m,t),await s.mutateAsync({path:{assistant_id:e},body:{services:{"web-fetch":{provider:m}}}}).catch(e=>{throw C.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e})}catch{p(!1);return}p(!1);try{if(r(Ft,m),n){let n=Ue(m);n&&r(n,t);let a=He(e,`api_key`,m);i.setQueryData(a,!0),i.invalidateQueries({queryKey:a}),v(``)}C.success(`Web fetch settings saved.`)}catch(e){a(e,{context:`settings-ai-web-fetch-persist-local`}),C.error(`Saved, but local preferences could not be written.`)}},[b,s,c,i,e,_,m]),D=(0,Z.useCallback)(()=>{let e=Ue(m);e&&t(e),v(``),g(Gt),r(Ft,Gt)},[m,g]);return(0,Q.jsx)(ut,{id:`web-fetch`,title:`Web Fetch`,subtitle:`Configure how your assistant reads individual web pages`,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:m,onChange:g,options:Re.map(e=>({value:e,label:Ve[e]??e}))})]}),b&&(0,Q.jsx)(y,{label:`API Key`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:T,fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:E,disabled:w}),f&&(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),b&&(0,Q.jsx)(lt,{onClick:D,filled:!0})]})]})})}var qt=[{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`}}],Jt=[{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`}},{id:`macos-native`,displayName:`macOS Native Dictation`,subtitle:`Apple's on-device speech recognition, running locally through the macOS helper. Works offline and needs no API key.`,requiresNativeDictation:!0,setupWarning:`Requires macOS Dictation to be turned on: open System Settings → Keyboard, then enable Dictation. macOS downloads the on-device speech model the first time Dictation is enabled — without it, voice input produces no transcript.`}],Yt=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}],Xt=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`],Zt={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`};function Qt({assistantId:e,assistantHandle:t,emailRootDomain:n}){let r=u(),i=c(),[o,p]=l(),[m,h]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(null),[S,w]=(0,Z.useState)(``),[T,E]=(0,Z.useState)(null),[D,A]=(0,Z.useState)(!1),[j,N]=(0,Z.useState)(!1),[P,F]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{v||!t||m||(h(t),y(!0))},[t,v,m]);let I=d({...oe(),enabled:!0}),L=I.data,R=L?.entitlements,z=R?.managed_email===!0,B=!!R&&!z,ee=!L&&I.isError&&!I.isFetching,te=d({...ie({path:{assistant_id:e}}),enabled:!B}),V=d({...pe({path:{assistant_id:e}}),enabled:!B}),H=te.data?.results?.[0],U=V.data?.results?.[0],W=H?`${H.subdomain}.${n}`:null,G=d({...le({path:{assistant_id:e,id:U?.id??``}}),enabled:!!U?.id,refetchOnWindowFocus:!1}),q=d({...he({path:{assistant_id:e,id:H?.id??``}}),enabled:!!H?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,Z.useEffect)(()=>{o.get(`release`)!==`1`||!H||U||(N(!0),p(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[U,H,o,p]);let J=f(fe()),re=f(me()),ge=f(ae()),ve=f(se()),Y=(0,Z.useCallback)(()=>{let t={assistant_id:e};r.invalidateQueries({queryKey:ue({path:t})}),r.invalidateQueries({queryKey:de({path:t})}),U?.id&&r.invalidateQueries({queryKey:ce({path:{...t,id:U.id}})}),r.invalidateQueries({queryKey:_e()})},[U?.id,e,r]),ye=(0,Z.useCallback)(async()=>{let t=m.trim().toLowerCase();if(!t){x(`Enter a subdomain.`);return}A(!1);try{await J.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),h(``),x(null),Y(),C.success(`Domain ${t}.${n} registered.`)}catch(e){x(K(e,void 0,`Failed to register domain.`))}},[e,n,Y,J,m]),be=(0,Z.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){E(`Enter an email username.`);return}try{await ge.mutateAsync({path:{assistant_id:e},body:{username:t}}),w(``),E(null),Y(),C.success(`Email address created.`)}catch(e){E(K(e,void 0,`Failed to create email address.`))}},[e,Y,ge,S]),xe=(0,Z.useCallback)(async()=>{if(U?.id){F(!1);try{await ve.mutateAsync({path:{assistant_id:e,id:U.id}}),Y(),C.success(`Email address removed.`)}catch(e){a(e,{context:`email_address_delete`}),C.error(`Failed to remove email address.`)}}},[U?.id,e,ve,Y]),Se=(0,Z.useCallback)(async()=>{if(!H?.id)return;if(U){C.error(`Remove the email address first.`);return}N(!1);let t=H.subdomain;try{await re.mutateAsync({path:{assistant_id:e,id:H.id}}),h(t),Y(),C.success(`Domain released.`)}catch(e){a(e,{context:`email_domain_release`}),C.error(`Failed to release domain.`)}},[U,e,re,H?.id,H?.subdomain,Y]);if(I.isLoading)return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin`}),`Checking subscription…`]});if(B)return(0,Q.jsxs)(_,{tone:`info`,icon:(0,Q.jsx)(O,{className:`h-4 w-4`,"aria-hidden":!0}),title:`Get a dedicated email address for your assistant`,actions:(0,Q.jsx)(s,{size:`compact`,onClick:()=>i(`${ne.settings.billing}?adjust_plan`),children:`Upgrade to Pro`}),children:[`Pro plans include a managed`,` `,`<your-subdomain>.${n}`,` inbox — no provider setup required. Or switch to `,(0,Q.jsx)(`strong`,{children:`Your Own`}),` to bring an existing provider.`]});let we=ee?(0,Q.jsx)(_,{tone:`warning`,title:`Couldn't verify subscription status`,actions:(0,Q.jsx)(s,{size:`compact`,variant:`outlined`,onClick:()=>I.refetch(),children:`Retry`}),children:`We couldn't reach the billing service. The form below assumes managed email is enabled for your org — if it isn't, registering a domain will fail.`}):null;return H?U?(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[we,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Address`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:U.address}),(0,Q.jsx)(ft,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,Q.jsx)(s,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(Ce,{}),onClick:()=>F(!0),disabled:ve.isPending,"aria-label":`Remove email address`})]}),(0,Q.jsx)(g,{open:P,title:`Remove Email Address`,message:(0,Q.jsxs)(Q.Fragment,{children:[`Are you sure you want to remove `,(0,Q.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:U.address}),`? Your assistant will no longer be able to send or receive email at this address.`]}),confirmLabel:`Remove`,destructive:!0,onConfirm:xe,onCancel:()=>F(!1)})]}),G.data?.usage&&(0,Q.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[G.data.usage.sent_today,` /`,` `,G.data.usage.daily_limit,` sent today ·`,` `,G.data.usage.received_today,` received`]})]}):(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[we,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Domain`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[H.subdomain,`.`,n]}),(0,Q.jsx)(ft,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,Q.jsx)(s,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(Ce,{}),onClick:()=>N(!0),disabled:re.isPending,"aria-label":`Release domain`})]}),(0,Q.jsx)(g,{open:j,title:`Release Domain`,message:(0,Q.jsxs)(Q.Fragment,{children:[`Are you sure you want to release `,(0,Q.jsxs)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:[H.subdomain,`.`,n]}),`? The subdomain will become available for others to claim.`]}),confirmLabel:`Release`,destructive:!0,onConfirm:Se,onCancel:()=>N(!1)})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Email address`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${T?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,Q.jsx)(`input`,{value:S,onChange:e=>{w(e.target.value.toLowerCase()),T&&E(null)},placeholder:`hi`,"aria-label":`Email username`,"aria-invalid":!!T,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,Q.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,W]})]}),(0,Q.jsx)(s,{onClick:be,disabled:ge.isPending||!S.trim(),children:ge.isPending?`Creating…`:`Create`})]}),T&&(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:T})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[we,(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Subdomain`}),(0,Q.jsx)(k,{subdomain:m,onSubdomainChange:e=>{h(e),b&&x(null)},domainSuffix:n,subdomainPlaceholder:`my-assistant`,error:b}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Each assistant gets its own subdomain. Lowercase letters, numbers, and hyphens only.`}),(0,Q.jsx)(s,{onClick:()=>A(!0),disabled:J.isPending||!m.trim(),children:J.isPending?`Registering…`:`Register`}),(0,Q.jsx)(g,{open:D,title:`Set Subdomain`,message:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:m.trim().toLowerCase()||`subdomain`}),` will also become your assistant's public handle. You won't be able to change it once set.`]}),confirmLabel:`Confirm`,onConfirm:ye,onCancel:()=>A(!1)})]})}function $t(){let e=X(),t=q(),{data:o}=d({...ge(),enabled:t}),s=o?.results?.[0]?.handle,c=at.use.emailRootDomain(),l=Je(),[u,f]=(0,Z.useState)(()=>l===`gated`?`your-own`:Ne(n(It,`managed`),`managed`)),[p,m]=(0,Z.useState)(()=>{let e=n(Lt,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),g=d({queryKey:[`byoEmailCredential`,e,p],queryFn:async()=>{let{data:t}=await R({path:{assistant_id:e},body:{service:p,field:`api_key`},throwOnError:!0});return t},enabled:u===`your-own`||l===`gated`,staleTime:6e4,retry:i,meta:{errorContext:`byo_email_credential_check`}});(0,Z.useEffect)(()=>{g.error&&a(g.error,{context:`byo_email_credential_check`,bestEffort:!0})},[g.error]);let _=g.data?.hasSecret===!0,v=(0,Z.useCallback)(e=>{f(e),r(It,e)},[]),y=(0,Z.useCallback)(()=>{r(Lt,p),C.success(`Email settings saved.`)},[p]),b=(0,Z.useMemo)(()=>Yt.find(e=>e.id===p)??Yt[0],[p]),x=(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(j,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsxs)(`span`,{children:[`Configure `,b.displayName,` via the assistant CLI: ask the assistant to run the`,` `,(0,Q.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:b.setupSkill}),` `,`skill. It walks you through storing the API key, detecting the domain, and (optionally) wiring up an inbound webhook.`]}),(0,Q.jsxs)(`a`,{href:b.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,b.displayName,(0,Q.jsx)(A,{className:`h-3 w-3`})]})]})]}),S=(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:p,onChange:e=>{(e===`mailgun`||e===`resend`)&&m(e)},options:Yt.map(e=>({value:e.id,label:e.displayName}))})]}),_?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,Q.jsx)(D,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsxs)(`span`,{children:[b.displayName,` API key configured. To reconfigure, run the`,` `,(0,Q.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:b.setupSkill}),` `,`skill.`]})]}),(0,Q.jsxs)(`a`,{href:b.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,b.displayName,(0,Q.jsx)(A,{className:`h-3 w-3`})]})]}):x,(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Q.jsx)($,{onClick:y,disabled:!1})})]});return l===`gated`?(0,Q.jsx)(ut,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,children:S}):(0,Q.jsx)(ct,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,mode:u,onModeChange:v,children:u===`managed`?(0,Q.jsx)(`div`,{className:`space-y-4`,children:l===`disabled`?(0,Q.jsx)($e,{children:`Log in to the Vellum platform to manage email settings.`}):(0,Q.jsx)(Qt,{assistantId:e,assistantHandle:s,emailRootDomain:c})}):S})}function en(){let e=X(),t=u(),{data:i}=d({...B({path:{assistant_id:e}}),staleTime:3e4}),o=V({onSuccess:n=>{U(t,{path:{assistant_id:e}},n)}}),s=Ut(),[c,l]=kt((0,Z.useMemo)(()=>Ne(i?i.services?.[`image-generation`]?.mode??n(`vellum:ai:imageGenMode`,`your-own`):n(jt,`your-own`),`your-own`),[i])),[f,p]=(0,Z.useState)(()=>n(Mt,`gemini-3.1-flash-image-preview`)),[m,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(!1),b=(0,Z.useCallback)(async()=>{v(!0);let n=m.trim(),i=c===`your-own`&&n.length>0;try{i&&await s(`gemini`,n),await o.mutateAsync({path:{assistant_id:e},body:{services:{"image-generation":{mode:c}}}}).catch(e=>{throw C.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e});try{await I({path:{assistant_id:e},body:{modelId:f},throwOnError:!0})}catch(e){throw C.error(`Failed to update image generation model. Please try again.`),a(e,{context:`set_image_gen_model`}),e}finally{t.invalidateQueries({queryKey:H({path:{assistant_id:e}})})}}catch{v(!1);return}v(!1);try{r(jt,c),r(Mt,f),i&&g(``),C.success(`Image generation settings saved.`)}catch(e){a(e,{context:`settings-ai-image-gen-persist-local`}),C.error(`Saved, but local preferences could not be written.`)}},[m,c,f,e,o,s,t]),x=(0,Z.useCallback)(()=>{g(``),p(`gemini-3.1-flash-image-preview`),r(Mt,`gemini-3.1-flash-image-preview`)},[]);return(0,Q.jsx)(ct,{title:`Image Generation`,subtitle:`Configure which model your assistant uses to generate images`,mode:c,onModeChange:e=>l(e),children:c===`managed`?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,Q.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,Q.jsx)(h,{className:`flex-1`,value:f,onChange:p,options:Xt.map(e=>({value:e,label:Zt[e]??e}))}),(0,Q.jsx)($,{onClick:b,disabled:_}),_&&(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(y,{label:`API Key`,type:`password`,value:m,onChange:e=>g(e.target.value),placeholder:`Enter your Gemini API key`,fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,Q.jsx)(h,{value:f,onChange:p,options:Xt.map(e=>({value:e,label:Zt[e]??e}))})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:b,disabled:_}),_&&(0,Q.jsx)(M,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),(0,Q.jsx)(lt,{onClick:x})]})]})})}async function tn(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 nn(n,r,i):t===`deepgram`?await rn(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 nn(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 an(i,`ElevenLabs rejected the request.`)}}async function rn(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 an(n,`Deepgram rejected the request.`)}}async function an(e,t){try{let n=await e.text();if(n.length===0)return`${t} (HTTP ${e.status})`;try{let e=JSON.parse(n);if(e&&typeof e==`object`&&`detail`in e&&typeof e.detail==`string`)return e.detail;if(e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`)return e.message}catch{}return n.slice(0,200)}catch{return`${t} (HTTP ${e.status})`}}function on(){let e=X(),t=J.use.name()??`your assistant`,i=q(),{data:a}=d({...W({path:{assistant_id:e}}),enabled:i,staleTime:1/0}),o=a?.providers??qt,c=o[0]?.id??`elevenlabs`,[l,u]=(0,Z.useState)(()=>n(Rt,c)),[f,p]=(0,Z.useState)(l),[m,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[b,x]=(0,Z.useState)(``),[S,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(!1),D=(0,Z.useMemo)(()=>o.find(e=>e.id===l)??o[0],[l,o]),O=(0,Z.useCallback)(e=>{let t=n(zt+e,``),r=n(Bt+e,``);w(t.length>0),v(r),x(r),g(``)},[]);(0,Z.useEffect)(()=>{O(l)},[l,O]);let k=(0,Z.useMemo)(()=>{let e=l!==f,t=m.trim().length>0,n=_.trim()!==b;return e||t||n},[l,f,m,_,b]),A=(0,Z.useCallback)(()=>{r(Rt,l);let e=m.trim();e.length>0&&(r(zt+l,e),w(!0));let t=_.trim();r(Bt+l,t),p(l),x(t),g(``)},[l,m,_]),j=(0,Z.useCallback)(()=>{r(zt+l,``),w(!1),g(``)},[l]),M=(0,Z.useCallback)(async()=>{E(!0);try{let e=n(zt+l,``),r=m.trim(),i=r.length>0?r:e;if(i.length===0){C.error(`Save an API key for this provider before testing.`);return}let a=n(Bt+l,``),o=_.trim(),s=await tn({provider:l,apiKey:i,voiceId:o.length>0?o:a,text:`Hey! It's ${t}. How does this sound?`});if(s.kind!==`audio`){C.error(s.message);return}let c=URL.createObjectURL(s.blob);try{let e=new Audio(c);await e.play(),await new Promise(t=>{e.onended=()=>t(),e.onerror=()=>t()})}finally{URL.revokeObjectURL(c)}}finally{E(!1)}},[t,m,l,_]),N=S?`•••••••• (Enter a new key to replace)`:D.apiKeyPlaceholder;return(0,Q.jsx)(ut,{title:`Text-to-Speech`,subtitle:D.subtitle,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:l,onChange:u,options:o.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,Q.jsx)(y,{type:`password`,value:m,onChange:e=>g(e.target.value),placeholder:N,fullWidth:!0})]}),D.supportsVoiceSelection&&(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice ID`}),(0,Q.jsx)(y,{type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),(0,Q.jsx)(dt,{guide:D.credentialsGuide}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(s,{variant:`outlined`,onClick:M,disabled:T,children:T?`Testing…`:`Test`}),(0,Q.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Q.jsx)($,{onClick:A,disabled:!k}),S&&(0,Q.jsx)(lt,{onClick:j})]})]})]})})}function sn(){let[e]=(0,Z.useState)(()=>Jt.filter(e=>!e.requiresNativeDictation||et())),t=e[0]?.id??`deepgram`,[i,a]=(0,Z.useState)(()=>{let r=n(Vt,t);return e.some(e=>e.id===r)?r:t}),[o,s]=(0,Z.useState)(i),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{let i=n(Vt,t);i===`macos-native`&&!e.some(e=>e.id===i)&&r(Vt,t)},[e,t]);let f=(0,Z.useMemo)(()=>e.find(e=>e.id===i)??e[0],[e,i]),p=f.apiKeyPlaceholder!==void 0;(0,Z.useEffect)(()=>{d(n(Ht+i,``).length>0),l(``)},[i]);let m=(0,Z.useMemo)(()=>{let e=i!==o,t=c.trim().length>0;return e||t},[i,o,c]),g=(0,Z.useCallback)(()=>{r(Vt,i);let e=c.trim();e.length>0&&(r(Ht+i,e),d(!0)),s(i),l(``)},[i,c]),_=(0,Z.useCallback)(()=>{r(Ht+i,``),d(!1),l(``)},[i]),v=u?`•••••••• (Enter a new key to replace)`:f.apiKeyPlaceholder;return(0,Q.jsx)(ut,{title:`Speech-to-Text`,subtitle:f.subtitle,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,Q.jsx)(h,{value:i,onChange:a,options:e.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),p&&(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,Q.jsx)(y,{type:`password`,value:c,onChange:e=>l(e.target.value),placeholder:v,fullWidth:!0})]}),f.setupWarning&&(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(N,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-mid-strong)]`}),(0,Q.jsx)(`span`,{children:f.setupWarning})]}),f.credentialsGuide&&(0,Q.jsx)(dt,{guide:f.credentialsGuide}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,Q.jsx)($,{onClick:g,disabled:!m}),u&&(0,Q.jsx)(lt,{onClick:_})]})]})})}function cn(){return(0,Z.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]),(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-2.5`,children:[(0,Q.jsx)(j,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,Q.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:[`Managed services are metered and deducted from your Vellum account balance.`,` `,(0,Q.jsxs)(`a`,{href:`https://www.vellum.ai/docs/pricing`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--primary-base)] hover:underline`,children:[`View pricing`,(0,Q.jsx)(A,{className:`h-3.5 w-3.5`})]})]})]}),(0,Q.jsx)(At,{}),(0,Q.jsx)(Wt,{}),(0,Q.jsx)(Kt,{}),(0,Q.jsx)($t,{}),(0,Q.jsx)(en,{}),(0,Q.jsx)(on,{}),(0,Q.jsx)(sn,{})]})}export{cn as AiPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e,c as t,tt as n}from"./local-mode-BD2zqd9I.js";import{s as r}from"./assistant-api-BKBoHcTV.js";import{_ as i,at as a,g as o,h as s,it as c,yt as l}from"./sdk.gen-BTIMXC7B.js";import{i as u,n as d}from"./api-errors-B-g6gvNv.js";import{B as f,C as p,R as m,a as h,i as g,o as _,w as v,z as y}from"./sdk.gen-DSjI3deY.js";async function b(e,t){let{data:n,error:r,response:i}=await p({body:e??{},query:t?{mode:t}:void 0,throwOnError:!1});return d(i,r,`Failed to hatch assistant.`),i.ok?{ok:!0,status:i.status,data:n}:{ok:!1,status:i.status,error:u(r,i)}}async function x(e){if(n()){let e=t();if(e)return{ok:!0,status:200,data:{id:e.assistantId,name:e.name??e.assistantId,status:`active`,is_local:!0,created:e.hatchedAt??``}}}if(e){let{data:t,error:n,response:r}=await f({path:{id:e},throwOnError:!1});return d(r,n,`Failed to get assistant.`),r.ok?{ok:!0,status:r.status,data:t}:{ok:!1,status:r.status,error:u(n,r)}}let r=await v({query:{hosting:`platform`},throwOnError:!1});if(d(r.response,r.error,`Failed to get assistant.`),!r.response.ok)return{ok:!1,status:r.response.status,error:u(r.error,r.response)};let i=r.data?.results??[];if(i.length>0)return{ok:!0,status:r.response.status,data:i[0]};let a=await v({query:{hosting:`local`},throwOnError:!1});if(d(a.response,a.error,`Failed to get assistant.`),a.response.ok){let e=a.data?.results??[];if(e.length>0)return{ok:!0,status:a.response.status,data:e[0]}}return a.response.ok?{ok:!1,status:404,error:{detail:`No assistants found`}}:{ok:!1,status:a.response.status,error:u(a.error,a.response)}}async function S(e){let{data:t,error:n,response:r}=await l({path:{assistant_id:e},throwOnError:!1});return d(r,n,`Failed to get assistant healthz.`),r.ok&&t?{ok:!0,status:r.status,data:t}:{ok:!1,status:r.status,error:u(n,r)}}async function C(e){let{data:t,error:n,response:i}=await a({path:{assistant_id:e},throwOnError:!1});if(d(i,n,`Failed to get assistant disk pressure status.`),i.ok){let e=r.safeParse(t);return e.success?{ok:!0,status:i.status,data:e.data}:{ok:!1,status:i.status,error:u(e.error.message,i)}}return{ok:!1,status:i.status,error:u(n,i)}}async function w(e){let{data:t,error:n,response:i}=await c({path:{assistant_id:e},throwOnError:!1});if(d(i,n,`Failed to acknowledge assistant disk pressure.`),i.ok){let e=r.safeParse(t);return e.success?{ok:!0,status:i.status,data:e.data}:{ok:!1,status:i.status,error:u(e.error.message,i)}}return{ok:!1,status:i.status,error:u(n,i)}}function T(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};if(Array.isArray(t.backups))return t.backups;let n=t,r=[],i=n.local?.snapshots;if(Array.isArray(i))for(let e of i)r.push({snapshot_name:e.filename,pvc:``,created_at:e.created_at,ready_to_use:!0,backup_type:`scheduled`,path:e.path});if(Array.isArray(n.offsite)){for(let e of n.offsite)if(Array.isArray(e.snapshots))for(let t of e.snapshots)r.push({snapshot_name:t.filename,pvc:``,created_at:t.created_at,ready_to_use:!t.encrypted,backup_type:`scheduled`,path:t.path})}return r}function E(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};return Array.isArray(t.backups)?t.backups:[]}async function D(t){let n=!e(),[r,i]=await Promise.all([o({path:{assistant_id:t},throwOnError:!1}),n?_({path:{assistant_id:t},throwOnError:!1}):null]);if(d(r.response,r.error,`Failed to list assistant backups.`),!r.response.ok)return{ok:!1,status:r.response.status,error:u(r.error,r.response)};let a=T(r.data);if(i){if(i.response?.ok){let e=E(i.data);return{ok:!0,status:r.response.status,data:[...e,...a]}}if(a.length===0&&i.response)return{ok:!1,status:i.response.status,error:u(i.error,i.response)}}return{ok:!0,status:r.response.status,data:a}}async function O(t){let{data:n,error:r,response:i}=e()?await s({path:{assistant_id:t},throwOnError:!1}):await g({path:{assistant_id:t},throwOnError:!1});if(d(i,r,`Failed to create assistant backup.`),i.ok){let e=n&&typeof n==`object`&&!Array.isArray(n)?n:{};return{ok:!0,status:i.status,data:e}}return{ok:!1,status:i.status,error:u(r,i)}}async function k(t,n){let{data:r,error:a,response:o}=e()?await i({path:{assistant_id:t},body:{path:n.path??n.snapshot_name},throwOnError:!1}):await h({path:{assistant_id:t,snapshot_name:n.snapshot_name},throwOnError:!1});if(d(o,a,`Failed to restore assistant backup.`),o.ok){let e=r&&typeof r==`object`&&!Array.isArray(r)?r:{};return{ok:!0,status:o.status,data:e}}return{ok:!1,status:o.status,error:u(a,o)}}async function A(e){let{data:t,error:n,response:r}=await m({path:{id:e},throwOnError:!1});return d(r,n,`Failed to restart assistant.`),r.ok?{ok:!0,data:t&&typeof t==`object`&&!Array.isArray(t)?t:{}}:{ok:!1,status:r.status,error:u(n,r)}}async function j(e){let{error:t,response:n}=await y({path:{id:e},throwOnError:!1});return d(n,t,`Failed to retire assistant.`),n.ok?{ok:!0}:{ok:!1,status:n.status,error:u(t,n)}}async function M(){let{data:e,error:t,response:n}=await v({query:{hosting:`all`},throwOnError:!1});return d(n,t,`Failed to list assistants.`),n.ok?{ok:!0,status:n.status,data:e?.results??[]}:{ok:!1,status:n.status,error:u(t,n)}}export{S as a,M as c,j as d,C as i,A as l,O as n,b as o,x as r,D as s,w as t,k as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./dropdown-yOV5eJnU.js";import{t as s}from"./input-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./dropdown-yOV5eJnU.js";import{t as s}from"./input-Ch7OC6ME.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{a as l}from"./routes-DlW6mpdp.js";import{kt as u}from"./index-1kam3Nv0.js";import{n as d,r as f}from"./provider-key-DLsM5EJF.js";var p=e(t(),1),m=[{id:`anthropic`,displayName:`Anthropic`,apiKeyPlaceholder:`sk-ant-api03-...`,docsUrl:`https://console.anthropic.com/settings/keys`,requiresKey:!0},{id:`openai`,displayName:`OpenAI`,apiKeyPlaceholder:`sk-proj-...`,docsUrl:`https://platform.openai.com/api-keys`,requiresKey:!0},{id:`gemini`,displayName:`Google Gemini`,apiKeyPlaceholder:`AIza...`,docsUrl:`https://aistudio.google.com/apikey`,requiresKey:!0},{id:`ollama`,displayName:`Ollama`,apiKeyPlaceholder:null,docsUrl:`https://ollama.com/download`,requiresKey:!1},{id:`fireworks`,displayName:`Fireworks`,apiKeyPlaceholder:`fw_...`,docsUrl:`https://fireworks.ai/account/api-keys`,requiresKey:!0},{id:`openrouter`,displayName:`OpenRouter`,apiKeyPlaceholder:`sk-or-v1-...`,docsUrl:`https://openrouter.ai/keys`,requiresKey:!0},{id:`openai-compatible`,displayName:`OpenAI-compatible`,apiKeyPlaceholder:`Your provider's API key`,docsUrl:null,requiresKey:!0}],h=m[0];function g(e){return m.find(t=>t.id===e)}var _=a();function v(){let e=r(),[t]=i(),a=t.get(`hosting`),v=c(),[y,b]=(0,p.useState)(()=>d()?.provider??h.id),[x,S]=(0,p.useState)(()=>d()?.key??``),C=g(y)??h,w=C.requiresKey,T=!w||x.trim().length>0;return(0,_.jsx)(u,{children:(0,_.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${v?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,_.jsx)(`h1`,{className:v?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Connect a Model Provider`}),(0,_.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${v?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Enter an API key to connect your model provider.`}),(0,_.jsxs)(`div`,{className:`flex w-full flex-col gap-4 ${v?`mt-8`:`mt-10`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:[(0,_.jsxs)(`div`,{className:`flex flex-col ${v?`gap-2`:`gap-1`}`,children:[(0,_.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,_.jsx)(o,{"aria-label":`Provider`,value:y,onChange:e=>{let t=g(e);t&&(b(t.id),S(``))},options:m.map(e=>({value:e.id,label:e.displayName}))})]}),w&&(0,_.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,_.jsx)(s,{type:`password`,label:`${C.displayName} API Key`,placeholder:C.apiKeyPlaceholder??`Enter your API key`,value:x,onChange:e=>S(e.target.value),fullWidth:!0}),C.docsUrl&&(0,_.jsxs)(`p`,{className:`self-start text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`Don't have it?`,` `,(0,_.jsx)(`a`,{href:C.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-[var(--content-default)] underline`,children:`Get an API key here`})]})]})]}),(0,_.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${v?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,_.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!T,onClick:()=>{T&&(f({provider:y,key:w?x.trim():``}),e(a?`${l.onboarding.privacy}?hosting=${a}`:l.onboarding.privacy))},className:v?void 0:`h-11 text-base`,children:`Continue`}),(0,_.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>{e(l.onboarding.hosting)},className:v?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{v as ApiKeyScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-
|
|
1
|
+
import{t as e}from"./createLucideIcon-BlMXrA59.js";var t=e(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BaKOqBjF.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-D7s2Q_uG.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-BibIM9x3.js";import"./src-BJj2O5XB.js";import{n as s}from"./toast-CxaZ5f1d.js";import{t as c}from"./archive-BFILUl9x.js";import{t as l}from"./loader-circle-BU6b8vrp.js";import{t as u}from"./triangle-alert-B3q5kQ4P.js";import{G as d}from"./sdk.gen-BTIMXC7B.js";import{t as f}from"./conversation-queries-C_dW4Y1z.js";import{Jr as p,Tn as m}from"./index-1kam3Nv0.js";import{t as h}from"./use-active-assistant-id-DXjofATQ.js";var g=e(n(),1),_=a();function v(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function y(){return(0,_.jsx)(o,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,_.jsx)(c,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Conversations you archive will appear here.`})]})})}function b({conversation:e,isFirst:t,onUnarchive:n,isPending:i}){let a=[v(e.createdAt),e.source??`vellum-assistant`].filter(Boolean).join(` · `),o=e.title&&e.title.trim().length>0?e.title:`Untitled conversation`;return(0,_.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,_.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:o}),(0,_.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:a})]}),(0,_.jsx)(r,{variant:`outlined`,onClick:n,disabled:i,className:`shrink-0`,children:i?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Unarchiving`]}):`Unarchive`})]})}function x(){let e=i(),n=h(),{conversations:a,isLoading:c,isError:v,refetch:x}=f(n),[S,C]=(0,g.useState)(null),w=(0,g.useCallback)(async r=>{if(n){C(r);try{await d({path:{assistant_id:n,id:r},throwOnError:!0}),m(e,n)}catch(e){t(e,{context:`archive_settings_unarchive_conversation`}),s.error(`Failed to unarchive conversation.`)}finally{C(null)}}},[n,e]);return c?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,_.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-disabled)]`})})}):v?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(o,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--system-error-lighter)]`,children:(0,_.jsx)(u,{className:`h-6 w-6 text-[var(--system-error-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`Failed to load archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Something went wrong. Please try again.`}),(0,_.jsxs)(r,{variant:`outlined`,onClick:x,className:`mt-4`,children:[(0,_.jsx)(p,{className:`h-4 w-4`}),`Retry`]})]})})}):a.length===0?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(y,{})}):(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(o,{noPadding:!0,className:`px-4`,children:a.map((e,t)=>(0,_.jsx)(b,{conversation:e,isFirst:t===0,onUnarchive:()=>{w(e.conversationId)},isPending:S===e.conversationId},e.conversationId))})})}export{x as ArchivePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-BlMXrA59.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-BlMXrA59.js";var t=e(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as ee}from"./chunk-jRWAZmH_.js";import{B as e,F as t,G as te,H as n,I as r,L as ne,M as re,N as i,P as a,R as o,U as ie,V as s,W as c,z as l}from"./local-mode-BD2zqd9I.js";function u(ee){return te(re,ee)}var d=i([`idle`,`thinking`,`streaming`,`tool_running`,`awaiting_confirmation`]),ae=i([`assistant_turn`,`user_turn`,`global`]),oe=i([`message_dequeued`,`thinking_delta`,`first_text_delta`,`tool_use_start`,`preview_start`,`tool_result_received`,`confirmation_requested`,`confirmation_resolved`,`context_compacting`,`message_complete`,`generation_cancelled`,`error_terminal`]),se=e({type:o(`assistant_activity_state`),conversationId:n(),activityVersion:l(),phase:d,anchor:ae,reason:oe,requestId:n().optional(),statusText:n().optional()}),ce=e({type:o(`assistant_text_delta`),text:n(),messageId:n().optional(),conversationId:n().optional()}),le=e({type:o(`assistant_thinking_delta`),thinking:n(),messageId:n().optional(),conversationId:n().optional(),timestampMs:l().optional()}),ue=e({type:o(`assistant_turn_start`),messageId:n(),conversationId:n().optional()}),de=e({type:o(`avatar_updated`),avatarPath:n()}),fe=e({type:o(`compaction_circuit_closed`),conversationId:n()}),pe=e({type:o(`compaction_circuit_open`),conversationId:n(),reason:o(`3_consecutive_failures`),openUntil:l()}),f=e({label:n(),description:n(),pattern:n()}),p=e({label:n(),scope:n()}),m=e({label:n(),scope:n()}),h=e({filePath:n(),oldContent:n(),newContent:n(),isNewFile:r()}),g=i([`allow_once`,`allow_always`,`reject_once`,`reject_always`]),_=e({optionId:n(),name:n(),kind:g}),v=i([`sandbox`,`host`]),y=e({type:o(`confirmation_request`),requestId:n(),toolName:n(),input:s(n(),c()),riskLevel:n(),riskReason:n().optional(),isContainerized:r().optional(),executionTarget:v.optional(),allowlistOptions:t(f),scopeOptions:t(p),directoryScopeOptions:t(m).optional(),diff:h.optional(),conversationId:n().optional(),persistentDecisionsAllowed:r().optional(),toolUseId:n().optional(),acpToolKind:n().optional(),acpOptions:t(_).optional()}),b=e({type:o(`contact_request`),requestId:n(),channel:n().optional(),placeholder:n().optional(),label:n().optional(),description:n().optional(),role:n().optional()}),x=i([`PROVIDER_NETWORK`,`PROVIDER_RATE_LIMIT`,`MANAGED_USAGE_LIMIT`,`PROVIDER_OVERLOADED`,`PROVIDER_API`,`IMAGE_TOO_LARGE`,`PROVIDER_BILLING`,`PROVIDER_ORDERING`,`PROVIDER_WEB_SEARCH`,`PROVIDER_NOT_CONFIGURED`,`PROVIDER_INVALID_KEY`,`MANAGED_KEY_INVALID`,`CONTEXT_TOO_LARGE`,`BUDGET_YIELD_UNRECOVERED`,`MAX_TOKENS_REACHED`,`CONVERSATION_ABORTED`,`CONVERSATION_PROCESSING_FAILED`,`DISK_SPACE_CRITICAL`,`REGENERATE_FAILED`,`UNKNOWN`]),S=e({type:o(`conversation_error`),conversationId:n(),code:x,userMessage:n(),retryable:r(),debugDetails:n().optional(),errorCategory:n().optional(),connectionName:n().optional(),profileName:n().optional()}),C=i([`created`,`renamed`,`deleted`,`reordered`,`seen_changed`]),w=e({type:o(`conversation_list_invalidated`),reason:C}),T=e({type:o(`conversation_title_updated`),conversationId:n(),title:n()}),E=i([`disabled`,`ok`,`warning`,`critical`,`unknown`]),D=i([`agent-turns`,`background-work`,`remote-ingress`]),O=e({enabled:r(),state:E,locked:r(),acknowledged:r(),overrideActive:r(),effectivelyLocked:r(),lockId:n().nullable(),usagePercent:l().nullable(),thresholdPercent:l(),path:n().nullable(),lastCheckedAt:n().nullable(),blockedCapabilities:t(D),error:n().nullable()}),k=e({type:o(`disk_pressure_status_changed`),status:O}),me=e({id:n(),surfaceId:n(),author:n(),content:n(),anchorStart:l().optional(),anchorEnd:l().optional(),anchorText:n().optional(),parentCommentId:n().optional(),status:n(),createdAt:l(),updatedAt:l()}),A=e({type:o(`document_comment_created`),conversationId:n(),surfaceId:n(),comment:me}),j=e({type:o(`document_comment_deleted`),conversationId:n(),surfaceId:n(),commentId:n()}),M=e({type:o(`document_comment_reopened`),conversationId:n(),surfaceId:n(),commentId:n()}),N=e({type:o(`document_comment_resolved`),conversationId:n(),surfaceId:n(),commentId:n(),resolvedBy:n()}),P=e({type:o(`document_editor_update`),conversationId:n(),surfaceId:n(),markdown:n(),mode:n()}),F=e({type:o(`error`),message:n(),code:n().optional(),category:n().optional(),errorCategory:n().optional(),requestId:n().optional(),conversationId:n().optional()}),I=e({type:o(`generation_cancelled`),conversationId:n().optional()}),L=e({id:n().optional(),filename:n(),mimeType:n(),data:n(),sourceType:i([`sandbox_file`,`host_file`,`tool_block`]).optional(),sizeBytes:l().optional(),thumbnailData:n().optional(),fileBacked:r().optional(),filePath:n().optional()}),R=e({type:o(`generation_handoff`),conversationId:n().optional(),requestId:n().optional(),queuedCount:l(),messageId:n().optional(),attachments:t(L).optional(),attachmentWarnings:t(n()).optional()}),z=e({type:o(`home_feed_updated`),updatedAt:n(),newItemCount:l()}),B=e({type:o(`identity_changed`),name:n(),role:n(),personality:n(),emoji:n(),home:n()}),he=i([`approved`,`rejected`,`answered`,`cancelled`,`superseded`]),ge=e({type:o(`interaction_resolved`),requestId:n(),conversationId:n(),state:he,kind:n()}),_e=e({type:o(`message_complete`),messageId:n().optional(),conversationId:n().optional(),source:i([`main`,`aux`]).optional(),attachments:t(L).optional(),attachmentWarnings:t(n()).optional()}),ve=e({type:o(`message_dequeued`),conversationId:n(),requestId:n()}),ye=e({type:o(`message_queued`),conversationId:n(),requestId:n(),position:l()}),be=e({type:o(`message_queued_deleted`),conversationId:n(),requestId:n()}),xe=e({type:o(`message_request_complete`),conversationId:n(),requestId:n(),runStillActive:r().optional()}),Se=e({type:o(`navigate_settings`),tab:n()}),Ce=e({type:o(`notification_intent`),sourceEventName:n(),title:n(),body:n(),deliveryId:n().optional(),deepLinkMetadata:s(n(),c()).optional(),targetGuardianPrincipalId:n().optional(),silent:r().optional()}),we=e({type:o(`open_url`),url:n().min(1),title:n().optional(),conversationId:n().optional()}),V=e({id:n(),label:n(),description:n().optional()}),H=e({id:n(),question:n(),description:n().optional(),options:t(V),freeTextPlaceholder:n().optional()}),Te=e({type:o(`question_request`),requestId:n(),questions:t(H),question:n(),description:n().optional(),options:t(V),freeTextPlaceholder:n().optional(),conversationId:n().optional(),toolUseId:n().optional()}),Ee=e({type:o(`relationship_state_updated`),updatedAt:n()}),De=e({type:o(`secret_request`),requestId:n(),service:n(),field:n(),label:n(),description:n().optional(),placeholder:n().optional(),conversationId:n().optional(),purpose:n().optional(),allowedTools:t(n()).optional(),allowedDomains:t(n()).optional(),allowOneTimeSend:r().optional()}),Oe=e({type:n(),content:n().optional(),text:n().optional(),result:n().optional(),input:s(n(),c()).optional(),toolName:n().optional(),isError:r().optional(),toolUseId:n().optional()}).passthrough(),ke=e({type:o(`subagent_event`),conversationId:n(),subagentId:n(),event:Oe}).strict(),Ae=e({type:o(`subagent_spawned`),subagentId:n(),parentConversationId:n(),label:n(),objective:n(),isFork:r().optional(),parentToolUseId:n().optional()}).strict(),U=i([`pending`,`running`,`awaiting_input`,`completed`,`failed`,`aborted`]),W=e({inputTokens:l(),outputTokens:l(),estimatedCost:l()}).strict(),je=e({type:o(`subagent_status_changed`),subagentId:n(),status:U,error:n().optional(),usage:W.optional()}).strict(),Me=e({type:o(`sync_changed`),tags:t(n().min(1)).min(1),originClientId:n().min(1).optional()}),Ne=i([`tool_start`,`tool_complete`,`status`]),Pe=e({type:o(`tool_output_chunk`),chunk:n(),conversationId:n().optional(),toolUseId:n().optional(),subType:Ne.optional(),subToolName:n().optional(),subToolInput:n().optional(),subToolIsError:r().optional(),subToolId:n().optional(),messageId:n().optional()}),Fe=e({pattern:n(),label:n()}),Ie=i([`anthropic-native`,`brave`,`perplexity`,`tavily`,`firecrawl`]),Le=i([`default`,`firecrawl`]),Re=e({rank:l(),title:n(),url:n(),domain:n(),faviconUrl:n().optional(),snippet:n().optional(),age:n().optional(),score:l().optional()}),ze=e({query:n(),provider:Ie,resultCount:l(),durationMs:l(),results:t(Re),errorMessage:n().optional()}),Be=e({url:n(),finalUrl:n(),provider:Le.optional(),status:l(),contentType:n().optional(),byteCount:l(),charCount:l(),truncated:r(),title:n().optional(),domain:n(),faviconUrl:n().optional(),redirectCount:l(),durationMs:l(),errorMessage:n().optional(),mayRequireJavaScript:r().optional()}),G=e({webSearch:ze.optional(),webFetch:Be.optional()}),Ve=e({type:o(`tool_result`),toolName:n(),result:n(),isError:r().optional(),diff:h.optional(),status:n().optional(),conversationId:n().optional(),imageData:n().optional(),imageDataList:t(n()).optional(),toolUseId:n().optional(),messageId:n().optional(),riskLevel:n().optional(),riskReason:n().optional(),matchedTrustRuleId:n().optional(),isContainerized:r().optional(),riskScopeOptions:t(Fe).optional(),riskAllowlistOptions:t(f).optional(),riskDirectoryScopeOptions:t(m).optional(),approvalMode:n().optional(),approvalReason:n().optional(),riskThreshold:n().optional(),activityMetadata:G.optional(),completedAt:l().optional()}),He=e({type:o(`tool_use_preview_start`),toolUseId:n(),toolName:n(),conversationId:n().optional(),messageId:n().optional()}),Ue=e({type:o(`tool_use_start`),toolName:n(),input:s(n(),c()),toolUseId:n().optional(),messageId:n().optional(),conversationId:n().optional(),startedAt:l().optional()}),We=i([`request_received`,`request_queued`,`request_dequeued`,`llm_call_started`,`llm_call_finished`,`assistant_message`,`tool_started`,`tool_permission_requested`,`tool_permission_decided`,`tool_finished`,`tool_failed`,`generation_handoff`,`message_complete`,`generation_cancelled`,`request_error`,`tool_profiling_summary`]),Ge=i([`info`,`success`,`warning`,`error`]),Ke=e({type:o(`trace_event`),eventId:n(),conversationId:n(),requestId:n().optional(),timestampMs:l(),sequence:l(),kind:We,status:Ge.optional(),summary:n(),attributes:s(n(),ie([n(),l(),r(),a()])).optional()}),qe=e({type:o(`ui_surface_complete`),conversationId:n(),surfaceId:n(),summary:n(),submittedData:s(n(),c()).optional()}),Je=e({type:o(`ui_surface_dismiss`),conversationId:n(),surfaceId:n()}),Ye=e({id:n(),label:n(),style:i([`primary`,`secondary`,`destructive`]).optional(),data:s(n(),c()).optional()}),Xe=e({type:o(`ui_surface_show`),conversationId:n(),surfaceId:n(),surfaceType:n(),title:n().optional(),data:s(n(),c()),actions:t(Ye).optional(),display:i([`inline`,`panel`]).optional(),messageId:n().optional(),persistent:r().optional(),toolCallId:n().optional()}),Ze=e({type:o(`ui_surface_update`),conversationId:n(),surfaceId:n(),data:s(n(),c())}),K=e({type:o(`usage_progress`),conversationId:n(),inputTokens:l(),outputTokens:l(),estimatedCost:l(),model:n()}),Qe=e({type:o(`usage_update`),conversationId:n(),inputTokens:l(),outputTokens:l(),cacheCreationInputTokens:l().optional(),cacheReadInputTokens:l().optional(),totalInputTokens:l(),totalOutputTokens:l(),estimatedCost:l(),model:n(),contextWindowTokens:l().optional(),contextWindowMaxTokens:l().optional()}),$e=e({type:o(`user_message_echo`),text:n(),conversationId:n().optional(),messageId:n().optional(),requestId:n().optional(),clientMessageId:n().optional()}).strict(),q=i([`running`,`completed`,`failed`,`aborted`,`cap_exceeded`,`interrupted`]),et=e({type:o(`workflow_completed`),runId:n(),conversationId:n().optional(),status:q,agentsSpawned:l(),inputTokens:l(),outputTokens:l(),summary:n().optional()}).strict(),tt=e({type:o(`workflow_leaf_finished`),runId:n(),conversationId:n(),seq:l().int(),status:i([`completed`,`failed`]),label:n().optional(),inputTokens:l().optional(),outputTokens:l().optional(),resultSummary:n().optional()}).strict(),nt=e({type:o(`workflow_leaf_started`),runId:n(),conversationId:n(),seq:l().int(),label:n().optional(),phase:n().optional(),promptSummary:n().optional()}).strict(),rt=e({type:o(`workflow_progress`),runId:n(),conversationId:n().optional(),agentsSpawned:l(),phase:n().optional(),label:n().optional(),message:n().optional()}).strict(),it=e({type:o(`workflow_started`),runId:n(),conversationId:n(),toolUseId:n().optional(),label:n().optional()}).strict(),at=`syntheticAgentErrorMessage`,ot=`compactionAgent`,st=3e4,ct=e({cursorInTextField:r().optional().describe(`Whether the cursor is in an editable text field when dictation started`)}).passthrough().describe(`Dictation context (app name, window title, bundle ID, cursor state, selected text)`),lt=e({transcription:n().describe(`Raw speech transcription`),context:ct,profileId:n().describe(`Optional dictation profile ID`).optional()}),J=e({id:n(),filename:n(),mimeType:n(),sizeBytes:l(),kind:n(),data:n().optional(),thumbnailData:n().optional(),fileBacked:r().optional()}),ut=e({pattern:n(),label:n()}),dt=e({label:n(),description:n(),pattern:n()}),ft=e({scope:n(),label:n()}),pt=e({requestId:n(),title:n().optional(),description:n().optional(),toolName:n().optional(),riskLevel:n().optional(),riskReason:n().optional(),input:s(n(),c()).optional(),allowlistOptions:t(f).optional(),scopeOptions:t(p).optional(),directoryScopeOptions:t(m).optional(),persistentDecisionsAllowed:r().optional()}),mt=e({requestId:n(),entries:t(H)}),ht=i([`approved`,`denied`,`timed_out`]),Y=e({id:n().optional(),name:n(),input:s(n(),c()),result:n().optional(),isError:r().optional(),imageData:n().optional(),imageDataList:t(n()).optional(),startedAt:l().optional(),completedAt:l().optional(),confirmationDecision:ht.optional(),confirmationLabel:n().optional(),riskLevel:n().optional(),riskReason:n().optional(),matchedTrustRuleId:n().optional(),autoApproved:r().optional(),approvalMode:n().optional(),approvalReason:n().optional(),riskThreshold:n().optional(),riskScopeOptions:t(ut).optional(),riskAllowlistOptions:t(dt).optional(),riskDirectoryScopeOptions:t(ft).optional(),activityMetadata:G.optional(),scopeOptions:t(p).optional(),pendingConfirmation:pt.optional(),pendingQuestion:mt.optional()}),gt=e({id:n(),label:n(),style:n().optional(),data:s(n(),c()).optional()}),X=e({surfaceId:n(),surfaceType:n(),title:n().optional(),data:s(n(),c()),actions:t(gt).optional(),display:n().optional(),persistent:r().optional(),completed:r().optional(),completionSummary:n().optional(),toolCallId:n().optional()}),_t=e({subagentId:n(),label:n(),status:n(),error:n().optional(),conversationId:n().optional(),objective:n().optional()}),vt=e({appUrl:n().optional(),webUrl:n().optional()}),yt=e({channelId:n(),channelName:n().optional(),channelTs:n(),threadTs:n().optional(),sender:e({displayName:n().optional(),externalUserId:n().optional()}).optional(),messageLink:vt.optional(),threadLink:vt.optional()}),bt=e({type:o(`text`),text:n()}),xt=e({type:o(`thinking`),thinking:n(),startedAt:l().optional(),completedAt:l().optional()}),St=e({type:o(`tool_use`),toolCall:Y}),Ct=e({type:o(`surface`),surface:X}),wt=e({type:o(`attachment`),attachment:J}),Tt=ne(`type`,[bt,xt,St,Ct,wt]),Et=e({id:n(),mergedMessageIds:t(n()).optional(),clientMessageId:n().optional(),role:i([`user`,`assistant`]),content:n().meta({deprecated:!0,description:`Deprecated: superseded by contentBlocks. Flat plain-text body (joined text segments).`}).optional(),timestamp:n(),attachments:t(J),toolCalls:t(Y).meta({deprecated:!0,description:`Deprecated: superseded by contentBlocks (the tool_use variant). Flat list of tool calls.`}).optional(),surfaces:t(X).meta({deprecated:!0,description:`Deprecated: superseded by contentBlocks (the surface variant). Flat list of surfaces.`}).optional(),textSegments:t(n()).meta({deprecated:!0,description:`Deprecated: superseded by contentBlocks. Text segments split by tool-call boundaries.`}).optional(),thinkingSegments:t(n()).meta({deprecated:!0,description:`Deprecated: superseded by contentBlocks. Reasoning text extracted from thinking blocks.`}).optional(),contentOrder:t(n()).meta({deprecated:!0,description:`Deprecated: superseded by contentBlocks. Positional "<type>:<index>" content ordering (e.g. "text:0", "thinking:1").`}).optional(),contentBlocks:t(Tt).optional(),subagentNotification:_t.optional(),slackMessage:yt.optional()}),Dt=e({status:O}),Ot=o(`notification`),kt=i([`new`,`seen`,`acted_on`,`dismissed`]),At=i([`low`,`medium`,`high`,`critical`]),jt=i([`security`,`scheduling`,`background`,`email`,`system`]),Mt=i([`heartbeat`,`memory_consolidation`,`schedule`,`auto_analysis`,`user`,`other`]),Nt=e({id:n(),label:n(),prompt:n()}),Pt=i([`emailDraft`,`documentPreview`,`permissionChat`,`paymentAuth`,`toolPermission`,`updatesList`]),Ft=e({kind:Pt}),It=e({id:n(),type:Ot,priority:l().int().min(0).max(100),title:n().optional(),summary:n(),timestamp:n(),status:kt.default(`new`),expiresAt:n().optional(),actions:t(Nt).optional(),urgency:At.optional(),conversationId:n().optional(),detailPanel:Ft.optional(),category:jt.optional(),noteworthy:r().optional(),fromAssistant:r().optional(),metadata:s(n(),c()).optional(),sourceType:Mt.optional(),sourceKey:n().optional(),sourceLabel:n().optional(),createdAt:n()}),Lt=i([`deterministic`,`assistant`]),Rt=e({id:n(),label:n(),icon:n().optional(),prompt:n(),source:Lt}),zt=e({greeting:n(),timeAwayLabel:n(),newCount:l().int().min(0)}),Bt=e({items:t(It),updatedAt:n(),contextBanner:zt,suggestedPrompts:t(Rt)}),Vt=e({id:n(),category:i([`voice`,`world`,`priorities`]),text:n(),confidence:i([`strong`,`uncertain`]),source:i([`onboarding`,`inferred`])}),Z=e({id:n(),name:n(),description:n(),tier:i([`unlocked`,`next-up`,`earned`]),gate:n(),unlockHint:n().optional(),ctaLabel:n().optional()}),Ht=e({version:o(1),assistantId:n(),tier:ie([o(1),o(2),o(3),o(4)]),progressPercent:l(),facts:t(Vt),capabilities:t(Z),conversationCount:l(),hatchedDate:n(),assistantName:n(),userName:n().optional(),updatedAt:n()}),Ut=e({provider:n().nullish(),model:n().nullish(),status:n().nullish(),inputTokens:l().nullish(),outputTokens:l().nullish(),cacheCreationInputTokens:l().nullish(),cacheReadInputTokens:l().nullish(),stopReason:n().nullish(),requestMessageCount:l().nullish(),requestToolCount:l().nullish(),responseMessageCount:l().nullish(),responseToolCallCount:l().nullish(),responsePreview:n().nullish(),toolCallNames:t(n()).nullish(),estimatedCostUsd:l().nullish(),durationMs:l().nullish()}),Q=e({kind:n(),label:n().nullish(),role:n().nullish(),text:n().nullish(),toolName:n().nullish(),data:c().optional(),language:n().nullish()}),Wt=e({name:n().nullish(),message:n().nullish(),code:n().nullish(),provider:n().nullish(),statusCode:l().nullish(),retryAfterMs:l().nullish()}),Gt=e({id:n(),createdAt:l(),requestPayload:a(),responsePayload:a(),provider:n().nullish(),summary:Ut.nullish(),requestSections:t(Q).nullish(),responseSections:t(Q).nullish(),agentLoopExitReason:n().nullish(),callSite:n().nullish(),error:Wt.nullish()}),Kt=e({nodeId:n(),score:l(),semanticSimilarity:l(),recencyBoost:l(),type:n().optional()}),qt=e({reason:n(),semanticUnavailable:r(),fallbackSources:t(n())}),Jt=e({enabled:r(),degraded:r(),provider:n().nullable(),model:n().nullable(),degradation:qt.nullable(),semanticHits:l().nullish(),mergedCount:l().nullish(),selectedCount:l().nullish(),tier1Count:l().nullish(),tier2Count:l().nullish(),hybridSearchLatencyMs:l().nullish(),sparseVectorUsed:r().nullish(),injectedTokens:l().nullish(),latencyMs:l().nullish(),topCandidates:t(Kt),injectedText:n().nullable(),reason:n().nullable(),queryContext:n().nullable()}),Yt=e({slug:n(),finalActivation:l(),ownActivation:l(),priorActivation:l(),simUser:l(),simAssistant:l(),simNow:l(),simUserRerankBoost:l().optional(),simAssistantRerankBoost:l().optional(),inRerankPool:r().optional(),spreadContribution:l(),source:n(),status:n()}),Xt=e({d:l(),c_user:l(),c_assistant:l(),c_now:l(),k:l(),hops:l(),top_k:l(),epsilon:l()}),Zt=e({turn:l(),mode:n(),concepts:t(Yt),config:Xt}),Qt=e({slug:n(),source:n(),pinned:r(),sectionOrdinal:l().nullable().optional(),sectionHeading:n().nullable().optional()}),$t=e({turn:l(),live:r(),shadow:r(),selections:t(Qt),injectedText:n()}),en=e({messageId:n().nullish(),conversationKey:n().nullish(),conversationId:n().nullish(),conversationKind:n(),conversationTotalEstimatedCostUsd:l().nullish(),logs:t(Gt),memoryRecall:Jt.nullable(),memoryV2Activation:Zt.nullable(),memoryV3Selection:$t.nullish()}),tn=e({type:n(),content:n(),toolName:n().optional(),isError:r().optional(),messageId:n().optional(),toolUseId:n().optional(),input:s(n(),c()).optional()}),nn=e({subagentId:n(),objective:n().optional(),status:U.optional(),usage:W.optional(),events:t(tn)}),rn=e({seq:l().int(),kind:i([`agent`,`workflow`]),label:n().optional(),phase:n().optional(),promptSummary:n().optional(),status:n(),resultSummary:n().optional(),inputTokens:l().optional(),outputTokens:l().optional(),createdAt:l().nullable()}),an=e({runId:n(),status:q.optional(),agentsSpawned:l().optional(),inputTokens:l().optional(),outputTokens:l().optional(),phase:n().optional(),leaves:t(rn)}),on=e({title:n().optional(),subtitle:n().optional(),body:n().optional(),metadata:t(e({label:u(),value:u()})).optional(),template:n().optional(),templateData:s(n(),c()).optional()}),sn=ee({ACPOptionKindSchema:()=>g,ACPOptionSchema:()=>_,AllowlistOptionSchema:()=>f,AssistantActivityAnchorSchema:()=>ae,AssistantActivityPhaseSchema:()=>d,AssistantActivityReasonSchema:()=>oe,AssistantActivityStateEventSchema:()=>se,AssistantEventEnvelopeSchema:()=>cn,AssistantEventSchema:()=>$,AssistantOutboundAttachmentSchema:()=>L,AssistantTextDeltaEventSchema:()=>ce,AssistantThinkingDeltaEventSchema:()=>le,AssistantTurnStartEventSchema:()=>ue,AvatarUpdatedEventSchema:()=>de,CALL_SITE_COMPACTION_AGENT:()=>ot,CALL_SITE_SYNTHETIC_AGENT_ERROR_MESSAGE:()=>at,CapabilitySchema:()=>Z,CardSurfaceDataSchema:()=>on,CompactionCircuitClosedEventSchema:()=>fe,CompactionCircuitOpenEventSchema:()=>pe,ConfirmationDiffSchema:()=>h,ConfirmationExecutionTargetSchema:()=>v,ConfirmationRequestEventSchema:()=>y,ContactRequestEventSchema:()=>b,ContextBannerSchema:()=>zt,ConversationAttachmentBlockSchema:()=>wt,ConversationContentBlockSchema:()=>Tt,ConversationErrorCodeSchema:()=>x,ConversationErrorEventSchema:()=>S,ConversationListInvalidatedEventSchema:()=>w,ConversationListInvalidatedReasonSchema:()=>C,ConversationMessageAttachmentSchema:()=>J,ConversationMessageSchema:()=>Et,ConversationMessageSurfaceSchema:()=>X,ConversationMessageToolCallSchema:()=>Y,ConversationSlackMessageSchema:()=>yt,ConversationSubagentNotificationSchema:()=>_t,ConversationSurfaceBlockSchema:()=>Ct,ConversationTextBlockSchema:()=>bt,ConversationThinkingBlockSchema:()=>xt,ConversationTitleUpdatedEventSchema:()=>T,ConversationToolUseBlockSchema:()=>St,DEFAULT_TOOL_EXECUTION_TIMEOUT_SEC:()=>120,DictationContextSchema:()=>ct,DictationRequestSchema:()=>lt,DirectoryScopeOptionSchema:()=>m,DiskPressureBlockedCapabilitySchema:()=>D,DiskPressureStateSchema:()=>E,DiskPressureStatusChangedEventSchema:()=>k,DiskPressureStatusResponseSchema:()=>Dt,DiskPressureStatusSchema:()=>O,DocumentCommentCreatedEventSchema:()=>A,DocumentCommentDeletedEventSchema:()=>j,DocumentCommentReopenedEventSchema:()=>M,DocumentCommentResolvedEventSchema:()=>N,DocumentEditorUpdateEventSchema:()=>P,ErrorEventSchema:()=>F,FactSchema:()=>Vt,FeedActionSchema:()=>Nt,FeedItemCategorySchema:()=>jt,FeedItemDetailPanelKindSchema:()=>Pt,FeedItemDetailPanelSchema:()=>Ft,FeedItemSchema:()=>It,FeedItemSourceTypeSchema:()=>Mt,FeedItemStatusSchema:()=>kt,FeedItemTypeSchema:()=>Ot,FeedItemUrgencySchema:()=>At,GenerationCancelledEventSchema:()=>I,GenerationHandoffEventSchema:()=>R,HomeFeedResponseSchema:()=>Bt,HomeFeedUpdatedEventSchema:()=>z,IdentityChangedEventSchema:()=>B,InteractionResolutionStateSchema:()=>he,InteractionResolvedEventSchema:()=>ge,LLMCallErrorSchema:()=>Wt,LLMCallSummarySchema:()=>Ut,LLMContextSectionSchema:()=>Q,LLMRequestLogEntrySchema:()=>Gt,LlmContextResponseSchema:()=>en,MemoryCandidateSchema:()=>Kt,MemoryDegradationSchema:()=>qt,MemoryRecallLogSchema:()=>Jt,MemoryV2ActivationLogSchema:()=>Zt,MemoryV2ConceptRowSchema:()=>Yt,MemoryV2ConfigSnapshotSchema:()=>Xt,MemoryV3SelectionLogSchema:()=>$t,MemoryV3SelectionRowSchema:()=>Qt,MessageCompleteEventSchema:()=>_e,MessageDequeuedEventSchema:()=>ve,MessageQueuedDeletedEventSchema:()=>be,MessageQueuedEventSchema:()=>ye,MessageRequestCompleteEventSchema:()=>xe,NavigateSettingsEventSchema:()=>Se,NotificationIntentEventSchema:()=>Ce,OpenUrlEventSchema:()=>we,PendingToolConfirmationSchema:()=>pt,QuestionEntrySchema:()=>H,QuestionOptionSchema:()=>V,QuestionRequestEventSchema:()=>Te,RelationshipStateSchema:()=>Ht,RelationshipStateUpdatedEventSchema:()=>Ee,RiskScopeOptionSchema:()=>Fe,SSE_REPLAY_RING_AGE_LIMIT_MS:()=>st,SSE_REPLAY_RING_COUNT_LIMIT:()=>200,ScopeOptionSchema:()=>p,SecretRequestEventSchema:()=>De,SubagentDetailEventSchema:()=>tn,SubagentDetailResponseSchema:()=>nn,SubagentEventEventSchema:()=>ke,SubagentInnerEventSchema:()=>Oe,SubagentSpawnedEventSchema:()=>Ae,SubagentStatusChangedEventSchema:()=>je,SubagentStatusSchema:()=>U,SubagentUsageStatsSchema:()=>W,SuggestedPromptSchema:()=>Rt,SuggestedPromptSourceSchema:()=>Lt,SurfaceActionSchema:()=>Ye,SyncChangedEventSchema:()=>Me,ToolActivityMetadataSchema:()=>G,ToolOutputChunkEventSchema:()=>Pe,ToolOutputChunkSubTypeSchema:()=>Ne,ToolResultEventSchema:()=>Ve,ToolUsePreviewStartEventSchema:()=>He,ToolUseStartEventSchema:()=>Ue,TraceEventKindSchema:()=>We,TraceEventSchema:()=>Ke,TraceEventStatusSchema:()=>Ge,UISurfaceCompleteEventSchema:()=>qe,UISurfaceDismissEventSchema:()=>Je,UISurfaceShowEventSchema:()=>Xe,UISurfaceUpdateEventSchema:()=>Ze,UsageProgressEventSchema:()=>K,UsageUpdateEventSchema:()=>Qe,UserMessageEchoEventSchema:()=>$e,WebFetchMetadataSchema:()=>Be,WebSearchMetadataSchema:()=>ze,WebSearchProviderIdSchema:()=>Ie,WebSearchResultItemSchema:()=>Re,WorkflowCompletedEventSchema:()=>et,WorkflowJournalResponseSchema:()=>an,WorkflowLeafFinishedEventSchema:()=>tt,WorkflowLeafSchema:()=>rn,WorkflowLeafStartedEventSchema:()=>nt,WorkflowProgressEventSchema:()=>rt,WorkflowRunStatusSchema:()=>q,WorkflowStartedEventSchema:()=>it}),$=ne(`type`,[se,ce,le,ue,de,fe,pe,y,b,S,w,T,k,A,j,M,N,P,F,I,R,z,B,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,ke,Ae,je,Me,Pe,Ve,He,Ue,Ke,qe,Je,Xe,Ze,K,Qe,$e,et,tt,nt,rt,it]),cn=e({id:n(),conversationId:n().optional(),seq:l().int().optional(),emittedAt:n(),message:$});export{an as a,st as c,K as d,on as i,ot as l,$ as n,nn as o,sn as r,Dt as s,cn as t,at as u};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{n as e}from"./toast-CxaZ5f1d.js";import{n as t,t as n}from"./create-selectors-BE0_e_Ed.js";import{c as r,n as i,s as a,t as o,u as s}from"./feature-flag-catalog-DBTdmHXz.js";var c={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function l({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
|
|
2
|
+
`);let a=p.split(`
|
|
3
|
+
|
|
4
|
+
`);p=a.pop()??``;for(let e of a){let t=e.split(`
|
|
5
|
+
`),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
|
|
6
|
+
`);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;await f(Math.min(c*2**(p-1),s??3e4))}}}()}}var u=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},d=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},f=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},p=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(d(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=u(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):m({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},m=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},h=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=f(r),s=Object.entries(i).map(([t,i])=>m({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},g=/\{[^{}]+\}/g,_=({path:e,url:t})=>{let n=t,r=t.match(g);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,p({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,h({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${m({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},v=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=_({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function y(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var b=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},x=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=p({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=h({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=m({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},S=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},C=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,w=async({security:e,...t})=>{for(let n of e){if(C(t,n.name))continue;let e=await b(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e);break}}},T=e=>v({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:x(e.querySerializer),url:e.url}),E=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=O(e.headers,t.headers),n},D=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},O=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?D(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},k=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},A=()=>({error:new k,request:new k,response:new k}),j=x({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),M={"Content-Type":`application/json`},N=(e={})=>({...c,headers:M,parseAs:`auto`,querySerializer:j,...e}),P=((e={})=>{let t=E(N(),e),n=()=>({...t}),r=e=>(t=E(t,e),n()),i=A(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:O(t.headers,e.headers),serializedBody:void 0};n.security&&await w({...n,security:n.security}),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:T(r)}},o=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,o,s;try{let{opts:t,url:n}=await a(e),r={redirect:`follow`,...t,body:y(t)};o=new Request(n,r);for(let e of i.request.fns)e&&(o=await e(o,t));let c=t.fetch;s=await c(o);for(let e of i.response.fns)e&&(s=await e(s,o,t));let l={request:o,response:s};if(s.ok){let e=(t.parseAs===`auto`?S(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={};break}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let a=t;for(let t of i.error.fns)t&&(a=await t(a,s,o,e));if(a||={},n)throw a;return r===`data`?void 0:{error:a,request:o,response:s}}},s=e=>t=>o({...t,method:e}),c=e=>async t=>{let{opts:n,url:r}=await a(t);return l({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of i.request.fns)e&&(r=await e(r,n));return r},serializedBody:y(n),url:r})};return{buildUrl:e=>T({...t,...e}),connect:s(`CONNECT`),delete:s(`DELETE`),get:s(`GET`),getConfig:n,head:s(`HEAD`),interceptors:i,options:s(`OPTIONS`),patch:s(`PATCH`),post:s(`POST`),put:s(`PUT`),request:o,setConfig:r,sse:{connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),head:c(`HEAD`),options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),trace:c(`TRACE`)},trace:s(`TRACE`)}})(N()),F=e=>(e.client??P).get({url:`/v1/assistants/{assistant_id}/feature-flags`,...e}),I=e=>(e.client??P).patch({url:`/v1/assistants/{assistant_id}/feature-flags/{flag_key}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),L={...o},R={...i},z=0,B={};function V(e={}){L={...o,...e};for(let e of Object.keys(B))delete B[e]}function H(e={}){R={...i,...e}}function U(){V(),H()}var W=a(`assistant`);function G(e){return L[e]??o[e]??!1}function K(e){return R[e]??i[e]??``}var q=n(t()(t=>{let n=t;return{...o,...W.bool,hasHydrated:!1,stringFlags:{...i,...W.str},setFlags:e=>t(t=>{V(e);let n={...e,...W.bool};return Object.keys(n).some(e=>n[e]!==t[e])?n:t}),setFlag:(n,i,a)=>{let o=++z,c=()=>{if(B[n]!==o)return;delete B[n];let a=G(n);t(e=>e[n]===i?{[n]:a}:e),e.error(`Couldn't update "${r(n)?.label??n}" — change reverted.`)},l=s(n);!a||!l||(B[n]=o,I({path:{assistant_id:a,flag_key:l},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(L[n]=i,B[n]===o&&delete B[n]):c()}).catch(c),t({[n]:W.bool[n]??i}))},markHydrated:()=>t({hasHydrated:!0}),resetForAssistantSwitch:()=>{U(),t({...o,...W.bool,hasHydrated:!1}),n({stringFlags:{...i,...W.str}})},setStringFlags:e=>n(t=>{H(e);let n={...e,...W.str},r=t.stringFlags;return Object.keys(n).some(e=>n[e]!==r[e])?{stringFlags:n}:t}),setStringFlag:(t,i,a)=>{let o=++z,c=()=>{if(B[t]!==o)return;delete B[t];let a=K(t);n(e=>e.stringFlags[t]===i?{stringFlags:{...e.stringFlags,[t]:a}}:e),e.error(`Couldn't update "${r(t)?.label??t}" — change reverted.`)},l=s(t);!a||!l||(B[t]=o,I({path:{assistant_id:a,flag_key:l},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(R[t]=i,B[t]===o&&delete B[t]):c()}).catch(c),n(e=>({stringFlags:{...e.stringFlags,[t]:W.str[t]??i}})))}}}));export{F as n,P as r,q as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./create-selectors-BE0_e_Ed.js";import{t as n}from"./impersonate-version-flag-Caig8rhF.js";var r=t(e(e=>({name:null,version:null,setIdentity:(t,r)=>{e({name:t,version:n()??r})},clearIdentity:()=>e({name:null,version:null})})));export{r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-BaKOqBjF.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import"./src-BJj2O5XB.js";import{t as o}from"./tag-CE_o2aao.js";import{n as s}from"./toast-CxaZ5f1d.js";import{t as c}from"./loader-circle-BU6b8vrp.js";import{n as l}from"./auth-store-Kzt5s89H.js";import{a as u,r as d}from"./api-Czc-KUSC.js";import{t as f}from"./assistant-feature-flag-store-I7i0GajG.js";import{t as p}from"./use-active-assistant-id-DXjofATQ.js";import{t as m}from"./environment-store-C_XwUYTL.js";var h=e(r(),1),g=a();function _({value:e,max:t,caption:n}){let r=t>0?Math.max(0,Math.min(e/t*100,100)):0,i=r>90;return(0,g.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,g.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,g.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-200`,style:{width:`${r}%`,backgroundColor:i?`var(--system-negative-strong)`:`var(--system-positive-strong)`}})}),n&&(0,g.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var v=7,y=2e3;function b({version:e,loading:t,assistantId:n}){let r=(0,h.useRef)(0),i=(0,h.useRef)(null),[a,o]=(0,h.useState)(null),s=(0,h.useCallback)(()=>{if(r.current+=1,r.current>=v){r.current=0;let e=f.getState(),t=!e.settingsDeveloperNav;e.setFlag(`settingsDeveloperNav`,t,n),o(t?`Developer mode enabled`:`Developer mode disabled`),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>{o(null),i.current=null},y)}},[n]);return(0,h.useEffect)(()=>()=>{i.current!==null&&clearTimeout(i.current)},[]),t?(0,g.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,g.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:s,children:e}),a&&(0,g.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:a})]}):(0,g.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var x=`currentAssistant`,S=4e3,C=9e4;function w(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function T(){let e=p(),{data:r=null,isLoading:a,refetch:o}=i({queryKey:[x,e],queryFn:async()=>{let t=await d(e);return t.ok?t.data:null},retry:!1}),c=r?.id,[l,f]=(0,h.useState)(null),[m,g]=(0,h.useState)(!1),[_,v]=(0,h.useState)(!1),y=(0,h.useRef)(0),b=(0,h.useRef)(0),T=(0,h.useCallback)(async e=>{if(!c)return f(null),g(!1),null;y.current+=1;let r=y.current;g(!0);try{let t=await u(c);return r===y.current?t.ok?(f(t.data),t.data):(e?.keepStaleOnError||f(null),null):null}catch(i){return r===y.current?(e?.keepStaleOnError||f(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===y.current&&g(!1)}},[c]);return(0,h.useEffect)(()=>{T()},[T]),(0,h.useEffect)(()=>()=>{b.current+=1,v(!1),f(null)},[c]),{assistant:r,assistantLoading:a,healthz:l,healthzLoading:m,healthzPolling:_,refetch:(0,h.useCallback)(async()=>{await o(),await T()},[o,T]),refetchUntilResized:(0,h.useCallback)(async e=>{let t=++b.current,n=Date.now()+C;v(!0);let r=e;try{for(o();Date.now()<n&&t===b.current;){if(await new Promise(e=>setTimeout(e,S)),t!==b.current)return;let e=await T({keepStaleOnError:!0});if(t!==b.current)return;if(e){if(r==null){r=e;continue}if(w(e,r))return}}}finally{t===b.current&&v(!1)}},[T,o])}}function E({assistant:e,assistantLoading:t,healthz:n,healthzLoading:r}){let i=m.use.isNonProduction(),a=l.use.user()?.email;if(t)return(0,g.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,g.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]});if(!e)return(0,g.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`});let s=n?.version??e.current_release_version;return(0,g.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[a&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Account`}),(0,g.jsx)(k,{children:a})]}),(0,g.jsx)(O,{children:`Name`}),(0,g.jsx)(k,{children:e.name}),e.description&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Description`}),(0,g.jsx)(k,{children:e.description})]}),(0,g.jsx)(O,{children:`Status`}),(0,g.jsx)(`div`,{children:(0,g.jsx)(o,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,g.jsx)(O,{children:`Assistant ID`}),(0,g.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),i&&e.machine_id&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Machine ID`}),(0,g.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,g.jsx)(O,{children:`Created`}),(0,g.jsx)(k,{children:e.created?new Date(e.created).toLocaleDateString():`Unknown`}),(0,g.jsx)(O,{children:`Version`}),(0,g.jsx)(b,{version:s??null,loading:r&&!e.current_release_version,assistantId:e.id??null})]})}function D(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}function O({children:e}){return(0,g.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function k({children:e}){return(0,g.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}export{_ as i,D as n,T as r,E as t};
|