@vellumai/web 0.8.9-staging.3 → 0.8.9-staging.4
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/{account-page-JOmrd7O5.js → account-page-DLWgiDpL.js} +1 -1
- package/dist/assets/add-credits-modal-KR3l-hlL.js +1 -0
- package/dist/assets/{advanced-page-DfQKcHki.js → advanced-page-CM1prrIX.js} +1 -1
- package/dist/assets/ai-page-DfYw7V-1.js +1 -0
- package/dist/assets/{api-key-screen-BFaPTjaE.js → api-key-screen-_pmVhsup.js} +1 -1
- package/dist/assets/{archive-page-BA9_f8tE.js → archive-page-C3-LAH2o.js} +1 -1
- package/dist/assets/{assistant-status-panel-B2a_ey3l.js → assistant-status-panel-AFf9Mjwp.js} +1 -1
- package/dist/assets/auth-store-CiQCAKS1.js +6 -0
- package/dist/assets/billing-page-o68CnS02.js +34 -0
- package/dist/assets/{chunk-5KNZJZUH-B4b1m-Ya.js → chunk-5KNZJZUH-DdS6bb-3.js} +2 -2
- package/dist/assets/{command-palette-BiZB4OSo.js → command-palette-BcHAzecz.js} +1 -1
- package/dist/assets/{community-page-j-8N5lFa.js → community-page-BCX3CsOx.js} +1 -1
- package/dist/assets/{connect-page-zFzMI9NA.js → connect-page-DXB8Xkpw.js} +1 -1
- package/dist/assets/{contacts-gateway-DjUsIJ09.js → contacts-gateway-DBRvewkn.js} +1 -1
- package/dist/assets/contacts-page-route-8pMuZN4b.js +1 -0
- package/dist/assets/danger-zone-redirect-page-G9ozZFrR.js +1 -0
- package/dist/assets/debug-page-CS2bRZp9.js +3 -0
- package/dist/assets/deploy-dialogs-EImApd6S.js +1 -0
- package/dist/assets/{developer-page-CZfUJHd7.js → developer-page-C6j4GZcn.js} +1 -1
- package/dist/assets/devices-page-C1id1sIt.js +1 -0
- package/dist/assets/{document-viewer-page-DP01_kUJ.js → document-viewer-page-D-zkJQlm.js} +1 -1
- package/dist/assets/{earn-credits-modal-QwO92K15.js → earn-credits-modal-RXLM_09P.js} +1 -1
- package/dist/assets/{emails-page-Bqv0y6Lp.js → emails-page-BFlPmeFT.js} +1 -1
- package/dist/assets/general-page-q3bvwcHU.js +1 -0
- package/dist/assets/{hatching-screen-B8RlGI3J.js → hatching-screen-6TxMgPxR.js} +1 -1
- package/dist/assets/home-page-route-mDiWda9f.js +1 -0
- package/dist/assets/{hosting-screen-DoltpG5X.js → hosting-screen-XKK-VeRo.js} +1 -1
- package/dist/assets/identity-page-route-BCiHzwmk.js +1 -0
- package/dist/assets/index-BjEJFZTJ.js +124 -0
- package/dist/assets/{inspect-page-Dmp2FUpn.js → inspect-page-BrUzgvle.js} +2 -2
- package/dist/assets/{install-Db4K638M.js → install-Uj6CrGld.js} +1 -1
- package/dist/assets/integrations-page-BL9LXHFe.js +1 -0
- package/dist/assets/{intelligence-layout-D96EIdSw.js → intelligence-layout-BwYGHEw7.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-LBckCCBl.js → keyboard-shortcuts-page-QHFTyWOo.js} +1 -1
- package/dist/assets/library-detail-page-nUyEDHke.js +1 -0
- package/dist/assets/library-page-B0AzCNkJ.js +1 -0
- package/dist/assets/{login-flow-CaZb4l04.js → login-flow-Bi4ujzeb.js} +1 -1
- package/dist/assets/{login-page-C-HGOjOK.js → login-page-BOH-K9Pj.js} +1 -1
- package/dist/assets/{logout-page-Dl5euYyX.js → logout-page-B1QXMyiH.js} +1 -1
- package/dist/assets/{logs-layout-BTlzvT2f.js → logs-layout-zcrIEQRy.js} +1 -1
- package/dist/assets/{memory-router-playground-page-BBlTxde7.js → memory-router-playground-page-CeZ4XMd2.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-9EUmVwhv.js → mobile-sidebar-drawer-BjPgVWjw.js} +1 -1
- package/dist/assets/notifications-page-omwlGRbj.js +1 -0
- package/dist/assets/{oauth-complete-page-AZTJJBVl.js → oauth-complete-page--ojS1AzN.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CzA0WXr4.js → oauth-popup-complete-page-D5wVrngS.js} +2 -2
- package/dist/assets/password-reset-page-BJo9vGl_.js +1 -0
- package/dist/assets/{platform-loopback-page-CNTdcgsZ.js → platform-loopback-page--72P008D.js} +1 -1
- package/dist/assets/{plugin-detail-page-CS_wmEDi.js → plugin-detail-page-Co_JFwRa.js} +1 -1
- package/dist/assets/{plugins-page-CRtYNHW4.js → plugins-page-D7VpzRFc.js} +1 -1
- package/dist/assets/pre-chat-flow-BoePpEU7.js +1 -0
- package/dist/assets/privacy-page-DpKZ9VJG.js +1 -0
- package/dist/assets/{privacy-screen-qeQ2XoHu.js → privacy-screen-CEsX-1V3.js} +1 -1
- package/dist/assets/{provider-callback-page-C87AasMA.js → provider-callback-page-DDEEkkDM.js} +1 -1
- package/dist/assets/{provider-signup-page-CfbGs1zY.js → provider-signup-page-CZqSVAQl.js} +1 -1
- package/dist/assets/{review-terms-screen-BnGyRURw.js → review-terms-screen-CYFxXWmR.js} +1 -1
- package/dist/assets/routes-Dk5Qeryt.js +1 -0
- package/dist/assets/schedules-page-Dk-YbWK3.js +1 -0
- package/dist/assets/select-assistant-screen-CYpMf074.js +1 -0
- package/dist/assets/settings-layout-C_sqrv5S.js +1 -0
- package/dist/assets/share-feedback-modal-Cg8gci5A.js +1 -0
- package/dist/assets/{sidebar-tree-DyEHuZeN.js → sidebar-tree-Cme65q7r.js} +1 -1
- package/dist/assets/{signup-page-BTfxDffn.js → signup-page-BBM_CboU.js} +1 -1
- package/dist/assets/skills-page-J6mZv9bN.js +1 -0
- package/dist/assets/{sounds-page-CkLyWMqe.js → sounds-page-DpRhAAJv.js} +1 -1
- package/dist/assets/{step-indicator-dots-BjA1nnWA.js → step-indicator-dots-Dmj2aMuo.js} +1 -1
- package/dist/assets/{subagent-detail-panel-4B8mdN25.js → subagent-detail-panel-Dq-GDI61.js} +2 -2
- package/dist/assets/system-events-page-DNln669W.js +1 -0
- package/dist/assets/system-events-redirect-page-DY7BhERh.js +1 -0
- package/dist/assets/{tiptap-document-editor-D_JJ-i8w.js → tiptap-document-editor-DucA37Km.js} +1 -1
- package/dist/assets/tool-detail-panel-CwQTuANT.js +1 -0
- package/dist/assets/trace-page-CKTCZonQ.js +1 -0
- package/dist/assets/upgrade-cancel-page-BsW23ioD.js +1 -0
- package/dist/assets/upgrade-success-page-DqSBwFJv.js +1 -0
- package/dist/assets/{usage-page-DTCDhatY.js → usage-page-D6cPGTNn.js} +1 -1
- package/dist/assets/{use-current-platform-assistant-4FcCb-TC.js → use-current-platform-assistant-Cu95G65M.js} +1 -1
- package/dist/assets/use-is-org-ready-IPLcsl77.js +1 -0
- package/dist/assets/{use-oauth-complete-deep-link-listener-DODuMYm6.js → use-oauth-complete-deep-link-listener-BQZGv8sr.js} +1 -1
- package/dist/assets/{use-onboarding-login-CEqnm099.js → use-onboarding-login-Cd72-1Qe.js} +1 -1
- package/dist/assets/voice-page-D8IZifkA.js +1 -0
- package/dist/assets/{weather-forecast-display-CEt-zNG2.js → weather-forecast-display-DgqpUX3a.js} +1 -1
- package/dist/assets/{welcome-screen-3Gi6zm9f.js → welcome-screen-B2tizoBp.js} +1 -1
- package/dist/assets/workspace-page-Bu8beso_.js +1 -0
- package/dist/index.html +5 -5
- package/package.json +1 -1
- package/dist/assets/add-credits-modal-D1PUmkv8.js +0 -1
- package/dist/assets/ai-page-BHdzWA1C.js +0 -1
- package/dist/assets/auth-store-oleg80LZ.js +0 -6
- package/dist/assets/billing-page-BtGA4D1N.js +0 -34
- package/dist/assets/contacts-page-route-CIhz_sJO.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BOK4eL8M.js +0 -1
- package/dist/assets/debug-page-EPqbjJSc.js +0 -3
- package/dist/assets/deploy-dialogs-DlIjxp-4.js +0 -1
- package/dist/assets/devices-page-CjKo24zw.js +0 -1
- package/dist/assets/general-page-BSf6qSem.js +0 -1
- package/dist/assets/home-page-route-D3PEij2C.js +0 -1
- package/dist/assets/identity-page-route-MDSvMuG9.js +0 -1
- package/dist/assets/index-DM63H2B6.js +0 -124
- package/dist/assets/integrations-page-DKhH4frU.js +0 -1
- package/dist/assets/library-detail-page-T4MedcS4.js +0 -1
- package/dist/assets/library-page-RtbQs7L5.js +0 -1
- package/dist/assets/notifications-page-DlDftqR1.js +0 -1
- package/dist/assets/password-reset-page-DyimUxBH.js +0 -1
- package/dist/assets/pre-chat-flow-BDhreJ7B.js +0 -1
- package/dist/assets/privacy-page-C1kpEJg_.js +0 -1
- package/dist/assets/routes-DMbyM_oF.js +0 -1
- package/dist/assets/schedules-page-DL7EfeDQ.js +0 -1
- package/dist/assets/select-assistant-screen-BGPc4tCz.js +0 -1
- package/dist/assets/settings-layout-Ce4VYURq.js +0 -1
- package/dist/assets/share-feedback-modal-le4GoR2Z.js +0 -1
- package/dist/assets/skills-page-D_8aU82C.js +0 -1
- package/dist/assets/system-events-page-BuSkwmMl.js +0 -1
- package/dist/assets/system-events-redirect-page-Dq56rHVE.js +0 -1
- package/dist/assets/tool-detail-panel-WvA0b4nW.js +0 -1
- package/dist/assets/trace-page-Ckyukuwf.js +0 -1
- package/dist/assets/upgrade-cancel-page-C_KXGnp0.js +0 -1
- package/dist/assets/upgrade-success-page-yvoI0p_k.js +0 -1
- package/dist/assets/use-is-org-ready-tTrrZoWV.js +0 -1
- package/dist/assets/voice-page-pG9E3NoZ.js +0 -1
- package/dist/assets/workspace-page-DNw6D4Sj.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./useQuery-D2zf6Uhu.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./dropdown-CocFV5yi.js";import"./src-hn7lwVCD.js";import{t as a}from"./chevron-up-D4oYMRNW.js";import{t as o}from"./loader-circle-BSAFLoPH.js";import{In as s}from"./sdk.gen-AJllUeDf.js";import{$i as c,Ai as l,Bn as u,Ci as d,Da as f,Rn as p,Ui as m,Yi as h,ao as g,ba as _,co as v,fo as y,ga as b,ho as x,it as S,nr as C,oo as w,rt as T,so as E,uo as D,vo as ee,zn as te}from"./index-DM63H2B6.js";import{t as O}from"./use-current-platform-assistant-4FcCb-TC.js";import{a as k,i as A,n as j,r as M}from"./format-VxJLq14L.js";var N=e(t(),1),P={requestCount:0,llmCallCount:0,totalInputTokens:0,totalOutputTokens:0,averageLlmLatencyMs:0,toolFailureCount:0};function F(e,t){let n=e.attributes?.[t];if(typeof n==`number`&&Number.isFinite(n))return n;if(typeof n==`string`){let e=Number(n);if(Number.isFinite(e))return e}}function I(e){if(e.length===0)return P;let t=new Set,n=0,r=0,i=0,a=0,o=0,s=0;for(let c of e)switch(c.requestId&&t.add(c.requestId),c.kind){case`llm_call_finished`:{n+=1,r+=F(c,`inputTokens`)??0,i+=F(c,`outputTokens`)??0;let e=F(c,`latencyMs`);e!==void 0&&(a+=e,o+=1);break}case`tool_failed`:s+=1;break;default:break}return{requestCount:t.size,llmCallCount:n,totalInputTokens:r,totalOutputTokens:i,averageLlmLatencyMs:o>0?a/o:0,toolFailureCount:s}}function L(e){for(let t of e)switch(t.kind){case`generation_cancelled`:return`cancelled`;case`generation_handoff`:return`handedOff`;case`request_error`:return`error`;case`message_complete`:return`completed`;default:break}return e.some(e=>e.status===`error`)?`error`:`active`}function R(e){let t=new Map;for(let n of e){let e=n.requestId??``,r=t.get(e);r?(r.events.push(n),n.sequence<r.firstSequence&&(r.firstSequence=n.sequence)):t.set(e,{requestId:e,firstSequence:n.sequence,events:[n]})}for(let e of t.values())e.events.sort((e,t)=>e.sequence-t.sequence);return[...t.values()].sort((e,t)=>e.firstSequence-t.firstSequence)}function z(e){switch(e){case`request_received`:return E;case`request_queued`:case`request_dequeued`:return f;case`llm_call_started`:case`llm_call_finished`:return x;case`assistant_message`:return b;case`tool_started`:case`tool_finished`:return d;case`tool_permission_requested`:return m;case`tool_permission_decided`:return _;case`tool_failed`:return l;case`generation_handoff`:return c;case`message_complete`:return v;case`generation_cancelled`:return w;case`request_error`:return D;default:return g}}function B(e){switch(e){case`error`:return`var(--system-negative-strong)`;case`warning`:return`var(--system-mid-strong)`;case`success`:return`var(--system-positive-strong)`;default:return`var(--content-tertiary)`}}function V(e){switch(e){case`active`:return{Icon:ee,color:`var(--system-positive-strong)`};case`completed`:return{Icon:v,color:`var(--system-positive-strong)`};case`cancelled`:return{Icon:w,color:`var(--system-mid-strong)`};case`handedOff`:return{Icon:c,color:`var(--system-positive-strong)`};case`error`:return{Icon:l,color:`var(--system-negative-strong)`}}}function H(e){return e==null?`—`:typeof e==`string`?e:String(e)}var U=class extends Error{status;constructor(e,t){super(t),this.name=`TraceEventsRequestError`,this.status=e}};async function W(e,t){let{data:n,response:r}=await s({path:{assistant_id:e},query:{conversationId:t.conversationId,limit:t.limit,afterSequence:t.afterSequence},throwOnError:!1});if(!r?.ok){let e=await r?.clone().text().catch(()=>``);throw new U(r?.status??0,e||r?.statusText||`Failed to load trace events`)}return n??{events:[]}}var G=r(),K=500;function q({assistantId:e}){let[t,r]=(0,N.useState)(null),{conversations:i,isLoading:a,isError:s,error:c}=te(e),{conversations:l}=p(e,!0),{conversations:d}=u(e,!0),f=(0,N.useMemo)(()=>C(i,l,d).filter(e=>e.archivedAt==null),[i,l,d]),m=(0,N.useMemo)(()=>{if(t){let e=f.find(e=>e.conversationId===t);if(e)return e.conversationId}let n=T(e);if(n){let e=f.find(e=>e.conversationId===n);if(e)return e.conversationId}return f[0]?.conversationId??``},[e,f,t]),h=(0,N.useCallback)(t=>{r(t),S(e,t)},[e]),{data:g,isLoading:_,isError:v,error:y}=n({queryKey:[`trace-events`,e,m],queryFn:()=>W(e,{conversationId:m,limit:K}),enabled:m.length>0}),b=(0,N.useMemo)(()=>g?.events??[],[g]),x=(0,N.useMemo)(()=>I(b),[b]),w=(0,N.useMemo)(()=>R(b),[b]),E=f.length>0;return(0,G.jsx)(`div`,{className:`flex flex-col gap-6`,children:a?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(o,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-secondary)`}})}):s?(0,G.jsx)($,{message:c instanceof Error?c.message:`Failed to load conversations.`}):E?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(J,{conversations:f,selectedConversationId:m,onSelect:h}),_?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(o,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-secondary)`}})}):v?(0,G.jsx)($,{message:y instanceof Error?y.message:`Failed to load trace events.`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(X,{metrics:x}),b.length===0?(0,G.jsx)(Q,{title:`No trace events yet`,subtitle:`Events will appear as the session runs.`}):(0,G.jsx)(ne,{groups:w})]})]}):(0,G.jsx)(Q,{title:`No conversations yet`,subtitle:`Start a conversation to generate trace events.`})})}function J({conversations:e,selectedConversationId:t,onSelect:n}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,G.jsx)(`label`,{htmlFor:`logs-conversation-picker`,className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`Conversation`}),(0,G.jsx)(i,{id:`logs-conversation-picker`,value:t,onChange:n,options:e.map(e=>({value:e.conversationId,label:Y(e)}))})]})}function Y(e){return e.title?.trim()||`Conversation ${e.conversationId.slice(0,8)}`}function X({metrics:e}){let t=e.toolFailureCount>0;return(0,G.jsxs)(`section`,{className:`flex flex-col gap-3 rounded-lg border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,G.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Session Metrics`}),(0,G.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[(0,G.jsx)(Z,{label:`Requests`,value:A(e.requestCount)}),(0,G.jsx)(Z,{label:`LLM Calls`,value:A(e.llmCallCount)}),(0,G.jsx)(Z,{label:`Tokens`,value:k(e.totalInputTokens,e.totalOutputTokens)}),(0,G.jsx)(Z,{label:`Avg Latency`,value:j(e.averageLlmLatencyMs)}),t?(0,G.jsx)(Z,{label:`Failures`,value:A(e.toolFailureCount),valueColor:`var(--system-negative-strong)`}):null]})]})}function Z({label:e,value:t,valueColor:n}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md px-3 py-2`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,G.jsx)(`span`,{className:`text-body-medium-default`,style:{color:n??`var(--content-default)`},children:t}),(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e})]})}function ne({groups:e}){return(0,G.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Timeline`}),(0,G.jsx)(`div`,{className:`flex flex-col gap-5`,children:e.map(e=>(0,G.jsx)(re,{requestId:e.requestId,events:e.events},e.requestId||`__system__`))})]})}function re({requestId:e,events:t}){let n=V((0,N.useMemo)(()=>L(t),[t])),r=e?`Request ${e.slice(0,8)}`:`System`;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.createElement)(n.Icon,{className:`h-3 w-3 shrink-0`,style:{color:n.color}}),(0,G.jsx)(`span`,{className:`text-body-small-default select-text`,style:{color:`var(--content-secondary)`},children:r}),(0,G.jsx)(`div`,{className:`h-px flex-1`,style:{background:`var(--border-base)`},"aria-hidden":!0})]}),(0,G.jsx)(`ol`,{className:`flex flex-col`,style:{listStyle:`none`},children:t.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(ie,{event:e})},e.eventId))})]})}function ie({event:e}){let[t,n]=(0,N.useState)(!1),r=(0,N.useMemo)(()=>e.attributes?Object.entries(e.attributes).sort(([e],[t])=>e.localeCompare(t)):[],[e.attributes]),i=r.length>0,o=z(e.kind),s=B(e.status);return(0,G.jsxs)(`div`,{className:`flex flex-col`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>{i&&n(e=>!e)},className:`flex w-full items-start gap-2 rounded-sm px-1 py-1.5 text-left transition-colors`,style:{cursor:i?`pointer`:`default`},disabled:!i,"aria-expanded":i?t:void 0,children:[(0,N.createElement)(o,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`,style:{color:s}}),(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-lighter break-words`,style:{color:`var(--content-default)`},children:e.summary}),(0,G.jsx)(`span`,{className:`font-mono text-body-small-default`,style:{color:`var(--content-tertiary)`},children:M(e.timestampMs)})]}),i?t?(0,G.jsx)(a,{className:`mt-1 h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,G.jsx)(y,{className:`mt-1 h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):null]}),t&&i?(0,G.jsx)(`div`,{className:`mb-1 ml-6 mr-2 rounded-md px-3 py-2`,style:{background:`var(--surface-base)`},children:(0,G.jsx)(`dl`,{className:`flex flex-col gap-1`,children:r.map(([e,t])=>(0,G.jsxs)(`div`,{className:`flex flex-col gap-0.5 sm:flex-row sm:gap-3`,children:[(0,G.jsx)(`dt`,{className:`shrink-0 font-mono text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`dd`,{className:`font-mono text-body-small-default break-all`,style:{color:`var(--content-secondary)`},children:H(t)})]},e))})}):null]})}function Q({title:e,subtitle:t}){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center rounded-md border border-dashed px-6 py-16 text-center`,style:{borderColor:`var(--border-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(h,{className:`mb-3 h-8 w-8`}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default`,children:t})]})}function $({message:e}){return(0,G.jsxs)(`div`,{className:`text-body-medium-lighter flex items-start gap-3 rounded-md border px-4 py-3`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`,color:`var(--content-default)`},children:[(0,G.jsx)(l,{className:`h-5 w-5 shrink-0`,style:{color:`var(--system-negative-strong)`}}),(0,G.jsx)(`span`,{children:e})]})}function ae(){let{assistantId:e}=O();return e?(0,G.jsx)(q,{assistantId:e}):null}export{ae as TracePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,r}from"./chunk-5KNZJZUH-B4b1m-Ya.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./button-DdEh-9f_.js";import{t as o}from"./typography-Czgs_2w_.js";import{t as s}from"./card-CL5iEMJO.js";import{t as c}from"./notice-CF2pptne.js";import{n as l}from"./toast-DU1nH33j.js";import{i as u}from"./routes-DMbyM_oF.js";import{dt as d,ft as f,ut as p}from"./index-DM63H2B6.js";var m=e(t(),1),h=i();function g(){let e=f({platformHostedOnly:!0}),t=p(),i=d(),g=n();return(0,m.useEffect)(()=>{t&&(l.info(`Upgrade canceled. No changes to your plan.`,{id:`pro-upgrade-cancel`}),g(u.settings.billing,{replace:!0}))},[g,t]),e===`gated`?(0,h.jsx)(r,{replace:!0,to:u.settings.general}):e===`disabled`?(0,h.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,h.jsx)(c,{tone:`info`,children:`Log in to the Vellum platform to manage billing and usage.`})}):!t&&!i?(0,h.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,h.jsx)(c,{tone:`warning`,children:`Billing isn't available for the current assistant state.`}),(0,h.jsx)(`div`,{className:`flex justify-end`,children:(0,h.jsx)(a,{variant:`primary`,onClick:()=>g(u.settings.billing,{replace:!0}),children:`Return to billing`})})]}):(0,h.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,h.jsxs)(s,{padding:`lg`,children:[(0,h.jsx)(o,{as:`h1`,variant:`title-large`,children:`Upgrade canceled`}),(0,h.jsx)(o,{as:`p`,variant:`body-medium-default`,className:`mt-2`,children:`Returning you to billing settings…`})]})})}export{g as UpgradeCancelPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,r}from"./chunk-5KNZJZUH-B4b1m-Ya.js";import{n as i}from"./QueryClientProvider-DNHWXaGq.js";import{t as a}from"./useQuery-D2zf6Uhu.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./button-DdEh-9f_.js";import{t as c}from"./typography-Czgs_2w_.js";import{t as l}from"./card-CL5iEMJO.js";import{t as u}from"./notice-CF2pptne.js";import{t as d}from"./loader-circle-BSAFLoPH.js";import{i as f}from"./routes-DMbyM_oF.js";import{co as p,dt as m,fn as h,ft as g,pn as _,uo as v,ut as y}from"./index-DM63H2B6.js";var b=e(t(),1),x=o(),S=1e3,C=1e4,w=2500;function T(){let e=g({platformHostedOnly:!0}),t=y(),o=m(),c=e===`full`&&t,d=n(),p=i(),[v,T]=(0,b.useState)(!1);(0,b.useEffect)(()=>{p.invalidateQueries({queryKey:_()})},[p]);let{data:A,isError:j}=a({...h(),enabled:c,refetchInterval:e=>e.state.data?.plan_id===`pro`||v?!1:S,refetchIntervalInBackground:!1}),M=c?A:void 0,N=c?j:!1;(0,b.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>T(!0),C);return()=>clearTimeout(e)},[c]);let P=M?.plan_id===`pro`;(0,b.useEffect)(()=>{if(!P)return;let e=setTimeout(()=>{d(f.settings.billing,{replace:!0})},w);return()=>clearTimeout(e)},[P,d]);let F=()=>d(f.settings.billing,{replace:!0});return e===`gated`?(0,x.jsx)(r,{replace:!0,to:f.settings.general}):e===`disabled`?(0,x.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,x.jsx)(u,{tone:`info`,children:`Log in to the Vellum platform to manage billing and usage.`})}):!c&&!o?(0,x.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,x.jsx)(u,{tone:`warning`,children:`We can't confirm your upgrade for the current assistant. Return to billing to retry.`}),(0,x.jsx)(`div`,{className:`flex justify-end`,children:(0,x.jsx)(s,{variant:`primary`,"data-testid":`upgrade-success-go-to-billing`,onClick:F,children:`Go to billing`})})]}):(0,x.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,x.jsxs)(l,{padding:`lg`,children:[P?(0,x.jsx)(D,{}):N?(0,x.jsx)(k,{}):v?(0,x.jsx)(O,{}):(0,x.jsx)(E,{}),(P||N||v)&&(0,x.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,x.jsx)(s,{variant:P||N?`primary`:`outlined`,"data-testid":`upgrade-success-go-to-billing`,onClick:F,children:`Go to billing`})})]})})}function E(){return(0,x.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,x.jsx)(d,{className:`h-6 w-6 animate-spin text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,x.jsx)(c,{variant:`title-small`,as:`h1`,children:`Finalizing your upgrade…`}),(0,x.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Stripe is confirming your subscription. This usually takes a few seconds.`})]})}function D(){return(0,x.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,x.jsx)(p,{className:`h-8 w-8 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}),(0,x.jsx)(c,{variant:`title-small`,as:`h1`,children:`Welcome to Pro`}),(0,x.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Your Pro plan is active. You'll be redirected back to billing in a moment.`})]})}function O(){return(0,x.jsx)(u,{tone:`warning`,children:`We're processing your upgrade — refresh in a moment to see your new plan.`})}function k(){return(0,x.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,x.jsx)(v,{className:`h-8 w-8 text-[var(--system-negative-strong)]`,"aria-hidden":`true`}),(0,x.jsx)(c,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,x.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`We hit a problem checking your subscription. Your upgrade may still be processing — return to billing to refresh.`})]})}export{T as UpgradeSuccessPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,r as t}from"./auth-store-oleg80LZ.js";function n(){let n=e.use.currentOrganizationId();return!t()||n!=null}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
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"./chunk-5KNZJZUH-B4b1m-Ya.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./dropdown-CocFV5yi.js";import{t as s}from"./toggle-CEm3M86o.js";import{i as c}from"./routes-DMbyM_oF.js";import{Ea as l,_o as u,a as d,c as f,d as p,i as m,l as h,n as g,o as _,r as v,s as y,u as b}from"./index-DM63H2B6.js";import{t as x}from"./detail-card-B5j4Rqau.js";var S=e(r(),1),C=a(),w=`vellum:voice:conversationTimeoutSeconds`,T=[{label:`Ctrl`,activator:{kind:`modifierOnly`,modifiers:[`control`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}},{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}}],E={label:`Fn`,activator:m},D=[{label:`5 seconds`,value:`5`},{label:`10 seconds`,value:`10`},{label:`15 seconds`,value:`15`},{label:`30 seconds`,value:`30`},{label:`60 seconds`,value:`60`}],O=`30`,k=`text-body-small-default text-[var(--content-tertiary)]`;function A(){return(0,C.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,C.jsx)(j,{}),(0,C.jsx)(M,{}),(0,C.jsx)(P,{})]})}function j(){return(0,C.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--field-bg)] px-3 py-2`,children:[(0,C.jsx)(l,{className:`h-3.5 w-3.5 shrink-0 text-forest-700`}),(0,C.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Looking to configure Speech-to-Text or Text-to-Speech models?`}),(0,C.jsxs)(i,{to:c.settings.ai,className:`inline-flex items-center gap-1 text-body-medium-lighter text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Go to Models & Services`,(0,C.jsx)(u,{className:`h-3 w-3`})]})]})}function M(){let e=g(),[r,i]=(0,S.useState)(()=>{let n=t(d,``);return n?h(n,{preserveFunction:e}):e?E.activator:{kind:`off`}}),[a,o]=(0,S.useState)(!1),[c,u]=(0,S.useState)([]),w=(0,S.useRef)(null),D=(0,S.useRef)(!1),O=(0,S.useMemo)(()=>e?[E,...T]:T,[e]),A=r.kind!==`off`,j=A&&!e,M=(0,S.useCallback)(e=>{i(e),n(d,b(e)),o(!1),u([])},[]),P=(0,S.useCallback)(()=>{o(!0),u([]),D.current=!1,requestAnimationFrame(()=>{w.current?.focus()})},[]),F=(0,S.useCallback)(()=>{o(!1),u([]),D.current=!1},[]),I=(0,S.useCallback)(t=>{let n=[];return e&&t.getModifierState(`Fn`)&&n.push(`function`),t.ctrlKey&&n.push(`control`),t.altKey&&n.push(`option`),t.shiftKey&&n.push(`shift`),t.metaKey&&n.push(`command`),n},[e]),L=(0,S.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){F();return}let t=I(e),n=e.key;if(n===`Control`||n===`Alt`||n===`Shift`||n===`Meta`||n===`Fn`){u(t.includes(`function`)?m.modifiers:p(t));return}if(t.includes(`function`)){M(m);return}D.current=!0,M({kind:`key`,label:n.length===1?n.toUpperCase():n,modifiers:t})},[F,I,M]),R=(0,S.useCallback)(e=>{if(!a)return;e.preventDefault(),e.stopPropagation();let t=e.key;if(t===`Control`||t===`Alt`||t===`Shift`||t===`Meta`||t===`Fn`){if(D.current){D.current=!1,u([]);return}I(e).length===0&&c.length>0&&M({kind:`modifierOnly`,modifiers:c})}},[I,a,c,M]);(0,S.useEffect)(()=>{if(!a)return;let e=e=>{w.current&&!w.current.contains(e.target)&&F()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[F,a]);let z=A&&!O.some(e=>y(e.activator,r));return(0,C.jsx)(x,{title:`Push to Talk`,subtitle:`Hold the activation key to dictate text or start a voice conversation.`,children:(0,C.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,C.jsx)(s,{checked:A,onChange:t=>{t?r.kind===`off`&&M(e?E.activator:v):M({kind:`off`})},label:`Enable Push to Talk`}),A&&(0,C.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,C.jsx)(`span`,{className:k,children:`Activation Key:`}),(0,C.jsxs)(`div`,{ref:w,tabIndex:a?0:-1,onKeyDown:a?L:void 0,onKeyUp:a?R:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[O.map(e=>{let t=y(e.activator,r);return(0,C.jsx)(N,{label:e.label,selected:t,onClick:()=>M(e.activator)},e.label)}),a?(0,C.jsx)(N,{label:c.length>0?f(c):`Press any key…`,selected:!0,recording:!0,onClick:F}):(0,C.jsx)(N,{label:z?_(r):`Custom`,selected:z,onClick:P})]}),j&&(0,C.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,C.jsx)(l,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,C.jsx)(`span`,{children:`Push-to-Talk only works while this tab is focused, and browsers may intercept some shortcuts (e.g. Ctrl+T) before the page can see them. For always-on PTT, use the Vellum desktop app.`})]})]})]})})}function N({label:e,selected:t,recording:n=!1,onClick:r}){return(0,C.jsxs)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-body-medium-lighter transition-colors`,`border-[var(--border-subtle)]`,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,n?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,C.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,t?`border-forest-700 bg-forest-700`:`border-[var(--border-element)]`].join(` `)}),(0,C.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function P(){let[e,r]=(0,S.useState)(()=>{let e=t(w,O);return D.find(t=>t.value===e)?.value??O});return(0,C.jsx)(x,{title:`Conversation Timeout`,subtitle:`How long the assistant waits for you to start speaking before ending a voice conversation turn.`,children:(0,C.jsx)(`div`,{className:`max-w-xs`,children:(0,C.jsx)(o,{options:D,value:e,onChange:(0,S.useCallback)(e=>{r(e),n(w,e)},[]),"aria-label":`Conversation timeout`})})})}export{A as VoicePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{T as n}from"./portal-container-DIXEBWUe.js";import{n as r}from"./QueryClientProvider-DNHWXaGq.js";import{t as i}from"./useQuery-D2zf6Uhu.js";import{t as a}from"./useMutation-BuofVRHk.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./queryOptions-BtNi-_9H.js";import{t as c}from"./button-DdEh-9f_.js";import{n as l,r as u,t as d}from"./panel-item-FzMfzMJA.js";import{t as f}from"./input-Cu3PPVCq.js";import{t as p}from"./createLucideIcon-D6d6iDdi.js";import{t as m}from"./chevron-right-zTNPbA1m.js";import{t as h}from"./loader-circle-BSAFLoPH.js";import{t as g}from"./pencil-BA9LOIzP.js";import{t as _}from"./x-BDqbYVtS.js";import{Gn as v,Kn as y,Un as b,Wn as x,qn as S}from"./sdk.gen-AJllUeDf.js";import{n as C}from"./use-is-mobile-D_xrnINF.js";import{Ba as w,Fa as T,Ia as E,Ji as D,La as O,Na as k,Oa as A,Ti as j,Ua as M,fo as N,po as P,qa as F,ta as I,za as ee}from"./index-DM63H2B6.js";import{t as te}from"./use-active-assistant-id-BIhArlF_.js";import{n as ne,t as re}from"./mobile-sidebar-drawer-9EUmVwhv.js";import{n as ie,t as ae}from"./file-markdown-DX5x9ziL.js";import{t as L}from"./format-file-size-Cx-rVS-D.js";var oe=p(`arrow-down-a-z`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),se=p(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),R=p(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),z=p(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),B=e(t(),1);function ce(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function le(e,t){return ce(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function ue(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}var V=o();function H(e){return s({queryFn:async()=>{let{data:t,error:n}=await x({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function de({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=E;return n.startsWith(`image/`)?r=A:n.startsWith(`video/`)?r=j:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=T),(0,V.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 10%, transparent)`},children:(0,V.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function U({viewMode:e,onChange:t}){return(0,V.jsx)(`div`,{className:`inline-flex rounded-md p-0.5`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`},children:[`preview`,`source`].map(n=>{let r=e===n;return(0,V.jsx)(c,{variant:`ghost`,onClick:()=>t(n),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:r?`var(--surface-lift)`:`transparent`,color:r?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:r?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:n===`preview`?`Preview`:`Source`},n)})})}function W({name:e,mimeType:t,size:n,rightContent:r}){return(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,V.jsx)(de,{mimeType:t}),(0,V.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,V.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:L(n)})]}),r]})}function fe({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:a,isLoading:o}=i({queryFn:async()=>{let n=await b({path:{assistant_id:e},query:{path:t,...r?{showHidden:`true`}:{}},parseAs:`blob`});if(n.error)throw n.error;return n.data},queryKey:[`assistantsWorkspaceFileContentRetrieve`,{assistantId:e,path:t,showHidden:r}],enabled:!!t}),[s,c]=(0,B.useState)(null);return(0,B.useEffect)(()=>{if(!a)return;let e=URL.createObjectURL(a);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[a]),o?(0,V.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,V.jsx)(h,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?n.startsWith(`image/`)?(0,V.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,V.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,V.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,V.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function G(e){return e.split(`/`).some(e=>e.startsWith(`.`))}function pe({isDirty:e,isSaving:t,onSave:n,onDiscard:r}){return(0,V.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t px-3 py-2`,style:{borderColor:`var(--border-element)`},children:[(0,V.jsx)(c,{variant:`ghost`,size:`compact`,disabled:t,onClick:r,children:`Discard`}),t&&(0,V.jsx)(h,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}}),(0,V.jsx)(c,{variant:`primary`,size:`compact`,disabled:!e||t,onClick:n,children:`Save`})]})}function K({content:e,downloadContent:t,fileName:n,mimeType:r,showEdit:i,isEditing:a,onToggleEdit:o}){let[s,l]=(0,B.useState)(!1),u=(0,B.useRef)(null),d=(0,B.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{l(!0),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>l(!1),1500)})},[e]),f=t??e,p=(0,B.useCallback)(()=>{let e=new Blob([f],{type:r}),t=URL.createObjectURL(e),i=document.createElement(`a`);i.href=t,i.download=n,i.click(),URL.revokeObjectURL(t)},[f,n,r]);return(0,B.useEffect)(()=>()=>{u.current&&clearTimeout(u.current)},[]),a?null:(0,V.jsxs)(`div`,{className:`absolute right-3 top-3 z-10 flex items-center gap-1 rounded-md bg-[var(--surface-primary)] shadow-sm`,children:[i&&(0,V.jsx)(c,{variant:`ghost`,size:`regular`,iconOnly:(0,V.jsx)(g,{"aria-hidden":!0}),onClick:o,"aria-label":`Edit file`,className:`hover:bg-[var(--surface-base)]`}),(0,V.jsx)(c,{variant:`ghost`,size:`regular`,iconOnly:s?(0,V.jsx)(P,{"aria-hidden":!0}):(0,V.jsx)(F,{"aria-hidden":!0}),onClick:d,"aria-label":s?`Copied`:`Copy file contents`,className:`hover:bg-[var(--surface-base)]`}),(0,V.jsx)(c,{variant:`ghost`,size:`regular`,iconOnly:(0,V.jsx)(M,{"aria-hidden":!0}),onClick:p,"aria-label":`Download file`,className:`hover:bg-[var(--surface-base)]`})]})}var q=`ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace`;function J({value:e,onChange:t,onSave:n}){return(0,V.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:q},value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),n())},spellCheck:!1})}function Y({content:e,readOnly:t,whiteSpace:n=`pre-wrap`,onStartEdit:r}){return(0,V.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:q,whiteSpace:n},onClick:t?void 0:r,children:e})}function me({assistantId:e,selectedPath:t,showHidden:n,viewMode:o,onChangeViewMode:s,onBrowse:l}){let u=r(),{data:d,isLoading:f}=i({...H({path:{assistant_id:e},query:{path:t??``,showHidden:n}}),enabled:!!t}),[p,m]=(0,B.useState)(null),[g,_]=(0,B.useState)(null),v=p!=null&&p===t,y=d?.content??``,b=g?.path===t?g.content:y,x=()=>{m(null),_(null)},C=a({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await S({path:{assistant_id:e},body:{path:t,content:n,encoding:`utf8`},throwOnError:!1});if(!i?.ok||r)throw Error(`Failed to save file`)},onSuccess:(e,t)=>{m(e=>e===t.path?null:e),_(e=>e?.path===t.path?null:e),u.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),w=b!==y,E=(0,B.useCallback)(()=>{t&&w&&!C.isPending&&C.mutate({path:t,content:b})},[t,w,C,b]);if(!t)return(0,V.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,V.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view`}),l&&(0,V.jsx)(c,{type:`button`,onClick:l,leftIcon:(0,V.jsx)(R,{"aria-hidden":!0}),className:`sm:hidden`,children:`Browse files`})]});if(f)return(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,V.jsx)(h,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!d)return(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,V.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`File not found`})});let D=d.mimeType??`application/octet-stream`,O=d.name??t.split(`/`).pop()??t,k=ie(O,D),A=le(O,D),j=d.content!=null&&!k&&!A,M=t?G(t):!0,N=v&&(0,V.jsx)(pe,{isDirty:w,isSaving:C.isPending,onSave:E,onDiscard:x});if(k&&d.content!=null){let e=v?b:d.content;return(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:O,mimeType:D,rightContent:(0,V.jsx)(U,{viewMode:o,onChange:e=>{v&&x(),s(e)}})}),(0,V.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,V.jsx)(K,{content:e,fileName:O,mimeType:D,showEdit:!M&&o===`source`,isEditing:v,onToggleEdit:()=>v?x():m(t)}),o===`preview`?(0,V.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,V.jsx)(ae,{content:e})}):v?(0,V.jsx)(J,{value:b,onChange:e=>_({path:t,content:e}),onSave:E}):(0,V.jsx)(Y,{content:d.content,readOnly:M,onStartEdit:()=>m(t)})]}),N]})}if(A&&d.content!=null){let e=v?b:d.content,n=ue(e);return(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:O,mimeType:D,rightContent:(0,V.jsx)(U,{viewMode:o,onChange:e=>{v&&x(),s(e)}})}),(0,V.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,V.jsx)(K,{content:o===`preview`?n:e,downloadContent:e,fileName:O,mimeType:D,showEdit:!M&&o===`source`,isEditing:v,onToggleEdit:()=>v?x():m(t)}),o===`preview`?(0,V.jsx)(Y,{content:n,readOnly:!0,whiteSpace:`pre`}):v?(0,V.jsx)(J,{value:b,onChange:e=>_({path:t,content:e}),onSave:E}):(0,V.jsx)(Y,{content:d.content,readOnly:M,onStartEdit:()=>m(t)})]}),N]})}return j?(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:O,mimeType:D,size:d.size}),(0,V.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,V.jsx)(K,{content:v?b:d.content??``,fileName:O,mimeType:D,showEdit:!M,isEditing:v,onToggleEdit:()=>v?x():m(t)}),v?(0,V.jsx)(J,{value:b,onChange:e=>_({path:t,content:e}),onSave:E}):(0,V.jsx)(Y,{content:d.content??``,readOnly:M,onStartEdit:()=>m(t)})]}),N]}):D.startsWith(`image/`)||D.startsWith(`video/`)?(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:O,mimeType:D,size:d.size}),(0,V.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,V.jsx)(fe,{assistantId:e,path:t,mimeType:D,showHidden:n})})]}):(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:O,mimeType:D,size:d.size}),(0,V.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,V.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border p-6 text-center`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,V.jsx)(T,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,V.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:O}),(0,V.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,V.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:D}),(0,V.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:L(d.size,`Unknown size`)}),d.modifiedAt&&(0,V.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[`Modified: `,new Date(d.modifiedAt).toLocaleString()]})]})]})})]})}var he=e(n(),1);function X(e,t){if(t===`name`)return e;let n=e.slice();return n.sort((e,t)=>{let n=e.size??null,r=t.size??null;return n===null&&r===null?(e.name??``).localeCompare(t.name??``):n===null?1:r===null?-1:n===r?(e.name??``).localeCompare(t.name??``):r-n}),n}function Z(e){return s({queryFn:async()=>{let t={};e.query?.path&&(t.path=e.query.path),e.query?.showHidden&&(t.showHidden=`true`),e.query?.includeDirSizes&&(t.includeDirSizes=`true`);let{data:n,error:r}=await y({path:e.path,query:t});if(r)throw r;if(!n)throw Error(`Failed to load workspace tree`);return n},queryKey:[`assistantsWorkspaceTreeRetrieve`,e]})}function ge({entry:e}){return e.type===`directory`?(0,V.jsx)(k,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,V.jsx)(A,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,V.jsx)(j,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,V.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})}function Q({entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:a,sortMode:o,searchLower:s,onToggleExpand:c,onSelectPath:l,depth:u}){let d=e.path??``,f=e.name??``,p=e.type===`directory`,h=n.has(d),g=r===d,_=f.startsWith(`.`),v=p&&(h||s.length>0),{data:y}=i({...Z({path:{assistant_id:t},query:{path:d,showHidden:a,includeDirSizes:o===`size`}}),enabled:p&&v}),b=(0,B.useMemo)(()=>X(y?.entries??[],o),[y?.entries,o]),x=s===``||f.toLowerCase().includes(s);return s!==``&&!p&&!x?null:(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`button`,{onClick:()=>{p?c(d):l(d)},className:`group flex w-full items-center gap-1.5 px-2 py-1 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{paddingLeft:`${u*14+8}px`,paddingRight:`8px`,color:g?`var(--content-default)`:_?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:g?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:_&&!g?.7:1},children:[p?v?(0,V.jsx)(N,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,V.jsx)(m,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,V.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,V.jsx)(ge,{entry:e}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:f}),e.size!=null&&(0,V.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:L(e.size)})]}),p&&v&&b.length>0&&(0,V.jsx)(`div`,{children:b.map(e=>(0,V.jsx)(Q,{entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:a,sortMode:o,searchLower:s,onToggleExpand:c,onSelectPath:l,depth:u+1},e.path))})]})}function _e({kind:e,onCancel:t,onConfirm:n,pending:r,error:i}){let[a,o]=(0,B.useState)(``),s=a.trim(),l=s.length>0&&!r;return(0,he.createPortal)((0,V.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:e=>{e.key===`Escape`&&t()},onClick:e=>{e.target===e.currentTarget&&t()},children:(0,V.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),l&&n(s)},className:`mx-4 w-full max-w-sm rounded-xl border p-5 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,V.jsx)(`h2`,{className:`mb-3 text-title-small`,style:{color:`var(--content-default)`},children:e===`file`?`New File`:`New Folder`}),(0,V.jsx)(f,{autoFocus:!0,type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:e===`file`?`filename.md`:`folder-name`,errorText:i??void 0,fullWidth:!0,wrapperClassName:`mb-3`,autoComplete:`off`,spellCheck:!1}),(0,V.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,V.jsx)(c,{type:`button`,variant:`outlined`,onClick:t,disabled:r,children:`Cancel`}),(0,V.jsx)(c,{type:`submit`,disabled:!l,children:r?`Creating…`:`Create`})]})]})}),document.body)}function $({assistantId:e,expandedPaths:t,selectedPath:n,showHidden:o,sortMode:s,onToggleExpand:l,onExpandPath:u,onSelectPath:d,onToggleShowHidden:p,onChangeSortMode:m}){let h=r(),[g,y]=(0,B.useState)(``),b=g.trim().toLowerCase(),[x,C]=(0,B.useState)(!1),[T,E]=(0,B.useState)(null),[O,k]=(0,B.useState)(null),{data:A,isLoading:j}=i(Z({path:{assistant_id:e},query:{showHidden:o,includeDirSizes:s===`size`}})),M=(0,B.useMemo)(()=>X(A?.entries??[],s),[A?.entries,s]),N=(0,B.useCallback)(()=>{h.invalidateQueries({queryKey:[`assistantsWorkspaceTreeRetrieve`]})},[h]),P=a({mutationFn:async t=>{let{error:n,response:r}=t.kind===`file`?await S({path:{assistant_id:e},body:{path:t.name,content:``,encoding:`utf8`},throwOnError:!1}):await v({path:{assistant_id:e},body:{path:t.name},throwOnError:!1});if(n||!r?.ok)throw Error(typeof n==`string`?n:`Failed to create — check the name and try again.`);return t},onSuccess:e=>{E(null),k(null),N(),e.kind===`file`?d(e.name):u(e.name)},onError:e=>{k(e instanceof Error?e.message:`Failed to create.`)}}),F=(0,B.useCallback)(e=>{T&&(k(null),P.mutate({kind:T,name:e}))},[T,P]);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,V.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:`Files`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:s===`size`?(0,V.jsx)(se,{"aria-hidden":!0}):(0,V.jsx)(oe,{"aria-hidden":!0}),onClick:()=>m(s===`size`?`name`:`size`),"aria-label":s===`size`?`Sort by name`:`Sort by size`,title:s===`size`?`Sorted by size — switch to name`:`Sorted by name — switch to size`,tintColor:s===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:o?(0,V.jsx)(ee,{"aria-hidden":!0}):(0,V.jsx)(w,{"aria-hidden":!0}),onClick:p,"aria-label":o?`Hide hidden files`:`Show hidden files`,title:o?`Hide hidden files`:`Show hidden files`,tintColor:o?`var(--content-default)`:`var(--content-tertiary)`}),(0,V.jsx)(ve,{open:x,onOpenChange:C,onSelectKind:e=>{C(!1),k(null),E(e)}})]})]}),(0,V.jsx)(`div`,{className:`px-3 py-2`,children:(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(f,{type:`text`,value:g,onChange:e=>y(e.target.value),placeholder:`Search files`,leftIcon:(0,V.jsx)(D,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,spellCheck:!1,autoComplete:`off`}),g&&(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,V.jsx)(_,{"aria-hidden":!0}),onClick:()=>y(``),"aria-label":`Clear search`,className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]})}),(0,V.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:j?(0,V.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,V.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):M.length?M.map(r=>(0,V.jsx)(Q,{entry:r,assistantId:e,expandedPaths:t,selectedPath:n,showHidden:o,sortMode:s,searchLower:b,onToggleExpand:l,onSelectPath:d,depth:0},r.path)):(0,V.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files found`})}),T!==null&&(0,V.jsx)(_e,{kind:T,onCancel:()=>{E(null),k(null)},onConfirm:F,pending:P.isPending,error:O},T)]})}function ve({open:e,onOpenChange:t,onSelectKind:n}){return C()?(0,V.jsxs)(l.Root,{open:e,onOpenChange:t,children:[(0,V.jsx)(l.Trigger,{asChild:!0,children:(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,V.jsx)(I,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,V.jsxs)(l.Content,{children:[(0,V.jsx)(l.Header,{className:`sr-only`,children:(0,V.jsx)(l.Title,{children:`Create new`})}),(0,V.jsxs)(l.Body,{className:`pt-0`,children:[(0,V.jsx)(d,{icon:O,label:`New File`,onSelect:()=>n(`file`)}),(0,V.jsx)(d,{icon:z,label:`New Folder`,onSelect:()=>n(`folder`)})]})]})]}):(0,V.jsxs)(u.Root,{open:e,onOpenChange:t,children:[(0,V.jsx)(u.Trigger,{asChild:!0,children:(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,V.jsx)(I,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,V.jsxs)(u.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-44 overflow-hidden p-0`,children:[(0,V.jsx)(c,{type:`button`,variant:`ghost`,onClick:()=>n(`file`),className:`w-full justify-start rounded-none`,leftIcon:(0,V.jsx)(O,{"aria-hidden":!0,style:{color:`var(--content-tertiary)`}}),role:`menuitem`,children:`New File`}),(0,V.jsx)(c,{type:`button`,variant:`ghost`,onClick:()=>n(`folder`),className:`w-full justify-start rounded-none`,leftIcon:(0,V.jsx)(z,{"aria-hidden":!0,style:{color:`var(--content-tertiary)`}}),role:`menuitem`,children:`New Folder`})]})]})}function ye({assistantId:e}){let[t,n]=(0,B.useState)(new Set),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(`name`),[l,u]=(0,B.useState)(`preview`),d=(0,B.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),f=(0,B.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),[p,m]=(0,B.useState)(!1),h={assistantId:e,expandedPaths:t,selectedPath:r,showHidden:a,sortMode:s,onToggleExpand:d,onExpandPath:f,onSelectPath:(0,B.useCallback)(e=>{i(e),m(!1)},[]),onToggleShowHidden:()=>o(e=>!e),onChangeSortMode:c};return(0,V.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-4`,children:[(0,V.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,V.jsx)(ne,{onClick:()=>m(!0)})}),(0,V.jsx)(re,{open:p,onClose:()=>m(!1),title:`Files`,children:(0,V.jsx)($,{...h})}),(0,V.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-4 sm:grid-cols-[320px_1fr]`,children:[(0,V.jsx)(`div`,{className:`hidden min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border sm:flex`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,V.jsx)($,{...h})}),(0,V.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,V.jsx)(me,{assistantId:e,selectedPath:r,showHidden:a,viewMode:l,onChangeViewMode:u,onBrowse:()=>m(!0)})})]})]})}function be(){return(0,V.jsx)(ye,{assistantId:te()})}export{be as WorkspacePage};
|