@vellumai/web 0.10.7-staging.1 → 0.10.7-staging.2
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-CmYDLs_U.js → AnimatePresence-Oxz4BTMX.js} +1 -1
- package/dist/assets/{BundleConfirmPage-BBfjDFkJ.js → BundleConfirmPage-CASo0dJB.js} +1 -1
- package/dist/assets/{about-page-DuS6wGUi.js → about-page-m20KWWnD.js} +1 -1
- package/dist/assets/{account-page-BE_-T9sb.js → account-page-C9kqnBZO.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-MrPfWIKh.js → acp-run-detail-panel-ejAbzWHh.js} +1 -1
- package/dist/assets/{add-credits-modal-C91gOON5.js → add-credits-modal-wQTjoJNa.js} +1 -1
- package/dist/assets/{advanced-page-D7LhNJ6i.js → advanced-page-DbX0io-N.js} +1 -1
- package/dist/assets/{ai-page-BsawXNY5.js → ai-page-BTlZJXAR.js} +1 -1
- package/dist/assets/{animated-avatar-DmRY8KgY.js → animated-avatar-KEsxQUWX.js} +1 -1
- package/dist/assets/{api-DqXotrgH.js → api-DXLi4DU7.js} +1 -1
- package/dist/assets/api-bHQ_ZhgO.js +1 -0
- package/dist/assets/{api-key-screen-P9WyBwmg.js → api-key-screen-BjgFbffU.js} +1 -1
- package/dist/assets/{archive-page-B8nce6tC.js → archive-page-DzmwifQT.js} +1 -1
- package/dist/assets/{assistant-status-panel-Cl9p2-kW.js → assistant-status-panel-boGM54mS.js} +1 -1
- package/dist/assets/auth-store-CI4EhvE5.js +2 -0
- package/dist/assets/{background-task-detail-panel-B1QCVn0B.js → background-task-detail-panel-H6SgrcwV.js} +1 -1
- package/dist/assets/{billing-page-CYQeoFy8.js → billing-page-CSKtNdRU.js} +3 -3
- package/dist/assets/{bookmarks-page-CAU2a6U9.js → bookmarks-page-BagxvDUo.js} +1 -1
- package/dist/assets/{browser-C1qhxIRO.js → browser-CP3oEvln.js} +2 -2
- package/dist/assets/{build-state-Bdkg8KmL.js → build-state-D96tiPPg.js} +1 -1
- package/dist/assets/{channels-page-route-POtBBuBk.js → channels-page-route-lCrN_Eb7.js} +1 -1
- package/dist/assets/{client-identity-BsH7W9OY.js → client-identity-jhypHe7Y.js} +1 -1
- package/dist/assets/{command-palette-zm8MLLsB.js → command-palette-Cilb3mV5.js} +1 -1
- package/dist/assets/{command-palette-window-page-BSin67xX.js → command-palette-window-page-BuwBHkS3.js} +1 -1
- package/dist/assets/{community-page-CQ0-ffoM.js → community-page-D4Ndx5yu.js} +1 -1
- package/dist/assets/{connect-page-7ttzpPF7.js → connect-page-By7gD4Gi.js} +1 -1
- package/dist/assets/{consent-controls-Bz7B3N11.js → consent-controls-J9UujLtO.js} +1 -1
- package/dist/assets/{contacts-page-route-BzHLPFPI.js → contacts-page-route-BhYOstuw.js} +1 -1
- package/dist/assets/debug-page-DxE07_BI.js +4 -0
- package/dist/assets/{deploy-dialogs-CHEK1jmn.js → deploy-dialogs-RKq6sd1W.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-60yx5hed.js → detail-panel-stop-button-CB2htTrF.js} +1 -1
- package/dist/assets/{detail-shell-IAIYU5Nw.js → detail-shell-q6GjKJ6F.js} +2 -2
- package/dist/assets/{developer-page-BCxe1J2k.js → developer-page-Bp_bG62w.js} +1 -1
- package/dist/assets/{devices-page-DVoQN6vT.js → devices-page-B_fKe-cL.js} +1 -1
- package/dist/assets/{diagnostics-BeHaQeqH.js → diagnostics-BUlVBxem.js} +1 -1
- package/dist/assets/{dictation-overlay-page-C9wwzBCi.js → dictation-overlay-page-W4zqYMu-.js} +1 -1
- package/dist/assets/{document-viewer-page-BsFewvP7.js → document-viewer-page-Dj4eF78D.js} +1 -1
- package/dist/assets/{earn-credits-modal-DADnKt6H.js → earn-credits-modal-YMvlT2Ib.js} +1 -1
- package/dist/assets/{emails-page-D4hD3UiR.js → emails-page-C2qpYYkU.js} +1 -1
- package/dist/assets/{esm-DmxjBDA5.js → esm-BZAWL4X4.js} +2 -2
- package/dist/assets/{esm-RwTVWiuE.js → esm-CuAK_cYT.js} +2 -2
- package/dist/assets/{esm-C_xzGoth.js → esm-DnCc4uNb.js} +2 -2
- package/dist/assets/{esm-BW0ibkil.js → esm-_LZD1lMg.js} +2 -2
- package/dist/assets/{esm-C89a_qa6.js → esm-fycmFY2i.js} +2 -2
- package/dist/assets/{file-editor-B-psPRqR.js → file-editor-XdAW-U3o.js} +1 -1
- package/dist/assets/{general-page-DNcKLEpX.js → general-page-BdQz1yqd.js} +1 -1
- package/dist/assets/hatching-screen-DshvxRQO.js +1 -0
- package/dist/assets/{home-page-route-D6K-xfn8.js → home-page-route-DQp5yQ2X.js} +1 -1
- package/dist/assets/{hosting-screen-B4EAxH_R.js → hosting-screen-CVX9EEtD.js} +1 -1
- package/dist/assets/{identity-page-route-Dxpm1a6v.js → identity-page-route-DxYmA5uU.js} +1 -1
- package/dist/assets/{index-h-RcC6AV.js → index-DQkD5WCi.js} +22 -22
- package/dist/assets/{inspect-page-Dl9dJlRl.js → inspect-page-B3GxcfyP.js} +3 -3
- package/dist/assets/{install-HiQhCico.js → install-DXEYsOZM.js} +1 -1
- package/dist/assets/{integrations-page-ykDN_390.js → integrations-page-BvIHNsf8.js} +1 -1
- package/dist/assets/{intelligence-layout-CB6UjSlD.js → intelligence-layout-BHQCWwlo.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-C_HSddWZ.js → keyboard-shortcuts-page-BNK7yZqf.js} +1 -1
- package/dist/assets/{library-detail-page-CyzOHX9v.js → library-detail-page-DV3DzEA1.js} +1 -1
- package/dist/assets/{library-page-B5EWtFgp.js → library-page-BXn710XB.js} +1 -1
- package/dist/assets/local-mode-YoUYEn7C.js +39 -0
- package/dist/assets/{login-flow-BGsTwM6S.js → login-flow-CFhW2AHB.js} +1 -1
- package/dist/assets/{login-page-jcxb0I-R.js → login-page-DVozReou.js} +1 -1
- package/dist/assets/{logout-page-CDRNf_VT.js → logout-page-mbOpAsy9.js} +1 -1
- package/dist/assets/{logs-layout-BMiLmNJ1.js → logs-layout-Cv6nMdHD.js} +1 -1
- package/dist/assets/{memory-router-playground-page-CYb9mWNV.js → memory-router-playground-page-C34xELyQ.js} +1 -1
- package/dist/assets/{messages-DBpQngan.js → messages-3teOY9CI.js} +1 -1
- package/dist/assets/{metric-card-DCHJ3KOy.js → metric-card-DQKsGfEB.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-CajFGrXu.js → mobile-sidebar-drawer-B1beyKRx.js} +1 -1
- package/dist/assets/{native-biometric-BnmJczno.js → native-biometric-uwPAd9lh.js} +2 -2
- package/dist/assets/{native-file-BXeEnGEz.js → native-file-B1HraJR0.js} +2 -2
- package/dist/assets/{notifications-page-DrMpl5CP.js → notifications-page-UMDWLPpt.js} +1 -1
- package/dist/assets/{oauth-complete-page-CMgdSTr6.js → oauth-complete-page-DnnHgVst.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-rhHc1r35.js → oauth-popup-complete-page-ClUeB7Y8.js} +1 -1
- package/dist/assets/{pairing-page-ncc1BI7T.js → pairing-page-Rsno8a1S.js} +1 -1
- package/dist/assets/{platform-detection-BeYxHNWy.js → platform-detection-CY-O-Rjc.js} +1 -1
- package/dist/assets/{platform-loopback-page-Dguk34tJ.js → platform-loopback-page-BwMcw0M2.js} +1 -1
- package/dist/assets/{plugin-detail-page-cwmsCoex.js → plugin-detail-page-BCbgwXnr.js} +1 -1
- package/dist/assets/{plugins-page-38MmVFQv.js → plugins-page-B9HBogOS.js} +1 -1
- package/dist/assets/{prechat-route-CLPN7c4G.js → prechat-route-B650w5Kw.js} +1 -1
- package/dist/assets/{prefs-BWxDWusW.js → prefs-Bo9fZ56w.js} +1 -1
- package/dist/assets/{privacy-page-DcpVbwwn.js → privacy-page-Ca7O4f9-.js} +1 -1
- package/dist/assets/{privacy-screen-D7S9U4mX.js → privacy-screen-2bUcs0CE.js} +1 -1
- package/dist/assets/{provider-callback-page-BwwsD_Ic.js → provider-callback-page-B0RNLXla.js} +1 -1
- package/dist/assets/{provider-signup-page-PKwRjxi-.js → provider-signup-page-CLgombsV.js} +1 -1
- package/dist/assets/{quick-input-page-Djdfcs-z.js → quick-input-page-DAoWLetZ.js} +1 -1
- package/dist/assets/{remote-gateway-session-YFtricXJ.js → remote-gateway-session-uLbl0yn7.js} +1 -1
- package/dist/assets/{research-mock-page-Cq114eTd.js → research-mock-page-Co74PHWK.js} +1 -1
- package/dist/assets/research-onboarding-persistence-B8R5Wv2v.js +1 -0
- package/dist/assets/research-onboarding-route-CuQ_LNlc.js +61 -0
- package/dist/assets/{resolved-assistants-store-BOajMG3X.js → resolved-assistants-store-DccydJ5N.js} +1 -1
- package/dist/assets/{review-terms-screen-DvVQe8yV.js → review-terms-screen-92ghcjAB.js} +1 -1
- package/dist/assets/{security-page-CDLZUU_X.js → security-page-DCRMmtyF.js} +1 -1
- package/dist/assets/select-assistant-screen-Dxq2KTj5.js +1 -0
- package/dist/assets/{settings-layout-CpMZCYQZ.js → settings-layout-CwoAvm9H.js} +1 -1
- package/dist/assets/{share-feedback-modal-BvvcIcbi.js → share-feedback-modal-_l0Q8X57.js} +1 -1
- package/dist/assets/{sidebar-tree-DrLFaiga.js → sidebar-tree-lIvPQT7t.js} +1 -1
- package/dist/assets/{signup-page-BKpceyMw.js → signup-page-940ppwb-.js} +1 -1
- package/dist/assets/{signup-shell-OBT4B7na.js → signup-shell-C9HJHs_-.js} +1 -1
- package/dist/assets/{skills-page-iiWtmc3_.js → skills-page-HnYQOSbb.js} +1 -1
- package/dist/assets/{sounds-page-BIJo2HkY.js → sounds-page-B23KceEa.js} +1 -1
- package/dist/assets/{subagent-detail-panel-o9yaoUJ2.js → subagent-detail-panel-D1XRi94W.js} +1 -1
- package/dist/assets/{subagent-store-4h5V2lNX.js → subagent-store-DjUgx1D2.js} +1 -1
- package/dist/assets/{system-events-page-Bgxe8yL0.js → system-events-page-CGdTU-4D.js} +1 -1
- package/dist/assets/{tiptap-document-editor-D07QVyAc.js → tiptap-document-editor-BbXpVjaU.js} +1 -1
- package/dist/assets/{tool-detail-panel-BwMbhT4B.js → tool-detail-panel-CPt_D__H.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-B1URPK6b.js → upgrade-cancel-page-CmO1zIzi.js} +1 -1
- package/dist/assets/{upgrade-success-page-IOZFtpxu.js → upgrade-success-page-C3jsuRzb.js} +1 -1
- package/dist/assets/{usage-page-DaKLVOUm.js → usage-page-DNRUI7CG.js} +1 -1
- package/dist/assets/{use-active-assistant-id-C_JDjGTU.js → use-active-assistant-id-BBHOMQFe.js} +1 -1
- package/dist/assets/use-is-org-ready-Dtge_dC5.js +1 -0
- package/dist/assets/{use-onboarding-login-D2THX3c2.js → use-onboarding-login-9378MpEq.js} +1 -1
- package/dist/assets/{use-reduced-motion-Bs2JODRV.js → use-reduced-motion-DUPDDLHh.js} +1 -1
- package/dist/assets/{use-setup-channel-param-gWFJDXEW.js → use-setup-channel-param-CUmdm0BY.js} +1 -1
- package/dist/assets/{use-skill-categories-UL_R-V1J.js → use-skill-categories-sGNRgUGk.js} +1 -1
- package/dist/assets/{voice-page-9pd-_aoI.js → voice-page-BcKHI1wy.js} +1 -1
- package/dist/assets/{weather-forecast-display-Db4yytVI.js → weather-forecast-display-Bnc4vcqX.js} +1 -1
- package/dist/assets/{web-Rmvxj1hJ.js → web-C_gIgYOE.js} +1 -1
- package/dist/assets/{welcome-screen-wJ_HBEmd.js → welcome-screen-KdInyBD-.js} +1 -1
- package/dist/assets/{workflow-detail-panel-Bu3BYRR-.js → workflow-detail-panel-D5nK0F1W.js} +1 -1
- package/dist/assets/{workspace-page-U_QWaNuQ.js → workspace-page-aYfZcUbB.js} +1 -1
- package/dist/index.html +33 -32
- package/package.json +1 -1
- package/dist/assets/api-0e_UoYfV.js +0 -1
- package/dist/assets/auth-store-DgOhGrxy.js +0 -2
- package/dist/assets/debug-page-BqT5zsyk.js +0 -4
- package/dist/assets/hatching-screen-BrViWxKb.js +0 -1
- package/dist/assets/local-mode-BKjasCuE.js +0 -39
- package/dist/assets/research-onboarding-route-jcqgVHP5.js +0 -61
- package/dist/assets/select-assistant-screen-MRulU9CV.js +0 -1
- package/dist/assets/use-is-org-ready-DB20AlbJ.js +0 -1
- /package/dist/assets/{a2a-invite-C491Ywd1.js → a2a-invite-CQMqpPDZ.js} +0 -0
- /package/dist/assets/{account-shell-5gis0r9I.js → account-shell-BSwEFNTM.js} +0 -0
- /package/dist/assets/{app-info-BsHofcBL.js → app-info-BNPvryVV.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-vcdejfQE.js → avatar-bundled-components-DQodAnJD.js} +0 -0
- /package/dist/assets/{build.umd-Bc0pcg_1.js → build.umd-C5MOmzrf.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-BJXnd5Qe.js → by-tool-use-id-index-h0TggD-a.js} +0 -0
- /package/dist/assets/{composer-focus-BFE2rR8u.js → composer-focus-BBTBdAab.js} +0 -0
- /package/dist/assets/{contacts-gateway-Bu3ZSOcX.js → contacts-gateway-jQhZqbXH.js} +0 -0
- /package/dist/assets/{danger-zone-redirect-page-8XaJR5xV.js → danger-zone-redirect-page-RdZGvrN7.js} +0 -0
- /package/dist/assets/{definitions-C6k0EQJc.js → definitions-CJ7YHLIq.js} +0 -0
- /package/dist/assets/{detail-card-BbMgE_Cg.js → detail-card-CnahmiAd.js} +0 -0
- /package/dist/assets/{edit-chat-session-BLO0v3Pn.js → edit-chat-session-phEigSQo.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-D4AV77ax.js → emoji-catalog-data-hHp74TCA.js} +0 -0
- /package/dist/assets/{environment-store-BhzMRyLQ.js → environment-store-B29S7tiK.js} +0 -0
- /package/dist/assets/{esm-DugOQgm_.js → esm-hkF3aX28.js} +0 -0
- /package/dist/assets/{format-date-C-eCaBOj.js → format-date-CLlHK5gl.js} +0 -0
- /package/dist/assets/{format-file-size-Cnq-CdFe.js → format-file-size-BfZOpPdu.js} +0 -0
- /package/dist/assets/{haptics-CZP4j_TX.js → haptics-CABfN3Hg.js} +0 -0
- /package/dist/assets/{llm-dimension-DMXIDBqX.js → llm-dimension-CgXjHNj6.js} +0 -0
- /package/dist/assets/{mutation-error-BTY0fPN-.js → mutation-error-DITUXbSQ.js} +0 -0
- /package/dist/assets/{native-deep-link-Dd6T5Ttd.js → native-deep-link-C13QIbW2.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CqsxCaSG.js → onboarding-step-layout-QhoZ4RKu.js} +0 -0
- /package/dist/assets/{page-shell-iZ_OsSE1.js → page-shell-CejvYP6I.js} +0 -0
- /package/dist/assets/{password-reset-page-Dk_n7nsN.js → password-reset-page-BJtjGZ_1.js} +0 -0
- /package/dist/assets/{pdf-CIN5tubF.js → pdf-DGDlrU1i.js} +0 -0
- /package/dist/assets/{plugins-surface-BChUptEg.js → plugins-surface-DYk9FmM2.js} +0 -0
- /package/dist/assets/{prechat-names-r2l4SHE1.js → prechat-names-BX9ToPj8.js} +0 -0
- /package/dist/assets/{provider-key-D8DpqLRN.js → provider-key-CVj0dGLW.js} +0 -0
- /package/dist/assets/{proxy-CcvD-YbW.js → proxy-CheNMUr6.js} +0 -0
- /package/dist/assets/{public-asset-CsdLlNtA.js → public-asset-BpAVsx77.js} +0 -0
- /package/dist/assets/{schedules-DO4z4zs2.js → schedules-D7EefqdS.js} +0 -0
- /package/dist/assets/{setting-row-DAnTCHDc.js → setting-row-D9Jbc5pM.js} +0 -0
- /package/dist/assets/{status-badge-pill-Bv4itxJX.js → status-badge-pill-DUcVAyfr.js} +0 -0
- /package/dist/assets/{step-indicator-dots-DKLSzjtH.js → step-indicator-dots-DzT4WVOT.js} +0 -0
- /package/dist/assets/{system-events-redirect-page-NfIzsj0C.js → system-events-redirect-page-aRRRoLJI.js} +0 -0
- /package/dist/assets/{usage-window-Bqypb8ID.js → usage-window-wP92lK6k.js} +0 -0
- /package/dist/assets/{web-BUGodMtY.js → web-Bifc0CyQ.js} +0 -0
- /package/dist/assets/{web-CPA2j823.js → web-C6JBS2jv.js} +0 -0
- /package/dist/assets/{web-BB-7MTUi.js → web-CAGeGBel.js} +0 -0
- /package/dist/assets/{web-BXkXNijf.js → web-CCRYoYsf.js} +0 -0
- /package/dist/assets/{web-Baa9ONYD.js → web-D-9O_l_z.js} +0 -0
- /package/dist/assets/{web-StWKv8EX.js → web-DKKX1zUX.js} +0 -0
- /package/dist/assets/{workflow-status-C3wba8AX.js → workflow-status-CHd73wxx.js} +0 -0
- /package/dist/assets/{xterm-DuaDV9d-.js → xterm-ClHs86Ut.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BvmkeiTd.js → xterm-addon-fit-B-HVOsbO.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-file-
|
|
2
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-D1p5nVKJ.js";import{t as a}from"./preload-helper-BewR0kVT.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./typography-D5f7kt80.js";import{t as c}from"./createLucideIcon-IRfcSUxS.js";import{t as l}from"./x-CwzRJv9J.js";import"./src-4xooMXeT.js";import{n as u,t as d}from"./create-selectors-DxrPZQND.js";import{l as f}from"./sdk.gen-Bz2u5Wv3.js";import{n as ee}from"./typed-storage-T9jtK5c0.js";import{a as p}from"./diagnostics-BeHaQeqH.js";import{c as te}from"./messages-DBpQngan.js";import{t as ne}from"./conversation-store-COUX81g-.js";import{b as re,n as ie,t as ae,v as oe,w as m,x as se}from"./chat-Bn41Y5yM.js";import{t as ce}from"./misc-CfQwP_zq.js";var le=c(`bolt`,[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}],[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}]]),ue=c(`pen`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),de=c(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),fe=c(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),pe=e(r(),1),me=1e3,he=15,ge=0,h=new Map,g=[];function _e(e){let t=`sse-${++ge}`,n={id:t,abortSignal:e,initiatedAt:Date.now(),establishedAt:null,lastTrafficAt:null,lastDataAt:null,dataFrames:0,keepalives:0,endedAt:null,endReason:null};h.set(t,n),Te();let r=()=>{we(t,`aborted`)};return e.aborted?r():e.addEventListener(`abort`,r,{once:!0}),t}function ve(e){let t=h.get(e);t&&t.establishedAt===null&&(t.establishedAt=Date.now())}function ye(e,t){let n=h.get(e);if(!n)return;let r=Date.now();n.lastTrafficAt=r,t?(n.lastDataAt=r,n.dataFrames++):n.keepalives++}function be(e,t){g.push({clientId:e,receivedAt:new Date().toISOString(),...t}),g.length>me&&g.shift()}function xe(){return Array.from(h.values())}function Se(e=me){let t=Math.max(0,g.length-e);return g.slice(t)}function Ce(e,t){if(t===null)return null;let n=1/0;for(let e of g)typeof e.seq==`number`&&(n=Math.min(n,e.seq));return n!==1/0&&n>t+1?null:g.filter(n=>n.conversationId===e&&typeof n.seq==`number`&&n.seq>t).sort((e,t)=>e.seq-t.seq)}function we(e,t){let n=h.get(e);n&&(n.endedAt===null?(n.endedAt=Date.now(),n.endReason=t):n.endReason===`aborted`&&t!==`aborted`&&(n.endReason=t),Te())}function Te(){let e=0;for(let t of h.values())t.endedAt!==null&&e++;if(!(e<=he))for(let[t,n]of h){if(e<=he)break;n.endedAt!==null&&(h.delete(t),e--)}}var Ee={phase:`idle`,pendingQueuedCount:0,activeToolCallCount:0,activeTurnId:null,lastTerminalReason:null,statusText:null,liveWebActivity:{}};function De(e){return e===`queued`||e===`thinking`||e===`streaming`||e===`awaiting_user_input`}function Oe(e){return e===`thinking`}function _(e){return(e.phase===`idle`||e.phase===`errored`)&&!e.activeTurnId}var ke=d(u()((e,t)=>({...Ee,requestSend:t=>e(e=>({phase:`thinking`,activeTurnId:t??e.activeTurnId,lastTerminalReason:null,activeToolCallCount:0,statusText:null})),acceptSend:t=>e(e=>({activeTurnId:t,...e.phase===`idle`||e.phase===`errored`?{phase:`thinking`,lastTerminalReason:null}:null})),onTextDelta:()=>{let n=t();if(n.phase===`idle`||n.phase===`errored`){if(!n.activeTurnId)return;e({phase:`streaming`});return}(n.phase===`thinking`||n.phase===`queued`)&&e({phase:`streaming`})},onToolUseStart:()=>{let n=t();_(n)||e({phase:n.phase===`idle`||n.phase===`errored`||n.phase===`queued`?`thinking`:n.phase,activeToolCallCount:n.activeToolCallCount+1})},onToolResult:()=>e(e=>({activeToolCallCount:Math.max(0,e.activeToolCallCount-1)})),onToolActivityMetadata:(n,r)=>{let i=t();_(i)||e({liveWebActivity:{...i.liveWebActivity,[n]:r}})},onActivityThinking:n=>{let r=t();_(r)||r.phase!==`awaiting_user_input`&&e({phase:`thinking`,statusText:n??null})},showSurface:n=>{_(t())||n&&e({phase:`awaiting_user_input`})},updateSurface:()=>{},dismissSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},completeSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},onSecretRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},onConfirmationRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},onQuestionRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},onContactRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},completeTurn:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},handoffGeneration:()=>{_(t())||e({phase:`thinking`,activeToolCallCount:0,statusText:null})},cancelGeneration:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`cancelled`,statusText:null,liveWebActivity:{}})},onStreamError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`error`,statusText:null,liveWebActivity:{}}),onSessionError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`session_error`,statusText:null,liveWebActivity:{}}),onTurnTimeout:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`timeout`,statusText:null,liveWebActivity:{}}),onPollReconciled:n=>{let r=t();n&&n!==r.activeTurnId||De(r.phase)&&e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},resetTurn:()=>e({...Ee}),enqueueMessage:()=>e(e=>({pendingQueuedCount:e.pendingQueuedCount+1})),dequeueMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(_(n)){e({pendingQueuedCount:r});return}e({phase:`thinking`,pendingQueuedCount:r})},deleteQueuedMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(r===0&&n.phase===`queued`){e({phase:`idle`,pendingQueuedCount:0,activeTurnId:null,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}});return}e({pendingQueuedCount:r})}}))),Ae=3670016,je=[.85,.75,.65,.5],Me=2e7,Ne=new Set([`image/jpeg`,`image/jpg`,`image/png`,`image/webp`,`image/heic`,`image/heif`,`image/bmp`,`image/tiff`]),Pe=new Set([`jpg`,`jpeg`,`png`,`webp`,`heic`,`heif`,`bmp`,`tif`,`tiff`]);function v(e){let t=e.type.trim().toLowerCase();if(Ne.has(t))return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n?Pe.has(n):!1}function Fe(e){return v(e)&&e.size>3670016}function y(e){let t=e.type.trim().toLowerCase();if(t===`image/heic`||t===`image/heif`)return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n===`heic`||n===`heif`}function Ie(e){return Fe(e)||y(e)}function Le(e){let t=`attachment`,n=e.trim()||t;return/\.(?:jpe?g)$/i.test(n)?n:`${n.replace(/\.[^./\\]+$/,``)||t}.jpg`}async function Re(e){if(!Ie(e)||await Be(e))return{status:`unchanged`,file:e};if(e.size>104857600)return{status:`failed`,error:`This image is too large to process safely. Please choose a smaller image.`};let t;try{t=await ze(e)}catch{return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}}try{let n;try{n=await He(t,e.size)}catch{n=null}return!n||!y(e)&&n.size>=e.size?{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}:{status:`resized`,file:new File([n],Le(e.name),{type:`image/jpeg`,lastModified:e.lastModified})}}finally{t.close()}}async function ze(e){if(typeof createImageBitmap==`function`)try{let t=await createImageBitmap(e,{imageOrientation:`from-image`});return{source:t,width:t.width,height:t.height,close:()=>t.close()}}catch{}if(typeof Image>`u`)throw Error(`No browser image decoder is available.`);let t=URL.createObjectURL(e);return await new Promise((e,n)=>{let r=new Image;r.onload=()=>{e({source:r,width:r.naturalWidth||r.width,height:r.naturalHeight||r.height,close:()=>URL.revokeObjectURL(t)})},r.onerror=()=>{URL.revokeObjectURL(t),n(Error(`Image decode failed.`))},r.src=t})}async function Be(e){if(!Ve(e))return!1;let t;try{t=new Uint8Array(await e.slice(0,Math.min(e.size,1024*1024)).arrayBuffer())}catch{return!0}if(!x(t,0,`RIFF`)||!x(t,8,`WEBP`))return!1;let n=b(t,`VP8X`);return n>=0&&(t[n+8]??0)&2?!0:b(t,`ANIM`)>=0||b(t,`ANMF`)>=0}function Ve(e){return e.type.trim().toLowerCase()===`image/webp`||/\.webp$/i.test(e.name)}function b(e,t){for(let n=0;n<=e.length-t.length;n+=1)if(x(e,n,t))return n;return-1}function x(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r+=1)if(e[t+r]!==n.charCodeAt(r))return!1;return!0}async function He(e,t){let n=e.width*e.height,r=null;if(n<=Me)for(let t of je){let n=await Ue(e.source,e.width,e.height,t);if(r=S(r,n),n&&n.size<=3670016)return n}let i=r?.size??t,a=Math.min(Math.sqrt(Ae/i*.9),.95);for(let t=0;t<4;t+=1){let t=Math.max(Math.floor(e.width*a),1),n=Math.max(Math.floor(e.height*a),1),o=null;for(let i of je){let a=await Ue(e.source,t,n,i);if(r=S(r,a),o=S(o,a),a&&a.size<=3670016)return a}i=o?.size??i,a*=Math.min(Math.sqrt(Ae/i*.9),.9)}return null}function S(e,t){return t&&(!e||t.size<e.size)?t:e}async function Ue(e,t,n,r){if(typeof document>`u`)return null;let i=document.createElement(`canvas`);i.width=t,i.height=n;let a=i.getContext(`2d`);if(!a||typeof i.toBlob!=`function`)return null;a.fillStyle=`#fff`,a.fillRect(0,0,t,n),a.drawImage(e,0,0,t,n);try{return await new Promise(e=>{i.toBlob(t=>e(t),`image/jpeg`,r)})}finally{i.width=0,i.height=0}}async function C(e,t){if(!t||t.startsWith(`rehydrated:`))return null;try{let{data:n,error:r}=await f({path:{assistant_id:e,id:t},parseAs:`blob`,throwOnError:!1});return!r&&n instanceof Blob?n:null}catch{return null}}async function We(e,t){let{saveFile:n}=await a(async()=>{let{saveFile:e}=await import(`./native-file-BXeEnGEz.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));if(t){let r=await C(t,e.id);if(r){await n(r,e.filename);return}}e.previewUrl&&await n(e.previewUrl,e.filename)}var Ge=`vellum:chatDrafts:`;function Ke(e){return`${Ge}${e}`}function qe(e){let n=t(Ke(e),``);if(!n)return new Map;try{let e=JSON.parse(n);return typeof e!=`object`||!e||Array.isArray(e)?new Map:new Map(Object.entries(e).filter(e=>typeof e[1]==`string`))}catch{return new Map}}function w(e,t){n(Ke(e),JSON.stringify(Object.fromEntries(t)))}function Je(){return`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function Ye(e){return v(e)?`100 MB`:`50 MB`}function Xe(e){return e.size<=52428800?!0:v(e)&&e.size<=104857600}function Ze(e){let t=e.replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var T=new Map,E=null,D=new Map,O=new Set,Qe=u()((e,t)=>({input:``,restoredDraftConversationId:null,attachments:[],attachmentLastError:null,setInput:t=>{e(e=>({input:typeof t==`function`?t(e.input):t}))},saveDraft:(e,t)=>{t.trim()?T.set(e,t):T.delete(e),E&&w(E,T)},clearDraft:e=>{T.delete(e),E&&w(E,T)},handleConversationSwitch:({previousKey:n,nextKey:r})=>{if(!(n!==null&&n!==r)||!n)return;let i=t().input;i.trim()?T.set(n,i):T.delete(n);let a=(r&&T.get(r))??``;e({input:a,restoredDraftConversationId:a.length>0&&r?r:null}),E&&w(E,T)},loadAssistantDrafts:(n,r)=>{if(E&&E!==n){let n=t().input;r&&(n.trim()?T.set(r,n):T.delete(r)),w(E,T),e({input:``,restoredDraftConversationId:null})}T=qe(n),E=n},clearRestoredDraftNotice:()=>{e({restoredDraftConversationId:null})},restoreDraftIfEmpty:n=>{let r=T.get(n);r&&r.trim()&&!t().input.trim()&&e({input:r,restoredDraftConversationId:n})},addFiles:(t,n)=>{let r=Array.from(t);if(r.length===0)return;if(!n){e({attachmentLastError:`No active assistant. Please try again.`});return}let i=[],a=[];for(let e of r)Xe(e)?a.push(e):i.push(e);let o=i[0];if(e(o?{attachmentLastError:i.length===1?`${o.name} is larger than ${Ye(o)} and can't be attached.`:`${i.length} files are too large and can't be attached.`}:{attachmentLastError:null}),a.length===0)return;let s=a.map(e=>({pending:{kind:`uploading`,localId:Je(),filename:e.name||`attachment`,mimeType:e.type||`application/octet-stream`,sizeBytes:e.size},file:e}));e(e=>({attachments:[...e.attachments,...s.map(e=>e.pending)]}));for(let{pending:t,file:r}of s)(async()=>{try{let i=await Re(r);if(O.has(t.localId)){O.delete(t.localId);return}if(i.status===`failed`&&r.size>52428800){k(e,t.localId,i.error);return}let a=i.status===`failed`?r:i.file;if(a.size>52428800){k(e,t.localId,`This attachment is still larger than 50 MB after resizing. Try a smaller image.`);return}i.status===`resized`&&e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId&&e.kind===`uploading`?{...e,filename:a.name||`attachment`,mimeType:a.type||`application/octet-stream`,sizeBytes:a.size}:e)}));let o=await te(n,a);if(O.has(t.localId)){O.delete(t.localId);return}if(!o.ok){k(e,t.localId,o.error.detail??`Upload failed`);return}let s=a.type||`application/octet-stream`,c=o.filename??(a.name||`attachment`),l=o.mimeType??s,u=o.sizeBytes??a.size,d=a;if(l.startsWith(`image/`)&&l!==s){let e=await C(n,o.id);if(O.has(t.localId)){O.delete(t.localId);return}e&&(d=e)}let f=null;try{f=URL.createObjectURL(d),D.set(t.localId,f)}catch{f=null}e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId?{kind:`uploaded`,localId:t.localId,id:o.id,filename:c,mimeType:l,sizeBytes:u,previewUrl:f}:e)}))}catch{if(O.has(t.localId)){O.delete(t.localId);return}k(e,t.localId,`Upload failed`)}})()},addPathReferences:t=>{let n=[];for(let e of t){let t=e.trim();t&&n.push({kind:`path-reference`,localId:Je(),path:t,filename:Ze(t)||t})}n.length!==0&&e(e=>({attachments:[...e.attachments,...n],attachmentLastError:null}))},removeAttachment:t=>{e(e=>{let n=e.attachments.find(e=>e.localId===t);return n&&n.kind===`uploading`&&O.add(t),{attachments:e.attachments.filter(e=>e.localId!==t)}}),$e(t)},resetAttachments:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&O.add(t.localId);return{attachments:[],attachmentLastError:null}})},fullReset:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&O.add(t.localId);return{attachments:[],attachmentLastError:null}}),D.forEach(e=>URL.revokeObjectURL(e)),D.clear()},dismissAttachmentError:()=>{e({attachmentLastError:null})}}));function k(e,t,n){e(e=>({attachments:e.attachments.map(e=>e.localId!==t||e.kind!==`uploading`?e:{kind:`failed`,localId:t,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,error:n})}))}function $e(e){let t=D.get(e);t&&(URL.revokeObjectURL(t),D.delete(e))}function et(e){return e.reduce((e,t)=>t.kind===`uploading`?e+1:e,0)}function tt(e){return e.filter(e=>e.kind===`uploaded`).map(e=>e.id)}function nt(e){return e.filter(e=>e.kind===`path-reference`).map(e=>e.path)}var A=d(Qe);function rt(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function it(e){let t=JSON.parse(e);return rt(t)?t:null}function j(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`surface`&&e.surface.surfaceId===t.surfaceId);return r===-1?n.push({type:`surface`,surface:t}):n[r]={type:`surface`,surface:t},n}function at(e,t){return e?.filter(e=>!(e.type===`surface`&&e.surface.surfaceId===t))}function ot(e,t){if(!e.surfaces?.length)return e;let n=!1,r=e.contentBlocks,i=e.surfaces.map(e=>{let i=t(e);return i!==e&&(n=!0,r=j(r,i)),i});return n?{...e,surfaces:i,contentBlocks:r}:e}function st(e,t){if(!e.surfaces?.length)return e;let n=e.surfaces.filter(t);if(n.length===e.surfaces.length)return e;let r=new Set(e.surfaces.filter(e=>!t(e)).map(e=>e.surfaceId));return{...e,surfaces:n,contentOrder:e.contentOrder?.filter(e=>!(e.type===`surface`&&r.has(e.id))),contentBlocks:e.contentBlocks?.filter(e=>!(e.type===`surface`&&r.has(e.surface.surfaceId)))}}var ct=500,lt=ee({keyFn:e=>`vellum:dismissed-surfaces:${e}`,scope:`user`,parseValue:e=>rt(e)?e:null,fallback:{},maxEntries:200});function ut(e,t){let n=lt.get(e,t);return n?new Set(n):new Set}function dt(e,t,n){let r=Array.from(n);r.length>ct&&(r=r.slice(r.length-ct)),lt.set(e,t,r)}var ft=[];function pt(e,t){if(!e)return ft;if(t.size===0)return e;let n=!1,r=e.map(e=>{let r=st(e,e=>!t.has(e.surfaceId));return r!==e&&(n=!0),r});return n?r:e}function mt(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.tokens!=`number`||!Number.isFinite(t.tokens)||t.maxTokens!==null&&(typeof t.maxTokens!=`number`||!Number.isFinite(t.maxTokens))||t.fillRatio!==null&&(typeof t.fillRatio!=`number`||!Number.isFinite(t.fillRatio)))}var ht=ee({keyFn:e=>`vellum:ctxwindow:${e}`,scope:`user`,parseValue:e=>mt(e)?e:null,fallback:{},maxEntries:200});function gt(e){return new Map(Object.entries(ht.load(e)))}function _t(e,t,n){ht.set(e,t,n)}var vt=`PROVIDER_BILLING`,yt=`PROVIDER_NOT_CONFIGURED`,bt=`MANAGED_KEY_INVALID`,xt=`credits_exhausted`,St=`provider_billing`;function Ct(e){return e?.errorCategory?e.errorCategory.endsWith(xt):e?.code===vt}function wt(e){return e?.errorCategory?e.errorCategory.endsWith(St):!1}function Tt(e){return Ct(e)?`managed_credits`:wt(e)?`provider_billing`:null}function M(e){return Tt(e)!==null||e?.code===yt||e?.displayAs===`modal`}function Et(e){return!!e&&!M(e)}function Dt(e){return e?.code===bt}var Ot={pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,pendingContactRequest:null,isSubmittingContactRequest:!1,contactRequestAccepted:!1,pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1,inlineConfirmationToolCallId:null,unknownNudgeToolCallIds:new Set},N=d(u()((e,t)=>({...Ot,showSecret:n=>{let{pendingSecret:r}=t();if(r&&r.requestId===n.requestId){let t={};for(let e of Object.keys(n))n[e]!==void 0&&(t[e]=n[e]);e({pendingSecret:{...r,...t}});return}e({pendingSecret:n,isSubmittingSecret:!1,secretSaved:!1})},submitSecretStart:()=>e({isSubmittingSecret:!0}),submitSecretEnd:t=>e({isSubmittingSecret:!1,secretSaved:t??!1}),dismissSecret:()=>e({pendingSecret:null,isSubmittingSecret:!1}),updateSecret:(n,r)=>{let{pendingSecret:i}=t();!i||i.requestId!==n||e({pendingSecret:{...i,...r}})},showConfirmation:t=>e({pendingConfirmation:t,isSubmittingConfirmation:!1}),submitConfirmationStart:()=>e({isSubmittingConfirmation:!0}),submitConfirmationEnd:()=>e({isSubmittingConfirmation:!1}),dismissConfirmation:()=>e({pendingConfirmation:null,isSubmittingConfirmation:!1}),dismissConfirmationIfMatches:n=>{let{pendingConfirmation:r}=t();!r||r.requestId!==n||e({pendingConfirmation:null,isSubmittingConfirmation:!1})},updateConfirmation:(n,r)=>{let{pendingConfirmation:i}=t();!i||i.requestId!==n||e({pendingConfirmation:{...i,...r}})},setInlineConfirmationToolCallId:t=>e({inlineConfirmationToolCallId:t}),showContactRequest:t=>e({pendingContactRequest:t,isSubmittingContactRequest:!1,contactRequestAccepted:!1}),submitContactRequestStart:()=>e({isSubmittingContactRequest:!0}),submitContactRequestEnd:()=>e({isSubmittingContactRequest:!1}),dismissContactRequest:()=>e({pendingContactRequest:null,isSubmittingContactRequest:!1}),acceptContactRequest:()=>e({contactRequestAccepted:!0}),showQuestion:t=>e({pendingQuestion:t,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),submitQuestionStart:()=>e({isSubmittingQuestion:!0}),submitQuestionEnd:()=>e({isSubmittingQuestion:!1}),dismissQuestion:()=>e({pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),dismissQuestionCard:()=>e({isQuestionCardDismissed:!0}),resetSecretAndConfirmation:()=>e({pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,inlineConfirmationToolCallId:null}),addUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;r.has(n)||e({unknownNudgeToolCallIds:new Set([...r,n])})},removeUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;if(!r.has(n))return;let i=new Set(r);i.delete(n),e({unknownNudgeToolCallIds:i})},resetAll:()=>e(Ot)})));function kt(e){if(e.length===0)return``;let t=e[0]??``;for(let n=1;n<e.length;n++){let r=t[t.length-1],i=e[n][0];r&&i&&r!==` `&&r!==`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-file-B1HraJR0.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-BewR0kVT.js","assets/dist-C3LFhPgk2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-D1p5nVKJ.js";import{t as a}from"./preload-helper-BewR0kVT.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./typography-D5f7kt80.js";import{t as c}from"./createLucideIcon-IRfcSUxS.js";import{t as l}from"./x-CwzRJv9J.js";import"./src-4xooMXeT.js";import{n as u,t as d}from"./create-selectors-DxrPZQND.js";import{l as f}from"./sdk.gen-Bz2u5Wv3.js";import{n as ee}from"./typed-storage-T9jtK5c0.js";import{a as p}from"./diagnostics-BUlVBxem.js";import{c as te}from"./messages-3teOY9CI.js";import{t as ne}from"./conversation-store-COUX81g-.js";import{b as re,n as ie,t as ae,v as oe,w as m,x as se}from"./chat-Bn41Y5yM.js";import{t as ce}from"./misc-CfQwP_zq.js";var le=c(`bolt`,[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}],[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}]]),ue=c(`pen`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),de=c(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),fe=c(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),pe=e(r(),1),me=1e3,he=15,ge=0,h=new Map,g=[];function _e(e){let t=`sse-${++ge}`,n={id:t,abortSignal:e,initiatedAt:Date.now(),establishedAt:null,lastTrafficAt:null,lastDataAt:null,dataFrames:0,keepalives:0,endedAt:null,endReason:null};h.set(t,n),Te();let r=()=>{we(t,`aborted`)};return e.aborted?r():e.addEventListener(`abort`,r,{once:!0}),t}function ve(e){let t=h.get(e);t&&t.establishedAt===null&&(t.establishedAt=Date.now())}function ye(e,t){let n=h.get(e);if(!n)return;let r=Date.now();n.lastTrafficAt=r,t?(n.lastDataAt=r,n.dataFrames++):n.keepalives++}function be(e,t){g.push({clientId:e,receivedAt:new Date().toISOString(),...t}),g.length>me&&g.shift()}function xe(){return Array.from(h.values())}function Se(e=me){let t=Math.max(0,g.length-e);return g.slice(t)}function Ce(e,t){if(t===null)return null;let n=1/0;for(let e of g)typeof e.seq==`number`&&(n=Math.min(n,e.seq));return n!==1/0&&n>t+1?null:g.filter(n=>n.conversationId===e&&typeof n.seq==`number`&&n.seq>t).sort((e,t)=>e.seq-t.seq)}function we(e,t){let n=h.get(e);n&&(n.endedAt===null?(n.endedAt=Date.now(),n.endReason=t):n.endReason===`aborted`&&t!==`aborted`&&(n.endReason=t),Te())}function Te(){let e=0;for(let t of h.values())t.endedAt!==null&&e++;if(!(e<=he))for(let[t,n]of h){if(e<=he)break;n.endedAt!==null&&(h.delete(t),e--)}}var Ee={phase:`idle`,pendingQueuedCount:0,activeToolCallCount:0,activeTurnId:null,lastTerminalReason:null,statusText:null,liveWebActivity:{}};function De(e){return e===`queued`||e===`thinking`||e===`streaming`||e===`awaiting_user_input`}function Oe(e){return e===`thinking`}function _(e){return(e.phase===`idle`||e.phase===`errored`)&&!e.activeTurnId}var ke=d(u()((e,t)=>({...Ee,requestSend:t=>e(e=>({phase:`thinking`,activeTurnId:t??e.activeTurnId,lastTerminalReason:null,activeToolCallCount:0,statusText:null})),acceptSend:t=>e(e=>({activeTurnId:t,...e.phase===`idle`||e.phase===`errored`?{phase:`thinking`,lastTerminalReason:null}:null})),onTextDelta:()=>{let n=t();if(n.phase===`idle`||n.phase===`errored`){if(!n.activeTurnId)return;e({phase:`streaming`});return}(n.phase===`thinking`||n.phase===`queued`)&&e({phase:`streaming`})},onToolUseStart:()=>{let n=t();_(n)||e({phase:n.phase===`idle`||n.phase===`errored`||n.phase===`queued`?`thinking`:n.phase,activeToolCallCount:n.activeToolCallCount+1})},onToolResult:()=>e(e=>({activeToolCallCount:Math.max(0,e.activeToolCallCount-1)})),onToolActivityMetadata:(n,r)=>{let i=t();_(i)||e({liveWebActivity:{...i.liveWebActivity,[n]:r}})},onActivityThinking:n=>{let r=t();_(r)||r.phase!==`awaiting_user_input`&&e({phase:`thinking`,statusText:n??null})},showSurface:n=>{_(t())||n&&e({phase:`awaiting_user_input`})},updateSurface:()=>{},dismissSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},completeSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},onSecretRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},onConfirmationRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},onQuestionRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},onContactRequest:()=>{_(t())||e({phase:`awaiting_user_input`})},completeTurn:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},handoffGeneration:()=>{_(t())||e({phase:`thinking`,activeToolCallCount:0,statusText:null})},cancelGeneration:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`cancelled`,statusText:null,liveWebActivity:{}})},onStreamError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`error`,statusText:null,liveWebActivity:{}}),onSessionError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`session_error`,statusText:null,liveWebActivity:{}}),onTurnTimeout:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`timeout`,statusText:null,liveWebActivity:{}}),onPollReconciled:n=>{let r=t();n&&n!==r.activeTurnId||De(r.phase)&&e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},resetTurn:()=>e({...Ee}),enqueueMessage:()=>e(e=>({pendingQueuedCount:e.pendingQueuedCount+1})),dequeueMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(_(n)){e({pendingQueuedCount:r});return}e({phase:`thinking`,pendingQueuedCount:r})},deleteQueuedMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(r===0&&n.phase===`queued`){e({phase:`idle`,pendingQueuedCount:0,activeTurnId:null,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}});return}e({pendingQueuedCount:r})}}))),Ae=3670016,je=[.85,.75,.65,.5],Me=2e7,Ne=new Set([`image/jpeg`,`image/jpg`,`image/png`,`image/webp`,`image/heic`,`image/heif`,`image/bmp`,`image/tiff`]),Pe=new Set([`jpg`,`jpeg`,`png`,`webp`,`heic`,`heif`,`bmp`,`tif`,`tiff`]);function v(e){let t=e.type.trim().toLowerCase();if(Ne.has(t))return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n?Pe.has(n):!1}function Fe(e){return v(e)&&e.size>3670016}function y(e){let t=e.type.trim().toLowerCase();if(t===`image/heic`||t===`image/heif`)return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n===`heic`||n===`heif`}function Ie(e){return Fe(e)||y(e)}function Le(e){let t=`attachment`,n=e.trim()||t;return/\.(?:jpe?g)$/i.test(n)?n:`${n.replace(/\.[^./\\]+$/,``)||t}.jpg`}async function Re(e){if(!Ie(e)||await Be(e))return{status:`unchanged`,file:e};if(e.size>104857600)return{status:`failed`,error:`This image is too large to process safely. Please choose a smaller image.`};let t;try{t=await ze(e)}catch{return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}}try{let n;try{n=await He(t,e.size)}catch{n=null}return!n||!y(e)&&n.size>=e.size?{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}:{status:`resized`,file:new File([n],Le(e.name),{type:`image/jpeg`,lastModified:e.lastModified})}}finally{t.close()}}async function ze(e){if(typeof createImageBitmap==`function`)try{let t=await createImageBitmap(e,{imageOrientation:`from-image`});return{source:t,width:t.width,height:t.height,close:()=>t.close()}}catch{}if(typeof Image>`u`)throw Error(`No browser image decoder is available.`);let t=URL.createObjectURL(e);return await new Promise((e,n)=>{let r=new Image;r.onload=()=>{e({source:r,width:r.naturalWidth||r.width,height:r.naturalHeight||r.height,close:()=>URL.revokeObjectURL(t)})},r.onerror=()=>{URL.revokeObjectURL(t),n(Error(`Image decode failed.`))},r.src=t})}async function Be(e){if(!Ve(e))return!1;let t;try{t=new Uint8Array(await e.slice(0,Math.min(e.size,1024*1024)).arrayBuffer())}catch{return!0}if(!x(t,0,`RIFF`)||!x(t,8,`WEBP`))return!1;let n=b(t,`VP8X`);return n>=0&&(t[n+8]??0)&2?!0:b(t,`ANIM`)>=0||b(t,`ANMF`)>=0}function Ve(e){return e.type.trim().toLowerCase()===`image/webp`||/\.webp$/i.test(e.name)}function b(e,t){for(let n=0;n<=e.length-t.length;n+=1)if(x(e,n,t))return n;return-1}function x(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r+=1)if(e[t+r]!==n.charCodeAt(r))return!1;return!0}async function He(e,t){let n=e.width*e.height,r=null;if(n<=Me)for(let t of je){let n=await Ue(e.source,e.width,e.height,t);if(r=S(r,n),n&&n.size<=3670016)return n}let i=r?.size??t,a=Math.min(Math.sqrt(Ae/i*.9),.95);for(let t=0;t<4;t+=1){let t=Math.max(Math.floor(e.width*a),1),n=Math.max(Math.floor(e.height*a),1),o=null;for(let i of je){let a=await Ue(e.source,t,n,i);if(r=S(r,a),o=S(o,a),a&&a.size<=3670016)return a}i=o?.size??i,a*=Math.min(Math.sqrt(Ae/i*.9),.9)}return null}function S(e,t){return t&&(!e||t.size<e.size)?t:e}async function Ue(e,t,n,r){if(typeof document>`u`)return null;let i=document.createElement(`canvas`);i.width=t,i.height=n;let a=i.getContext(`2d`);if(!a||typeof i.toBlob!=`function`)return null;a.fillStyle=`#fff`,a.fillRect(0,0,t,n),a.drawImage(e,0,0,t,n);try{return await new Promise(e=>{i.toBlob(t=>e(t),`image/jpeg`,r)})}finally{i.width=0,i.height=0}}async function C(e,t){if(!t||t.startsWith(`rehydrated:`))return null;try{let{data:n,error:r}=await f({path:{assistant_id:e,id:t},parseAs:`blob`,throwOnError:!1});return!r&&n instanceof Blob?n:null}catch{return null}}async function We(e,t){let{saveFile:n}=await a(async()=>{let{saveFile:e}=await import(`./native-file-B1HraJR0.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));if(t){let r=await C(t,e.id);if(r){await n(r,e.filename);return}}e.previewUrl&&await n(e.previewUrl,e.filename)}var Ge=`vellum:chatDrafts:`;function Ke(e){return`${Ge}${e}`}function qe(e){let n=t(Ke(e),``);if(!n)return new Map;try{let e=JSON.parse(n);return typeof e!=`object`||!e||Array.isArray(e)?new Map:new Map(Object.entries(e).filter(e=>typeof e[1]==`string`))}catch{return new Map}}function w(e,t){n(Ke(e),JSON.stringify(Object.fromEntries(t)))}function Je(){return`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function Ye(e){return v(e)?`100 MB`:`50 MB`}function Xe(e){return e.size<=52428800?!0:v(e)&&e.size<=104857600}function Ze(e){let t=e.replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var T=new Map,E=null,D=new Map,O=new Set,Qe=u()((e,t)=>({input:``,restoredDraftConversationId:null,attachments:[],attachmentLastError:null,setInput:t=>{e(e=>({input:typeof t==`function`?t(e.input):t}))},saveDraft:(e,t)=>{t.trim()?T.set(e,t):T.delete(e),E&&w(E,T)},clearDraft:e=>{T.delete(e),E&&w(E,T)},handleConversationSwitch:({previousKey:n,nextKey:r})=>{if(!(n!==null&&n!==r)||!n)return;let i=t().input;i.trim()?T.set(n,i):T.delete(n);let a=(r&&T.get(r))??``;e({input:a,restoredDraftConversationId:a.length>0&&r?r:null}),E&&w(E,T)},loadAssistantDrafts:(n,r)=>{if(E&&E!==n){let n=t().input;r&&(n.trim()?T.set(r,n):T.delete(r)),w(E,T),e({input:``,restoredDraftConversationId:null})}T=qe(n),E=n},clearRestoredDraftNotice:()=>{e({restoredDraftConversationId:null})},restoreDraftIfEmpty:n=>{let r=T.get(n);r&&r.trim()&&!t().input.trim()&&e({input:r,restoredDraftConversationId:n})},addFiles:(t,n)=>{let r=Array.from(t);if(r.length===0)return;if(!n){e({attachmentLastError:`No active assistant. Please try again.`});return}let i=[],a=[];for(let e of r)Xe(e)?a.push(e):i.push(e);let o=i[0];if(e(o?{attachmentLastError:i.length===1?`${o.name} is larger than ${Ye(o)} and can't be attached.`:`${i.length} files are too large and can't be attached.`}:{attachmentLastError:null}),a.length===0)return;let s=a.map(e=>({pending:{kind:`uploading`,localId:Je(),filename:e.name||`attachment`,mimeType:e.type||`application/octet-stream`,sizeBytes:e.size},file:e}));e(e=>({attachments:[...e.attachments,...s.map(e=>e.pending)]}));for(let{pending:t,file:r}of s)(async()=>{try{let i=await Re(r);if(O.has(t.localId)){O.delete(t.localId);return}if(i.status===`failed`&&r.size>52428800){k(e,t.localId,i.error);return}let a=i.status===`failed`?r:i.file;if(a.size>52428800){k(e,t.localId,`This attachment is still larger than 50 MB after resizing. Try a smaller image.`);return}i.status===`resized`&&e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId&&e.kind===`uploading`?{...e,filename:a.name||`attachment`,mimeType:a.type||`application/octet-stream`,sizeBytes:a.size}:e)}));let o=await te(n,a);if(O.has(t.localId)){O.delete(t.localId);return}if(!o.ok){k(e,t.localId,o.error.detail??`Upload failed`);return}let s=a.type||`application/octet-stream`,c=o.filename??(a.name||`attachment`),l=o.mimeType??s,u=o.sizeBytes??a.size,d=a;if(l.startsWith(`image/`)&&l!==s){let e=await C(n,o.id);if(O.has(t.localId)){O.delete(t.localId);return}e&&(d=e)}let f=null;try{f=URL.createObjectURL(d),D.set(t.localId,f)}catch{f=null}e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId?{kind:`uploaded`,localId:t.localId,id:o.id,filename:c,mimeType:l,sizeBytes:u,previewUrl:f}:e)}))}catch{if(O.has(t.localId)){O.delete(t.localId);return}k(e,t.localId,`Upload failed`)}})()},addPathReferences:t=>{let n=[];for(let e of t){let t=e.trim();t&&n.push({kind:`path-reference`,localId:Je(),path:t,filename:Ze(t)||t})}n.length!==0&&e(e=>({attachments:[...e.attachments,...n],attachmentLastError:null}))},removeAttachment:t=>{e(e=>{let n=e.attachments.find(e=>e.localId===t);return n&&n.kind===`uploading`&&O.add(t),{attachments:e.attachments.filter(e=>e.localId!==t)}}),$e(t)},resetAttachments:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&O.add(t.localId);return{attachments:[],attachmentLastError:null}})},fullReset:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&O.add(t.localId);return{attachments:[],attachmentLastError:null}}),D.forEach(e=>URL.revokeObjectURL(e)),D.clear()},dismissAttachmentError:()=>{e({attachmentLastError:null})}}));function k(e,t,n){e(e=>({attachments:e.attachments.map(e=>e.localId!==t||e.kind!==`uploading`?e:{kind:`failed`,localId:t,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,error:n})}))}function $e(e){let t=D.get(e);t&&(URL.revokeObjectURL(t),D.delete(e))}function et(e){return e.reduce((e,t)=>t.kind===`uploading`?e+1:e,0)}function tt(e){return e.filter(e=>e.kind===`uploaded`).map(e=>e.id)}function nt(e){return e.filter(e=>e.kind===`path-reference`).map(e=>e.path)}var A=d(Qe);function rt(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function it(e){let t=JSON.parse(e);return rt(t)?t:null}function j(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`surface`&&e.surface.surfaceId===t.surfaceId);return r===-1?n.push({type:`surface`,surface:t}):n[r]={type:`surface`,surface:t},n}function at(e,t){return e?.filter(e=>!(e.type===`surface`&&e.surface.surfaceId===t))}function ot(e,t){if(!e.surfaces?.length)return e;let n=!1,r=e.contentBlocks,i=e.surfaces.map(e=>{let i=t(e);return i!==e&&(n=!0,r=j(r,i)),i});return n?{...e,surfaces:i,contentBlocks:r}:e}function st(e,t){if(!e.surfaces?.length)return e;let n=e.surfaces.filter(t);if(n.length===e.surfaces.length)return e;let r=new Set(e.surfaces.filter(e=>!t(e)).map(e=>e.surfaceId));return{...e,surfaces:n,contentOrder:e.contentOrder?.filter(e=>!(e.type===`surface`&&r.has(e.id))),contentBlocks:e.contentBlocks?.filter(e=>!(e.type===`surface`&&r.has(e.surface.surfaceId)))}}var ct=500,lt=ee({keyFn:e=>`vellum:dismissed-surfaces:${e}`,scope:`user`,parseValue:e=>rt(e)?e:null,fallback:{},maxEntries:200});function ut(e,t){let n=lt.get(e,t);return n?new Set(n):new Set}function dt(e,t,n){let r=Array.from(n);r.length>ct&&(r=r.slice(r.length-ct)),lt.set(e,t,r)}var ft=[];function pt(e,t){if(!e)return ft;if(t.size===0)return e;let n=!1,r=e.map(e=>{let r=st(e,e=>!t.has(e.surfaceId));return r!==e&&(n=!0),r});return n?r:e}function mt(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.tokens!=`number`||!Number.isFinite(t.tokens)||t.maxTokens!==null&&(typeof t.maxTokens!=`number`||!Number.isFinite(t.maxTokens))||t.fillRatio!==null&&(typeof t.fillRatio!=`number`||!Number.isFinite(t.fillRatio)))}var ht=ee({keyFn:e=>`vellum:ctxwindow:${e}`,scope:`user`,parseValue:e=>mt(e)?e:null,fallback:{},maxEntries:200});function gt(e){return new Map(Object.entries(ht.load(e)))}function _t(e,t,n){ht.set(e,t,n)}var vt=`PROVIDER_BILLING`,yt=`PROVIDER_NOT_CONFIGURED`,bt=`MANAGED_KEY_INVALID`,xt=`credits_exhausted`,St=`provider_billing`;function Ct(e){return e?.errorCategory?e.errorCategory.endsWith(xt):e?.code===vt}function wt(e){return e?.errorCategory?e.errorCategory.endsWith(St):!1}function Tt(e){return Ct(e)?`managed_credits`:wt(e)?`provider_billing`:null}function M(e){return Tt(e)!==null||e?.code===yt||e?.displayAs===`modal`}function Et(e){return!!e&&!M(e)}function Dt(e){return e?.code===bt}var Ot={pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,pendingContactRequest:null,isSubmittingContactRequest:!1,contactRequestAccepted:!1,pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1,inlineConfirmationToolCallId:null,unknownNudgeToolCallIds:new Set},N=d(u()((e,t)=>({...Ot,showSecret:n=>{let{pendingSecret:r}=t();if(r&&r.requestId===n.requestId){let t={};for(let e of Object.keys(n))n[e]!==void 0&&(t[e]=n[e]);e({pendingSecret:{...r,...t}});return}e({pendingSecret:n,isSubmittingSecret:!1,secretSaved:!1})},submitSecretStart:()=>e({isSubmittingSecret:!0}),submitSecretEnd:t=>e({isSubmittingSecret:!1,secretSaved:t??!1}),dismissSecret:()=>e({pendingSecret:null,isSubmittingSecret:!1}),updateSecret:(n,r)=>{let{pendingSecret:i}=t();!i||i.requestId!==n||e({pendingSecret:{...i,...r}})},showConfirmation:t=>e({pendingConfirmation:t,isSubmittingConfirmation:!1}),submitConfirmationStart:()=>e({isSubmittingConfirmation:!0}),submitConfirmationEnd:()=>e({isSubmittingConfirmation:!1}),dismissConfirmation:()=>e({pendingConfirmation:null,isSubmittingConfirmation:!1}),dismissConfirmationIfMatches:n=>{let{pendingConfirmation:r}=t();!r||r.requestId!==n||e({pendingConfirmation:null,isSubmittingConfirmation:!1})},updateConfirmation:(n,r)=>{let{pendingConfirmation:i}=t();!i||i.requestId!==n||e({pendingConfirmation:{...i,...r}})},setInlineConfirmationToolCallId:t=>e({inlineConfirmationToolCallId:t}),showContactRequest:t=>e({pendingContactRequest:t,isSubmittingContactRequest:!1,contactRequestAccepted:!1}),submitContactRequestStart:()=>e({isSubmittingContactRequest:!0}),submitContactRequestEnd:()=>e({isSubmittingContactRequest:!1}),dismissContactRequest:()=>e({pendingContactRequest:null,isSubmittingContactRequest:!1}),acceptContactRequest:()=>e({contactRequestAccepted:!0}),showQuestion:t=>e({pendingQuestion:t,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),submitQuestionStart:()=>e({isSubmittingQuestion:!0}),submitQuestionEnd:()=>e({isSubmittingQuestion:!1}),dismissQuestion:()=>e({pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),dismissQuestionCard:()=>e({isQuestionCardDismissed:!0}),resetSecretAndConfirmation:()=>e({pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,inlineConfirmationToolCallId:null}),addUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;r.has(n)||e({unknownNudgeToolCallIds:new Set([...r,n])})},removeUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;if(!r.has(n))return;let i=new Set(r);i.delete(n),e({unknownNudgeToolCallIds:i})},resetAll:()=>e(Ot)})));function kt(e){if(e.length===0)return``;let t=e[0]??``;for(let n=1;n<e.length;n++){let r=t[t.length-1],i=e[n][0];r&&i&&r!==` `&&r!==`
|
|
3
3
|
`&&r!==` `&&i!==` `&&i!==`
|
|
4
4
|
`&&i!==` `&&(t+=` `),t+=e[n]}return t}function At(e){let t=[];for(let n of e?.contentBlocks??[])n.type===`text`&&t.push(n.text);return kt(t)}function jt(e){if(!(!e||e.length===0))return e.map(e=>{let t=null;return e.data?t=`data:${e.mimeType};base64,${e.data}`:e.thumbnailData&&(t=`data:image/jpeg;base64,${e.thumbnailData}`),{id:e.id??e.filename,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes??(e.data?Math.floor(e.data.length*3/4):0),previewUrl:t}})}function P(e){let t=e[e.length-1];return!!t&&t.role===`assistant`}function Mt(e,t){if(!t)return null;let n=e.length-1;for(;n>=0&&e[n].role===`user`&&e[n].queueStatus===`queued`;)n--;let r=e[n];return!r||r.role!==`assistant`?null:r.id}function F(e,t){return e.findIndex(e=>e.role===`assistant`&&(e.id===t||!!e.mergedMessageIds?.includes(t)))}function I(e,t){if(!t||e.id===t)return e;let n=e.mergedMessageIds??[];return n.includes(t)?e:{...e,mergedMessageIds:[...n,t]}}function L(e,t=Date.now()){if(!e.toolCalls?.some(e=>m(e)))return null;let n=t;return{toolCalls:e.toolCalls.map(e=>m(e)?{...e,completedAt:n}:e),contentBlocks:e.contentBlocks?.map(e=>e.type===`tool_use`&&m(e.toolCall)?{type:`tool_use`,toolCall:{...e.toolCall,completedAt:n}}:e)}}function Nt(e,t,n){return e.map(e=>e.id===t?{...e,queuePosition:n}:e)}function Pt(e,t){return e.map(e=>e.id===t?{...e,queueStatus:void 0,queuePosition:void 0}:e)}function Ft(e,t){return e.filter(e=>e.id!==t)}function It(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,textSegments:[t],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t}],timestamp:r}]}function R(e,t,n){n&&e[e.length-1]?.type===t.type?e[e.length-1]=t:e.push(t)}function z(e,t,n,r){let i=I(e[t],r),a=[...i.textSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`text`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`text`,id:String(a.length)}),a.push(n)),R(s,{type:`text`,text:a[a.length-1]},c);let l=[...e];return l[t]={...i,textSegments:a,contentOrder:o,contentBlocks:s},l}function B(e,t,n,r){let i=I(e[t],r),a=[...i.thinkingSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`thinking`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`thinking`,id:String(a.length)}),a.push(n)),R(s,{type:`thinking`,thinking:a[a.length-1]},c);let l=[...e];return l[t]={...i,thinkingSegments:a,contentOrder:o,contentBlocks:s},l}function Lt(e,t,n,r,i=Date.now()){if(n){let a=F(e,n);if(a>=0)return z(e,a,t,n);if(P(e))return z(e,e.length-1,t,n);let o=r?.();return o?z([...e,o],e.length,t,n):It(e,t,n,i)}return P(e)?z(e,e.length-1,t,void 0):It(e,t,n,i)}function Rt(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,thinkingSegments:[t],contentOrder:[{type:`thinking`,id:`0`}],contentBlocks:[{type:`thinking`,thinking:t}],timestamp:r}]}function zt(e,t,n,r,i=Date.now()){if(n){let a=F(e,n);if(a>=0)return B(e,a,t,n);if(P(e))return B(e,e.length-1,t,n);let o=r?.();return o?B([...e,o],e.length,t,n):Rt(e,t,n,i)}return P(e)?B(e,e.length-1,t,void 0):Rt(e,t,n,i)}function Bt(e,t=Date.now()){let n=!1,r=e.map(e=>{if(e.role!==`assistant`)return e;let r=L(e,t);return r?(n=!0,{...e,...r}):e});return n?r:e}function Vt(e,t,n=Date.now()){let r=e[e.length-1],i=jt(t.attachments);if(r?.role!==`assistant`)return i?[...e,{id:t.messageId??crypto.randomUUID(),...t.messageId?{}:{isOptimistic:!0},role:`assistant`,timestamp:n,attachments:i}]:e;let a=L(r,n),o=r.isOptimistic===!0&&!!t.messageId;return[...e.slice(0,-1),{...r,...o?{id:t.messageId,isOptimistic:!1}:{},...i?{attachments:i}:{},...a??{}}]}function Ht(e,t){if(t!==void 0)return e.findIndex(e=>e.role===`user`&&e.clientMessageId===t);for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.role===`user`&&n.isOptimistic===!0)return t}return-1}function Ut(e,t,n=Date.now()){let r=t.messageId;if(r!==void 0&&e.some(e=>e.role===`user`&&(e.id===r||e.mergedMessageIds?.includes(r))))return e;let i=Ht(e,t.clientMessageId);if(i!==-1){if(r===void 0)return e;let t=[...e];return t[i]={...t[i],id:r,isOptimistic:!1,queueStatus:void 0,queuePosition:void 0},t}return[...e,{id:r??crypto.randomUUID(),...r===void 0?{isOptimistic:!0}:{},...t.clientMessageId?{clientMessageId:t.clientMessageId}:{},role:`user`,textSegments:[t.text],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t.text}],timestamp:n}]}function Wt(e,t=Date.now()){let n=e.length-1,r=e[n];if(!r||r.role!==`assistant`)return e;let i=L(r,t);if(!(At(r).trim().length>0||r.thinkingSegments!=null&&r.thinkingSegments.length>0||r.toolCalls!=null&&r.toolCalls.length>0||r.surfaces!=null&&r.surfaces.length>0))return e.slice(0,-1);let a=[...e];return a[n]={...r,...i??{}},a}function V(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`tool_use`&&e.toolCall.id===t.id);return r===-1?n.push({type:`tool_use`,toolCall:t}):n[r]={type:`tool_use`,toolCall:t},n}function H(e,t,n,r){let i=I(e[t],r),a=i.toolCalls?.findIndex(e=>e.id===n.id)??-1,o=[...e];if(a!==-1){let e=[...i.toolCalls??[]],r={...e[a],...n};return e[a]=r,o[t]={...i,toolCalls:e,contentBlocks:V(i.contentBlocks,r)},o}return o[t]={...i,toolCalls:[...i.toolCalls??[],n],contentOrder:[...i.contentOrder??[],{type:`toolCall`,id:n.id}],contentBlocks:V(i.contentBlocks,n)},o}function Gt(e,t,n,r=Date.now()){if(n){let r=F(e,n);if(r>=0)return H(e,r,t,n);if(P(e))return H(e,e.length-1,t,n)}else if(P(e))return H(e,e.length-1,t);return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,toolCalls:[t],contentOrder:[{type:`toolCall`,id:t.id}],contentBlocks:[{type:`tool_use`,toolCall:t}],timestamp:r}]}function Kt(e,t){let n=-1,r=-1;if(t.toolUseId)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}if(n===-1){if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>m(e))}if(r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o=t.imageDataList===void 0?t.imageData===void 0?void 0:[t.imageData]:t.imageDataList,s=t.imageData===void 0?o?.[0]:t.imageData,c=[...i.toolCalls],l={...a,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,...s===void 0?{}:{imageData:s},...o===void 0?{}:{imageDataList:o},...t.activityMetadata===void 0?{}:{activityMetadata:t.activityMetadata},completedAt:t.completedAt??Date.now(),streamedOutput:void 0};c[r]=l;let u=[...e];return u[n]={...i,toolCalls:c,contentBlocks:V(i.contentBlocks,l)},u}var qt=16384;function Jt(e){return e.length<=16384?e:e.slice(e.length-qt)}function Yt(e,t){if(!t.chunk)return e;let n=-1,r=-1;if(t.toolUseId){if(t.messageId){let i=F(e,t.messageId);if(i>=0){let a=e[i].toolCalls?.findIndex(e=>e.id===t.toolUseId)??-1;a!==-1&&(n=i,r=a)}}if(n===-1)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}}else{if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>m(e))}if(n===-1||r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o={...a,streamedOutput:Jt((a.streamedOutput??``)+t.chunk)},s=[...i.toolCalls];s[r]=o;let c=[...e];return c[n]={...i,toolCalls:s,contentBlocks:V(i.contentBlocks,o)},c}function Xt(e,t,n,r=Date.now()){let i=-1;if(n&&(i=F(e,n)),i===-1){for(let t=e.length-1;t>=0;t--)if(e[t]?.role===`assistant`){i=t;break}}let a=[...e];if(i===-1)a.push({id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,surfaces:[t],contentOrder:[{type:`surface`,id:t.surfaceId}],contentBlocks:[{type:`surface`,surface:t}],timestamp:r});else{let r=I(e[i],n);if(r.contentOrder?.some(e=>e.type===`surface`&&e.id===t.surfaceId)||r.surfaces?.some(e=>e.surfaceId===t.surfaceId))return e;a[i]={...r,surfaces:[...r.surfaces??[],t],contentOrder:[...r.contentOrder??[],{type:`surface`,id:t.surfaceId}],contentBlocks:j(r.contentBlocks,t)}}return a}function Zt(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r],a=i.surfaces?.findIndex(e=>e.surfaceId===t)??-1;if(a===-1)continue;let o=i.surfaces[a],s={...o.data,...n};o.data.templateData&&n.templateData&&typeof o.data.templateData==`object`&&typeof n.templateData==`object`&&(s.templateData={...o.data.templateData,...n.templateData});let c={...o,data:s},l=[...e],u=[...i.surfaces];return u[a]=c,l[r]={...i,surfaces:u,contentBlocks:j(i.contentBlocks,c)},l}return e}function Qt(e,t){for(let n=e.length-1;n>=0;n--){if(!e[n].surfaces?.some(e=>e.surfaceId===t))continue;let r=[...e];return r[n]={...e[n],surfaces:e[n].surfaces?.filter(e=>e.surfaceId!==t),contentOrder:e[n].contentOrder?.filter(e=>!(e.type===`surface`&&e.id===t)),contentBlocks:at(e[n].contentBlocks,t)},r}return e}function $t(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r].surfaces?.find(e=>e.surfaceId===t);if(!i)continue;let a={...i,completed:!0,completionSummary:n},o=[...e];return o[r]={...e[r],surfaces:e[r].surfaces?.map(e=>e.surfaceId===t?a:e),contentBlocks:j(e[r].contentBlocks,a)},o}return e}var en=[`choice`,`oauth_connect`,`form`,`confirmation`,`file_upload`,`card`,`list`,`table`,`browser_view`,`task_preferences`];function tn(e){return e==null||e.hasPendingConfirmation||e.hasUncompletedVisibleSurface}function nn(e,t){let n=!1,r=e.map(e=>{let r=oe(e,e=>e.pendingConfirmation?.requestId===t?{...e,pendingConfirmation:void 0}:e);return r!==e&&(n=!0),r});return n?r:e}function rn(e){let t=!1,n=e.map(e=>{let n=oe(e,e=>e.pendingConfirmation?{...e,pendingConfirmation:void 0}:e);return n!==e&&(t=!0),n});return t?n:e}function an(e,t){let n=new Set;for(let e of t)if(e.surfaces)for(let t of e.surfaces)se(t)&&n.add(t.surfaceId);return n.size===0?{updatedMessages:e,dismissedIds:n}:{updatedMessages:e.map(e=>st(e,e=>!n.has(e.surfaceId))),dismissedIds:n}}function on(e,t,n,r){for(let i=e.length-1;i>=0;i--){let a=e[i].surfaces?.find(e=>e.surfaceId===t);if(!a)continue;if(!en.includes(a.surfaceType))return e;let o=a.actions?.find(e=>e.id===n),s=n===`cancel`||n===`dismiss`||o?.style===`secondary`,c=[...e];return c[i]=ot(e[i],e=>e.surfaceId===t?{...e,completed:!0,completionSummary:s?`Cancelled`:r??o?.label??void 0}:e),c}return e}function sn(e,t,n){return e&&ae[e]||t||n}function U(e){return typeof e==`string`?e:void 0}function cn(e){return typeof e==`boolean`?e:void 0}function ln(e){return Array.isArray(e)?e:void 0}function un(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function W(e){return Array.isArray(e)?e:void 0}function dn(e){return{requestId:typeof e.requestId==`string`?e.requestId:``,label:U(e.label),service:U(e.service),field:U(e.field),description:U(e.description),placeholder:U(e.placeholder),allowOneTimeSend:cn(e.allowOneTimeSend),allowedTools:ln(e.allowedTools),allowedDomains:ln(e.allowedDomains),purpose:U(e.purpose)}}function fn(e){let t={requestId:typeof e.requestId==`string`?e.requestId:``,title:U(e.title),description:U(e.description),toolName:U(e.toolName),riskLevel:U(e.riskLevel),riskReason:U(e.riskReason),allowlistOptions:W(e.allowlistOptions),scopeOptions:W(e.scopeOptions),directoryScopeOptions:W(e.directoryScopeOptions),persistentDecisionsAllowed:cn(e.persistentDecisionsAllowed),input:un(e.input),toolUseId:U(e.toolUseId)};return{confData:t,state:{...t,confirmLabel:U(e.confirmLabel),denyLabel:U(e.denyLabel)}}}function pn(){return`turn-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function mn(e,t){let n=Date.parse(e);return Number.isFinite(n)?n:typeof t==`number`?t:0}function hn(e,t,n){switch(t.type){case`assistant_text_delta`:return Lt(e,t.text,t.messageId,void 0,n);case`assistant_thinking_delta`:return zt(e,t.thinking,t.messageId,void 0,n);case`message_complete`:return Vt(e,t,n);case`user_message_echo`:return Ut(e,{text:t.text,messageId:t.messageId,clientMessageId:t.clientMessageId},n);case`assistant_activity_state`:return t.phase===`idle`?Bt(e,n):e;case`conversation_error`:return Wt(e,n);case`tool_use_preview_start`:return Gt(e,{id:t.toolUseId,name:t.toolName,input:{},previewStartedAt:typeof t.previewStartedAt==`number`?t.previewStartedAt:n},t.messageId,n);case`tool_use_start`:return Gt(e,{id:t.toolUseId??`tool-${n}`,name:t.toolName,input:t.input,startedAt:`startedAt`in t&&typeof t.startedAt==`number`?t.startedAt:n,...`previewStartedAt`in t&&typeof t.previewStartedAt==`number`?{previewStartedAt:t.previewStartedAt}:{}},t.messageId,n);case`tool_result`:return Kt(e,{toolUseId:t.toolUseId,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,imageData:t.imageData,imageDataList:t.imageDataList,activityMetadata:t.activityMetadata,completedAt:`completedAt`in t&&typeof t.completedAt==`number`?t.completedAt:n});case`tool_output_chunk`:return t.chunk?Yt(e,{chunk:t.chunk,toolUseId:t.toolUseId,messageId:t.messageId}):e;case`ui_surface_show`:{let r={surfaceId:t.surfaceId,surfaceType:t.surfaceType,title:t.title,data:t.data,actions:t.actions,display:t.display};return r.display=re(r),Xt(e,r,t.messageId,n)}case`ui_surface_update`:return Zt(e,t.surfaceId,t.data);case`ui_surface_dismiss`:return Qt(e,t.surfaceId);case`ui_surface_complete`:return $t(e,t.surfaceId,t.summary);case`confirmation_request`:return ie(e,{requestId:t.requestId,toolName:t.toolName,riskLevel:t.riskLevel,riskReason:t.riskReason,allowlistOptions:t.allowlistOptions,scopeOptions:t.scopeOptions,directoryScopeOptions:t.directoryScopeOptions,persistentDecisionsAllowed:t.persistentDecisionsAllowed,input:t.input,toolUseId:t.toolUseId}).updatedMessages;case`interaction_resolved`:return t.kind===`confirmation`||t.kind===`acp_confirmation`?nn(e,t.requestId):e;default:return e}}function gn(e,t,n){if(e!==void 0){if(typeof n!=`number`)return e;switch(t.type){case`assistant_turn_start`:case`assistant_text_delta`:case`assistant_thinking_delta`:return!0;case`assistant_activity_state`:return t.phase!==`idle`;case`message_complete`:return!1;default:return e}}}function _n(e,t){let{seq:n}=t;if(typeof n==`number`&&typeof e.seq==`number`&&n<=e.seq)return e;let r=mn(t.emittedAt,n),i=hn(e.messages,t.message,r),a=typeof n==`number`?Math.max(e.seq??-1,n):e.seq??null,o=gn(e.processing,t.message,n);return{...e,messages:i,seq:a,processing:o}}function vn(e,t){return t.reduce(_n,e)}function yn(e,t){return t===null?e:vn(e,t)}function bn(e){return[...new Set([e.id,...e.mergedMessageIds??[]].filter(e=>typeof e==`string`&&e.length>0))]}function G(e){let t=bn(e);return e.clientMessageId&&!t.includes(e.clientMessageId)?[...t,e.clientMessageId]:t}var xn={hasMore:!1,oldestTimestamp:null,isLoadingOlder:!1};function Sn(){return{snapshot:null,optimisticSends:[],error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...xn},contextWindowUsage:null,ephemeralMetaResults:[],compactionCircuitOpenUntil:null,dismissedSurfaceIds:new Set,streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:new Map,previousConversationId:null,previousAssistantId:null,draftConversationIdResolution:!1}}function K(e,t){return typeof t==`function`?t(e):t}function Cn(e,t){if(e.length===0)return e;let n=new Map;for(let e of t)for(let t of G(e))n.has(t)||n.set(t,e);let r=e.filter(e=>{let t;for(let r of G(e))if(t=n.get(r),t)break;return t?!!e.attachments?.length&&!t.attachments?.length:!0});return r.length===e.length?e:r}var q=d(u()((e,t)=>({...Sn(),seedSnapshot:(n,r)=>{let i=t().snapshot;if(r.seq==null&&i!==null&&typeof i.seq==`number`){p(`history_seed_skipped_anchorless`,{conversationId:n,liveSeq:i.seq});return}let a=Ce(n,r.seq??null);if(a===null&&i!==null&&typeof i.seq==`number`&&typeof r.seq==`number`&&r.seq<i.seq){p(`history_seed_skipped_stale_anchor`,{conversationId:n,liveSeq:i.seq,fetchedSeq:r.seq});return}let o=yn(r,a);e(e=>({snapshot:o,optimisticSends:Cn(e.optimisticSends,o.messages)}))},applyEnvelopeToSnapshot:t=>e(e=>e.snapshot?{snapshot:_n(e.snapshot,t)}:{}),addOptimisticSend:t=>e(e=>({optimisticSends:[...e.optimisticSends,t]})),setOptimisticSends:t=>e(e=>({optimisticSends:K(e.optimisticSends,t)})),patchSnapshotMessages:t=>e(e=>e.snapshot?{snapshot:{...e.snapshot,messages:t(e.snapshot.messages)}}:{}),setError:t=>e(e=>({error:K(e.error,t)})),setNotice:t=>e(e=>({notice:K(e.notice,t)})),setIsLoadingHistory:t=>e({isLoadingHistory:t}),setTranscriptPagination:t=>e(e=>({transcriptPagination:K(e.transcriptPagination,t)})),setContextWindowUsage:t=>e(e=>({contextWindowUsage:K(e.contextWindowUsage,t)})),setCompactionCircuitOpenUntil:t=>e(e=>({compactionCircuitOpenUntil:K(e.compactionCircuitOpenUntil,t)})),switchToConversation:({assistantId:n,activeConversationId:r})=>{let i=t();if(i.draftConversationIdResolution){e({draftConversationIdResolution:!1});return}let a=i.previousConversationId;if(a&&a!==r&&a){let e=N.getState();(e.pendingSecret||e.pendingConfirmation)&&ne.getState().addAttentionConversationId(a)}let o=i.previousAssistantId!==null&&i.previousAssistantId!==n,s=o||i.previousAssistantId===null;p(`conversation_switch_reset`,{assistantId:n,conversationId:r,outgoingConversationId:a??null}),A.getState().handleConversationSwitch({previousKey:a??null,nextKey:r}),ke.getState().resetTurn(),N.getState().resetAll(),o?A.getState().fullReset():A.getState().resetAttachments();let c=s?gt(n):i.contextWindowUsageByConversation;e({snapshot:null,optimisticSends:[],ephemeralMetaResults:[],error:M(i.error)?i.error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...xn},contextWindowUsage:c.get(r)??null,compactionCircuitOpenUntil:null,dismissedSurfaceIds:ut(n,r),streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:c,previousConversationId:r,previousAssistantId:n,draftConversationIdResolution:!1})},markDraftResolution:()=>e({draftConversationIdResolution:!0}),setConfirmationToolCall:(t,n)=>e(e=>{let r=new Map(e.confirmationToolCallMap);return r.set(t,n),{confirmationToolCallMap:r}}),deleteConfirmationToolCall:t=>e(e=>{let n=new Map(e.confirmationToolCallMap);return n.delete(t),{confirmationToolCallMap:n}}),clearConfirmationToolCallMap:()=>e({confirmationToolCallMap:new Map}),addDismissedSurfaceId:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);return n.add(t),{dismissedSurfaceIds:n}}),addDismissedSurfaceIds:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);for(let e of t)n.add(e);return{dismissedSurfaceIds:n}}),batchUpdateStreamingMessageIds:(t,n)=>e(e=>{let r=new Set(e.streamingMessageIds);for(let e of t)r.add(e);for(let e of n)r.delete(e);return{streamingMessageIds:r}}),pushPendingQueuedMessageId:t=>e(e=>({pendingQueuedMessageIds:[...e.pendingQueuedMessageIds,t]})),shiftPendingQueuedMessageId:()=>{let n=t().pendingQueuedMessageIds;if(n.length===0)return;let[r,...i]=n;return e({pendingQueuedMessageIds:i}),r},setRequestIdMapping:(t,n)=>e(e=>{let r=new Map(e.requestIdToMessageId);return r.set(t,n),{requestIdToMessageId:r}}),popRequestIdMapping:n=>{let r=t().requestIdToMessageId,i=r.get(n);if(i!==void 0){let t=new Map(r);t.delete(n),e({requestIdToMessageId:t})}return i},addPendingLocalDeletion:t=>e(e=>{let n=new Set(e.pendingLocalDeletions);return n.add(t),{pendingLocalDeletions:n}}),consumePendingLocalDeletion:n=>{let r=t().pendingLocalDeletions;if(!r.has(n))return!1;let i=new Set(r);return i.delete(n),e({pendingLocalDeletions:i}),!0},setExpandedToolCallId:(t,n)=>e(e=>{let r=new Set(e.expandedToolCallIds);return n?r.add(t):r.delete(t),{expandedToolCallIds:r}}),setExpandedCardId:(t,n)=>e(e=>{let r=new Map(e.expandedCardIds);return r.set(t,n),{expandedCardIds:r}}),setContextWindowUsageForConversation:(t,n)=>e(e=>{let r=new Map(e.contextWindowUsageByConversation);return r.set(t,n),{contextWindowUsageByConversation:r}}),addEphemeralMetaResult:t=>e(e=>({ephemeralMetaResults:[...e.ephemeralMetaResults,t]})),clearEphemeralMetaResults:()=>e(e=>e.ephemeralMetaResults.length===0?e:{ephemeralMetaResults:[]})})));function wn(e,t){if(t.length===0)return e;let n=new Map;for(let e of t)for(let t of G(e))n.has(t)||n.set(t,e);let r=[],i=new Set;for(let t of e){let e;for(let r of G(t)){let t=n.get(r);if(t){e=t;break}}if(e){i.has(e)||(r.push(e),i.add(e));continue}r.push(t)}for(let e of t)i.has(e)||r.push(e);return r}function Tn(){let e=q.use.snapshot(),t=q.use.optimisticSends(),n=q.use.dismissedSurfaceIds();return(0,pe.useMemo)(()=>wn(pt(e?.messages,n),t),[e,t,n])}function J(e,t,n=`…`){return e.length<=t?e:e.slice(0,t-n.length)+n}function En(e){if(!e)return null;let t=e.split(`/`),n=t[t.length-1];return!n||n===`.`?null:n}function Y(e,t){return J(e,t,`...`)}function Dn(e){if(!e)return null;let t=e.replace(/\s+/g,` `).trim().match(/(?:^|&&\s*|\|\|\s*|;\s*)(?:\S*\/)?assistant\s+browser\s+([^\s;&|]+)/i);if(!t)return null;let n=t[1].toLowerCase();return new Set([`navigate`,`click`,`type`,`screenshot`,`snapshot`,`scroll`,`hover`,`select`,`drag`,`wait`,`back`,`forward`,`refresh`,`close`,`tab`,`press_key`,`wait_for`,`extract`,`fill_credential`]).has(n)?n:`unknown`}function X(e,t){let n=e.toLowerCase();return n!==`bash`&&n!==`host_bash`?null:Dn(t)}function On(e){switch(e){case`navigate`:return`Opened a page`;case`click`:return`Clicked on the page`;case`type`:return`Typed on the page`;case`screenshot`:return`Took a screenshot`;case`snapshot`:return`Captured page snapshot`;case`scroll`:return`Scrolled the page`;case`hover`:return`Hovered on the page`;case`select`:return`Selected on the page`;case`drag`:return`Dragged on the page`;case`wait`:return`Waited for the page`;case`back`:return`Went back`;case`forward`:return`Went forward`;case`refresh`:return`Refreshed the page`;case`close`:return`Closed the tab`;case`tab`:return`Switched tabs`;case`press_key`:return`Pressed a key`;case`wait_for`:return`Waited for a condition`;case`extract`:return`Extracted page content`;case`fill_credential`:return`Filled a credential`;case`unknown`:return`Used the browser`}}function kn(e){switch(e){case`navigate`:return`Opening a page`;case`click`:return`Clicking on the page`;case`type`:return`Typing on the page`;case`screenshot`:return`Taking a screenshot`;case`snapshot`:return`Capturing page snapshot`;case`scroll`:return`Scrolling the page`;case`hover`:return`Hovering on the page`;case`select`:return`Selecting on the page`;case`drag`:return`Dragging on the page`;case`wait`:return`Waiting for the page`;case`back`:return`Going back`;case`forward`:return`Going forward`;case`refresh`:return`Refreshing the page`;case`close`:return`Closing the tab`;case`tab`:return`Switching tabs`;case`press_key`:return`Pressing a key`;case`wait_for`:return`Waiting for a condition`;case`extract`:return`Extracting page content`;case`fill_credential`:return`Filling a credential`;case`unknown`:return`Using the browser`}}function An(e){switch(e){case`navigate`:case`back`:case`forward`:case`tab`:return`compass`;case`click`:case`hover`:case`select`:case`drag`:case`scroll`:return`compass`;case`screenshot`:case`snapshot`:return`camera`;case`type`:case`press_key`:case`fill_credential`:return`compass`;case`wait`:case`wait_for`:case`refresh`:case`close`:return`compass`;case`extract`:return`compass`;case`unknown`:return`compass`}}function jn(e,t){let n=e.toLowerCase();if(n===`bash`||n===`host_bash`){let e=t.command??t.cmd;if(typeof e==`string`)return e.replace(/\s+/g,` `).trim()}if(n===`file_read`||n===`host_file_read`||n===`file_write`||n===`host_file_write`||n===`file_edit`||n===`host_file_edit`){let e=t.file_path??t.path??t.filePath;if(typeof e==`string`)return e}if(n===`grep`||n===`glob`){let e=t.pattern??t.query;if(typeof e==`string`)return e}if(n===`web_search`){let e=t.query??t.search;if(typeof e==`string`)return e}return``}function Mn(e,t=``){let n=e.toLowerCase(),r=t.replace(/\s+/g,` `).trim(),i=En(r),a=X(e,r);if(a)return On(a);switch(n){case`bash`:case`host_bash`:return r?`Ran \`${Y(r,30)}\``:`Ran a command`;case`file_read`:case`host_file_read`:return i?`Read ${i}`:`Read a file`;case`file_write`:case`host_file_write`:return i?`Wrote ${i}`:`Wrote a file`;case`file_edit`:case`host_file_edit`:return i?`Edited ${i}`:`Edited a file`;case`grep`:return r?`Searched for '${Y(r,25)}'`:`Searched files`;case`glob`:return r?`Searched for ${Y(r,25)}`:`Found files`;case`web_search`:return r?`Searched '${Y(r,25)}'`:`Searched the web`;case`web_fetch`:return`Fetched a webpage`;default:return`Used ${e.replace(/_/g,` `)}`}}function Nn(e,t=``,n){let r=X(e,t);if(r)return kn(r);if(n){let t=e.toLowerCase();if(t===`app_create`||t===`app_refresh`||t===`app_update`)return n}switch(e.toLowerCase()){case`bash`:case`host_bash`:return`Running a command`;case`file_read`:case`host_file_read`:return`Reading a file`;case`file_write`:case`host_file_write`:return`Writing a file`;case`file_edit`:case`host_file_edit`:return`Editing a file`;case`grep`:return`Searching files`;case`glob`:return`Finding files`;case`web_search`:return`Searching the web`;case`web_fetch`:return`Fetching a webpage`;case`app_create`:return`Building your app`;case`app_refresh`:case`app_update`:return`Refreshing your app`;default:return`Running ${e.replace(/_/g,` `)}`}}function Pn(e){return e.split(/[_-]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `)}function Fn(e,t=``){let n=X(e,t);if(n)return An(n);switch(e.toLowerCase()){case`bash`:case`host_bash`:return`terminal`;case`file_read`:case`host_file_read`:return`file-text`;case`file_write`:case`host_file_write`:return`file-plus`;case`file_edit`:case`host_file_edit`:return`pencil`;case`grep`:case`glob`:case`web_search`:return`search`;case`web_fetch`:return`globe`;default:return`wrench`}}var In=80;function Z(e,...t){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim().length>0)return t}return``}function Ln(e){if(!e)return``;let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n===-1?t:t.slice(n+1)}function Rn(e){if(!e.startsWith(`mcp__`))return null;let t=e.slice(5),n=t.indexOf(`__`);if(n===-1)return null;let r=t.slice(0,n),i=t.slice(n+2);return!r||!i?null:{serverName:r,toolMethod:i}}function Q(e,t){let n=t&&typeof t==`object`?t:{},r=e.toLowerCase(),i=Z(n,`activity`,`reason`),a=Rn(e);if(a)return{title:`Using ${a.serverName}`,info:a.toolMethod,activity:i,iconName:`plug`};switch(r){case`bash`:case`host_bash`:return{title:`Working`,info:J(Z(n,`command`,`cmd`).replace(/\s+/g,` `).trim(),In),activity:i,iconName:`terminal`};case`str_replace_editor`:case`text_editor`:{let e=Z(n,`command`).toLowerCase(),t=Ln(Z(n,`path`,`file_path`,`filePath`));return e===`view`?{title:`Reading`,info:t,activity:i,iconName:`file`}:{title:`Editing`,info:t,activity:i,iconName:`pen`}}case`computer`:return{title:`Using computer`,info:Z(n,`action`),activity:i,iconName:`monitor`};case`skill_execute`:{let e=Z(n,`tool`);if(e){let t=n.input,r=Q(e,t);return{...r,activity:i||r.activity}}return{title:`Using a skill`,info:Z(n,`skill`,`name`,`skillName`),activity:i,iconName:`sparkle`}}case`skill`:case`skill_invoke`:case`skill_load`:return{title:`Using a skill`,info:Z(n,`skill`,`name`,`skillName`),activity:i,iconName:`sparkle`};case`subagent_spawn`:return{title:`Spawning subagent`,info:Z(n,`label`,`objective`,`task`),activity:i,iconName:`user-plus`};default:return{title:e?`Running ${Pn(e)}`:`Running tool`,info:``,activity:i,iconName:`bolt`}}}function zn(e){return Q(e.name,e.input)}var Bn=[{open:`<thinking>`,close:`</thinking>`},{open:`<think>`,close:`</think>`}];function Vn(e){return Bn.some(t=>e.includes(t.open))}function Hn(e){if(!Vn(e))return null;let t=[],n=e=>{e.trim()&&t.push({type:`text`,text:e})},r=e=>{let n=e.trim();n&&t.push({type:`thinking`,thinking:n})},i=0;for(;;){let a=-1,o;for(let t of Bn){let n=e.indexOf(t.open,i);n!==-1&&(a===-1||n<a)&&(a=n,o=t)}if(!o)break;n(e.slice(i,a));let s=a+o.open.length,c=e.indexOf(o.close,s);if(c===-1)return r(e.slice(s)),t;r(e.slice(s,c)),i=c+o.close.length}return n(e.slice(i)),t}function Un(e){return typeof e.id==`string`&&e.id.length>0}function Wn(e){return e.some(e=>e.type===`text`&&Vn(e.text))?e.flatMap(e=>{let t=e.type===`text`?Hn(e.text):null;return t?t.map(e=>e.type===`thinking`?{type:`thinking`,thinking:e.thinking}:{type:`text`,text:e.text}):[e]}):e}function Gn(e,t){let n=t?.splitInlineThinking?Wn(e):e,r=[],i=null,a=()=>(i||(i={type:`activity`,items:[]},r.push(i)),i);for(let e of n)if(e.type===`thinking`){let t=a(),n=t.items[t.items.length-1];n?.type===`thinking`?(n.thinking=n.thinking?`${n.thinking}\n${e.thinking}`:e.thinking,e.startedAt!=null&&(n.startedAt=n.startedAt==null?e.startedAt:Math.min(n.startedAt,e.startedAt)),e.completedAt!=null&&(n.completedAt=n.completedAt==null?e.completedAt:Math.max(n.completedAt,e.completedAt))):t.items.push({type:`thinking`,thinking:e.thinking,startedAt:e.startedAt,completedAt:e.completedAt})}else if(e.type===`tool_use`){if(!Un(e.toolCall))continue;a().items.push({type:`tool_use`,toolCall:e.toolCall})}else (e.type===`text`||e.type===`surface`)&&(i=null,r.push(e));return r}function Kn(e){return!e.pendingConfirmation&&(e.name===`ui_show`||e.name===`ui_update`||e.name===`ui_dismiss`)}function qn(e){if(e.name===`subagent_spawn`)return!0;if(e.name!==`skill_execute`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.tool===`subagent_spawn`}function Jn(e){if(e.name===`run_workflow`)return!0;if(e.name!==`skill_execute`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.tool===`run_workflow`}function Yn(e){if(e.name===`acp_spawn`)return!0;if(e.name!==`skill_execute`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.tool===`acp_spawn`}function Xn(e){if(e.name!==`bash`&&e.name!==`host_bash`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.background===!0}var Zn=new Set([`low`,`medium`,`high`]);function Qn(e){let t=e?.toLowerCase();return t&&Zn.has(t)?t:`medium`}function $n(e){switch(e?.toLowerCase()){case`low`:return{bg:`bg-[var(--system-positive-strong)]`,text:`text-white`,label:`Low`};case`medium`:return{bg:`bg-[var(--system-mid-strong)]`,text:`text-black`,label:`Medium`};case`high`:return{bg:`bg-[var(--system-negative-strong)]`,text:`text-white`,label:`High`};case`workspace`:return{bg:`bg-[var(--surface-lift)]`,text:`text-[var(--content-secondary)]`,border:`border border-[var(--border-element)]`,label:`Workspace`};default:return{bg:`bg-[var(--content-secondary)]`,text:`text-white`,label:e??`Unknown`}}}function er(e){switch(e?.toLowerCase()){case`low`:return{bg:`bg-[var(--system-positive-weak)]`,text:`text-[var(--system-positive-strong)]`,label:`Low`};case`medium`:return{bg:`bg-[var(--system-mid-weak)]`,text:`text-[var(--system-mid-strong)]`,label:`Medium`};case`high`:return{bg:`bg-[var(--system-negative-weak)]`,text:`text-[var(--system-negative-strong)]`,label:`High`};case`workspace`:return{bg:`bg-[var(--surface-lift)]`,text:`text-[var(--content-secondary)]`,label:`Workspace`};default:return{bg:`bg-[var(--surface-lift)]`,text:`text-[var(--content-secondary)]`,label:e?e.charAt(0).toUpperCase()+e.slice(1):`Unknown`}}}var tr={unknown:2,low:0,medium:1,high:2},nr={none:-1,low:0,medium:1,high:2};function rr(e,t,n){return e?.toLowerCase()!==`auto`||!n?!0:(tr[(t??``).toLowerCase()]??-1)<=(nr[n.toLowerCase()]??-1)}function ir(e){switch(e){case`trust_rule_allowed`:return`· Auto-approved · Trust rule matched`;case`sandbox_auto_approve`:return null;case`platform_auto_approve`:return`· Auto-approved · Platform session`;default:return null}}function ar(e,t){return e===`sandbox_auto_approve`?{displayLevel:`workspace`,inherentRisk:t}:{displayLevel:t??`unknown`}}var $=o();function or({level:e,className:t,onClick:n}){if(!e)return null;let{bg:r,text:i,label:a}=er(e),o=ce(`inline-flex items-center justify-center rounded-[100px] px-[6px] pt-[2px] pb-[3px]`,r,t);return n?(0,$.jsx)(`button`,{type:`button`,"data-testid":`risk-badge`,"data-risk-level":e,className:ce(o,`cursor-pointer hover:opacity-80`),onClick:e=>{e.stopPropagation(),n()},children:(0,$.jsx)(s,{variant:`label-medium-default`,className:i,children:a})}):(0,$.jsx)(`span`,{"data-testid":`risk-badge`,"data-risk-level":e,className:o,children:(0,$.jsx)(s,{variant:`label-medium-default`,className:i,children:a})})}function sr({Glyph:e,icon:t,title:n,headerTrailing:r,headerActions:a,closeLabel:o=`Close panel`,closeVariant:c=`ghost`,onClose:u,children:d}){return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] px-5 py-4`,children:[t??(e?(0,$.jsx)(e,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}):null),(0,$.jsx)(s,{variant:`title-medium`,className:`min-w-0 shrink truncate py-0.5 leading-snug text-[var(--content-default)]`,children:n}),r,(0,$.jsx)(`span`,{className:`flex-1`}),a,(0,$.jsx)(i,{variant:c===`outlined`?`outlined`:`ghost`,iconOnly:(0,$.jsx)(l,{}),onClick:u,"aria-label":o,tooltip:`Close`,className:`shrink-0${c===`outlined`?` rounded-lg`:``}`})]}),(0,$.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:d})]})}export{et as $,an as A,P as B,wn as C,nn as D,G as E,tn as F,Et as G,N as H,Pt as I,dt as J,M as K,Mt as L,fn as M,dn as N,rn as O,sn as P,tt as Q,Ft as R,Tn as S,bn as T,Tt as U,At as V,Dt as W,it as X,ot as Y,nt as Z,Nn as _,$n as a,ke as at,Pn as b,Gn as c,Se as ct,Jn as d,ye as dt,A as et,qn as f,_e as ft,jn as g,le as gt,Q as h,ue as ht,ir as i,Oe as it,pn as j,on as k,Yn as l,ve as lt,zn as m,de as mt,or as n,C as nt,Qn as o,we as ot,Kn as p,fe as pt,_t as q,ar as r,De as rt,rr as s,xe as st,sr as t,We as tt,Xn as u,be as ut,Fn as v,q as w,J as x,Mn as y,Nt as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,m as n,o as r}from"./capture-error-CmeVLfq0.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-D1p5nVKJ.js";import{d as o,h as s,r as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./cn-C36Yvcac.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./bug-BsuQ5ciQ.js";import{t as h}from"./info-BaizXivv.js";import{t as g}from"./loader-circle-D1pLQlMh.js";import{t as _}from"./triangle-alert-CuLBwl1x.js";import"./src-4xooMXeT.js";import{t as v}from"./tag-BizaosUX.js";import{t as y}from"./toggle-D7S110RM.js";import{n as b}from"./toast-DowcpN7g.js";import{t as x}from"./confirm-dialog-DW84Cxfq.js";import{t as S}from"./dropdown-BsftIzw-.js";import{C,p as w}from"./local-mode-BKjasCuE.js";import{D as T}from"./auth-store-DgOhGrxy.js";import{t as ee}from"./client.gen-AQhSugfA.js";import{c as te,o as E}from"./api-DqXotrgH.js";import{o as D}from"./routes-iUGoIqW2.js";import{t as O}from"./use-is-org-ready-DB20AlbJ.js";import{a as k,l as A,o as ne}from"./feature-flag-catalog-Ca2Lo1Sx.js";import{t as j}from"./client-feature-flag-store-C0Tjm-Hl.js";import{k as M,v as N}from"./react-query.gen-DVZyPw6H.js";import{t as P}from"./assistant-feature-flag-store-BRGydSRn.js";import{t as re}from"./misc-CfQwP_zq.js";import{Ti as F,ya as I}from"./index-h-RcC6AV.js";import{t as L}from"./use-active-assistant-id-C_JDjGTU.js";import{t as R}from"./detail-card-BbMgE_Cg.js";import{t as z}from"./environment-store-BhzMRyLQ.js";var B=p(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),V=p(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),H=e(i(),1),U=d();function W(){let e=l(),[t,n]=(0,H.useState)(!1),[r,i]=(0,H.useState)(!1),o=O(),s=L(),{data:c,isLoading:d}=u({...M({path:{id:s}}),enabled:o}),{data:f,isLoading:p}=u({...N({query:{hosting:`all`}}),enabled:o}),m=d||p,h=f?.results??[];return(0,U.jsxs)(`div`,{className:`space-y-6`,children:[(0,U.jsx)(G,{assistant:c??null,loading:m}),(0,U.jsx)(K,{assistants:h,activeAssistantId:s,loading:m}),(0,U.jsxs)(R,{title:`Hatch New Assistant`,subtitle:`Create a new assistant instance.`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Provision a new assistant. This may take a moment.`}),(0,U.jsx)(a,{variant:`outlined`,leftIcon:t?(0,U.jsx)(g,{className:`animate-spin`}):void 0,onClick:()=>i(!0),disabled:t,className:`shrink-0`,children:`Hatch`})]}),(0,U.jsx)(x,{open:r,title:`Hatch New Assistant`,message:`Are you sure you want to create a new assistant? This will provision new infrastructure.`,confirmLabel:`Hatch`,onConfirm:async()=>{i(!1),n(!0);try{let t=await E(void 0,`create`);if(t.ok){if(w())try{let e=await te();e.ok&&await C(e.data,T.getState().currentOrganizationId??void 0)}catch{}b.success(t.status===201?`New assistant hatched successfully.`:`Returned your existing assistant — no new one was created.`),e.invalidateQueries({queryKey:[{_id:`assistantsRetrieve`}]}),e.invalidateQueries({queryKey:N({query:{hosting:`all`}}).queryKey})}else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to hatch assistant.`;b.error(e)}}catch{b.error(`Failed to hatch assistant.`)}finally{n(!1)}},onCancel:()=>i(!1)})]})]})}function G({assistant:e,loading:t}){return t?(0,U.jsx)(R,{title:`Assistant Info`,children:(0,U.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,U.jsx)(g,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]})}):e?(0,U.jsx)(R,{title:`Assistant Info`,subtitle:`Current assistant details.`,children:(0,U.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,U.jsx)(q,{children:`Name`}),(0,U.jsx)(J,{children:e.name??`Unnamed`}),(0,U.jsx)(q,{children:`Status`}),(0,U.jsx)(`div`,{children:(0,U.jsx)(v,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,U.jsx)(q,{children:`Assistant ID`}),(0,U.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(q,{children:`Machine ID`}),(0,U.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,U.jsx)(q,{children:`Created`}),(0,U.jsx)(J,{children:new Date(e.created).toLocaleDateString()}),(0,U.jsx)(q,{children:`Last Modified`}),(0,U.jsx)(J,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(q,{children:`Version`}),(0,U.jsx)(J,{children:e.current_release_version})]})]})}):(0,U.jsx)(R,{title:`Assistant Info`,children:(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`})})}function K({assistants:e,activeAssistantId:t,loading:n}){return n||e.length===0?null:(0,U.jsx)(R,{title:`All Assistants`,subtitle:`${e.length} assistant${e.length===1?``:`s`} found.`,children:(0,U.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,U.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||`Unnamed`}),(0,U.jsx)(v,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),n&&(0,U.jsx)(v,{tone:`warning`,children:`Current`})]}),(0,U.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function q({children:e}){return(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function J({children:e}){return(0,U.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function Y(){let e=z.use.emailRootDomain(),t=z.use.isNonProduction(),n=z.use.setEnvironment();return(0,U.jsx)(R,{title:`Environment`,subtitle:`Environment configuration overrides for this session.`,children:(0,U.jsxs)(`div`,{className:`space-y-2`,children:[(0,U.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,U.jsx)(y,{checked:t,onChange:e=>n({isNonProduction:e}),"aria-label":`Non-Production is ${t?`on`:`off`}`})}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Non-Production`}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Indicates a non-production environment. Enables dev-only UI surfaces and diagnostics.`})]})]}),(0,U.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,U.jsx)(v,{tone:`neutral`,children:e})}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Email Root Domain`}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Root domain used for assistant email addresses (e.g. vellum.me).`})]})]})]})})}async function ie(){let{data:e,response:t}=await ee.get({url:`/v1/feature-flags/`,throwOnError:!1});return t?.ok?e?.flags??[]:[]}var X={client:`warning`,assistant:`positive`};function ae(){let e=L(),{data:t}=u({queryKey:[`feature-flag-definitions`],queryFn:ie,enabled:O(),staleTime:300*1e3}),n=(0,H.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of t)n.type===`string`&&n.values?.length&&e.set(n.key,n.values);return e},[t]),[r,i]=(0,H.useState)(``),a=j(),o=P(),s=(0,H.useMemo)(()=>{let e=[];for(let t of ne){let r=k(t.key);if(typeof t.defaultEnabled==`boolean`){let n=a[r],i=o[r],s=t.scope===`both`?n===!0||i===!0:t.scope===`assistant`?i:n;if(typeof s!=`boolean`)continue;e.push({kind:`boolean`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:s,defaultValue:t.defaultEnabled})}else if(typeof t.defaultEnabled==`string`){let i=a.stringFlags?.[r],s=o.stringFlags?.[r],c=t.scope===`assistant`?s??t.defaultEnabled:i??t.defaultEnabled;e.push({kind:`string`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:c,defaultValue:t.defaultEnabled,values:n.get(t.key)??t.values})}}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[a,o,n]),c=(0,H.useMemo)(()=>{if(!r.trim())return s;let e=r.trim().toLowerCase();return s.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[s,r]);return(0,U.jsx)(R,{title:`Feature Flags`,subtitle:`Active feature flags evaluated for the current session.`,children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`relative`,children:[(0,U.jsx)(F,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,U.jsx)(`input`,{type:`text`,placeholder:`Search flags...`,value:r,onChange:e=>i(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),c.length===0&&(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No matching flags.`}),c.length>0&&(0,U.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:c.map(t=>(0,U.jsx)(ce,{flag:t,assistantId:e},t.storeKey))})]})})}function Z({scope:e}){return e===`both`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(v,{tone:X.client,children:`client`}),(0,U.jsx)(v,{tone:X.assistant,children:`assistant`})]}):(0,U.jsx)(v,{tone:X[e],children:e})}function oe({flag:e,assistantId:t}){let n=j.use.setFlag(),r=P.use.setFlag();return(0,U.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,U.jsx)(y,{checked:e.value,onChange:i=>{A(e.scope,`client`)&&n(e.storeKey,i),A(e.scope,`assistant`)&&r(e.storeKey,i,t)},"aria-label":`${e.label} is ${e.value?`on`:`off`}`})}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,U.jsx)(Z,{scope:e.scope})]}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,U.jsx)(v,{tone:`neutral`,children:e.defaultValue?`On`:`Off`})]})]})]})}function se({flag:e,assistantId:t}){let n=j.use.setStringFlag(),r=P.use.setStringFlag(),[i,a]=(0,H.useState)(e.value);(0,H.useEffect)(()=>{a(e.value)},[e.value]);let o=i=>{i!==e.value&&(A(e.scope,`client`)&&n(e.storeKey,i),A(e.scope,`assistant`)&&r(e.storeKey,i,t))},s=i!==e.value,c=e.values&&e.values.length>0?e.values:null,l=s&&c!=null&&!c.includes(i),u=()=>{l||o(i)},d=e=>{e.key===`Enter`&&e.currentTarget.blur()},p=c!=null&&c.includes(e.value);return(0,U.jsx)(`div`,{className:`flex items-start gap-3 py-3`,children:(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,U.jsx)(Z,{scope:e.scope})]}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),p?(0,U.jsx)(S,{value:e.value,onChange:e=>{a(e),o(e)},options:c.map(e=>({value:e,label:e})),className:`w-48`,"aria-label":`${e.label} value`}):(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),onBlur:u,onKeyDown:d,className:f(`w-full rounded-lg border bg-[var(--surface-default)] px-3 py-1.5 text-body-small-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none`,l?`border-[var(--system-negative-strong)]`:`border-[var(--border-base)] focus:border-[var(--border-focus)]`),placeholder:e.defaultValue||`Enter value...`}),l&&(0,U.jsxs)(`span`,{className:`block text-body-small-default text-[var(--system-negative-strong)]`,children:[`Expected one of: `,c.join(`, `)]})]}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,U.jsx)(v,{tone:`neutral`,children:e.defaultValue||`(empty)`})]})]})})}function ce({flag:e,assistantId:t}){return e.kind===`string`?(0,U.jsx)(se,{flag:e,assistantId:t}):(0,U.jsx)(oe,{flag:e,assistantId:t})}function le(){let e=(0,H.useCallback)(()=>{t(Error(`[Dev Settings] Test error event`)),b.success(`Sentry error event sent.`)},[]),i=(0,H.useCallback)(()=>{r(`[Dev Settings] Test warning event`,`warning`),b.success(`Sentry warning event sent.`)},[]),a=(0,H.useCallback)(()=>{r(`[Dev Settings] Test info event`,`info`),b.success(`Sentry info event sent.`)},[]),o=(0,H.useCallback)(()=>{r(`[Dev Settings] Test fatal event`,`fatal`),b.success(`Sentry fatal event sent.`)},[]),s=(0,H.useCallback)(()=>{n({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),b.success(`Sentry performance transaction sent.`)},[]);return(0,U.jsx)(R,{title:`Sentry Testing`,subtitle:`Fire test events to verify Sentry integration is working.`,children:(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(Q,{icon:(0,U.jsx)(B,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:`Fatal Event`,description:`Send a fatal-level event to Sentry.`,onClick:o}),(0,U.jsx)(Q,{icon:(0,U.jsx)(I,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:`Error Event`,description:`Capture a test Error exception.`,onClick:e}),(0,U.jsx)(Q,{icon:(0,U.jsx)(_,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:`Warning Event`,description:`Send a warning-level message.`,onClick:i}),(0,U.jsx)(Q,{icon:(0,U.jsx)(h,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:`Info Event`,description:`Send an info-level message.`,onClick:a}),(0,U.jsx)(Q,{icon:(0,U.jsx)(V,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:`Performance Transaction`,description:`Start and end a test transaction span.`,onClick:s})]})})}function Q({icon:e,label:t,description:n,onClick:r}){return(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0`,children:e}),(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]}),(0,U.jsxs)(a,{variant:`outlined`,size:`compact`,onClick:r,children:[(0,U.jsx)(m,{className:`h-4 w-4`}),`Send`]})]})}var $=[{id:`feature-flags`,label:`Feature Flags`},{id:`lifecycle`,label:`Assistant Lifecycle`},{id:`sentry`,label:`Sentry Testing`}];function ue(){let e=o(),[t,n]=s(),r=P.use.settingsDeveloperNav(),i=P.use.hasHydrated(),l=(0,H.useMemo)(()=>{let e=t.get(`tab`);return $.find(t=>t.id===e)?.id??`feature-flags`},[t]);if(i&&!r)return(0,U.jsx)(c,{replace:!0,to:D.settings.general});let u=e=>{let r=new URLSearchParams(t.toString());e===`feature-flags`?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})};return(0,U.jsxs)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-4 border-b border-[var(--border-base)]`,children:[(0,U.jsx)(`div`,{role:`tablist`,"aria-label":`Developer sections`,className:`flex items-center gap-1`,children:$.map(e=>{let t=e.id===l;return(0,U.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`developer-tab-panel-${e.id}`,id:`developer-tab-${e.id}`,onClick:()=>u(e.id),className:re(`relative -mb-px cursor-pointer border-b-2 px-4 py-2 text-body-medium-default transition-colors`,t?`border-[var(--system-positive-strong)] text-[var(--system-positive-strong)]`:`border-transparent text-[var(--content-tertiary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`),children:e.label},e.id)})}),w()&&(0,U.jsx)(a,{variant:`outlined`,className:`mb-1 shrink-0`,onClick:()=>void e(`${D.selectAssistant}?noAutoSkip=1`),children:`Choose Assistant`})]}),(0,U.jsxs)(`div`,{id:`developer-tab-panel-${l}`,role:`tabpanel`,"aria-labelledby":`developer-tab-${l}`,className:`flex min-h-0 flex-1 flex-col pt-6`,children:[l===`feature-flags`&&(0,U.jsxs)(`div`,{className:`space-y-6`,children:[(0,U.jsx)(ae,{}),(0,U.jsx)(Y,{})]}),l===`lifecycle`&&(0,U.jsx)(W,{}),l===`sentry`&&(0,U.jsx)(le,{})]})]})}export{ue as DeveloperPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,m as n,o as r}from"./capture-error-CmeVLfq0.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-D1p5nVKJ.js";import{d as o,h as s,r as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./cn-C36Yvcac.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./bug-BsuQ5ciQ.js";import{t as h}from"./info-BaizXivv.js";import{t as g}from"./loader-circle-D1pLQlMh.js";import{t as _}from"./triangle-alert-CuLBwl1x.js";import"./src-4xooMXeT.js";import{t as v}from"./tag-BizaosUX.js";import{t as y}from"./toggle-D7S110RM.js";import{n as b}from"./toast-DowcpN7g.js";import{t as x}from"./confirm-dialog-DW84Cxfq.js";import{t as S}from"./dropdown-BsftIzw-.js";import{p as C,w}from"./local-mode-YoUYEn7C.js";import{D as T}from"./auth-store-CI4EhvE5.js";import{t as ee}from"./client.gen-AQhSugfA.js";import{c as te,o as E}from"./api-DXLi4DU7.js";import{o as D}from"./routes-iUGoIqW2.js";import{t as O}from"./use-is-org-ready-Dtge_dC5.js";import{a as k,l as A,o as ne}from"./feature-flag-catalog-Ca2Lo1Sx.js";import{t as j}from"./client-feature-flag-store-C0Tjm-Hl.js";import{k as M,v as N}from"./react-query.gen-DVZyPw6H.js";import{t as P}from"./assistant-feature-flag-store-BRGydSRn.js";import{t as re}from"./misc-CfQwP_zq.js";import{Ti as F,ya as I}from"./index-DQkD5WCi.js";import{t as L}from"./use-active-assistant-id-BBHOMQFe.js";import{t as R}from"./detail-card-CnahmiAd.js";import{t as z}from"./environment-store-B29S7tiK.js";var B=p(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),V=p(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),H=e(i(),1),U=d();function W(){let e=l(),[t,n]=(0,H.useState)(!1),[r,i]=(0,H.useState)(!1),o=O(),s=L(),{data:c,isLoading:d}=u({...M({path:{id:s}}),enabled:o}),{data:f,isLoading:p}=u({...N({query:{hosting:`all`}}),enabled:o}),m=d||p,h=f?.results??[];return(0,U.jsxs)(`div`,{className:`space-y-6`,children:[(0,U.jsx)(G,{assistant:c??null,loading:m}),(0,U.jsx)(K,{assistants:h,activeAssistantId:s,loading:m}),(0,U.jsxs)(R,{title:`Hatch New Assistant`,subtitle:`Create a new assistant instance.`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Provision a new assistant. This may take a moment.`}),(0,U.jsx)(a,{variant:`outlined`,leftIcon:t?(0,U.jsx)(g,{className:`animate-spin`}):void 0,onClick:()=>i(!0),disabled:t,className:`shrink-0`,children:`Hatch`})]}),(0,U.jsx)(x,{open:r,title:`Hatch New Assistant`,message:`Are you sure you want to create a new assistant? This will provision new infrastructure.`,confirmLabel:`Hatch`,onConfirm:async()=>{i(!1),n(!0);try{let t=await E(void 0,`create`);if(t.ok){if(C())try{let e=await te();e.ok&&await w(e.data,T.getState().currentOrganizationId??void 0)}catch{}b.success(t.status===201?`New assistant hatched successfully.`:`Returned your existing assistant — no new one was created.`),e.invalidateQueries({queryKey:[{_id:`assistantsRetrieve`}]}),e.invalidateQueries({queryKey:N({query:{hosting:`all`}}).queryKey})}else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to hatch assistant.`;b.error(e)}}catch{b.error(`Failed to hatch assistant.`)}finally{n(!1)}},onCancel:()=>i(!1)})]})]})}function G({assistant:e,loading:t}){return t?(0,U.jsx)(R,{title:`Assistant Info`,children:(0,U.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,U.jsx)(g,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]})}):e?(0,U.jsx)(R,{title:`Assistant Info`,subtitle:`Current assistant details.`,children:(0,U.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,U.jsx)(q,{children:`Name`}),(0,U.jsx)(J,{children:e.name??`Unnamed`}),(0,U.jsx)(q,{children:`Status`}),(0,U.jsx)(`div`,{children:(0,U.jsx)(v,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,U.jsx)(q,{children:`Assistant ID`}),(0,U.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(q,{children:`Machine ID`}),(0,U.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,U.jsx)(q,{children:`Created`}),(0,U.jsx)(J,{children:new Date(e.created).toLocaleDateString()}),(0,U.jsx)(q,{children:`Last Modified`}),(0,U.jsx)(J,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(q,{children:`Version`}),(0,U.jsx)(J,{children:e.current_release_version})]})]})}):(0,U.jsx)(R,{title:`Assistant Info`,children:(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`})})}function K({assistants:e,activeAssistantId:t,loading:n}){return n||e.length===0?null:(0,U.jsx)(R,{title:`All Assistants`,subtitle:`${e.length} assistant${e.length===1?``:`s`} found.`,children:(0,U.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,U.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||`Unnamed`}),(0,U.jsx)(v,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),n&&(0,U.jsx)(v,{tone:`warning`,children:`Current`})]}),(0,U.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function q({children:e}){return(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function J({children:e}){return(0,U.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function Y(){let e=z.use.emailRootDomain(),t=z.use.isNonProduction(),n=z.use.setEnvironment();return(0,U.jsx)(R,{title:`Environment`,subtitle:`Environment configuration overrides for this session.`,children:(0,U.jsxs)(`div`,{className:`space-y-2`,children:[(0,U.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,U.jsx)(y,{checked:t,onChange:e=>n({isNonProduction:e}),"aria-label":`Non-Production is ${t?`on`:`off`}`})}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Non-Production`}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Indicates a non-production environment. Enables dev-only UI surfaces and diagnostics.`})]})]}),(0,U.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,U.jsx)(v,{tone:`neutral`,children:e})}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Email Root Domain`}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Root domain used for assistant email addresses (e.g. vellum.me).`})]})]})]})})}async function ie(){let{data:e,response:t}=await ee.get({url:`/v1/feature-flags/`,throwOnError:!1});return t?.ok?e?.flags??[]:[]}var X={client:`warning`,assistant:`positive`};function ae(){let e=L(),{data:t}=u({queryKey:[`feature-flag-definitions`],queryFn:ie,enabled:O(),staleTime:300*1e3}),n=(0,H.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of t)n.type===`string`&&n.values?.length&&e.set(n.key,n.values);return e},[t]),[r,i]=(0,H.useState)(``),a=j(),o=P(),s=(0,H.useMemo)(()=>{let e=[];for(let t of ne){let r=k(t.key);if(typeof t.defaultEnabled==`boolean`){let n=a[r],i=o[r],s=t.scope===`both`?n===!0||i===!0:t.scope===`assistant`?i:n;if(typeof s!=`boolean`)continue;e.push({kind:`boolean`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:s,defaultValue:t.defaultEnabled})}else if(typeof t.defaultEnabled==`string`){let i=a.stringFlags?.[r],s=o.stringFlags?.[r],c=t.scope===`assistant`?s??t.defaultEnabled:i??t.defaultEnabled;e.push({kind:`string`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:c,defaultValue:t.defaultEnabled,values:n.get(t.key)??t.values})}}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[a,o,n]),c=(0,H.useMemo)(()=>{if(!r.trim())return s;let e=r.trim().toLowerCase();return s.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[s,r]);return(0,U.jsx)(R,{title:`Feature Flags`,subtitle:`Active feature flags evaluated for the current session.`,children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`relative`,children:[(0,U.jsx)(F,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,U.jsx)(`input`,{type:`text`,placeholder:`Search flags...`,value:r,onChange:e=>i(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),c.length===0&&(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No matching flags.`}),c.length>0&&(0,U.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:c.map(t=>(0,U.jsx)(ce,{flag:t,assistantId:e},t.storeKey))})]})})}function Z({scope:e}){return e===`both`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(v,{tone:X.client,children:`client`}),(0,U.jsx)(v,{tone:X.assistant,children:`assistant`})]}):(0,U.jsx)(v,{tone:X[e],children:e})}function oe({flag:e,assistantId:t}){let n=j.use.setFlag(),r=P.use.setFlag();return(0,U.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,U.jsx)(y,{checked:e.value,onChange:i=>{A(e.scope,`client`)&&n(e.storeKey,i),A(e.scope,`assistant`)&&r(e.storeKey,i,t)},"aria-label":`${e.label} is ${e.value?`on`:`off`}`})}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,U.jsx)(Z,{scope:e.scope})]}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,U.jsx)(v,{tone:`neutral`,children:e.defaultValue?`On`:`Off`})]})]})]})}function se({flag:e,assistantId:t}){let n=j.use.setStringFlag(),r=P.use.setStringFlag(),[i,a]=(0,H.useState)(e.value);(0,H.useEffect)(()=>{a(e.value)},[e.value]);let o=i=>{i!==e.value&&(A(e.scope,`client`)&&n(e.storeKey,i),A(e.scope,`assistant`)&&r(e.storeKey,i,t))},s=i!==e.value,c=e.values&&e.values.length>0?e.values:null,l=s&&c!=null&&!c.includes(i),u=()=>{l||o(i)},d=e=>{e.key===`Enter`&&e.currentTarget.blur()},p=c!=null&&c.includes(e.value);return(0,U.jsx)(`div`,{className:`flex items-start gap-3 py-3`,children:(0,U.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,U.jsx)(Z,{scope:e.scope})]}),(0,U.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),p?(0,U.jsx)(S,{value:e.value,onChange:e=>{a(e),o(e)},options:c.map(e=>({value:e,label:e})),className:`w-48`,"aria-label":`${e.label} value`}):(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),onBlur:u,onKeyDown:d,className:f(`w-full rounded-lg border bg-[var(--surface-default)] px-3 py-1.5 text-body-small-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none`,l?`border-[var(--system-negative-strong)]`:`border-[var(--border-base)] focus:border-[var(--border-focus)]`),placeholder:e.defaultValue||`Enter value...`}),l&&(0,U.jsxs)(`span`,{className:`block text-body-small-default text-[var(--system-negative-strong)]`,children:[`Expected one of: `,c.join(`, `)]})]}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,U.jsx)(v,{tone:`neutral`,children:e.defaultValue||`(empty)`})]})]})})}function ce({flag:e,assistantId:t}){return e.kind===`string`?(0,U.jsx)(se,{flag:e,assistantId:t}):(0,U.jsx)(oe,{flag:e,assistantId:t})}function le(){let e=(0,H.useCallback)(()=>{t(Error(`[Dev Settings] Test error event`)),b.success(`Sentry error event sent.`)},[]),i=(0,H.useCallback)(()=>{r(`[Dev Settings] Test warning event`,`warning`),b.success(`Sentry warning event sent.`)},[]),a=(0,H.useCallback)(()=>{r(`[Dev Settings] Test info event`,`info`),b.success(`Sentry info event sent.`)},[]),o=(0,H.useCallback)(()=>{r(`[Dev Settings] Test fatal event`,`fatal`),b.success(`Sentry fatal event sent.`)},[]),s=(0,H.useCallback)(()=>{n({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),b.success(`Sentry performance transaction sent.`)},[]);return(0,U.jsx)(R,{title:`Sentry Testing`,subtitle:`Fire test events to verify Sentry integration is working.`,children:(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(Q,{icon:(0,U.jsx)(B,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:`Fatal Event`,description:`Send a fatal-level event to Sentry.`,onClick:o}),(0,U.jsx)(Q,{icon:(0,U.jsx)(I,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:`Error Event`,description:`Capture a test Error exception.`,onClick:e}),(0,U.jsx)(Q,{icon:(0,U.jsx)(_,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:`Warning Event`,description:`Send a warning-level message.`,onClick:i}),(0,U.jsx)(Q,{icon:(0,U.jsx)(h,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:`Info Event`,description:`Send an info-level message.`,onClick:a}),(0,U.jsx)(Q,{icon:(0,U.jsx)(V,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:`Performance Transaction`,description:`Start and end a test transaction span.`,onClick:s})]})})}function Q({icon:e,label:t,description:n,onClick:r}){return(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,U.jsx)(`div`,{className:`shrink-0`,children:e}),(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]}),(0,U.jsxs)(a,{variant:`outlined`,size:`compact`,onClick:r,children:[(0,U.jsx)(m,{className:`h-4 w-4`}),`Send`]})]})}var $=[{id:`feature-flags`,label:`Feature Flags`},{id:`lifecycle`,label:`Assistant Lifecycle`},{id:`sentry`,label:`Sentry Testing`}];function ue(){let e=o(),[t,n]=s(),r=P.use.settingsDeveloperNav(),i=P.use.hasHydrated(),l=(0,H.useMemo)(()=>{let e=t.get(`tab`);return $.find(t=>t.id===e)?.id??`feature-flags`},[t]);if(i&&!r)return(0,U.jsx)(c,{replace:!0,to:D.settings.general});let u=e=>{let r=new URLSearchParams(t.toString());e===`feature-flags`?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})};return(0,U.jsxs)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-4 border-b border-[var(--border-base)]`,children:[(0,U.jsx)(`div`,{role:`tablist`,"aria-label":`Developer sections`,className:`flex items-center gap-1`,children:$.map(e=>{let t=e.id===l;return(0,U.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`developer-tab-panel-${e.id}`,id:`developer-tab-${e.id}`,onClick:()=>u(e.id),className:re(`relative -mb-px cursor-pointer border-b-2 px-4 py-2 text-body-medium-default transition-colors`,t?`border-[var(--system-positive-strong)] text-[var(--system-positive-strong)]`:`border-transparent text-[var(--content-tertiary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`),children:e.label},e.id)})}),C()&&(0,U.jsx)(a,{variant:`outlined`,className:`mb-1 shrink-0`,onClick:()=>void e(`${D.selectAssistant}?noAutoSkip=1`),children:`Choose Assistant`})]}),(0,U.jsxs)(`div`,{id:`developer-tab-panel-${l}`,role:`tabpanel`,"aria-labelledby":`developer-tab-${l}`,className:`flex min-h-0 flex-1 flex-col pt-6`,children:[l===`feature-flags`&&(0,U.jsxs)(`div`,{className:`space-y-6`,children:[(0,U.jsx)(ae,{}),(0,U.jsx)(Y,{})]}),l===`lifecycle`&&(0,U.jsx)(W,{}),l===`sentry`&&(0,U.jsx)(le,{})]})]})}export{ue as DeveloperPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t}from"./useQuery-B45lW1Kk.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./loader-circle-D1pLQlMh.js";import{t as i}from"./monitor-CWNmhnli.js";import{t as a}from"./notice-Dh3mnM_U.js";import{o}from"./routes-iUGoIqW2.js";import{v as s}from"./react-query.gen-DVZyPw6H.js";import{Lr as c,Rr as l,T as u,bi as d,zr as f}from"./index-
|
|
1
|
+
import{r as e}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t}from"./useQuery-B45lW1Kk.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./loader-circle-D1pLQlMh.js";import{t as i}from"./monitor-CWNmhnli.js";import{t as a}from"./notice-Dh3mnM_U.js";import{o}from"./routes-iUGoIqW2.js";import{v as s}from"./react-query.gen-DVZyPw6H.js";import{Lr as c,Rr as l,T as u,bi as d,zr as f}from"./index-DQkD5WCi.js";import{t as p}from"./detail-card-CnahmiAd.js";var m=n();function h(e){return new Intl.DateTimeFormat(`en`,{month:`short`,day:`numeric`,year:`numeric`}).format(new Date(e))}function g({assistant:e}){let t=e,n=t.platform===`ios`,r=n?d:i,a=e.name||(n?`iOS Device`:t.hostname||`Unknown Device`);return(0,m.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,m.jsx)(r,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:a}),(0,m.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[t.hostname&&(0,m.jsx)(`span`,{className:`mr-3`,children:t.hostname}),e.created&&(0,m.jsxs)(`span`,{children:[`Registered `,h(e.created)]})]})]})]})}function _(){let n=f({platformHostedOnly:!0}),i=c(),d=l(),{data:h,isLoading:_}=t({...s({query:{hosting:`local`}}),enabled:n===`full`&&i}),v=h?.results??[];return n===`gated`?(0,m.jsx)(e,{replace:!0,to:o.settings.general}):n===`disabled`?(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsx)(u,{children:`Log in to the Vellum platform to manage self-hosted assistants.`})}):d?(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,m.jsx)(r,{className:`h-4 w-4 animate-spin`}),`Loading devices…`]})}):i?(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsx)(p,{title:`Self-Hosted Assistants`,subtitle:`Self-hosted assistants registered with your Vellum account. Registration lets these assistants use Vellum managed services — inference, web search, integrations — so that you don't have to bring your own API keys.`,children:_?(0,m.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,m.jsx)(r,{className:`h-4 w-4 animate-spin`}),`Loading devices...`]}):v.length===0?(0,m.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No self-hosted assistants registered.`}):(0,m.jsx)(`div`,{className:`space-y-2`,children:v.map(e=>(0,m.jsx)(g,{assistant:e},e.id))})})}):(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsx)(a,{tone:`warning`,children:`Self-hosted assistant management isn't available for the current assistant state.`})})}export{_ as DevicesPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./platform-detection-
|
|
1
|
+
import{n as e}from"./platform-detection-CY-O-Rjc.js";var t=200,n=200,r=`vellum:chat-diagnostics:v1`,i=`vellum:chat-diagnostics-lifecycle:v1`,a={storageKey:r,max:t,loaded:!1,events:[]},o={storageKey:i,max:n,loaded:!1,events:[]};function s(){if(typeof window>`u`)return null;try{return window.sessionStorage}catch{return null}}function c(e){return typeof e==`object`&&!!e&&typeof e.ts==`string`&&typeof e.kind==`string`&&e.details!=null&&typeof e.details==`object`&&!Array.isArray(e.details)}function l(e){if(e.loaded)return;e.loaded=!0;let t=s();if(t)try{let n=t.getItem(e.storageKey);if(!n)return;let r=JSON.parse(n);if(!Array.isArray(r))return;e.events=r.filter(c).slice(-e.max)}catch{e.events=[]}}function u(e){let t=s();if(t)try{t.setItem(e.storageKey,JSON.stringify(e.events))}catch{}}function d(e,t,n){l(e),e.events.push({ts:new Date().toISOString(),kind:t,details:{platform:p(),...n}}),e.events.length>e.max&&(e.events=e.events.slice(-e.max)),u(e)}function f(e){return l(e),e.events.map(e=>({ts:e.ts,kind:e.kind,details:{...e.details}}))}function p(){try{return e()}catch{return`web`}}function m(e,t={}){d(a,e,t)}function h(e,t={}){d(o,e,t)}function g(){return f(a)}function _(){return f(o)}function v(e){return{schemaVersion:2,collectedAt:new Date().toISOString(),currentState:e,lifecycleEvents:_(),events:g()}}function y(e){return!Number.isFinite(e)||e<=0?`0`:e===1?`1`:e<=5?`2-5`:`6+`}function b(e){let t={};for(let n of e)t[n.role]=(t[n.role]??0)+1;return t}function x(e,t,n){typeof t[n]==`string`&&(e[n]=t[n])}function S(e,t,n){typeof t[n]==`number`&&Number.isFinite(t[n])&&(e[n]=t[n])}function C(e,t,n){typeof t[n]==`boolean`&&(e[n]=t[n])}function w(e,t,n){typeof t[n]==`string`&&(e[`${n}Length`]=t[n].length)}function T(e){let t=e,n={type:e.type};for(let e of[`messageId`,`requestId`,`surfaceId`,`surfaceType`,`toolUseId`,`conversationId`,`deliveryId`,`code`,`toolName`,`errorCategory`,`rawType`,`tab`,`sourceEventName`])x(n,t,e);for(let e of[`position`,`inputTokens`,`outputTokens`,`cachedInputTokens`,`cacheCreationInputTokens`,`contextWindowTokens`,`contextWindowMaxTokens`,`openUntil`])S(n,t,e);for(let e of[`isError`,`retryable`,`runStillActive`])C(n,t,e);for(let e of[`text`,`content`,`message`,`userMessage`,`debugDetails`,`title`,`body`,`summary`,`result`,`url`])w(n,t,e);if(typeof t.url==`string`)try{n.urlHost=new URL(t.url).host}catch{n.urlHost=null}return Array.isArray(t.attachments)&&(n.attachmentCount=t.attachments.length),Array.isArray(t.actions)&&(n.actionCount=t.actions.length),t.data!=null&&typeof t.data==`object`&&!Array.isArray(t.data)&&(n.dataKeys=Object.keys(t.data).length),t.input!=null&&typeof t.input==`object`&&!Array.isArray(t.input)&&(n.inputKeys=Object.keys(t.input).length),n}export{m as a,b as c,_ as i,T as l,v as n,h as o,g as r,p as s,y as t};
|
package/dist/assets/{dictation-overlay-page-C9wwzBCi.js → dictation-overlay-page-W4zqYMu-.js}
RENAMED
|
@@ -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"./check-DFNrQERi.js";import{t as i}from"./loader-circle-D1pLQlMh.js";import{t as a}from"./triangle-alert-CuLBwl1x.js";import{Jn as o,Xn as s,Yn as c,Zn as l,ba as u}from"./index-
|
|
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"./check-DFNrQERi.js";import{t as i}from"./loader-circle-D1pLQlMh.js";import{t as a}from"./triangle-alert-CuLBwl1x.js";import{Jn as o,Xn as s,Yn as c,Zn as l,ba as u}from"./index-DQkD5WCi.js";var d=e(t(),1),f=n();function p(){let[e,t]=(0,d.useState)(null),n=(0,d.useRef)(null),r=(0,d.useRef)(!1);if((0,d.useEffect)(()=>{let e=l(t);return o().then(e=>{e&&t(t=>t??e)}),e},[]),(0,d.useEffect)(()=>()=>{s(!1)},[]),(0,d.useEffect)(()=>{e?.kind===`recording`||!r.current||(r.current=!1,s(!1))},[e?.kind]),!e)return null;let i=e.kind===`recording`?e.transcription.trim():``,a=e.kind===`recording`?e.audioLevel??0:0,u=e=>{r.current!==e&&(r.current=e,s(e))};return(0,f.jsx)(`div`,{className:`flex h-screen w-screen items-start justify-center bg-transparent p-4`,onMouseMove:t=>{if(e.kind!==`recording`){u(!1);return}let r=n.current;if(!r){u(!1);return}let i=r.getBoundingClientRect();u(t.clientX>=i.left&&t.clientX<=i.right&&t.clientY>=i.top&&t.clientY<=i.bottom)},onMouseLeave:()=>u(!1),children:(0,f.jsxs)(`div`,{className:`flex w-[min(28rem,calc(100vw-2rem))] flex-col gap-1 rounded-xl border border-[var(--border-default)] bg-[var(--surface-base)] px-4 py-2.5 shadow-lg`,children:[(0,f.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,f.jsx)(_,{state:e}),(0,f.jsx)(`span`,{className:`truncate text-[11px] font-medium text-[var(--content-secondary)]`,children:g(e)}),e.kind===`recording`&&(0,f.jsx)(m,{level:a,stopButtonRef:n,onInteractiveChange:u,onStop:()=>{c(),u(!1)}})]}),i&&(0,f.jsx)(`div`,{className:`flex max-h-7 flex-col justify-end overflow-hidden`,children:(0,f.jsx)(`p`,{className:`break-words text-[10px] leading-snug text-[var(--content-tertiary)]`,children:i})})]})})}function m({level:e,stopButtonRef:t,onInteractiveChange:n,onStop:r}){return(0,f.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,f.jsx)(h,{level:e}),(0,f.jsx)(`button`,{ref:t,type:`button`,className:`flex size-5 items-center justify-center rounded-full text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--system-negative-strong)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--system-negative-strong)]`,"aria-label":`Stop recording`,title:`Stop recording`,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:r,children:(0,f.jsx)(u,{className:`size-4`,strokeWidth:2,"aria-hidden":!0})})]})}function h({level:e}){let t=Math.max(0,Math.min(1,e));return(0,f.jsx)(`div`,{className:`flex h-4 w-16 shrink-0 items-end gap-0.5`,"aria-hidden":!0,children:[.16,.32,.48,.64,.8,.96].map((e,n)=>(0,f.jsx)(`span`,{className:`w-1 rounded-full bg-[var(--system-negative-strong)] transition-[height,opacity] duration-75`,style:{height:`${6+n*1.5}px`,opacity:t>=e?1:.22}},e))})}function g(e){switch(e.kind){case`recording`:return`Recording…`;case`processing`:return`Processing…`;case`done`:return`Done`;case`error`:return e.message}}function _({state:e}){switch(e.kind){case`recording`:return(0,f.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-[var(--system-negative-strong)]`,"aria-hidden":!0});case`processing`:return(0,f.jsx)(i,{className:`size-4 shrink-0 animate-spin text-[var(--content-secondary)]`,"aria-hidden":!0});case`done`:return(0,f.jsx)(r,{className:`size-4 shrink-0 text-[var(--system-positive-strong)]`,"aria-hidden":!0});case`error`:return(0,f.jsx)(a,{className:`size-4 shrink-0 text-[var(--system-negative-strong)]`,"aria-hidden":!0})}}export{p as DictationOverlayPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-D5f7kt80.js";import{t as o}from"./loader-circle-D1pLQlMh.js";import"./src-4xooMXeT.js";import{n as s}from"./resolved-assistants-store-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-D5f7kt80.js";import{t as o}from"./loader-circle-D1pLQlMh.js";import"./src-4xooMXeT.js";import{n as s}from"./resolved-assistants-store-DccydJ5N.js";import{ht as c,mt as l,pt as u}from"./sdk.gen-Bz2u5Wv3.js";import{o as d}from"./routes-iUGoIqW2.js";import{t as f}from"./use-bus-subscription-YZjoe_RT.js";import{n as p}from"./viewer-store-C8L5A-BB.js";import{r as m,t as h}from"./edit-chat-session-phEigSQo.js";import{At as g}from"./index-DQkD5WCi.js";var _=e(t(),1);function v({surfaceId:e,enabled:t,onCommentsChanged:n}){let r=(0,_.useRef)(n);return(0,_.useLayoutEffect)(()=>{r.current=n},[n]),(0,_.useCallback)(n=>{if(!t)return;let i=n.message;switch(i.type){case`document_comment_created`:case`document_comment_resolved`:case`document_comment_reopened`:case`document_comment_deleted`:i.surfaceId===e&&r.current();break;default:break}},[e,t])}var y=i();function b(){let{surfaceId:e}=r(),t=n(),i=s.use.activeAssistantId(),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!0),[w,T]=(0,_.useState)(null),E=(0,_.useRef)(null);(0,_.useEffect)(()=>{if(!e){T(`No document ID provided.`),C(!1);return}if(!i)return;let t=!1;return(async()=>{try{let{data:n}=await l({path:{assistant_id:i,id:e},throwOnError:!0});if(t)return;x(n)}catch{t||T(`Failed to load document.`)}finally{t||C(!1)}})(),()=>{t=!0}},[e,i]);let D=(0,_.useCallback)(()=>{E.current?.refreshComments()},[]);f(`sse.event`,v({surfaceId:e??``,enabled:!!e,onCommentsChanged:D}));let O=(0,_.useCallback)(()=>{t(-1)},[t]),k=(0,_.useCallback)(async()=>{if(!b||!i||!e)return;let n=b.conversationId||h(i,e)||(typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`);if(m(i,e,n),n!==b.conversationId)try{await u({path:{assistant_id:i,id:e},body:{conversationId:n},throwOnError:!0})}catch{}p.getState().openDocument(),p.getState().setLoadedDocument({surfaceId:b.surfaceId,conversationId:n,documentName:b.title,content:b.content});let r=`Please review and address my comments on "${b.title}".`;t(`${d.conversation(n)}?prompt=${encodeURIComponent(r)}`)},[b,i,e,t]),A=(0,_.useCallback)(async()=>{if(!b||!i)return;let{data:e,response:t}=await c({path:{assistant_id:i,id:b.surfaceId},throwOnError:!1,parseAs:`blob`});if(!t?.ok||!e)return;let n=URL.createObjectURL(e);Object.assign(document.createElement(`a`),{href:n,download:`${b.title||`document`}.pdf`}).click(),URL.revokeObjectURL(n)},[b,i]);return S?(0,y.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,y.jsx)(o,{size:24,className:`animate-spin`,style:{color:`var(--content-tertiary)`}})}):w||!b||!i?(0,y.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,y.jsx)(a,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:w??`Document not found.`})}):(0,y.jsx)(g,{surfaceId:b.surfaceId,assistantId:i,conversationId:b.conversationId,documentName:b.title,content:b.content,onClose:O,onExport:A,onSubmitFeedback:k,handleRef:E})}export{b as DocumentViewerPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D1p5nVKJ.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./createLucideIcon-IRfcSUxS.js";import{t as o}from"./arrow-left-DI9551VI.js";import{t as s}from"./check-DFNrQERi.js";import{t as c}from"./copy-CytZjq76.js";import{t as l}from"./credit-card-s3I7DYkY.js";import{t as u}from"./loader-circle-D1pLQlMh.js";import{t as d}from"./notice-Dh3mnM_U.js";import"./src-4xooMXeT.js";import{t as f}from"./input-DR1eB4a1.js";import{t as p}from"./modal-cdtdc8dA.js";import{yt as m}from"./react-query.gen-DVZyPw6H.js";import{di as h,ea as g}from"./index-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D1p5nVKJ.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./createLucideIcon-IRfcSUxS.js";import{t as o}from"./arrow-left-DI9551VI.js";import{t as s}from"./check-DFNrQERi.js";import{t as c}from"./copy-CytZjq76.js";import{t as l}from"./credit-card-s3I7DYkY.js";import{t as u}from"./loader-circle-D1pLQlMh.js";import{t as d}from"./notice-Dh3mnM_U.js";import"./src-4xooMXeT.js";import{t as f}from"./input-DR1eB4a1.js";import{t as p}from"./modal-cdtdc8dA.js";import{yt as m}from"./react-query.gen-DVZyPw6H.js";import{di as h,ea as g}from"./index-DQkD5WCi.js";var _=a(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),v=e(t(),1),y=i();function b(e){return e.replace(/\.00$/,``)}function x(e,t,n){let r=b(n),i=b(e),a=b(t);return i===a?`Share Vellum with friends — you'll each earn ${i} credits when they sign up, up to ${r} total.`:`Share Vellum with friends — you'll earn ${i} credits and they'll get ${a} when they sign up, up to ${r} total.`}function S({open:e,onClose:t}){return(0,y.jsx)(p.Root,{open:e,onOpenChange:e=>{e||t()},children:e?(0,y.jsx)(C,{}):null})}function C(){let[e,t]=(0,v.useState)(!1),[i,a]=(0,v.useState)(!1),{data:S,isLoading:C,isError:D,refetch:O,isFetching:k}=r(m()),A=(0,v.useCallback)(e=>{navigator.clipboard.writeText(e).then(()=>{t(!0),setTimeout(()=>t(!1),2e3)})},[]),j=S?.is_eligible_for_credits===!1,M=S?j?`Invite friends to Vellum. You'll start earning referral credits once you've purchased credits or upgraded to Pro.`:x(S.referrer_credit_amount,S.credit_amount,S.earning_cap):`Refer friends to earn free credits.`,N=S?b(S.earning_cap):``,P=i?`Referral Program Terms`:`Earn free credits`;return(0,y.jsxs)(p.Content,{size:`sm`,children:[(0,y.jsx)(p.Header,{children:(0,y.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[i&&(0,y.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,y.jsx)(o,{}),onClick:()=>a(!1),"aria-label":`Back`,className:`mt-0.5`,tintColor:`var(--content-secondary)`}),(0,y.jsxs)(`div`,{className:`min-w-0`,children:[(0,y.jsx)(p.Title,{children:P}),!i&&(0,y.jsx)(p.Description,{children:M})]})]})}),(0,y.jsx)(p.Body,{children:i&&S?(0,y.jsx)(E,{cap:N}):C?(0,y.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(u,{className:`h-4 w-4 animate-spin`}),`Loading referral information…`]}):D||!S?(0,y.jsxs)(`div`,{className:`space-y-3`,children:[(0,y.jsx)(`p`,{className:`!m-0 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Failed to load referral information.`}),(0,y.jsx)(n,{variant:`outlined`,onClick:()=>void O(),disabled:k,children:k?`Retrying…`:`Try Again`})]}):(0,y.jsxs)(`div`,{className:`space-y-4`,children:[(0,y.jsxs)(`div`,{className:`space-y-2`,children:[(0,y.jsx)(w,{icon:(0,y.jsx)(_,{className:`h-4 w-4`}),label:`Share your invite link`}),(0,y.jsx)(w,{icon:(0,y.jsx)(h,{className:`h-4 w-4`}),label:`They sign up`}),(0,y.jsx)(w,{icon:(0,y.jsx)(g,{className:`h-4 w-4`}),label:j?`You earn credits — once you've purchased credits or upgraded to Pro`:`You earn credits`})]}),(0,y.jsx)(`div`,{style:{borderTop:`1px solid var(--border-base)`}}),j&&(0,y.jsx)(d,{tone:`info`,children:`You're not currently earning referral credits. Buy credits or upgrade to Pro to start earning — your invite link still works in the meantime.`}),(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(f,{type:`text`,readOnly:!0,value:S.referral_url,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,y.jsx)(n,{variant:`outlined`,iconOnly:e?(0,y.jsx)(s,{}):(0,y.jsx)(c,{}),onClick:()=>A(S.referral_url),"aria-label":`Copy referral link`,className:`h-9 w-9`})]}),(0,y.jsx)(`div`,{style:{borderTop:`1px solid var(--border-base)`}}),(0,y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,y.jsx)(T,{icon:(0,y.jsx)(h,{className:`h-3.5 w-3.5`}),value:String(S.referred_count),label:`Friends Referred`}),(0,y.jsx)(T,{icon:(0,y.jsx)(l,{className:`h-3.5 w-3.5`}),value:b(S.total_earned),label:`Credits Earned`})]}),(0,y.jsx)(`div`,{style:{borderTop:`1px solid var(--border-base)`}}),(0,y.jsx)(n,{variant:`ghost`,size:`compact`,onClick:()=>a(!0),fullWidth:!0,className:`text-body-small-default`,tintColor:`var(--content-tertiary)`,children:`View Terms and Conditions`})]})})]})}function w({icon:e,label:t}){return(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md`,style:{background:`var(--surface-base)`,color:`var(--content-secondary)`},children:e}),(0,y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t})]})}function T({icon:e,value:t,label:n}){return(0,y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-medium-lighter`,children:[(0,y.jsx)(`span`,{style:{color:`var(--content-tertiary)`},children:e}),(0,y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t}),(0,y.jsx)(`span`,{style:{color:`var(--content-tertiary)`},children:n})]})}function E({cap:e}){return(0,y.jsx)(`ul`,{className:`!m-0 !list-none space-y-2 !p-0`,children:[`This promotion is available to new users who sign up through your referral link only.`,`Rewards are earned once your invitee completes the creation of their Vellum account.`,`You may earn up to ${e} free credits through the Referral Program. We may change this limit at any time.`,`We do not grant credits for disposable or high-risk email accounts.`,`Each new user can generate only one (1) reward. No stacking or loophole hunting.`,`Please avoid spamming or misusing your referral link. Our systems actively monitor referral engagement.`,`If we detect suspicious or non-compliant activity, we reserve the right to withhold rewards or deactivate your referral link.`,`We may update, pause, or discontinue this program at any time.`].map(e=>(0,y.jsxs)(`li`,{className:`flex items-start gap-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:[(0,y.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5`,children:`•`}),(0,y.jsx)(`span`,{children:e})]},e))})}export{S as EarnCreditsModal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,t}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as n}from"./useQuery-B45lW1Kk.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./loader-circle-D1pLQlMh.js";import{t as a}from"./triangle-alert-CuLBwl1x.js";import"./src-4xooMXeT.js";import{t as o}from"./tag-BizaosUX.js";import{o as s}from"./routes-iUGoIqW2.js";import{_ as c,h as l,p as u}from"./react-query.gen-DVZyPw6H.js";import{T as d,Xi as f,_a as p,wi as m,zr as h}from"./index-
|
|
1
|
+
import{r as e,t}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as n}from"./useQuery-B45lW1Kk.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./loader-circle-D1pLQlMh.js";import{t as a}from"./triangle-alert-CuLBwl1x.js";import"./src-4xooMXeT.js";import{t as o}from"./tag-BizaosUX.js";import{o as s}from"./routes-iUGoIqW2.js";import{_ as c,h as l,p as u}from"./react-query.gen-DVZyPw6H.js";import{T as d,Xi as f,_a as p,wi as m,zr as h}from"./index-DQkD5WCi.js";import{t as g}from"./use-active-assistant-id-BBHOMQFe.js";var _=r();function v(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function y({title:e,children:t}){return(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsx)(`h2`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:e}),t]})}function b({tone:e=`info`,children:t}){let n=e===`error`;return(0,_.jsx)(`div`,{className:`rounded-md border px-4 py-3 text-body-medium-lighter`,style:{background:n?`var(--surface-negative-subtle, var(--surface-lift))`:`var(--surface-lift)`,borderColor:n?`var(--border-negative, var(--border-base))`:`var(--border-base)`,color:n?`var(--content-negative, var(--content-default))`:`var(--content-default)`},children:(0,_.jsxs)(`div`,{className:`flex items-start gap-2`,children:[n&&(0,_.jsx)(a,{className:`mt-0.5 h-4 w-4 shrink-0`,"aria-hidden":`true`}),(0,_.jsx)(`div`,{className:`flex-1`,children:t})]})})}function x({message:e,onRetry:t,retrying:n}){return(0,_.jsx)(b,{tone:`error`,children:(0,_.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,_.jsx)(`span`,{children:e}),(0,_.jsx)(`button`,{type:`button`,onClick:t,disabled:n,className:`text-body-small-default underline disabled:opacity-50`,style:{color:`var(--content-default)`},children:n?`Retrying…`:`Retry`})]})})}function S({label:e,value:t,sub:n}){return(0,_.jsxs)(`div`,{className:`rounded-xl border p-3`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,_.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e}),(0,_.jsx)(`p`,{className:`mt-1 text-title-large tabular-nums`,style:{color:`var(--content-default)`},children:t??`—`}),n&&(0,_.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-disabled)`},children:n})]})}function C({email:e}){let t=e.direction===`inbound`;return(0,_.jsx)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:(0,_.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,_.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,_.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,_.jsx)(o,{tone:t?`positive`:`neutral`,leftIcon:t?(0,_.jsx)(f,{}):(0,_.jsx)(m,{}),children:t?`Inbound`:`Outbound`}),(0,_.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.from_address})]}),(0,_.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e.subject||`(no subject)`})]}),(0,_.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[(0,_.jsx)(p,{className:`h-3 w-3`}),(0,_.jsx)(`span`,{children:v(e.created_at)})]})]})})}function w({assistantId:e,platformGate:r}){let a=r===`full`,o=n({...u({path:{assistant_id:e}}),enabled:a}),d=o.data?.results?.[0],f=n({...l({path:{assistant_id:e,id:d?.id??``}}),enabled:a&&!!d?.id}),p=n({...c({path:{assistant_id:e},query:{limit:10}}),enabled:a}),m=f.data?.usage,h=p.data?.results??[];return o.isLoading?(0,_.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,_.jsx)(i,{className:`h-8 w-8 animate-spin`,style:{color:`var(--content-tertiary)`}})}):o.isError?(0,_.jsx)(x,{message:`Couldn't load email addresses.`,onRetry:()=>{o.refetch()},retrying:o.isFetching}):d?(0,_.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,_.jsx)(y,{title:`Totals`,children:(0,_.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[(0,_.jsx)(S,{label:`Sent today`,value:m?.sent_today,sub:m?`of ${m.daily_limit} daily limit`:void 0}),(0,_.jsx)(S,{label:`Received today`,value:m?.received_today}),(0,_.jsx)(S,{label:`Sent this month`,value:m?.sent_this_month}),(0,_.jsx)(S,{label:`Received this month`,value:m?.received_this_month})]})}),(0,_.jsx)(y,{title:`Recent Emails`,children:p.isLoading?(0,_.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[(0,_.jsx)(i,{className:`h-4 w-4 animate-spin`}),`Loading…`]}):p.isError?(0,_.jsx)(x,{message:`Couldn't load recent emails.`,onRetry:()=>{p.refetch()},retrying:p.isFetching}):h.length===0?(0,_.jsx)(b,{children:`No emails yet.`}):(0,_.jsx)(`div`,{className:`space-y-2`,children:h.map(e=>(0,_.jsx)(C,{email:e},e.id))})})]}):(0,_.jsxs)(b,{children:[`No email address registered yet.`,` `,(0,_.jsx)(t,{to:s.settings.ai,className:`underline`,style:{color:`var(--content-tertiary)`},children:`Set one up in AI Settings → Email.`})]})}function T(){let t=h(),n=g();return t===`gated`?(0,_.jsx)(e,{replace:!0,to:s.logs.root}):t===`disabled`?(0,_.jsx)(d,{children:`Log in to the Vellum platform to view emails.`}):(0,_.jsx)(w,{assistantId:n,platformGate:t})}export{T as EmailsPage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-
|
|
2
|
-
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n;(function(e){e.Light=`light`,e.Dark=`dark`})(n||={});var r=t(`SafeArea`,{web:()=>e(()=>import(`./web-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-D-9O_l_z.js","assets/dist-C3LFhPgk2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n;(function(e){e.Light=`light`,e.Dark=`dark`})(n||={});var r=t(`SafeArea`,{web:()=>e(()=>import(`./web-D-9O_l_z.js`).then(e=>new e.SafeAreaWeb),__vite__mapDeps([0,1]))});export{r as SafeArea};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-
|
|
2
|
-
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n=t(`Browser`,{web:()=>e(()=>import(`./web-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-C6JBS2jv.js","assets/dist-C3LFhPgk2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n=t(`Browser`,{web:()=>e(()=>import(`./web-C6JBS2jv.js`).then(e=>new e.BrowserWeb),__vite__mapDeps([0,1]))});export{n as Browser};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-
|
|
2
|
-
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";import{t as n}from"./definitions-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-C_gIgYOE.js","assets/dist-C3LFhPgk2.js","assets/definitions-CJ7YHLIq.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";import{t as n}from"./definitions-CJ7YHLIq.js";function r(e){e.CapacitorUtils.Synapse=new Proxy({},{get(t,n){return new Proxy({},{get(t,r){return(t,i,a)=>{let o=e.Capacitor.Plugins[n];if(o===void 0){a(Error(`Capacitor plugin ${n} not found`));return}if(typeof o[r]!=`function`){a(Error(`Method ${r} not found in Capacitor plugin ${n}`));return}(async()=>{try{i(await o[r](t))}catch(e){a(e)}})()}}})}})}function i(e){e.CapacitorUtils.Synapse=new Proxy({},{get(t,n){return e.cordova.plugins[n]}})}function a(e=!1){typeof window>`u`||(window.CapacitorUtils=window.CapacitorUtils||{},window.Capacitor!==void 0&&!e?r(window):window.cordova!==void 0&&i(window))}var o=t(`Filesystem`,{web:()=>e(()=>import(`./web-C_gIgYOE.js`).then(e=>new e.FilesystemWeb),__vite__mapDeps([0,1,2]))});a();export{n as Directory,o as Filesystem};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-
|
|
2
|
-
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n=t(`Share`,{web:()=>e(()=>import(`./web-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-Bifc0CyQ.js","assets/dist-C3LFhPgk2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n=t(`Share`,{web:()=>e(()=>import(`./web-Bifc0CyQ.js`).then(e=>new e.ShareWeb),__vite__mapDeps([0,1]))});export{n as Share};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-
|
|
2
|
-
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n=t(`App`,{web:()=>e(()=>import(`./web-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-DKKX1zUX.js","assets/dist-C3LFhPgk2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BewR0kVT.js";import{i as t}from"./dist-C3LFhPgk2.js";var n=t(`App`,{web:()=>e(()=>import(`./web-DKKX1zUX.js`).then(e=>new e.AppWeb),__vite__mapDeps([0,1]))});export{n as App};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D1p5nVKJ.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./check-DFNrQERi.js";import{t as a}from"./copy-CytZjq76.js";import{t as o}from"./pencil-rKUVpppO.js";import{la as s}from"./index-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D1p5nVKJ.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./check-DFNrQERi.js";import{t as a}from"./copy-CytZjq76.js";import{t as o}from"./pencil-rKUVpppO.js";import{la as s}from"./index-DQkD5WCi.js";var c=e(t(),1),l=r(),u=`ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace`;function d({content:e,downloadContent:t,fileName:r,mimeType:u=`text/plain`,showEdit:d,isEditing:f,onToggleEdit:p,extraActions:m}){let[h,g]=(0,c.useState)(!1),_=(0,c.useRef)(null),v=(0,c.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{g(!0),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>g(!1),1500)})},[e]),y=t??e,b=(0,c.useCallback)(()=>{let e=new Blob([y],{type:u}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=r,n.click(),URL.revokeObjectURL(t)},[y,r,u]);return(0,c.useEffect)(()=>()=>{_.current&&clearTimeout(_.current)},[]),f?null:(0,l.jsxs)(`div`,{className:`absolute right-3 top-3 z-10 flex items-center gap-1 rounded-md bg-[var(--surface-primary)] shadow-sm`,children:[d&&p&&(0,l.jsx)(n,{variant:`ghost`,size:`regular`,iconOnly:(0,l.jsx)(o,{"aria-hidden":!0}),onClick:p,"aria-label":`Edit file`,className:`hover:bg-[var(--surface-base)]`}),m,(0,l.jsx)(n,{variant:`ghost`,size:`regular`,iconOnly:h?(0,l.jsx)(i,{"aria-hidden":!0}):(0,l.jsx)(a,{"aria-hidden":!0}),onClick:v,"aria-label":h?`Copied`:`Copy file contents`,className:`hover:bg-[var(--surface-base)]`}),(0,l.jsx)(n,{variant:`ghost`,size:`regular`,iconOnly:(0,l.jsx)(s,{"aria-hidden":!0}),onClick:b,"aria-label":`Download file`,className:`hover:bg-[var(--surface-base)]`})]})}function f({value:e,onChange:t,onSave:n}){return(0,l.jsx)(`textarea`,{className:`m-0 h-full w-full resize-none overflow-auto border-none bg-transparent p-4 text-body-medium-lighter leading-relaxed outline-none`,style:{color:`var(--content-default)`,fontFamily:u},value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),n())},spellCheck:!1})}function p({isDirty:e,isSaving:t,error:r,onSave:i,onDiscard:a}){return(0,l.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t px-3 py-2`,style:{borderColor:`var(--border-element)`},children:[r&&(0,l.jsx)(`span`,{className:`mr-auto text-body-small-default`,style:{color:`var(--system-error)`},children:r}),(0,l.jsx)(n,{variant:`ghost`,size:`compact`,disabled:t,onClick:a,children:`Discard`}),(0,l.jsx)(n,{variant:`primary`,size:`compact`,disabled:!e||t,onClick:i,children:t?`Saving…`:`Save`})]})}function m({content:e,readOnly:t,whiteSpace:n=`pre-wrap`,onStartEdit:r}){return(0,l.jsx)(`pre`,{className:`m-0 h-full overflow-auto p-4 text-body-medium-lighter leading-relaxed${t?``:` cursor-text`}`,style:{color:`var(--content-default)`,fontFamily:u,whiteSpace:n},onClick:t?void 0:r,children:e})}export{m as i,p as n,f as r,d as t};
|