@vellumai/web 0.11.2-staging.1 → 0.11.2-staging.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Combination-CWTYp834.js → Combination-TPH8qx8I.js} +1 -1
- package/dist/assets/access-PKx6h0AJ.js +1 -0
- package/dist/assets/{account-page-CX6hJQwg.js → account-page-DucijMvM.js} +1 -1
- package/dist/assets/{account-shell-BmH96-Ie.js → account-shell-BBDh-DzD.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-CiQqwf32.js → acp-run-detail-panel-DJ6moBbf.js} +1 -1
- package/dist/assets/activity-steps-panel-C95hN_fd.js +1 -0
- package/dist/assets/{add-credential-modal-4zzd0MPK.js → add-credential-modal-BbvTHJmF.js} +1 -1
- package/dist/assets/{add-credits-modal-DNYP2NMD.js → add-credits-modal-C5d63VSi.js} +1 -1
- package/dist/assets/{ai-page-DMad1ZuI.js → ai-page-CbNTYziv.js} +1 -1
- package/dist/assets/{api-key-screen-tqtaQUVf.js → api-key-screen-B5zgGiwa.js} +1 -1
- package/dist/assets/{app-card-CiARsZNb.js → app-card-CxO44OqN.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-BvLDPeej.js → assistant-feature-flag-store-BojuHxUH.js} +1 -1
- package/dist/assets/{assistant-status-panel-BcO4L1Ot.js → assistant-status-panel-ZdWgKADH.js} +1 -1
- package/dist/assets/auth-store-C9aYqB9U.js +2 -0
- package/dist/assets/background-task-actions-DmocXKSr.js +1 -0
- package/dist/assets/{background-task-detail-panel-Cwy0aX1X.js → background-task-detail-panel-BvgkgKs6.js} +1 -1
- package/dist/assets/{billing-page-DtY1C_1i.js → billing-page-CSxWbmCW.js} +2 -2
- package/dist/assets/{bookmarks-page-CR6qlXH4.js → bookmarks-page-hFDlAWts.js} +1 -1
- package/dist/assets/{build-state-dDRg651i.js → build-state-9uUe0jN5.js} +1 -1
- package/dist/assets/{button-Dy5001j6.js → button-BwFudwM5.js} +1 -1
- package/dist/assets/{channels-page-route-BkAp7hp5.js → channels-page-route-Cxn_zS-J.js} +1 -1
- package/dist/assets/{chat-markdown-message-Da34digC.js → chat-markdown-message-BZZsrGyj.js} +1 -1
- package/dist/assets/{checkbox-PU47Djxg.js → checkbox-fzrjTRTI.js} +1 -1
- package/dist/assets/{checkout-page-ChHhRSW7.js → checkout-page-lDrK4V11.js} +1 -1
- package/dist/assets/{command-palette-Bd1GTwZQ.js → command-palette-Bzsl-t3p.js} +1 -1
- package/dist/assets/{command-palette-window-page-BYRKvEj-.js → command-palette-window-page-DjfAe-7N.js} +1 -1
- package/dist/assets/{community-page-BWMwSeEZ.js → community-page-CktLEQl7.js} +1 -1
- package/dist/assets/{confirm-dialog-j9o2h3xs.js → confirm-dialog-B7WBNDbT.js} +1 -1
- package/dist/assets/{connect-page-BxSNhZ8N.js → connect-page-hrIJuX_v.js} +1 -1
- package/dist/assets/{consent-controls-Bs63UL5k.js → consent-controls-HYcVhQZ2.js} +1 -1
- package/dist/assets/{contacts-page-route-6Pnu98io.js → contacts-page-route-CX57wU3L.js} +1 -1
- package/dist/assets/{conversation-navigation-BqoIExAQ.js → conversation-navigation-CIHBMx2t.js} +1 -1
- package/dist/assets/{conversation-queries-Dcm9S7mz.js → conversation-queries-BBj4FfQn.js} +1 -1
- package/dist/assets/{copy-to-clipboard-DgY-nZpm.js → copy-to-clipboard-Y0mxY68V.js} +1 -1
- package/dist/assets/{credential-entry-page-CreYYbwf.js → credential-entry-page-DQOv-Jyx.js} +1 -1
- package/dist/assets/credentials-page-C0eeGia5.js +1 -0
- package/dist/assets/{csv-preview-cEf_PW-P.js → csv-preview-C4T5JLx3.js} +1 -1
- package/dist/assets/{debug-page-Bjdmoc6_.js → debug-page-DzXHo3zM.js} +2 -2
- package/dist/assets/{deploy-dialogs-CuaO05wL.js → deploy-dialogs-DQGwptOi.js} +1 -1
- package/dist/assets/{deploy-store-BDIOP-i9.js → deploy-store-BJh0AR_u.js} +1 -1
- package/dist/assets/{detail-card-BElAV1cp.js → detail-card-Br_T-73R.js} +1 -1
- package/dist/assets/{detail-drawer-Cd_EQJkJ.js → detail-drawer-Cbj_q7o7.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-Bhew_kym.js → detail-panel-stop-button-DN2NrxEh.js} +1 -1
- package/dist/assets/{detail-shell-BjqibXNX.js → detail-shell-BuJMM-9z.js} +1 -1
- package/dist/assets/{developer-page-CiJvs_Lu.js → developer-page-Cj9JWAsX.js} +1 -1
- package/dist/assets/{dist-EanpjdWC.js → dist-B5IUaBWa.js} +1 -1
- package/dist/assets/{dist-C68qFSny.js → dist-BrrL0-_M.js} +1 -1
- package/dist/assets/dist-DWcXIgDR.js +1 -0
- package/dist/assets/{document-viewer-container-iB63ww7P.js → document-viewer-container-CPc9KTln.js} +2 -2
- package/dist/assets/{document-viewer-page-CsLTrhRq.js → document-viewer-page-BqJvQQmH.js} +1 -1
- package/dist/assets/{dropdown-B3FHWc_n.js → dropdown-CJVkL1Yp.js} +1 -1
- package/dist/assets/{emails-page-DPdeEAZJ.js → emails-page-DwQ-FnOD.js} +1 -1
- package/dist/assets/{file-editor-BfJR0ScX.js → file-editor-BigdI9HF.js} +1 -1
- package/dist/assets/{file-markdown-DnVLY_b_.js → file-markdown-eU8RUJQZ.js} +1 -1
- package/dist/assets/{first-run-scope-CXWfJKeP.js → first-run-scope-DqdWmMO-.js} +1 -1
- package/dist/assets/{general-page-DYnUkwRE.js → general-page-uFG7UTqR.js} +1 -1
- package/dist/assets/hatching-screen-CWZvcZVI.js +1 -0
- package/dist/assets/{home-page-route-dqvJQwjW.js → home-page-route-zQaUf7gb.js} +1 -1
- package/dist/assets/{hosting-screen-kj-kAK7Q.js → hosting-screen-lGuLVQVG.js} +1 -1
- package/dist/assets/{identity-page-route-DgmrXhhV.js → identity-page-route-C64OsL5_.js} +1 -1
- package/dist/assets/index-Cn_k9u0x.css +2 -0
- package/dist/assets/index-D-1mlWsA.js +11 -0
- package/dist/assets/{input-tXUFa7Eo.js → input-CgGeKtja.js} +1 -1
- package/dist/assets/{inspect-page-BlY6O00x.js → inspect-page-DdXP831Q.js} +1 -1
- package/dist/assets/integrations-page-DmQCd8GV.js +1 -0
- package/dist/assets/{intelligence-layout-BRC0qkZ7.js → intelligence-layout-IptAIgHy.js} +1 -1
- package/dist/assets/{library-detail-page-fsYlOanf.js → library-detail-page-Ddel5wXb.js} +1 -1
- package/dist/assets/{library-page-CjJhvK-9.js → library-page-B4k0PNa8.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-BvHY1msh.js → local-runtime-upgrade-CnY-6TiF.js} +1 -1
- package/dist/assets/{login-flow-DmQTk-x9.js → login-flow-CQhvCbQQ.js} +1 -1
- package/dist/assets/{login-page-BvisuxEP.js → login-page-CRIed3qa.js} +1 -1
- package/dist/assets/{logout-page-BMKKBE_F.js → logout-page-Ne05SAbm.js} +1 -1
- package/dist/assets/{logs-layout-BJe9y8po.js → logs-layout-BN5HA58-.js} +1 -1
- package/dist/assets/{memory-page-route-BcZNNNO7.js → memory-page-route-Mz8GlpcX.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DTR4Mrw4.js → memory-router-playground-page-CeIkpuOW.js} +1 -1
- package/dist/assets/{menu-wESJw6y3.js → menu-Cfi4A3sw.js} +1 -1
- package/dist/assets/message-content-B6_GZQl9.js +1 -0
- package/dist/assets/{message-files-panel-CKeLnC4N.js → message-files-panel-C8sWLQ58.js} +1 -1
- package/dist/assets/{messages-QgGSiklY.js → messages-BTSYvzWZ.js} +1 -1
- package/dist/assets/{metric-card-DpZFp8-q.js → metric-card-CczTqF_s.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-BwCIAm23.js → mobile-sidebar-drawer-CSAugzxJ.js} +1 -1
- package/dist/assets/{modal-xr_vw1ZO.js → modal-DagTZ8xj.js} +1 -1
- package/dist/assets/mutation-error-Cp0Jaqnt.js +1 -0
- package/dist/assets/{not-found-Bh7ZsdAo.js → not-found-C1zvwDkh.js} +1 -1
- package/dist/assets/{notifications-rSx7pNPi.js → notifications-BTG4cTbF.js} +1 -1
- package/dist/assets/{notifications-page-Cu8hoFGy.js → notifications-page-BzoWNM1e.js} +1 -1
- package/dist/assets/{onboarding-layout-iPzXbZk1.js → onboarding-layout-CNKJRWfe.js} +1 -1
- package/dist/assets/open-workspace-file-DAlt8chN.js +2 -0
- package/dist/assets/{page-shell-ZNQR4ZTn.js → page-shell-Dx-efyAO.js} +1 -1
- package/dist/assets/pairing-page-BqjYohpZ.js +1 -0
- package/dist/assets/{panel-item-CJh95P_q.js → panel-item-5YQ3jbso.js} +1 -1
- package/dist/assets/{personality-page-Bz_rNBSs.js → personality-page-CB98MeIQ.js} +1 -1
- package/dist/assets/{plans-page-BDMR-ZtU.js → plans-page-BcR_kjJL.js} +1 -1
- package/dist/assets/{platform-login-notice-q7ZuGeuo.js → platform-login-notice-DvWjpI2S.js} +1 -1
- package/dist/assets/{platform-loopback-page-e9XVrvYR.js → platform-loopback-page-BGF_H8f_.js} +1 -1
- package/dist/assets/popover-CBYgK7Wt.js +1 -0
- package/dist/assets/{preview-error-BrLE2D3A.js → preview-error-DzUxX6Jy.js} +1 -1
- package/dist/assets/{privacy-page-BZSbEQ1K.js → privacy-page-B9zfD9a-.js} +1 -1
- package/dist/assets/{privacy-screen-BnQiOWl7.js → privacy-screen-Btqk8OjG.js} +1 -1
- package/dist/assets/{provider-callback-page-z2Cgryjl.js → provider-callback-page-Jul4gNdZ.js} +1 -1
- package/dist/assets/provider-key-BZOwvE14.js +1 -0
- package/dist/assets/{provider-signup-page-B-Li8WKA.js → provider-signup-page-C47ij2Um.js} +1 -1
- package/dist/assets/{research-mock-page-CGkqkXHp.js → research-mock-page-DthnGXhi.js} +1 -1
- package/dist/assets/{research-onboarding-route-C7jtWVgW.js → research-onboarding-route-Cql_2-1F.js} +1 -1
- package/dist/assets/{research-results-view-BFZFPpev.js → research-results-view-BYpW36E0.js} +1 -1
- package/dist/assets/{retire-confirm-dialog-CgvcI85l.js → retire-confirm-dialog-PvFzzHrQ.js} +1 -1
- package/dist/assets/{review-terms-screen-Bwu6-idm.js → review-terms-screen-BpE_z8HY.js} +1 -1
- package/dist/assets/routes-DRAnvlxS.js +23 -0
- package/dist/assets/{runtime-upgrade-banner-BhPmj3_g.js → runtime-upgrade-banner-Blp8EyfL.js} +1 -1
- package/dist/assets/{schedules-page-CT6myKlW.js → schedules-page-D6KPJIUP.js} +1 -1
- package/dist/assets/{select-assistant-screen-DbeX0PLD.js → select-assistant-screen-DH6QRKdk.js} +1 -1
- package/dist/assets/{settings-divider-BkLQFMlW.js → settings-divider-COV4-sHz.js} +1 -1
- package/dist/assets/{settings-layout-ChyYdGV8.js → settings-layout-CyMD8Ey7.js} +1 -1
- package/dist/assets/{settings-navigation-DNl4C8Cc.js → settings-navigation-CyH-twYD.js} +1 -1
- package/dist/assets/{share-feedback-modal-7O61hwO1.js → share-feedback-modal-NfuDPoEg.js} +1 -1
- package/dist/assets/{sidebar-tree-CsfghEZ-.js → sidebar-tree-DTcPYrOG.js} +1 -1
- package/dist/assets/{signup-page-DDuZGMBS.js → signup-page-BAEo45pt.js} +1 -1
- package/dist/assets/site-favicon-DkjZF9mC.js +1 -0
- package/dist/assets/{skill-detail-page-u1LBXWn1.js → skill-detail-page-CzCcXCkp.js} +1 -1
- package/dist/assets/{skill-detail-panel-DhQFBAFF.js → skill-detail-panel-B1Kxa3zf.js} +1 -1
- package/dist/assets/{skills-CbF2uKXV.js → skills-CrZ3GlyK.js} +1 -1
- package/dist/assets/{slack-setup-wizard-DPzdheN0.js → slack-setup-wizard-CeBY_rKV.js} +1 -1
- package/dist/assets/src-CwGlaCIx.js +293 -0
- package/dist/assets/{start-screen-CSxaBn88.js → start-screen-wyemTUjV.js} +1 -1
- package/dist/assets/{subagent-detail-panel-8-Z5ZMUL.js → subagent-detail-panel-C3II8umu.js} +1 -1
- package/dist/assets/{superpowers-page-BouZK3P4.js → superpowers-page-DmIZ_ed4.js} +1 -1
- package/dist/assets/{system-events-page-DLvxCVqo.js → system-events-page-DAbap4FJ.js} +1 -1
- package/dist/assets/{tag-gOOX7fbA.js → tag-G0ELn_cq.js} +1 -1
- package/dist/assets/{text-preview-DwgKh8PW.js → text-preview-DLiOtb-y.js} +1 -1
- package/dist/assets/{theme-stage-page-LIhQbqRQ.js → theme-stage-page-Dt0ShS5G.js} +1 -1
- package/dist/assets/{tiptap-document-editor-BvGaiGeN.js → tiptap-document-editor-LwU6S_hn.js} +2 -2
- package/dist/assets/{toast-BtFgiPe3.js → toast-BHjG1kP8.js} +1 -1
- package/dist/assets/{tool-detail-panel-BmohMKch.js → tool-detail-panel-tFQRRPbP.js} +2 -2
- package/dist/assets/transcript-message-body-shared-DdXeU1D-.js +1 -0
- package/dist/assets/{upgrade-cancel-page-DcWOus4Y.js → upgrade-cancel-page-isK2Rvv6.js} +1 -1
- package/dist/assets/{upgrade-success-page-BSzX2vWY.js → upgrade-success-page-B7ZaoDsy.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-D-7oN9gr.js → use-assistant-identity-details-BLHiMTpS.js} +1 -1
- package/dist/assets/{use-attachment-preview-CQjpDfsc.js → use-attachment-preview-TAzqhvwh.js} +1 -1
- package/dist/assets/{use-attachment-squares-8Hx-p8ls.js → use-attachment-squares-Cnn6a6er.js} +1 -1
- package/dist/assets/{use-bookmarks-DO9wmU-2.js → use-bookmarks-BKYsQrf9.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-BcEeQKyP.js → use-checkout-dismiss-refresh-ChquCG4n.js} +1 -1
- package/dist/assets/{use-command-palette-sections-DvMBAWZC.js → use-command-palette-sections-BshFMe0w.js} +1 -1
- package/dist/assets/{use-edit-app-DOmv9zsZ.js → use-edit-app-LCywIVb9.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-TNGI1l4g.js → use-invite-link-dialog-CnOeFYBH.js} +1 -1
- package/dist/assets/{use-ios-app-nudge-CadXZRJC.js → use-ios-app-nudge-9Qqz96FD.js} +1 -1
- package/dist/assets/{use-is-org-ready-Df3qfx4p.js → use-is-org-ready-3vHDbj4G.js} +1 -1
- package/dist/assets/{use-onboarding-login-V-vR-6Zd.js → use-onboarding-login-CiQyxJLM.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-y2pWr9on.js → use-platform-assistant-id-DgrNmSy2.js} +1 -1
- package/dist/assets/{use-platform-gate-B_3hHMqw.js → use-platform-gate-C5bNA5Pn.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-DzCxe5P0.js → use-return-to-short-circuit-g88hMnN8.js} +1 -1
- package/dist/assets/{use-skill-actions-B_tz3CI7.js → use-skill-actions-Ik0rj4or.js} +1 -1
- package/dist/assets/{use-sticky-profiles-DamFnjb1.js → use-sticky-profiles-BwaZUy6p.js} +1 -1
- package/dist/assets/use-subagent-card-data-1nEhEj8_.js +1 -0
- package/dist/assets/{use-transcript-message-by-id-BxaY6TIY.js → use-transcript-message-by-id-RhDDYgbY.js} +1 -1
- package/dist/assets/{use-transcript-messages-CgESPWZ3.js → use-transcript-messages-C5t358ZW.js} +1 -1
- package/dist/assets/{utils-3IBGVjNS.js → utils-B6xfBCpN.js} +1 -1
- package/dist/assets/{viewer-store-Cp5tMX-G.js → viewer-store-DxLOGAkL.js} +1 -1
- package/dist/assets/{voice-list-yvKUrPIf.js → voice-list-DP4_zhJe.js} +1 -1
- package/dist/assets/{voice-page-C8EoRpvD.js → voice-page-Bn0QH4eT.js} +1 -1
- package/dist/assets/{voice-providers-note-Ck7hNTfp.js → voice-providers-note-F4pLO3zK.js} +1 -1
- package/dist/assets/{welcome-screen-DzQAH74J.js → welcome-screen-B6BjQt9n.js} +1 -1
- package/dist/assets/{workflow-detail-panel-CsRhUrbM.js → workflow-detail-panel-H3N7Md_X.js} +1 -1
- package/dist/assets/{workspace-page-CFuSxp5s.js → workspace-page-B4sn6pzo.js} +1 -1
- package/dist/index.html +68 -68
- package/package.json +1 -1
- package/dist/assets/access-DRXEXX07.js +0 -1
- package/dist/assets/activity-steps-panel-Ds6C3Jf0.js +0 -1
- package/dist/assets/auth-store-CWJoXmMk.js +0 -2
- package/dist/assets/background-task-actions-762wxVkT.js +0 -1
- package/dist/assets/credentials-page-BnxIymyf.js +0 -1
- package/dist/assets/dist-BDdp8zqz.js +0 -1
- package/dist/assets/hatching-screen-CxSp0qa2.js +0 -1
- package/dist/assets/index-DQqBZlYO.js +0 -11
- package/dist/assets/index-OYTmjL3q.css +0 -2
- package/dist/assets/integrations-page-49zuLodO.js +0 -1
- package/dist/assets/mutation-error-YLfUU5XL.js +0 -1
- package/dist/assets/open-workspace-file-B_Rft7dd.js +0 -2
- package/dist/assets/pairing-page-P5ghxF0M.js +0 -1
- package/dist/assets/popover-B-3isZCV.js +0 -1
- package/dist/assets/provider-key-CgC-RLmR.js +0 -1
- package/dist/assets/risk-Bnj8QXuk.js +0 -1
- package/dist/assets/routes-SchRo2Ae.js +0 -23
- package/dist/assets/site-favicon-FokoB0J2.js +0 -1
- package/dist/assets/src-Da9g8qsW.js +0 -293
- package/dist/assets/transcript-message-body-shared-DkwwIkg0.js +0 -1
- package/dist/assets/use-subagent-card-data-B31LofB3.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./input-CgGeKtja.js";import{t as s}from"./dropdown-CJVkL1Yp.js";import{t as c}from"./is-electron-DIlIrdJX.js";import{d as l}from"./routes-DrfnNoYS.js";import{t as u}from"./onboarding-layout-CNKJRWfe.js";import{a as d,c as f,i as p,o as m,r as h,s as g}from"./provider-key-BZOwvE14.js";import"./onboarding-step-layout-Bsc_5btV.js";var _=e(t(),1),v=a();function y(){let e=i(),[t]=r(),a=t.get(`hosting`),y=c(),b=h(),[x,S]=(0,_.useState)(()=>b?.provider??d.id),[C,w]=(0,_.useState)(()=>b?.key??``),[T,E]=(0,_.useState)(()=>b?.model??g(b?.provider??d.id)??``),[D,O]=(0,_.useState)(()=>b?.baseUrl??``),[k,A]=(0,_.useState)(()=>b?.customModels??``),j=f(x)??d,M=j.models??[],N=j.requiresKey,P=M.length>0,F=x===`openai-compatible`,I=(!(N&&!F)||C.trim().length>0)&&(!P||T.trim().length>0)&&(!F||D.trim().length>0&&k.trim().length>0);return(0,v.jsx)(u,{children:(0,v.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${y?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,v.jsx)(`h1`,{className:y?`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,v.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${y?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose the model provider your assistant should use.`}),(0,v.jsxs)(`div`,{className:`flex w-full flex-col gap-4 ${y?`mt-8`:`mt-10`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,v.jsx)(s,{"aria-label":`Provider`,value:x,onChange:e=>{let t=f(e);t&&(S(t.id),w(``),E(g(t.id)??``))},options:m.map(e=>({value:e.id,label:e.displayName}))})]}),M.length>0&&(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,v.jsx)(s,{"aria-label":`Model`,value:T,onChange:E,options:M.map(e=>({value:e.id,label:e.displayName}))})]}),F&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,v.jsx)(o,{type:`text`,placeholder:`http://localhost:1234/v1`,value:D,onChange:e=>O(e.target.value),fullWidth:!0})]}),(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,v.jsx)(o,{type:`text`,placeholder:`model-1, model-2`,value:k,onChange:e=>A(e.target.value),fullWidth:!0}),(0,v.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),N&&(0,v.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,v.jsx)(o,{type:`password`,label:`${j.displayName} API Key`,placeholder:j.apiKeyPlaceholder??`Enter your API key`,value:C,onChange:e=>w(e.target.value),className:`touch-mobile:text-[16px]`,fullWidth:!0}),j.docsUrl&&(0,v.jsxs)(`p`,{className:`self-start text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`Don't have it?`,` `,(0,v.jsx)(`a`,{href:j.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-[var(--content-default)] underline`,children:`Get an API key here`})]})]})]}),(0,v.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${y?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,v.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!I,onClick:()=>{if(!I)return;let t=T.trim()||g(x);p({provider:x,key:C.trim(),...t?{model:t}:{},...F?{baseUrl:D.trim(),customModels:k.trim()}:{}}),e(a?`${l.onboarding.privacy}?hosting=${a}`:l.onboarding.privacy)},className:y?void 0:`h-11 text-base`,children:`Continue`}),(0,v.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>{e(l.onboarding.hosting)},className:y?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{y as ApiKeyScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import{t as o}from"./createLucideIcon-CAM1RhH8.js";import"./src-CwGlaCIx.js";import{t as s}from"./external-link-GPGZ1LGU.js";import{t as c}from"./puzzle-4NgH5snP.js";import{n as l}from"./toast-BHjG1kP8.js";import{t as u}from"./confirm-dialog-B7WBNDbT.js";import{n as d,t as f}from"./create-selectors-BfxF8Sx_.js";import{t as p}from"./sdk.gen-CjtCuSlS.js";import{i as m}from"./typed-storage-OO7emDaU.js";import{n as h}from"./react-query.gen-C7om930f.js";import{a as g}from"./viewer-store-DxLOGAkL.js";import{t as _}from"./haptics-C4p_Rjba.js";import{t as v}from"./pointer-CQ4DXHXb.js";import{t as y}from"./misc-BBsGq1IU.js";import{t as b}from"./edge-swipe-arbiter-store-BwC23ScO.js";import{i as x}from"./sandbox-bridge-B5H4c27m.js";var S=o(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),C=o(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),w=e(t(),1),T=36,E=.8,D=8,O=.35;function k({enabled:e,leadingActions:t,trailingActions:n}){let r=(t?.length??0)*72,i=(n?.length??0)*72,[a,o]=(0,w.useState)(0),[s,c]=(0,w.useState)(!1),[l,u]=(0,w.useState)(`none`),d=b.use.registerOpenRow(),f=b.use.unregisterOpenRow();(0,w.useEffect)(()=>{if(l!==`none`)return d(),f},[l,d,f]);let p=(0,w.useRef)(null),m=(0,w.useCallback)(()=>{p.current=null,c(!1),o(0)},[]),h=(0,w.useCallback)(()=>{o(0),u(`none`)},[]);return{offset:a,isDragging:s,revealedSide:l,leadingWidth:r,trailingWidth:i,onTouchStart:(0,w.useCallback)(r=>{if(!e||!t&&!n)return;if(r.touches.length!==1){m();return}let i=r.touches[0];p.current={touchId:i.identifier,startX:i.clientX,startY:i.clientY,axis:`undecided`,lastDx:0,startOffset:a}},[e,t,n,a,m]),onTouchMove:(0,w.useCallback)(e=>{let t=p.current;if(!t)return;if(e.touches.length!==1){m();return}let n=e.touches[0];if(n.identifier!==t.touchId)return;let a=n.clientX-t.startX,s=n.clientY-t.startY;if(t.lastDx=a,t.axis===`undecided`){if(Math.abs(a)<D&&Math.abs(s)<D)return;if(Math.abs(s)>Math.abs(a)*E){p.current=null;return}t.axis=`horizontal`,c(!0)}if(t.axis!==`horizontal`)return;if(Math.abs(a)<T&&Math.abs(s)>Math.abs(a)*E){m(),o(t.startOffset);return}let l=t.startOffset+a,u=r,d=-i;l>u?l=u+(l-u)*O:l<d&&(l=d+(l-d)*O),(t.startOffset>0&&l<0&&i===0||t.startOffset<0&&l>0&&r===0)&&(l*=O),o(l)},[r,i,m]),onTouchEnd:(0,w.useCallback)(e=>{let t=p.current;if(!t){m();return}if(t.axis===`undecided`){p.current=null,c(!1);return}if(t.axis!==`horizontal`){m();return}if(e.touches.length>0){m();return}let n=Array.from(e.changedTouches).find(e=>e.identifier===t.touchId),a=n?n.clientX-t.startX:t.lastDx,s=t.startOffset+a;s<=-T&&i>0?(_.light(),o(-i),u(`trailing`)):s>=T&&r>0?(_.light(),o(r),u(`leading`)):(o(0),u(`none`)),p.current=null,c(!1)},[r,i,m]),onTouchCancel:(0,w.useCallback)(()=>{h(),m()},[h,m]),close:h}}var A=i();function j({action:e,onAfterSelect:t,hidden:n=!1}){let r=(0,w.useCallback)(()=>{e.onSelect(),t()},[e,t]),i=e.icon;return(0,A.jsxs)(`button`,{type:`button`,"aria-label":e.label,"aria-hidden":n,tabIndex:n?-1:0,onClick:r,className:a(`flex shrink-0 flex-col items-center justify-center gap-1`,`touch-mobile:transition-none`),style:{width:72,color:e.variant===`destructive`?`var(--aux-white)`:`var(--content-inset)`,background:e.variant===`destructive`?`var(--system-negative-strong)`:`var(--primary-base)`},children:[(0,A.jsx)(i,{size:18}),(0,A.jsx)(`span`,{className:`text-[10px] font-medium leading-none`,children:e.label})]})}var M=(0,w.forwardRef)(function({children:e,leadingActions:t,trailingActions:n,enabled:r=v(),className:i,style:o,...s},c){let l=r&&((t?.length??0)>0||(n?.length??0)>0),{offset:u,isDragging:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,close:g}=k({enabled:l,leadingActions:t,trailingActions:n});return l?(0,A.jsxs)(`div`,{ref:c,className:a(`relative overflow-hidden`,i),...s,style:{...o,touchAction:`pan-y`},onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,children:[n&&n.length>0?(0,A.jsx)(`div`,{className:`absolute inset-y-0 right-0 flex`,"aria-hidden":u>=0,style:u>=0?{pointerEvents:`none`}:void 0,children:n.map(e=>(0,A.jsx)(j,{action:e,onAfterSelect:g,hidden:u>=0},e.id))}):null,t&&t.length>0?(0,A.jsx)(`div`,{className:`absolute inset-y-0 left-0 flex`,"aria-hidden":u<=0,style:u<=0?{pointerEvents:`none`}:void 0,children:t.map(e=>(0,A.jsx)(j,{action:e,onAfterSelect:g,hidden:u<=0},e.id))}):null,(0,A.jsx)(`div`,{className:a(`relative bg-[var(--surface-overlay)] transition-transform`,d&&`transition-none`),style:{transform:`translateX(${u}px)`,zIndex:1},children:e})]}):(0,A.jsx)(`div`,{ref:c,className:i,style:o,...s,children:e})});function N(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.appId==`string`&&typeof t.pinnedOrder==`number`&&Number.isFinite(t.pinnedOrder)&&typeof t.name==`string`&&(t.icon===void 0||typeof t.icon==`string`)}function P(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(N):null}var F=m({key:`vellum:pinnedApps`,scope:`user`,parse:P,serialize:JSON.stringify,fallback:[]}),I=F.load;F.save;function L(e){let t=F.load();if(t.some(t=>t.appId===e.id))return;let n=t.reduce((e,t)=>Math.max(e,t.pinnedOrder),0);F.save([...t,{appId:e.id,pinnedOrder:n+1,name:e.name,icon:e.icon}])}function R(e){let t=F.load().filter(t=>t.appId!==e);t=t.sort((e,t)=>e.pinnedOrder-t.pinnedOrder).map((e,t)=>({...e,pinnedOrder:t+1})),F.save(t)}var z=new Set;function B(){let e=I();return{pinnedApps:e,pinnedAppIds:new Set(e.map(e=>e.appId))}}var V=f(d()((e,t)=>({...B(),togglePin:n=>{t().pinnedAppIds.has(n.id)?t().unpin(n.id):(L(n),e(B()))},unpin:n=>{if(t().pinnedAppIds.has(n)){R(n),e(B());for(let e of z)e(n)}},isPinned:e=>t().pinnedAppIds.has(e),onUnpin:e=>(z.add(e),()=>{z.delete(e)})})));function H({app:e,isDeleting:t,onConfirm:n,onCancel:r}){return(0,A.jsx)(u,{open:e!==null,title:`Delete app`,message:e?`"${e.name}" will be permanently removed.`:``,confirmLabel:t?`Deleting…`:`Delete`,destructive:!0,onConfirm:n,onCancel:r})}function U(e){let t=r(),n=V.use.togglePin(),i=V.use.pinnedAppIds(),[a,o]=(0,w.useState)(null),[s,c]=(0,w.useState)(!1);return{pendingDelete:a,isDeleting:s,requestDelete:o,confirmDelete:(0,w.useCallback)(async()=>{if(!(!a||s)){c(!0);try{await p({path:{assistant_id:e,id:a.id},throwOnError:!0}),g(e,a.id),t.invalidateQueries({queryKey:h({path:{assistant_id:e}})}),i.has(a.id)&&n(a),o(null)}catch(e){l.error(e instanceof Error?e.message:`Failed to delete app`)}finally{c(!1)}}},[a,s,e,i,n,t]),cancelDelete:(0,w.useCallback)(()=>{s||o(null)},[s])}}function W({name:e,description:t,icon:r,loadHtml:i,isPinned:a=!1,isLoading:o=!1,isOpenDisabled:c=!1,isPreviewPending:l=!1,onOpen:u,onPin:d}){return(0,A.jsxs)(`div`,{className:y(`flex flex-col gap-2 rounded-xl border border-[var(--border-base)]`,`bg-[var(--surface-lift)] p-3`),children:[(0,A.jsx)(G,{name:e,icon:r,loadHtml:l?void 0:i,isLoading:o,isPreviewPending:l}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-0.5 px-0.5`,children:[(0,A.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:[r?(0,A.jsx)(`span`,{"aria-hidden":!0,className:`leading-none`,children:r}):null,(0,A.jsx)(`span`,{className:`truncate`,children:e})]}),t?(0,A.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-secondary)]`,children:t}):null]}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-0.5`,children:[(0,A.jsx)(n,{variant:`primary`,leftIcon:(0,A.jsx)(s,{}),onClick:u,disabled:c||u==null,children:`Open App`}),(0,A.jsx)(n,{variant:`outlined`,leftIcon:a?(0,A.jsx)(S,{}):(0,A.jsx)(C,{}),onClick:d,disabled:d==null,children:a?`Unpin`:`Pin`})]})]})}function G({name:e,icon:t,loadHtml:n,isLoading:r=!1,isPreviewPending:i=!1,className:a}){let o=(0,w.useRef)(null),[s,l]=(0,w.useState)(null),[u,d]=(0,w.useState)(!1);return(0,w.useEffect)(()=>{if(n==null)return;let e=o.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&(d(!0),t.disconnect())},{rootMargin:`200px`});return t.observe(e),()=>t.disconnect()},[n]),(0,w.useEffect)(()=>{if(!u||n==null)return;let e=!1;return n().then(t=>{e||l(t)}).catch(()=>{}),()=>{e=!0}},[u,n]),(0,A.jsxs)(`div`,{ref:o,className:y(`relative aspect-[16/10] w-full overflow-hidden rounded-lg`,`border border-[var(--border-base)] bg-[var(--surface-base)]`,a),children:[(0,A.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:i?null:t?(0,A.jsx)(`span`,{className:`text-4xl`,children:t}):(0,A.jsx)(c,{size:32,className:`text-[var(--content-tertiary)]`})}),s!=null&&(0,A.jsx)(`iframe`,{srcDoc:x(s),sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,title:`${e} preview`,"aria-hidden":`true`,tabIndex:-1,loading:`lazy`,scrolling:`no`,className:`absolute left-0 top-0 border-none bg-[var(--surface-base)]`,style:{width:`200%`,height:`200%`,transform:`scale(0.5)`,transformOrigin:`top left`,pointerEvents:`none`}}),r&&(0,A.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-[var(--surface-base)]/60 backdrop-blur-sm`,children:(0,A.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`})})]})}export{V as a,S as c,H as i,G as n,M as o,U as r,C as s,W as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./toast-
|
|
1
|
+
import{n as e}from"./toast-BHjG1kP8.js";import{n as t,t as n}from"./create-selectors-BfxF8Sx_.js";import{c as r,n as i,s as a,t as o,u as s}from"./feature-flag-catalog-CpyCubJW.js";import{h as c}from"./sdk.gen-BpJ1vF7l.js";var l={...o},u={...i},d=0,f={};function p(e={}){l={...o,...e};for(let e of Object.keys(f))delete f[e]}function m(e={}){u={...i,...e}}function h(){p(),m()}var g=a(`assistant`);function _(e){return l[e]??o[e]??!1}function v(e){return u[e]??i[e]??``}var y=n(t()(t=>{let n=t;return{...o,...g.bool,hasHydrated:!1,stringFlags:{...i,...g.str},setFlags:e=>t(t=>{p(e);let n={...e,...g.bool};return Object.keys(n).some(e=>n[e]!==t[e])?n:t}),setFlag:(n,i,a)=>{let o=++d,u=()=>{if(f[n]!==o)return;delete f[n];let a=_(n);t(e=>e[n]===i?{[n]:a}:e),e.error(`Couldn't update "${r(n)?.label??n}" — change reverted.`)},p=s(n);!a||!p||(f[n]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(l[n]=i,f[n]===o&&delete f[n]):u()}).catch(u),t({[n]:g.bool[n]??i}))},markHydrated:()=>t({hasHydrated:!0}),resetForAssistantSwitch:()=>{h(),t({...o,...g.bool,hasHydrated:!1}),n({stringFlags:{...i,...g.str}})},setStringFlags:e=>n(t=>{m(e);let n={...e,...g.str},r=t.stringFlags;return Object.keys(n).some(e=>n[e]!==r[e])?{stringFlags:n}:t}),setStringFlag:(t,i,a)=>{let o=++d,l=()=>{if(f[t]!==o)return;delete f[t];let a=v(t);n(e=>e.stringFlags[t]===i?{stringFlags:{...e.stringFlags,[t]:a}}:e),e.error(`Couldn't update "${r(t)?.label??t}" — change reverted.`)},p=s(t);!a||!p||(f[t]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(u[t]=i,f[t]===o&&delete f[t]):l()}).catch(l),n(e=>({stringFlags:{...e.stringFlags,[t]:g.str[t]??i}})))}}}));export{y as t};
|
package/dist/assets/{assistant-status-panel-BcO4L1Ot.js → assistant-status-panel-ZdWgKADH.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-CqtAGHQu.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-CqtAGHQu.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import"./src-CwGlaCIx.js";import{t as o}from"./loader-circle-DWWXcfTQ.js";import"./tag-G0ELn_cq.js";import{n as s}from"./toast-BHjG1kP8.js";import"./auth-store-C9aYqB9U.js";import{a as c,r as l}from"./api-CGsj1Pig.js";import{t as u}from"./assistant-feature-flag-store-BojuHxUH.js";import{t as d}from"./use-active-assistant-id-JLsAfn3e.js";import"./environment-store-DxX3xxt2.js";var f=e(r(),1),p=a();function m({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,p.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,p.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,p.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,p.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var h=7,g=2e3;function _(e){let t=(0,f.useRef)(0),n=(0,f.useRef)(null),[r,i]=(0,f.useState)(null),a=(0,f.useCallback)(()=>{if(t.current+=1,t.current>=h){t.current=0;let r=u.getState(),a=!r.settingsDeveloperNav;r.setFlag(`settingsDeveloperNav`,a,e),i(a?`Developer mode enabled`:`Developer mode disabled`),n.current!==null&&clearTimeout(n.current),n.current=setTimeout(()=>{i(null),n.current=null},g)}},[e]);return(0,f.useEffect)(()=>()=>{n.current!==null&&clearTimeout(n.current)},[]),{onTap:a,message:r}}function v({version:e,loading:t,assistantId:n}){let{onTap:r,message:i}=_(n);return t?(0,p.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,p.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:r,children:e}),i&&(0,p.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:i})]}):(0,p.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var y=`currentAssistant`,b=4e3,x=9e4;function S(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function C(){let e=d(),{data:r=null,isLoading:a,refetch:o}=i({queryKey:[y,e],queryFn:async()=>{let t=await l(e);return t.ok?t.data:null},retry:!1}),u=r?.id,[p,m]=(0,f.useState)(null),[h,g]=(0,f.useState)(!1),[_,v]=(0,f.useState)(!1),C=(0,f.useRef)(0),w=(0,f.useRef)(0),T=(0,f.useCallback)(async e=>{if(!u)return m(null),g(!1),null;C.current+=1;let r=C.current;g(!0);try{let t=await c(u);return r===C.current?t.ok?(m(t.data),t.data):(e?.keepStaleOnError||m(null),null):null}catch(i){return r===C.current?(e?.keepStaleOnError||m(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===C.current&&g(!1)}},[u]);return(0,f.useEffect)(()=>{T()},[T]),(0,f.useEffect)(()=>()=>{w.current+=1,v(!1),m(null)},[u]),{assistant:r,assistantLoading:a,healthz:p,healthzLoading:h,healthzPolling:_,refetch:(0,f.useCallback)(async()=>{await o(),await T()},[o,T]),refetchUntilResized:(0,f.useCallback)(async e=>{let t=++w.current,n=Date.now()+x;v(!0);let r=e;try{for(o();Date.now()<n&&t===w.current;){if(await new Promise(e=>setTimeout(e,b)),t!==w.current)return;let e=await T({keepStaleOnError:!0});if(t!==w.current)return;if(e){if(r==null){r=e;continue}if(S(e,r))return}}}finally{t===w.current&&v(!1)}},[T,o])}}function w(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}export{m as a,_ as i,C as n,v as r,w as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-UxVM8v-Z.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-an0Z446E.js","assets/esm-Jw5qNk7q.js","assets/chunk-jRWAZmH_.js","assets/esm-S7iZcDlp.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,l as t,o as n,t as r}from"./local-settings-Bx7FsNo5.js";import{a as i,n as a,r as o}from"./device-settings-CUIsZfaf.js";import{o as s,t as c}from"./capture-error-CqtAGHQu.js";import{t as l}from"./preload-helper-Cv2QeVDK.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{n as d,t as f}from"./create-selectors-BfxF8Sx_.js";import{A as ee,D as te,E as ne,O as re,T as ie,at as ae,c as oe,ct as se,d as ce,dt as p,f as m,h,i as le,it as g,lt as ue,m as de,n as fe,nt as pe,ot as me,r as he,rt as ge,s as _e,st as ve,ut as _,v as ye,y as be}from"./local-mode-DHueA-BJ.js";import{t as v}from"./is-electron-DIlIrdJX.js";import{n as y,t as xe}from"./resolved-assistants-store-C6oDdTxB.js";import{n as Se,r as b,t as Ce}from"./api-errors-BRGPPSWw.js";import{t as we}from"./client.gen-Dq2brHDV.js";import{Bt as Te,D as Ee,E as De,F as Oe,I as ke,Vt as Ae,jt as je}from"./sdk.gen-ies09CqM.js";import{a as Me,c as Ne,r as Pe}from"./api-CGsj1Pig.js";import{n as Fe,t as Ie}from"./event-bus-CbDg1VDt.js";import{t as Le}from"./client-feature-flag-store-Cw39NfCq.js";import{D as Re,N as ze,O as Be,c as Ve,h as He,i as Ue,j as x,k as We,l as Ge,r as Ke,t as qe,u as Je}from"./native-biometric-DetUqtjl.js";import{o as Ye}from"./remote-gateway-session-C8pRadB2.js";import{i as Xe,t as S}from"./dist-an0Z446E.js";import{i as Ze,t as Qe}from"./typed-storage-OO7emDaU.js";import{o as $e}from"./platform-detection-AHYibqOx.js";import{t as C}from"./onboarding-store-BiTZenvP.js";import{s as et,t as tt}from"./use-assistant-avatar-Bjqx8JUy.js";var w=f(d(()=>({assistantState:{kind:`loading`},operationalStatusAssistantId:null,expectingFirstMessage:!1}))),nt=new Set;function rt(e){return nt.add(e),()=>{nt.delete(e)}}function it(){for(let e of nt)try{e()}catch{}}var at=new Set([502,503,504]),ot=`Connection interrupted. Reconnecting…`;function st(e){return e.code===`proxy_network_error`?!0:(typeof e.detail==`string`?e.detail:``).includes(`net::ERR_`)}function ct(e){if(e.ok)switch(e.data.status){case`active`:return e.data.is_local?{kind:`self_hosted`}:{kind:`active`};case`initializing`:return{kind:`initializing`};case`to_be_deleted`:return{kind:`cleaning_up`};default:return{kind:`error`,message:`Unexpected assistant status: ${e.data.status}`}}return e.status===404?{kind:`auto_hatch`}:st(e.error)?{kind:`error`,transient:!0,message:ot}:{kind:`error`,message:b(e.error,void 0,`Failed to check assistant status.`)}}function lt(e){return e===void 0||e>=500}var ut=`platform_hosted_disabled`,dt=`We are at capacity for Vellum Managed Assistants, more will be available soon!`;function ft(e,t){return e===503?t?.code===ut:!1}var pt=2e3,mt=3e4;function ht(e){return Math.min(pt*2**e,mt)}var gt=3e5;function _t(){return{kind:`error`,message:`Your assistant is taking longer than expected to start. Please try again, or check the community for help.`}}var vt=[`assistant`,`current`],yt=3e3,bt=new Set([`initializing`,`cleaning_up`]);function xt(e){if(!e)return!1;let t=ct(e);return bt.has(t.kind)?yt:!1}function St(e){return e?[...vt,e]:vt}function Ct(e){let t=e.selectedPlatformAssistantId??null;return u({queryKey:St(t),queryFn:()=>Pe(t??void 0),enabled:e.enabled,retry:!1,refetchInterval:e=>xt(e.state.data),refetchOnWindowFocus:!1})}var wt=new Set([`healthy`,`ok`]);function Tt(e){if(!e.ok)return`unreachable`;let t=e.data?.status;return t===`MIGRATING`?`migrating`:t!==void 0&&!wt.has(t)?`unhealthy`:`healthy`}function Et(){let e=w.use.assistantState();return e.kind===`self_hosted`||e.kind===`active`&&e.isLocal?e.health??null:null}var T=e=>e===`authenticated`,Dt=e=>e!==`initializing`,E=e=>e===`present`,Ot=e=>e!==`unknown`,kt=(e,t)=>e===`present`&&!t,At=new Set([401,403,410]),jt=e=>!e.ok&&e.status!==void 0&&At.has(e.status),Mt=4e3,Nt=6e4,Pt=5e3;function Ft(){let e=/\/assistant(?:\/|$)/.exec(window.location.pathname),t=e&&e.index>0?window.location.pathname.slice(0,e.index).replace(/\/+$/,``):``;return`${window.location.origin}${t}`}var It=new class{state={kind:`loading`};generation=0;initializingTimeout=null;ready=!1;inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null,selectedPlatformAssistantId:null};probeTimer=null;healthHeartbeatTimer=null;healthHeartbeatId=null;healthHeartbeatToken=0;reachabilityProbeInFlightIds=new Set;probeLoopAssistantId=null;errorRetryTimer=null;errorRetryAttempt=0;constructor(){rt(()=>this.onUnreachable()),Fe(`app.online`,()=>this.onNetworkOnline()),y.subscribe((e,t)=>{e.selectedAssistantId!==t.selectedAssistantId&&(!p()||this.state.kind===`loading`||this.applyGatewayAuthShortCircuit())})}setInputs(e){this.inputs=e,this.ready=!0}resetForLogout(){y.getState().activeAssistantId!==null&&y.getState().setActiveAssistantId(null),this.setOperationalStatusAssistantId(null),this.cancelProbeTimer(),this.probeLoopAssistantId=null,this.reachabilityProbeInFlightIds.clear(),this.state.kind!==`loading`&&this.transition({kind:`loading`}),this.clearExpectingFirstMessage()}async respondToInputs(){if(this.ready){if(p()){this.applyGatewayAuthShortCircuit();return}if(!T(this.inputs.sessionStatus)){this.resetForLogout();return}this.inputs.hasPlatformSession&&g(null),this.inputs.isOrgReady&&await this.checkAssistant()}}async applyServerResult(e){this.ready&&(this.state.kind!==`initializing`&&this.state.kind!==`cleaning_up`||await this.applyServerStateUpdate(e))}async checkAssistant(e){if(!this.ready)return;if(p()){this.applyGatewayAuthShortCircuit();return}let t=this.generation;try{let n=e??this.inputs.selectedPlatformAssistantId??null,r=await this.inputs.queryClient.fetchQuery({queryKey:St(n),queryFn:()=>Pe(n??void 0),staleTime:0});if(t!==this.generation||n&&!r.ok&&r.status===404&&(y.getState().setSelectedAssistant(null),r=await this.inputs.queryClient.fetchQuery({queryKey:vt,queryFn:()=>Pe(),staleTime:0}),t!==this.generation))return;await this.applyServerStateUpdate(r)}catch(e){if(console.error(`Error checking assistant status:`,e),c(e,{context:`check_assistant`}),t!==this.generation||this.degradeOnTransportFailure())return;this.transition({kind:`error`,transient:!0,message:ot})}}degradeOnTransportFailure(){return this.state.kind===`active`?(this.triggerReachabilityProbe(),!0):this.state.kind===`initializing`||this.state.kind===`cleaning_up`}retryAssistant(){this.ready&&this.checkAssistant()}markExpectingFirstMessage(){w.getState().expectingFirstMessage||w.setState({expectingFirstMessage:!0})}clearExpectingFirstMessage(){w.getState().expectingFirstMessage&&w.setState({expectingFirstMessage:!1})}transition(e){let t=this.state.kind;this.state=e,w.setState({assistantState:e}),e.kind===`initializing`?t!==`initializing`&&this.armInitializingWatchdog():this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),e.kind!==`initializing`&&e.kind!==`active`&&this.clearExpectingFirstMessage(),!(e.kind===`self_hosted`||e.kind===`active`&&e.isLocal)&&this.healthHeartbeatId!==null&&this.cancelHealthHeartbeat(),e.kind===`error`&&e.transient?this.armErrorRetry():this.clearErrorRetry(e.kind!==`error`)}clearErrorRetry(e){this.errorRetryTimer&&=(clearTimeout(this.errorRetryTimer),null),e&&(this.errorRetryAttempt=0)}armErrorRetry(){this.errorRetryTimer&&clearTimeout(this.errorRetryTimer);let e=ht(this.errorRetryAttempt);this.errorRetryAttempt+=1,this.errorRetryTimer=setTimeout(()=>{this.errorRetryTimer=null,this.checkAssistant()},e)}onNetworkOnline(){if(this.ready){if(this.state.kind===`error`&&this.state.transient){this.clearErrorRetry(!0),this.checkAssistant();return}this.state.kind===`active`&&this.state.reachable===!1&&this.checkAssistant()}}armInitializingWatchdog(){this.initializingTimeout&&clearTimeout(this.initializingTimeout),this.initializingTimeout=setTimeout(()=>{this.generation++,s(`Assistant stuck in initializing state`,{level:`warning`,extra:{timeoutMs:gt}}),this.transition(_t())},gt)}projectActive(e){let t=e.data.maintenance_mode,n=e.data.is_local??!1;g(null),this.setOperationalStatusAssistantId(e.data.id);let r=y.getState();r.upsertFromApi(e.data),r.setActiveAssistantId(e.data.id),this.transition({kind:`active`,isLocal:n,maintenanceMode:{enabled:t?.enabled}}),n?this.startHealthHeartbeat(e.data.id):this.probeReachability(e.data.id)}projectSelfHosted(e){this.setOperationalStatusAssistantId(null),g({url:e.data.ingress_url,token:e.data.platform_actor_token});let t=y.getState();t.upsertFromApi(e.data),t.setActiveAssistantId(e.data.id),this.transition({kind:`self_hosted`}),this.startHealthHeartbeat(e.data.id)}applyGatewayAuthShortCircuit(){let e=window.location.origin,t=`self`,n=le();if(h())e=Ft();else if(n){let r=oe();e=`${window.location.origin}${n}`,t=r?.assistantId??t}g({url:e,token:se()}),this.setOperationalStatusAssistantId(null),y.getState().setActiveAssistantId(t),this.transition({kind:`active`,isLocal:!0}),this.startHealthHeartbeat(t)}async applyServerStateUpdate(e){let t=this.generation,n=ct(e);if(!(n.kind===`error`&&n.transient&&this.degradeOnTransportFailure())&&(e.ok?this.setOperationalStatusAssistantId(e.data.id):this.setOperationalStatusAssistantId(null),n.kind!==`auto_hatch`)){if(n.kind===`active`&&e.ok){this.projectActive(e);return}if(n.kind===`self_hosted`&&e.ok){this.projectSelfHosted(e);return}t===this.generation&&n.kind!==`active`&&this.transition(n)}}async probeReachability(e){if(!this.reachabilityProbeInFlightIds.has(e)){this.reachabilityProbeInFlightIds.add(e);try{let t=this.generation,n=this.state.kind===`self_hosted`||this.state.kind===`active`&&this.state.isLocal,r=n?oe()?.assistantId??e:e,i=!h()&&n?await ee(r).catch(()=>null):null,a=i?.ok&&i.state===`upgrading`?`upgrading`:`unreachable`;if(a!==`upgrading`)try{a=Tt(await Me(e))}catch{a=`unreachable`}if(a===`unreachable`&&!i&&!h()&&(i=await ee(r).catch(()=>null)),a===`unreachable`&&i?.ok)switch(i.state){case`healthy`:a=`healthy`;break;case`sleeping`:case`starting`:case`upgrading`:case`unhealthy`:case`crashed`:a=i.state;break;case`unknown`:break}if(t!==this.generation||y.getState().activeAssistantId!==e)return;if(this.state.kind===`self_hosted`){this.state.health!==a&&this.transition({...this.state,health:a});return}if(this.state.kind!==`active`)return;let o=a===`healthy`||a===`unhealthy`;if(this.state.reachable===o&&this.state.health===a)return;this.transition({...this.state,reachable:o,health:a})}finally{this.reachabilityProbeInFlightIds.delete(e)}}}cancelProbeTimer(){this.probeTimer&&=(clearTimeout(this.probeTimer),null)}startProbeLoop(e){if(this.probeLoopAssistantId===e)return;this.cancelProbeTimer(),this.probeLoopAssistantId=e;let t=Date.now(),n=()=>{this.probeLoopAssistantId=null},r=async()=>{if(this.state.kind!==`active`||this.state.reachable===!0){n();return}if(Date.now()-t>Nt){n();return}await this.probeReachability(e);let i=this.state;if(i.kind!==`active`||i.reachable===!0){n();return}if(Date.now()-t>Nt){n();return}this.probeTimer=setTimeout(()=>void r(),Mt)};this.probeTimer=setTimeout(()=>void r(),Mt)}startHealthHeartbeat(e){if(this.healthHeartbeatId===e)return;this.cancelHealthHeartbeat(),this.healthHeartbeatId=e;let t=this.healthHeartbeatToken,n=async()=>{t===this.healthHeartbeatToken&&(await this.probeReachability(e),t===this.healthHeartbeatToken&&(this.healthHeartbeatTimer=setTimeout(()=>void n(),Pt)))};n()}cancelHealthHeartbeat(){this.healthHeartbeatToken++,this.healthHeartbeatId=null,this.healthHeartbeatTimer&&=(clearTimeout(this.healthHeartbeatTimer),null)}onUnreachable(){this.triggerReachabilityProbe()}triggerReachabilityProbe(){if(this.state.kind!==`active`)return;let e=y.getState().activeAssistantId;if(e){if(this.transition({...this.state,reachable:!1}),this.healthHeartbeatId===e){this.probeReachability(e);return}this.startProbeLoop(e)}}setLocalAssistantUpgradeInProgress(e,t){if(y.getState().activeAssistantId===e){if(!t){this.probeReachability(e);return}if(this.state.kind===`self_hosted`){this.transition({...this.state,health:`upgrading`});return}this.state.kind===`active`&&this.state.isLocal&&this.transition({...this.state,reachable:!1,health:`upgrading`})}}__resetForTesting(){this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),this.cancelProbeTimer(),this.cancelHealthHeartbeat(),this.probeLoopAssistantId=null,this.reachabilityProbeInFlightIds.clear(),this.clearErrorRetry(!0),this.state={kind:`loading`},this.generation=0,this.ready=!1,w.setState({expectingFirstMessage:!1,operationalStatusAssistantId:null}),this.inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null},w.setState({assistantState:this.state}),y.setState({activeAssistantId:null})}setOperationalStatusAssistantId(e){w.getState().operationalStatusAssistantId!==e&&w.setState({operationalStatusAssistantId:e})}},Lt=`vellum_active_organization_id`;function Rt(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function zt(){let e=Rt();if(!e)return null;try{return e.getItem(Lt)}catch{return null}}function Bt(e){let t=Rt();if(t)try{t.setItem(Lt,e)}catch{}}function Vt(){let e=Rt();if(e)try{e.removeItem(Lt)}catch{}}function Ht(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var D=f(d()((e,t)=>({organizations:[],currentOrganizationId:null,persistedOrganizationId:zt(),status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await je()).data?.results??[],r=Ht(n,t().currentOrganizationId??t().persistedOrganizationId);r&&Bt(r),e({organizations:n,currentOrganizationId:r,persistedOrganizationId:r??t().persistedOrganizationId,status:r?`ready`:`error`,error:r?null:`No organization available for this user.`})}catch(t){e({status:`error`,error:t instanceof Error&&t.message?t.message:`Failed to load organizations.`})}},setCurrentOrganizationId:n=>{let{organizations:r}=t();r.some(e=>e.id===n)&&(Bt(n),e({currentOrganizationId:n,persistedOrganizationId:n,status:`ready`}))},clearOrganization:()=>{Vt(),e({organizations:[],currentOrganizationId:null,persistedOrganizationId:null,status:`idle`,error:null})}})));function Ut(e){return e.currentOrganizationId??e.persistedOrganizationId}function O(){return Ut(D.getState())}function Wt(){return D(Ut)}function Gt(){D.getState().clearOrganization()}function Kt(){let e=0,t=D.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{let n=E(e.platformSession),r=E(t.platformSession);n&&(!r||e.user?.id!==t.user?.id)&&D.getState().fetchOrganizations()}),r=()=>{if(!E($.getState().platformSession))return;let{status:t}=D.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&D.getState().fetchOrganizations()},i=Fe(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}function qt(e){let{assistants:t,selectedAssistantId:n,assistantsHydrated:r}=y.getState(),i=xe(t,e),a=e=>i.some(t=>t.id===e);if(n!==null){let e=t.some(e=>e.id===n);if(a(n)||!e&&!r)return n}let o=fe()?.assistantId??null;return o!==null&&a(o)?o:i[0]?.id??null}function Jt(){let e=Wt(),t=Le.use.multiPlatformAssistant(),n=Le.use.assistantSwitcher();return y.use.selectedAssistantId(),y.use.assistants(),y.use.assistantsHydrated(),(t||n&&m())&&!p()&&e?qt(e):null}async function k(e){y.getState().setSelectedAssistant(e),e!==null&&await ie(e)}var Yt=`vellum:auth:userSnapshot`;function Xt(e){if(e)try{localStorage.setItem(Yt,JSON.stringify(e))}catch{}}function Zt(){try{let e=localStorage.getItem(Yt);if(!e)return null;let t=JSON.parse(e);return!t||typeof t!=`object`?null:{kind:`platform`,id:typeof t.id==`string`?t.id:null,username:typeof t.username==`string`?t.username:null,email:typeof t.email==`string`?t.email:null,isStaff:t.isStaff===!0,firstName:typeof t.firstName==`string`?t.firstName:``,lastName:typeof t.lastName==`string`?t.lastName:``}}catch{return null}}function A(){try{localStorage.removeItem(Yt)}catch{}}function Qt(e,t={}){let n={...e??{}},r=t.includeSelfHostedActorToken===!1?null:pe();if(r)return n.Authorization=`Bearer ${r}`,n;let i=t.organizationId??O();i&&(n[`Vellum-Organization-Id`]=i);let a=We();return a&&(n[`X-Session-Token`]=a),n}async function $t(e,t={}){let n=Qt(e,t);if(n.Authorization||v())return n;await Re();let r=Be();return r&&(n[`X-CSRFToken`]=r),n}var en;function tn(){return v()?(en===void 0&&(en=window.__VELLUM_CONFIG__?.deviceId??null),en):null}var nn=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,rn=`X-Vellum-Electron-Renderer-Origin`,an=new Map,on=[2e3,5e3,15e3,3e4,6e4],sn=new Set;async function cn(e,t={}){if(!m()||h()||de()||wn(e))return e;let n=un(e);if(!n)return e;let r=an.get(n.assistantId);if(r)return r;let i=dn(n,{allowGatewayRepair:t.allowGatewayRepair??!0});an.set(n.assistantId,i);try{return await i}catch(e){throw an.delete(n.assistantId),e}}function ln(e,t={}){if(!m()||h()||de())return;let n=e;if(!n){let e=oe();if(!e||!ce(e))return;n=e.assistantId}if(sn.has(n))return;sn.add(n);let r=n;(async()=>{try{for(let e=0;;e++)try{await cn(r,{allowGatewayRepair:t.allowGatewayRepair??!1});return}catch(n){let r=on[e];if(r===void 0){(t.onError??(e=>{console.warn(`local assistant platform bootstrap failed`,e)}))(n);return}console.warn(`local assistant platform bootstrap attempt ${e+1} failed, retrying in ${r}ms`,n),await new Promise(e=>setTimeout(e,r))}}finally{sn.delete(r)}})()}function un(e){let t=fe();if(t?.assistantId===e&&ce(t))return t;let n=oe();return n?.assistantId===e&&ce(n)?n:null}async function dn(e,t){let n=await pn(e,t),r=await mn(n,e.assistantId),i=r?.assistantId&&wn(r.assistantId)?r.assistantId:null;if(i&&r?.hasAssistantApiKey!==!1){let t=r?.organizationId??e.platformOrganizationId??null;return t&&await fn(e,{platformAssistantId:i,platformBaseUrl:r?.baseUrl??ae(),organizationId:t}),i}let a=await hn(r?.organizationId??null,e);if(!a)throw Error(`Sign in to Vellum and select an organization to register this local assistant.`);let o=r?.clientInstallationId??tn()??null;if(!o)throw Error(`Unable to identify this local assistant host for platform registration.`);let s=await gn(e,a,o),c=j(s.assistant?.id,s.assistant_id,s.id),l=i??c;if(!l||!wn(l))throw Error(`The platform registration response did not include an assistant UUID.`);let u=M(s.assistant_api_key);!u&&r?.hasAssistantApiKey!==!0&&(u=await _n(e,a,o));let d=r?.baseUrl??ae();return await yn(n,{assistantApiKey:u,platformAssistantId:l,platformBaseUrl:d,organizationId:a,webhookSecret:M(s.webhook_secret)}),await fn(e,{platformAssistantId:l,platformBaseUrl:d,organizationId:a}),l}async function fn(e,t){await te({...e,platformAssistantId:t.platformAssistantId,platformBaseUrl:t.platformBaseUrl,platformOrganizationId:t.organizationId}).catch(e=>{console.warn(`local assistant platform lockfile update failed`,e)})}async function pn(e,t){let n=ge(),r=pe();if(t.allowGatewayRepair&&(!n||!r)&&(await ye(e),n=ge(),r=pe()),!n||!r){let t=le(e);t&&(n=`${window.location.origin}${t}`)}if(!n||!r)throw Error(`Unable to reach the local assistant for platform identity setup.`);return{gatewayUrl:n,actorToken:r}}async function mn(e,t){let n=Cn(e.gatewayUrl,`/v1/assistants/${encodeURIComponent(t)}/platform/status`),r=await fetch(n,{headers:{Accept:`application/json`,Authorization:`Bearer ${e.actorToken}`},credentials:`omit`}).catch(()=>null);if(!r?.ok)return null;let i=await r.json().catch(()=>null);return{assistantId:j(i?.assistantId,i?.assistant_id),baseUrl:j(i?.baseUrl,i?.base_url),organizationId:j(i?.organizationId,i?.organization_id),hasAssistantApiKey:Tn(i?.hasAssistantApiKey,i?.has_assistant_api_key),clientInstallationId:j(i?.clientInstallationId,i?.client_installation_id)}}async function hn(e,t){return(e??t.platformOrganizationId??O()??t.organizationId??null)||(await D.getState().fetchOrganizations().catch(()=>{}),O()??t.platformOrganizationId??t.organizationId??null)}async function gn(e,t,n){return await vn(`/v1/assistants/self-hosted-local/ensure-registration/`,e,t,n)}async function _n(e,t,n){return M((await vn(`/v1/assistants/self-hosted-local/reprovision-api-key/`,e,t,n)).provisioning?.assistant_api_key)}async function vn(e,t,n,r){let i=new Headers({...await $t({Accept:`application/json`,"Content-Type":`application/json`},{includeSelfHostedActorToken:!1,organizationId:n})}),a=We();if(v()){if(!a)throw Error(`Sign in to Vellum to register this local assistant.`);i.set(rn,`${window.location.protocol}//${window.location.host}`)}let o=await fetch(new URL(e,window.location.origin).toString(),{method:`POST`,headers:i,credentials:v()?`omit`:`same-origin`,body:JSON.stringify({client_installation_id:r,runtime_assistant_id:t.assistantId,client_platform:v()?`macos`:`web`})}).catch(e=>{throw Error(`Unable to reach the platform registration endpoint: ${Sn(e)}`)});if(!o.ok){let e=await xn(o);throw Error(`Unable to register the local assistant with the platform (HTTP ${o.status})${e?`: ${e}`:`.`}`)}try{return await o.json()}catch(e){throw Error(`Unable to read the platform registration response: ${Sn(e)}`)}}async function yn(e,t){let n=[[`vellum:platform_assistant_id`,t.platformAssistantId],[`vellum:platform_base_url`,t.platformBaseUrl],[`vellum:platform_organization_id`,t.organizationId],[`vellum:webhook_secret`,t.webhookSecret]];await Promise.all(n.filter(e=>!!e[1]).map(([t,n])=>bn(e,t,n))),t.assistantApiKey&&await bn(e,`vellum:assistant_api_key`,t.assistantApiKey)}async function bn(e,t,n){let r=await fetch(Cn(e.gatewayUrl,`/v1/secrets`),{method:`POST`,headers:{Accept:`application/json`,Authorization:`Bearer ${e.actorToken}`,"Content-Type":`application/json`},credentials:`omit`,body:JSON.stringify({type:`credential`,name:t,value:n})}).catch(e=>{throw Error(`Unable to reach the local assistant while storing ${t}: ${Sn(e)}`)});if(!r.ok){let e=await xn(r);throw Error(`Unable to store ${t} on the local assistant (HTTP ${r.status})${e?`: ${e}`:`.`}`)}return!0}async function xn(e){if((e.headers.get(`content-type`)??``).includes(`application/json`)){let t=await e.json().catch(()=>null),n=t&&typeof t==`object`&&`detail`in t?M(t.detail):null,r=t&&typeof t==`object`&&`code`in t?M(t.code):null;return n&&r?`${n} (${r})`:n||r||JSON.stringify(t)}return(await e.text().catch(()=>``)).slice(0,300)}function Sn(e){return e instanceof Error?e.message:String(e)}function Cn(e,t){let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/,``)}${t}`,n.toString()}function wn(e){return nn.test(e)}function j(...e){for(let t of e){let e=M(t);if(e)return e}return null}function M(e){return typeof e==`string`&&e.trim()?e.trim():null}function Tn(...e){for(let t of e)if(typeof t==`boolean`)return t;return null}var En={idle:``,connecting:`Connecting…`,listening:`Listening…`,transcribing:`Transcribing…`,thinking:`Thinking…`,speaking:`Speaking…`,ending:`Ending…`,failed:``};function Dn(e,t){return t&&e===`connecting`?`Reconnecting…`:En[e]}function On(e,t,n){return Dn(e===`speaking`&&!n?`thinking`:e,t)}function N(e){return e!==`idle`&&e!==`failed`}function kn(e){return e===`listening`||e===`transcribing`||e===`thinking`||e===`speaking`}function An(e,t){if(!N(e.state))return!1;let n=t??null;return n===e.conversationId||n===e.startedConversationId}var jn={state:`idle`,assistantAudioActive:!1,activityLabel:``,pendingApprovalRequestId:null,reconnecting:!1,assistantId:null,conversationId:null,startedConversationId:null,controls:null,partialTranscript:``,finalTranscript:``,assistantTranscript:``,inputAmplitude:0,muted:!1,outputMuted:!1,handsFree:!1,roomMinimized:!1,entryOrigin:null,lastTurnLatency:null,outputAmplitudeProvider:null,playbackProgressProvider:null,error:null},P=f(d()(e=>({...jn,starter:null,setState:t=>e({state:t}),setAssistantAudioActive:t=>e({assistantAudioActive:t}),setActivityLabel:(t,n=null)=>e({activityLabel:t,pendingApprovalRequestId:n}),setReconnecting:t=>e({reconnecting:t}),setSessionContext:(t,n)=>e({assistantId:t,conversationId:n,startedConversationId:n,muted:!1,outputMuted:!1}),setConversationId:t=>e({conversationId:t}),setControls:t=>e({controls:t}),setStarter:t=>e({starter:t}),setPartialTranscript:t=>e({partialTranscript:t}),setFinalTranscript:t=>e({finalTranscript:t}),appendAssistantTranscript:t=>e(e=>({assistantTranscript:e.assistantTranscript+t})),clearAssistantTranscript:()=>e({assistantTranscript:``}),clearUserTranscripts:()=>e({partialTranscript:``,finalTranscript:``}),setInputAmplitude:t=>e({inputAmplitude:t}),setMuted:t=>e({muted:t}),setOutputMuted:t=>e({outputMuted:t}),setHandsFree:t=>e({handsFree:t}),setRoomMinimized:t=>e({roomMinimized:t}),setEntryOrigin:t=>e({entryOrigin:t}),setLastTurnLatency:t=>e({lastTurnLatency:t}),setOutputAmplitudeProvider:t=>e({outputAmplitudeProvider:t}),setPlaybackProgressProvider:t=>e({playbackProgressProvider:t}),fail:t=>e({state:`failed`,error:t}),reset:()=>e({...jn})})));function Mn(e){let t=!1,n=!1,r=P.subscribe(()=>{t||(t=!0,queueMicrotask(()=>{t=!1,!n&&e(P.getState())}))});return()=>{n=!0,r()}}function Nn(){return P.getState().inputAmplitude}function Pn(){return P.getState().outputAmplitudeProvider?.()??0}function Fn(){return P.getState().playbackProgressProvider?.()??null}function In(){P.getState().controls?.stop()}function Ln(){let{state:e,setRoomMinimized:t}=P.getState();N(e)&&t(!0)}function Rn(){let{state:e,setRoomMinimized:t}=P.getState();N(e)&&t(!1)}function zn(e){P.getState().controls?.setMuted(e)}function Bn(e){P.getState().controls?.setOutputMuted(e)}function Vn(e){P.getState().setEntryOrigin(e)}function Hn(){P.getState().reset()}function Un(e){return P(t=>An(t,e))}var Wn=Xe(`ApnsEnvironment`),Gn=`.dev`;function Kn(e){return e.endsWith(Gn)?`development`:`production`}async function qn(e){try{let{environment:e}=await Wn.get();if(e===`development`||e===`production`)return e;console.debug(`[apns-environment] unreadable APNs entitlement, using bundle-id heuristic:`,e)}catch(e){console.debug(`[apns-environment] ApnsEnvironment bridge unavailable, using bundle-id heuristic:`,e)}return Kn(e)}function Jn(){let e={},t=Object.keys(En).filter(N);for(let n of t)e[n]=On(n,!1,!0);return e}function Yn(e){let t=JSON.parse(e);return typeof t.token==`string`&&typeof t.assistantId==`string`?{token:t.token,assistantId:t.assistantId}:null}var Xn=Ze({key:`vellum:live_activity_registration`,scope:`user`,parse:Yn,serialize:JSON.stringify,fallback:null}),F=null,I=new Set;function Zn(e){I.add(e),e.finally(()=>{I.delete(e)})}var Qn=Promise.resolve();async function $n(e){let t=Qn.then(()=>er(e));Qn=t.catch(()=>void 0),Zn(t),await t}async function er({token:e,assistantId:t,conversationId:n,accentHex:r,muted:i}){try{let{App:a}=await l(async()=>{let{App:e}=await import(`./esm-UxVM8v-Z.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:o}=await a.getInfo(),s=await qn(o),u=await Ee({path:{assistant_id:t},body:{token:e,bundle_id:o,apns_environment:s,conversation_id:n,labels:Jn(),accent_hex:r,muted:i},throwOnError:!1});if(u.error){c(u.error,{context:`live_activity_push_registration`,level:`warning`,bestEffort:!0});return}F={token:e,assistantId:t},Xn.save(F)}catch(e){c(e,{context:`live_activity_push_registration`,level:`warning`,bestEffort:!0})}}async function tr(){I.size>0&&await Promise.allSettled([...I]);let e=F??Xn.load();if(e!==null){F=null,Xn.remove();try{await De({path:{assistant_id:e.assistantId,token:e.token},throwOnError:!1})}catch(e){c(e,{context:`live_activity_push_unregistration`,level:`warning`,bestEffort:!0})}}}var nr=`vellum-alerts`,rr=null;async function ir(){$e()&&(rr||=(async()=>{let{LocalNotifications:e}=await l(async()=>{let{LocalNotifications:e}=await import(`./esm-Jw5qNk7q.js`).then(e=>e.n);return{LocalNotifications:e}},__vite__mapDeps([3,4,1,2]));await e.createChannel({id:nr,name:`Alerts`,importance:3})})().catch(e=>{throw rr=null,e}),await rr)}function ar(e){let t=JSON.parse(e);return typeof t.token==`string`&&typeof t.bundleId==`string`&&typeof t.assistantId==`string`?{token:t.token,bundleId:t.bundleId,assistantId:t.assistantId}:null}var L=Ze({key:`vellum:push_registration`,scope:`user`,parse:ar,serialize:JSON.stringify,fallback:null}),or=!1,sr=null,R=null,cr=null,lr=new Set,ur=Promise.resolve();function dr(e){lr.add(e),e.finally(()=>{lr.delete(e)})}function fr(e,t){dr(S.getPlatform()===`android`?ur=ur.then(()=>mr(e,t)):mr(e,t))}function pr(){let e=S.getPlatform();return Ge()&&(e===`ios`||e===`android`)}async function mr(e,t){try{let{App:n}=await l(async()=>{let{App:e}=await import(`./esm-UxVM8v-Z.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:r}=await n.getInfo(),i=S.getPlatform(),a=i===`android`?{token:e,platform:`android`,bundle_id:r}:{token:e,platform:`ios`,bundle_id:r,apns_environment:await qn(r)},o=await ke({path:{assistant_id:t},body:a,throwOnError:!1});if(o.error){c(o.error,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0});return}let s=R??L.load();R={token:e,bundleId:r,assistantId:t},L.save(R),s&&s.bundleId===r&&s.token!==e&&i===`android`&&await gr(s)}catch(e){c(e,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0})}}function hr(e){if(typeof e!=`object`||!e)return;let t=e,n=t.deep_link;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n=null}if(typeof n==`object`&&n){let e=n.conversationId;if(typeof e==`string`)return e}return typeof t.conversationId==`string`?t.conversationId:void 0}async function gr(e){let t=await Oe({path:{assistant_id:e.assistantId,token:e.token},query:{bundle_id:e.bundleId},throwOnError:!1});t.error&&c(t.error,{context:`push_registration_delete`,level:`warning`,bestEffort:!0,extra:{assistantId:e.assistantId,bundleId:e.bundleId}})}function _r(e){cr=e}async function vr(){if(!or){or=!0;try{let{PushNotifications:e}=await l(async()=>{let{PushNotifications:e}=await import(`./esm-S7iZcDlp.js`);return{PushNotifications:e}},__vite__mapDeps([5,2]));await e.addListener(`registration`,e=>{let t=sr;t&&fr(e.value,t)}),await e.addListener(`registrationError`,e=>{c(e,{context:`push_registration_native`,level:`warning`})}),S.getPlatform()===`android`&&await e.addListener(`pushNotificationReceived`,e=>cr?.(e)),await e.addListener(`pushNotificationActionPerformed`,e=>{let t=hr(e.notification.data);t&&Ie(`deeplink.openThread`,{threadId:t})})}catch(e){or=!1,c(e,{context:`push_registration_listeners`,level:`warning`})}}}async function yr(e){if(pr()){sr=e,R&&R.assistantId!==e&&fr(R.token,e);try{let{PushNotifications:e}=await l(async()=>{let{PushNotifications:e}=await import(`./esm-S7iZcDlp.js`);return{PushNotifications:e}},__vite__mapDeps([5,2]));if(await vr(),await ir(),(await e.requestPermissions()).receive!==`granted`)return;await e.register()}catch(e){c(e,{context:`push_registration_register`,level:`warning`})}}}async function br(){for(sr=null;lr.size>0;)await Promise.allSettled([...lr]);let e=R??L.load();if(R=null,L.remove(),pr()){if(e)try{await gr(e)}catch(e){c(e,{context:`push_registration_delete`,level:`warning`,bestEffort:!0})}if(S.getPlatform()===`android`)try{let{PushNotifications:e}=await l(async()=>{let{PushNotifications:e}=await import(`./esm-S7iZcDlp.js`);return{PushNotifications:e}},__vite__mapDeps([5,2]));await e.unregister()}catch(e){c(e,{context:`push_registration_unregister`,level:`warning`})}}}function xr(e){return R?.assistantId===e}function Sr(e){return e}function Cr(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return{code:null,message:n};let r=Sr(e),i=r[t];if(Array.isArray(i)&&i.length>0){let e=i[0];if(typeof e==`string`)return{code:null,message:e};if(e&&typeof e==`object`&&!Array.isArray(e)){let t=Sr(e),r=t.code,i=t.string??t.message;return{code:typeof r==`string`?r:null,message:typeof i==`string`?i:n}}}return typeof r.detail==`string`?{code:null,message:r.detail}:{code:null,message:n}}var wr={too_short:`Must be at least 3 characters.`,too_long:`Must be at most 30 characters.`,invalid_chars:`Use only lowercase letters, digits, hyphens, and underscores.`,leading_underscore:`Cannot start with an underscore.`,trailing_underscore:`Cannot end with an underscore.`,leading_hyphen:`Cannot start with a hyphen.`,trailing_hyphen:`Cannot end with a hyphen.`,all_digits:`Cannot be all digits.`,reserved:`This handle is reserved.`,taken:`This handle is already taken.`};async function Tr(){let{data:e,error:t,response:n}=await we.get({url:`/v1/user/me/`,throwOnError:!1});if(Se(n,t,`Failed to load profile.`),!n.ok||!e)throw new Ce(n.status,b(t,n,`Failed to load profile.`));return e}var Er=`Please choose a different handle.`;async function Dr(e){let{data:t,error:n,response:r}=await we.patch({url:`/v1/user/me/`,body:e,throwOnError:!1});if(!r)return{kind:`error`,message:b(n,void 0,`Failed to save profile.`)??`Failed to save profile.`};if(r.ok&&t)return{kind:`ok`,data:t};if(r.status===409){let{message:e}=Cr(n,`username`,wr.taken);return{kind:`taken`,message:e}}if(r.status===400){let{code:e,message:t}=Cr(n,`username`,Er);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:b(n,r,`Failed to save profile.`)}}async function Or(){let{data:e,error:t,response:n}=await Te({throwOnError:!1});if(Se(n,t,`Failed to load consent.`),!n.ok||!e)throw new Ce(n.status,b(t,n,`Failed to load consent.`));return e}async function kr(e){await Ae({body:e,throwOnError:!0})}async function Ar(e,t){let{data:n,error:r,response:i}=await we.get({url:`/v1/user/username-available/`,query:{username:e},signal:t,throwOnError:!1});if(Se(i,r,`Failed to check handle availability.`),!i.ok||!n)throw new Ce(i.status,i.status===429?`Too many checks — try again in a moment.`:b(r,i,`Failed to check handle availability.`));return n}function jr(e){i(`diagnosticsReporting`,e)}function Mr(e,t){let n=Ir(e);return n!==null&&t(n),jr(Nr(n,e)),n}function Nr(e,t){return e??a(`shareDiagnostics`,!0)?t.hasServerRecord?t.diagnosticsEffective:!0:!1}function Pr(e,t){Mr({shareDiagnostics:e,diagnosticsEffective:e,hasServerRecord:!0},t)}function Fr(){o(`diagnosticsReporting`,``)===``&&jr(!1)}function Ir(e){let{shareDiagnostics:t,hasServerRecord:n}=e;return t===!1?!1:n&&t===!0?!0:null}var Lr=`2026-06-08`,Rr=`2026-06-22`,zr=`2026-06-18`,Br=`2026-06-18`,Vr=`2026-06-08`,z={tos:Lr,privacyPolicy:Rr,aiDataSharing:Rr,shareAnalytics:zr,shareDiagnostics:Br};function Hr(e){return{tos:e?.tos||`2026-06-08`,privacyPolicy:e?.privacy_policy||`2026-06-22`,aiDataSharing:e?.ai_data_sharing||`2026-06-22`,shareAnalytics:e?.share_analytics||`2026-06-18`,shareDiagnostics:e?.share_diagnostics||`2026-06-18`}}function Ur(){return{...z}}function B(e,t){return`device:consent:${e}:${t}`}function V(e){switch(e){case`tos`:return z.tos;case`privacy_policy`:return z.privacyPolicy;case`ai_data_sharing`:return z.aiDataSharing;case`share_diagnostics`:return z.shareDiagnostics}}var Wr=/^\d{4}-\d{2}-\d{2}$/;function Gr(t,n){let r=e(B(t,n),``);return Wr.test(r)?r:``}function H(e,t){return W(Gr(e,t),V(e))}function Kr(e){return`device:consent:ai:v${Vr}:${e}`}function U(e,i,a){let o=`device:consent:${e}:v`,s=`:${i}`,c=[],l=``;for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);if(!t||!t.startsWith(o)||!t.endsWith(s))continue;let n=t.slice(o.length,t.length-s.length);Wr.test(n)&&(c.push(t),r(t,!1)&&n>l&&(l=n))}if(l)for(let e of a)Gr(e,i)||t(B(e,i),l);for(let e of c)n(e)}function qr(e){if(typeof window>`u`||!e)return{tos:!1,privacy:!1,diagnosticsCurrent:!1};try{U(`tos`,e,[`tos`]),U(`privacy`,e,[`privacy_policy`,`ai_data_sharing`]),U(`share_diagnostics`,e,[`share_diagnostics`]),U(`share_analytics`,e,[]),r(Kr(e),!1)&&n(Kr(e));let i=H(`tos`,e),a=H(`privacy_policy`,e)&&H(`ai_data_sharing`,e),o=H(`share_diagnostics`,e);if(i||a)return{tos:i,privacy:a,diagnosticsCurrent:o};let s=r(`vellum:onboarding:tosAccepted`,!1),c=r(`vellum:onboarding:aiDataConsent`,!1);return s||c?(s&&t(B(`tos`,e),Lr),{tos:s&&H(`tos`,e),privacy:!1,diagnosticsCurrent:o}):{tos:!1,privacy:!1,diagnosticsCurrent:o}}catch{return{tos:!1,privacy:!1,diagnosticsCurrent:!1}}}function Jr(e,r,i){if(!(typeof window>`u`||!e))try{r?t(B(`tos`,e),V(`tos`)):n(B(`tos`,e)),i?(t(B(`privacy_policy`,e),V(`privacy_policy`)),t(B(`ai_data_sharing`,e),V(`ai_data_sharing`))):(n(B(`privacy_policy`,e)),n(B(`ai_data_sharing`,e)))}catch{}}function Yr(e){if(!(typeof window>`u`||!e))try{t(B(`share_diagnostics`,e),V(`share_diagnostics`))}catch{}}function Xr(e){if(n(`vellum:onboarding:tosAccepted`),n(`vellum:onboarding:aiDataConsent`),n(`vellum:onboarding:selectedVersion`),!(typeof window>`u`||!e))try{n(B(`tos`,e)),n(B(`privacy_policy`,e)),n(B(`ai_data_sharing`,e)),n(B(`share_diagnostics`,e)),n(Kr(e)),U(`tos`,e,[]),U(`privacy`,e,[]),U(`share_diagnostics`,e,[]),U(`share_analytics`,e,[])}catch{}}function W(e,t){return e>=t}function Zr(e){if(!e)return{tos:!1,privacy:!1,shareAnalytics:null,shareDiagnostics:null,analyticsEffective:!0,diagnosticsEffective:!0,analyticsCurrent:!1,diagnosticsCurrent:!1,analyticsVersionCurrent:!1,diagnosticsVersionCurrent:!1,hasServerRecord:!1};let t=Hr(e.required_versions);z=t;let n=W(e.share_analytics_accepted_version,t.shareAnalytics),r=W(e.share_diagnostics_accepted_version,t.shareDiagnostics),i=!!e.tos_accepted_version||!!e.privacy_policy_accepted_version||!!e.ai_data_sharing_accepted_version||!!e.share_analytics_accepted_version||!!e.share_diagnostics_accepted_version||e.share_analytics===!1||e.share_diagnostics===!1||e.share_analytics_effective===!1||e.share_diagnostics_effective===!1;return{tos:W(e.tos_accepted_version,t.tos),privacy:W(e.privacy_policy_accepted_version,t.privacyPolicy)&&W(e.ai_data_sharing_accepted_version,t.aiDataSharing),shareAnalytics:e.share_analytics,shareDiagnostics:e.share_diagnostics,analyticsEffective:e.share_analytics_effective??e.share_analytics!==!1,diagnosticsEffective:e.share_diagnostics_effective??e.share_diagnostics!==!1,analyticsCurrent:e.share_analytics===null||n,diagnosticsCurrent:e.share_diagnostics===null||r,analyticsVersionCurrent:n,diagnosticsVersionCurrent:r,hasServerRecord:i}}function Qr(e,t){let{legal:n,shareAnalytics:r,shareDiagnostics:i}=e,a=C.getState();n&&(a.setTosAccepted(n.tos),a.setPrivacyConsent(n.privacy),Jr(t.userId,n.tos,n.privacy)),r!==void 0&&(a.setShareAnalytics(r),a.setPendingAnalyticsOptIn(r===!0)),i!==void 0&&Pr(i,a.setShareDiagnostics),n?(a.setAnalyticsConsentCurrent(!0),a.setDiagnosticsConsentCurrent(!0),a.setHasConsentRecord(!0),a.setConsentHydrated(!0)):t.hasPlatformSession&&(r!==void 0&&a.setAnalyticsConsentCurrent(!0),i!==void 0&&a.setDiagnosticsConsentCurrent(!0)),i!==void 0&&(n||t.hasPlatformSession)&&Yr(t.userId),t.hasPlatformSession&&kr({...n?{tos_accepted_version:n.tos?z.tos:``,privacy_policy_accepted_version:n.privacy?z.privacyPolicy:``,ai_data_sharing_accepted_version:n.privacy?z.aiDataSharing:``}:{},...r===void 0?{}:{share_analytics:r,share_analytics_accepted_version:z.shareAnalytics},...i===void 0?{}:{share_diagnostics:i,share_diagnostics_accepted_version:z.shareDiagnostics}}).catch(()=>{})}function $r(e){Qr({legal:{tos:e.tos,privacy:e.privacy},...e.shareAnalytics===null?{}:{shareAnalytics:e.shareAnalytics},...e.shareDiagnostics===null?{}:{shareDiagnostics:e.shareDiagnostics}},{userId:e.userId,hasPlatformSession:e.hasPlatformSession})}function ei(e,t,n){Qr(e===`share_analytics`?{shareAnalytics:t}:{shareDiagnostics:t},n)}var ti=`vellum.pro-takeover-avatar`,ni=1800*1e3,G=null,ri=!1,ii=0;function ai(){return ii}function oi(e){let t={...e,savedAt:Date.now()};G=t,ii+=1;try{sessionStorage.setItem(ti,JSON.stringify(t)),ri=!1}catch{ri=!0}}function si(){if(ri)return ui();let e;try{if(typeof sessionStorage>`u`)return ui();e=sessionStorage.getItem(ti)}catch{return ui()}if(!e)return G=null,null;let t;try{t=JSON.parse(e)}catch{return K(),null}return!fi(t)||Date.now()-t.savedAt>ni?(K(),null):t}function K(){G=null,ri=!1,ii+=1;try{sessionStorage.removeItem(ti)}catch{}}function ci(e){let{activeAssistantId:t,assistants:n,assistantsHydrated:r}=y.getState();if(!t||!r||n.length!==1||n[0]?.id!==t){K();return}let i=li(e,t);if(!i||i.customImageUrl!=null||i.components==null){K();return}oi({assistantId:t,components:i.components,traits:i.traits})}function li(e,t){let n=e.getQueryCache().findAll({queryKey:tt(t)}),r,i=-1/0;for(let e of n){let t=e.state.data;t===void 0||e.state.dataUpdatedAt<i||(r=t,i=e.state.dataUpdatedAt)}return r}function ui(){return G?Date.now()-G.savedAt>ni?(G=null,null):G:null}function di(e){return Date.now()-e.savedAt<=ni}function fi(e){if(typeof e!=`object`||!e)return!1;let t=e;if(typeof t.assistantId!=`string`||typeof t.savedAt!=`number`||t.traits!==null&&!et(t.traits))return!1;let n=t.components;if(typeof n!=`object`||!n)return!1;let r=n;if(!mi(r.bodyShapes,_i)||!mi(r.eyeStyles,vi)||!mi(r.colors,yi)||!Array.isArray(r.faceCenterOverrides)||!r.faceCenterOverrides.every(bi))return!1;if(t.traits!==null){let e=t.traits;return pi(r.bodyShapes,e.bodyShape)&&pi(r.eyeStyles,e.eyeStyle)&&pi(r.colors,e.color)}return!0}function pi(e,t){return e.some(e=>e.id===t)}function mi(e,t){return Array.isArray(e)&&e.length>0&&e.every(t)}function hi(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.x==`number`&&typeof t.y==`number`}function gi(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.width==`number`&&typeof t.height==`number`}function _i(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.svgPath==`string`&&gi(t.viewBox)&&hi(t.faceCenter)}function vi(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id!=`string`||!gi(t.sourceViewBox)||!hi(t.eyeCenter)||!Array.isArray(t.paths)?!1:t.paths.every(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.svgPath==`string`&&typeof t.color==`string`})}function yi(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.hex==`string`}function bi(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.bodyShape==`string`&&typeof t.eyeStyle==`string`&&hi(t.faceCenter)}var xi=`vellum:`,Si=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],Ci=new Set([`vellum_theme`,`vellum_share_analytics`,`vellum_share_diagnostics`,`vellum_biometric_enabled`,`vellum_llm_log_retention`,`vellum_timezone`,`vellum_media_embeds_enabled`,`vellum_media_embed_domains`,`onboarding.lastUserId`]);function wi(e){return e.startsWith(xi)?!0:Ci.has(e)?!1:Si.some(t=>e.startsWith(t))}function Ti(){K(),Qe();try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&wi(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function Ei(e){return e?.id??e?.email??e?.username??null}function q(e){return e?{kind:`platform`,id:Ei(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var Di=null,J=null,Oi=!1,ki={kind:`local`,id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`},Y=e=>(Xt(e),{sessionStatus:`authenticated`,user:e,platformSession:`present`,platformSessionRestoredOffline:!1}),X=()=>({sessionStatus:`authenticated`,user:ki}),Z=()=>({sessionStatus:`unauthenticated`,user:null,platformSession:`absent`}),Ai=e=>e===null||!e.ok&&!jt(e);async function ji(e){if(!We())return!1;let t=Zt();return t?(await Q(t.id),e({...Y(t),platformSessionRestoredOffline:!0}),!0):!1}function Mi(e){(!e||Di&&Di!==e)&&Gt(),Di=e}function Ni(){J?.postMessage(`auth-changed`)}function Pi(e){let t=Ur();return{...e.tos?{tos_accepted_version:t.tos}:{},...e.privacy?{privacy_policy_accepted_version:t.privacyPolicy,ai_data_sharing_accepted_version:t.aiDataSharing}:{},...e.shareValues&&e.shareValues.analytics!==null?{share_analytics:e.shareValues.analytics,share_analytics_accepted_version:zr}:{},...e.diagnostics?{share_diagnostics_accepted_version:t.shareDiagnostics,...e.shareValues&&e.shareValues.diagnostics!==null?{share_diagnostics:e.shareValues.diagnostics}:{}}:{}}}var Fi;async function Q(e){if(Fi!==void 0&&Fi!==e){let e=C.getState();e.setPendingAnalyticsOptIn(!1),e.setServerAnalyticsEffective(null),e.setServerDiagnosticsEffective(null)}if(Fi=e,e)try{let t=Zr(await Or()),n=C.getState(),r=n.shareAnalytics,i=n.shareDiagnostics;t.shareAnalytics===!0&&n.setPendingAnalyticsOptIn(!1),n.setServerAnalyticsEffective(t.analyticsEffective),n.setServerDiagnosticsEffective(t.diagnosticsEffective),t.hasServerRecord&&(t.shareAnalytics!==null||r!==!1)&&!(t.shareAnalytics===!1&&C.getState().pendingAnalyticsOptIn)&&n.setShareAnalytics(t.shareAnalytics),Mr({shareDiagnostics:t.shareDiagnostics,diagnosticsEffective:t.diagnosticsEffective,hasServerRecord:t.hasServerRecord},n.setShareDiagnostics);let a=t.tos,o=t.privacy,s=t.analyticsCurrent,c=t.diagnosticsCurrent,l=t.hasServerRecord,u=t.shareDiagnostics!==null&&t.diagnosticsVersionCurrent;if(!t.hasServerRecord){let t=qr(e);s=!0,c=!0,u=t.diagnosticsCurrent,t.tos&&t.privacy&&(a=!0,o=!0,l=!0,kr(Pi({tos:!0,privacy:!0,diagnostics:u,shareValues:{analytics:r,diagnostics:i}})).catch(()=>{}))}else if(!a||!o||!c){let t=qr(e),n=!a&&t.tos,r=!o&&t.privacy,i=!c&&t.diagnosticsCurrent;n&&(a=!0),r&&(o=!0),i&&(c=!0,u=!0),(n||r||i)&&kr(Pi({tos:n,privacy:r,diagnostics:i})).catch(()=>{})}n.setTosAccepted(a),n.setPrivacyConsent(o),n.setAnalyticsConsentCurrent(s),n.setDiagnosticsConsentCurrent(c),n.setHasConsentRecord(l),Jr(e,a,o),u&&Yr(e),Mi(e),n.setConsentHydrated(!0);return}catch{}let t=qr(e),n=C.getState();e?Fr():(n.setPendingAnalyticsOptIn(!1),n.setServerAnalyticsEffective(null),n.setServerDiagnosticsEffective(null)),n.setTosAccepted(t.tos),n.setPrivacyConsent(t.privacy),n.setAnalyticsConsentCurrent(!0),n.setDiagnosticsConsentCurrent(!0),n.setHasConsentRecord(t.tos&&t.privacy),Mi(e),n.setConsentHydrated(!0)}var Ii=0;Promise.resolve();function Li(e,t={}){let n=++Ii,r=()=>n!==Ii;x().then(async n=>{if(!r())if(n.ok&&n.data.user){let i=q(n.data.user),a=t.setUserOnSuccess?{user:i}:{};if(t.setUserOnSuccess&&Xt(i),m()){let e=!1,t=()=>!e&&!r();try{await Promise.race([(async()=>{await D.getState().fetchOrganizations();let e=await Ne();t()&&e.ok&&await ne(e.data,D.getState().currentOrganizationId??void 0,t)})(),new Promise((t,n)=>setTimeout(()=>{e=!0,n(Error(`sync timeout`))},3e3))])}catch{}}if(r())return;e({platformSession:`present`,platformSessionRestoredOffline:!1,...a}),ln()}else t.clearOnFailure&&e({platformSession:`absent`})}).catch(()=>{r()||t.clearOnFailure&&e({platformSession:`absent`})}).finally(()=>{r()||e(e=>e.platformSession===`unknown`?{platformSession:`absent`}:{})})}function Ri(e,t){!m()||_()||_e().length>0?Li(e,t):e({platformSession:`absent`})}async function zi(){try{if(await Ye())return!0}catch{}return se()!==null}var $=f(d()((e,t)=>({sessionStatus:`initializing`,user:null,platformSession:`unknown`,platformSessionRestoredOffline:!1,initSession:async()=>{if(h()){await zi()?e({...X(),platformSession:`absent`}):e(Z());return}if(_()){try{await be(),e(X())}catch{e({sessionStatus:`unauthenticated`,user:null})}Ri(e);return}if(m()&&!_()){if(_e().length>0){let t=null;try{if(t=await x(),t.ok&&t.data.user){let n=q(t.data.user);await Q(n?.id??null);try{await D.getState().fetchOrganizations();let e=await Ne();e.ok&&await ne(e.data,D.getState().currentOrganizationId??void 0)}catch{}e(Y(n));return}}catch{}if(Ai(t)){if(await ji(e))return}else A();e(Z());return}e(X()),Oi?e({platformSession:`absent`}):Li(e,{setUserOnSuccess:!0}),Oi=!1;return}let t=null;try{if(t=await x(),t.ok&&t.data.user){let n=q(t.data.user);await Q(n?.id??null),e(Y(n));return}}catch(e){console.error(`auth.initSession failed`,e)}if(!(Ai(t)&&await ji(e))){if(Ge()&&Ke())try{let t=await Ue();if(t){Ve(t),await He();let n=await x();if(n.ok&&n.data.user){let t=q(n.data.user);await Q(t?.id??null),e(Y(t));return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}await Q(null),Ai(t)||A(),e(Z())}},connectLocalAssistant:async n=>{await ye(he().find(e=>e.assistantId===n)),await k(n),e(X()),await It.checkAssistant(),kt(t().platformSession,t().platformSessionRestoredOffline)&&ln(n),Ri(e)},connectPlatformAssistant:async t=>{await k(t);let n=await x();if(!n.ok||!n.data.user)throw Error(`Platform authentication required`);let r=q(n.data.user);await Q(r?.id??null),await D.getState().fetchOrganizations(),e(Y(r))},refreshSession:async()=>{if(h())return await zi()?(e({...X(),platformSession:`absent`}),!0):(e(Z()),!1);if(p()){try{await ve(ue()),e({sessionStatus:`authenticated`})}catch{return e(Z()),!1}return Ri(e,{clearOnFailure:!0}),!0}let n=null;try{if(n=await x(),n.ok&&n.data.user){let t=q(n.data.user);if(await Q(t?.id??null),m())try{await D.getState().fetchOrganizations();let e=await Ne();e.ok&&await ne(e.data,D.getState().currentOrganizationId??void 0)}catch{}return e(Y(t)),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}if(Ai(n))return T(t().sessionStatus);if(m()&&(_()||_e().length===0)){let n=T(t().sessionStatus);return n&&(A(),e({...X(),platformSession:`absent`})),n}return A(),await Q(null),e(Z()),!1},logout:async()=>{if(p()){It.resetForLogout(),await k(null),me(),Gt(),Ti(),e(Z()),Ni();return}Oi=!0,await br(),await tr();try{await ze()}finally{v()&&await window.vellum?.auth?.signOut?.(),m()&&!v()&&await re(),qe(),Gt(),Ti(),It.resetForLogout(),await k(null),e(Z()),Ni()}}}))),Bi=()=>T($.use.sessionStatus()),Vi=()=>!Dt($.use.sessionStatus()),Hi=()=>E($.use.platformSession()),Ui=()=>Ot($.use.platformSession()),Wi=()=>kt($.use.platformSession(),$.use.platformSessionRestoredOffline());function Gi(){let{refreshSession:e}=$.getState(),t=[],n=()=>e().catch(e=>console.warn(`auth.refreshSession failed`,e)),r=Fe(`app.resume`,()=>{Je()||n()});return t.push(r),typeof BroadcastChannel<`u`&&(J=new BroadcastChannel(`auth`),J.onmessage=()=>{Ti(),window.location.reload()},t.push(()=>{J?.close(),J=null})),()=>t.forEach(e=>e())}export{tn as $,nr as A,kn as B,Tr as C,xr as D,hr as E,Hn as F,Vn as G,On as H,In as I,Mn as J,zn as K,Nn as L,$n as M,tr as N,yr as O,En as P,cn as Q,Pn as R,Or as S,Cr as T,Ln as U,N as V,Rn as W,P as X,Un as Y,ln as Z,$r as _,ct as _t,Bi as a,D as at,wr as b,it as bt,ci as c,E as ct,si as d,Dt as dt,qt as et,ai as f,jt as ft,Zr as g,ft as gt,Xr as h,dt as ht,Hi as i,Kt as it,ir as j,_r as k,K as l,T as lt,Lr as m,Ct as mt,$ as n,Jt as nt,Ui as o,Wt as ot,Rr as p,Et as pt,Bn as q,Wi as r,O as rt,Vi as s,It as st,Gi as t,k as tt,di as u,kt as ut,ei as v,lt as vt,Dr as w,Ar as x,w as xt,Mr as y,at as yt,Fn as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./createLucideIcon-CAM1RhH8.js";import{S as r}from"./message-content-B6_GZQl9.js";import{n as i}from"./resolved-assistants-store-C6oDdTxB.js";import{h as a}from"./sdk.gen-CjtCuSlS.js";import{t as o}from"./background-task-store-DpOSZFT8.js";var s=n(`file-terminal`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m8 16 2-2-2-2`,key:`10vzyd`}],[`path`,{d:`M12 18h4`,key:`1wd2n7`}]]),c=e(t(),1);function l(e){return e===`host_bash`?s:r}function u({toolName:e,className:t}){return(0,c.createElement)(l(e),{className:t,"aria-hidden":!0})}function d(){let e=i.getState().activeAssistantId;if(!e)throw Error(`No active assistant`);return e}async function f(e){let t=d(),n=o.getState(),r=n.byId[e]?.status;n.cancelTask(e);try{let{data:n,response:r}=await a({path:{assistant_id:t},body:{id:e},throwOnError:!1});if(!r?.ok||n?.cancelled===!1)throw Error(`Failed to stop background task: ${r?.status} (cancelled=${n?.cancelled})`)}catch(t){throw r!==void 0&&o.getState().restoreTaskStatus(e,r),t}}export{u as n,l as r,f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-CqtAGHQu.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-CqtAGHQu.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import"./src-CwGlaCIx.js";import{r as a,t as o}from"./background-task-actions-DmocXKSr.js";import{a as s,i as c,n as l,r as u}from"./background-task-store-DpOSZFT8.js";import{t as d}from"./detail-shell-BuJMM-9z.js";import{t as f}from"./status-badge-pill-CFoeNqKo.js";import{CodeBlock as p,SectionLabel as m}from"./tool-detail-panel-tFQRRPbP.js";import{t as h}from"./detail-panel-stop-button-DN2NrxEh.js";var g=e(n(),1),_=r();function v({status:e}){return(0,_.jsx)(f,{color:l(e),label:u(e)})}function y({entry:e,onClose:n}){let r=s(e.status),l=!r,u=l&&e.output!==void 0&&e.output!==``,f=l&&e.exitCode!=null,[y,b]=(0,g.useState)(!1),x=(0,g.useCallback)(()=>{b(!0),o(e.id).catch(e=>{b(!1),t(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,_.jsxs)(d,{Glyph:a(e.toolName),title:c(e.status),headerTrailing:(0,_.jsx)(v,{status:e.status}),headerActions:r?(0,_.jsx)(h,{onStop:x,ariaLabel:`Stop command`,disabled:y}):void 0,closeVariant:`outlined`,closeLabel:`Close task detail`,onClose:n,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(m,{children:`Command`}),(0,_.jsx)(p,{text:e.command})]}),u&&(0,_.jsxs)(`div`,{className:`mt-5`,children:[(0,_.jsx)(m,{children:`Output`}),(0,_.jsx)(p,{text:e.output})]}),f&&(0,_.jsxs)(i,{variant:`body-small-default`,as:`p`,className:`mt-2 text-[var(--content-tertiary)]`,children:[`Exit code: `,e.exitCode]})]})}export{y as BackgroundTaskDetailPanel};
|