@vellumai/web 0.8.9-staging.2 → 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.
Files changed (171) hide show
  1. package/dist/assets/{BundleConfirmPage-B3awgY58.js → BundleConfirmPage-CkmGRzTV.js} +1 -1
  2. package/dist/assets/account-page-DLWgiDpL.js +1 -0
  3. package/dist/assets/{account-shell-Cocs5HAw.js → account-shell-qQqbocXz.js} +1 -1
  4. package/dist/assets/{add-credits-modal-BVq_qeCW.js → add-credits-modal-KR3l-hlL.js} +1 -1
  5. package/dist/assets/{advanced-page-DCLclsA0.js → advanced-page-CM1prrIX.js} +1 -1
  6. package/dist/assets/ai-page-DfYw7V-1.js +1 -0
  7. package/dist/assets/{api-BI71B-Uu.js → api-DEEx3e9R.js} +1 -1
  8. package/dist/assets/{api-key-screen-CUWb6IS5.js → api-key-screen-_pmVhsup.js} +1 -1
  9. package/dist/assets/{archive-page-BKyeIPgD.js → archive-page-C3-LAH2o.js} +1 -1
  10. package/dist/assets/assistant-feature-flag-store-0382ImYF.js +1 -0
  11. package/dist/assets/{assistant-status-panel-C6vrL0c9.js → assistant-status-panel-AFf9Mjwp.js} +1 -1
  12. package/dist/assets/auth-store-CiQCAKS1.js +6 -0
  13. package/dist/assets/{avatar-api-DfOXK3fL.js → avatar-api-BwHmtSnS.js} +1 -1
  14. package/dist/assets/billing-page-o68CnS02.js +34 -0
  15. package/dist/assets/{capture-error-CHS1NpKj.js → capture-error-CZsNGL6n.js} +1 -1
  16. package/dist/assets/{chunk-5KNZJZUH-B4b1m-Ya.js → chunk-5KNZJZUH-DdS6bb-3.js} +2 -2
  17. package/dist/assets/{command-palette-Dtg298nL.js → command-palette-BcHAzecz.js} +1 -1
  18. package/dist/assets/{community-page-a5s8WDjn.js → community-page-BCX3CsOx.js} +1 -1
  19. package/dist/assets/{confirm-dialog-DsrjEJ8n.js → confirm-dialog-NYG-K9zN.js} +1 -1
  20. package/dist/assets/{connect-page-DdXFLONh.js → connect-page-DXB8Xkpw.js} +1 -1
  21. package/dist/assets/{contacts-gateway-DMN8Ph61.js → contacts-gateway-DBRvewkn.js} +1 -1
  22. package/dist/assets/contacts-page-route-8pMuZN4b.js +1 -0
  23. package/dist/assets/danger-zone-redirect-page-G9ozZFrR.js +1 -0
  24. package/dist/assets/debug-page-CS2bRZp9.js +3 -0
  25. package/dist/assets/deploy-dialogs-EImApd6S.js +1 -0
  26. package/dist/assets/{detail-card-p3YdFOs0.js → detail-card-B5j4Rqau.js} +1 -1
  27. package/dist/assets/developer-page-C6j4GZcn.js +1 -0
  28. package/dist/assets/devices-page-C1id1sIt.js +1 -0
  29. package/dist/assets/{document-viewer-page-BpM5LHph.js → document-viewer-page-D-zkJQlm.js} +1 -1
  30. package/dist/assets/{earn-credits-modal-BSS3nmKO.js → earn-credits-modal-RXLM_09P.js} +1 -1
  31. package/dist/assets/{emails-page-Bk0vj0fq.js → emails-page-BFlPmeFT.js} +1 -1
  32. package/dist/assets/{esm-Cq8mDp1x.js → esm-BfiJ42Ad.js} +2 -2
  33. package/dist/assets/esm-CautLOfa.js +2 -0
  34. package/dist/assets/esm-DTgeUUet.js +2 -0
  35. package/dist/assets/esm-DZPMmLdo.js +2 -0
  36. package/dist/assets/esm-D_HYq01-.js +2 -0
  37. package/dist/assets/feature-flag-catalog-D6XoH2hm.js +1 -0
  38. package/dist/assets/format-file-size-Cx-rVS-D.js +1 -0
  39. package/dist/assets/general-page-q3bvwcHU.js +1 -0
  40. package/dist/assets/{hatching-screen-Bt99zUZJ.js → hatching-screen-6TxMgPxR.js} +1 -1
  41. package/dist/assets/home-page-route-mDiWda9f.js +1 -0
  42. package/dist/assets/{hosting-screen-p6SpMEAP.js → hosting-screen-XKK-VeRo.js} +1 -1
  43. package/dist/assets/identity-page-route-BCiHzwmk.js +1 -0
  44. package/dist/assets/index-BjEJFZTJ.js +124 -0
  45. package/dist/assets/index-D3Lqh6yW.css +2 -0
  46. package/dist/assets/{inspect-page-BjByL85Y.js → inspect-page-BrUzgvle.js} +2 -2
  47. package/dist/assets/{install-D1sXGhtS.js → install-Uj6CrGld.js} +1 -1
  48. package/dist/assets/integrations-page-BL9LXHFe.js +1 -0
  49. package/dist/assets/{intelligence-layout-D6eECwXX.js → intelligence-layout-BwYGHEw7.js} +1 -1
  50. package/dist/assets/{keyboard-shortcuts-page-BhhPJPUZ.js → keyboard-shortcuts-page-QHFTyWOo.js} +1 -1
  51. package/dist/assets/library-detail-page-nUyEDHke.js +1 -0
  52. package/dist/assets/library-page-B0AzCNkJ.js +1 -0
  53. package/dist/assets/{login-flow-Cuwt4mrG.js → login-flow-Bi4ujzeb.js} +1 -1
  54. package/dist/assets/{login-page-BguNHtTH.js → login-page-BOH-K9Pj.js} +1 -1
  55. package/dist/assets/{logout-page-CtDodoJu.js → logout-page-B1QXMyiH.js} +1 -1
  56. package/dist/assets/{logs-layout-B_84Z561.js → logs-layout-zcrIEQRy.js} +1 -1
  57. package/dist/assets/{memory-router-playground-page-CPs-DoJJ.js → memory-router-playground-page-CeZ4XMd2.js} +1 -1
  58. package/dist/assets/{mobile-sidebar-drawer-BBBoMNDQ.js → mobile-sidebar-drawer-BjPgVWjw.js} +1 -1
  59. package/dist/assets/modal-BYMhDpQo.js +1 -0
  60. package/dist/assets/{native-file-DGi6pF3I.js → native-file-CS-pobfT.js} +2 -2
  61. package/dist/assets/notifications-page-omwlGRbj.js +1 -0
  62. package/dist/assets/{oauth-complete-page-Dv5sEaYc.js → oauth-complete-page--ojS1AzN.js} +1 -1
  63. package/dist/assets/{oauth-popup-complete-page-DqhxXOCy.js → oauth-popup-complete-page-D5wVrngS.js} +2 -2
  64. package/dist/assets/{onboarding-layout-nxxfibR6.js → onboarding-layout-BIVa2BnX.js} +1 -1
  65. package/dist/assets/{page-shell-BvU7-SpG.js → page-shell-CYsp3hSr.js} +1 -1
  66. package/dist/assets/password-reset-page-BJo9vGl_.js +1 -0
  67. package/dist/assets/{platform-loopback-page-0hrfUaHR.js → platform-loopback-page--72P008D.js} +1 -1
  68. package/dist/assets/{plugin-detail-page-D7g58Res.js → plugin-detail-page-Co_JFwRa.js} +1 -1
  69. package/dist/assets/{plugins-page-DhaomETq.js → plugins-page-D7VpzRFc.js} +1 -1
  70. package/dist/assets/pre-chat-flow-BoePpEU7.js +1 -0
  71. package/dist/assets/privacy-page-DpKZ9VJG.js +1 -0
  72. package/dist/assets/privacy-screen-CEsX-1V3.js +1 -0
  73. package/dist/assets/{provider-callback-page-wX355rfV.js → provider-callback-page-DDEEkkDM.js} +1 -1
  74. package/dist/assets/{provider-signup-page-hIJUJSSj.js → provider-signup-page-CZqSVAQl.js} +1 -1
  75. package/dist/assets/{resize-errors-Bo2cfbax.js → resize-errors-DejLlS-b.js} +1 -1
  76. package/dist/assets/{resolved-assistants-store-BPUbuIhU.js → resolved-assistants-store-ub66utfl.js} +1 -1
  77. package/dist/assets/review-terms-screen-CYFxXWmR.js +1 -0
  78. package/dist/assets/routes-Dk5Qeryt.js +1 -0
  79. package/dist/assets/{schedules-BF9QTfJF.js → schedules-BJAra2Ob.js} +1 -1
  80. package/dist/assets/schedules-page-Dk-YbWK3.js +1 -0
  81. package/dist/assets/{sdk.gen-DyGxpG-m.js → sdk.gen-BO4vbMAj.js} +1 -1
  82. package/dist/assets/select-assistant-screen-CYpMf074.js +1 -0
  83. package/dist/assets/{settings-layout-DLZ0sfT0.js → settings-layout-C_sqrv5S.js} +1 -1
  84. package/dist/assets/share-feedback-modal-Cg8gci5A.js +1 -0
  85. package/dist/assets/sidebar-tree-Cme65q7r.js +1 -0
  86. package/dist/assets/{signup-page-C1mPrkCl.js → signup-page-BBM_CboU.js} +1 -1
  87. package/dist/assets/skills-page-J6mZv9bN.js +1 -0
  88. package/dist/assets/{sounds-page-BdseS_eV.js → sounds-page-DpRhAAJv.js} +1 -1
  89. package/dist/assets/{src-Bb-Updum.js → src-hn7lwVCD.js} +1 -1
  90. package/dist/assets/{step-indicator-dots-DdSrkrW1.js → step-indicator-dots-Dmj2aMuo.js} +1 -1
  91. package/dist/assets/{subagent-detail-panel-B-8VytBJ.js → subagent-detail-panel-Dq-GDI61.js} +2 -2
  92. package/dist/assets/system-events-page-DNln669W.js +1 -0
  93. package/dist/assets/system-events-redirect-page-DY7BhERh.js +1 -0
  94. package/dist/assets/{tiptap-document-editor-DSz9Muk5.js → tiptap-document-editor-DucA37Km.js} +2 -2
  95. package/dist/assets/tool-detail-panel-CwQTuANT.js +1 -0
  96. package/dist/assets/trace-page-CKTCZonQ.js +1 -0
  97. package/dist/assets/upgrade-cancel-page-BsW23ioD.js +1 -0
  98. package/dist/assets/upgrade-success-page-DqSBwFJv.js +1 -0
  99. package/dist/assets/{usage-page-Ct7wtgvo.js → usage-page-D6cPGTNn.js} +1 -1
  100. package/dist/assets/{use-active-assistant-id-DpqDbjpv.js → use-active-assistant-id-BIhArlF_.js} +1 -1
  101. package/dist/assets/{use-bus-subscription-BI50lMh8.js → use-bus-subscription-BuU6xaZz.js} +1 -1
  102. package/dist/assets/{use-current-platform-assistant-DqEaNqDa.js → use-current-platform-assistant-Cu95G65M.js} +1 -1
  103. package/dist/assets/use-is-org-ready-IPLcsl77.js +1 -0
  104. package/dist/assets/{use-oauth-complete-deep-link-listener-zk0Iiz2U.js → use-oauth-complete-deep-link-listener-BQZGv8sr.js} +1 -1
  105. package/dist/assets/use-onboarding-login-Cd72-1Qe.js +1 -0
  106. package/dist/assets/{viewer-store-CYMgwLgL.js → viewer-store-Cc5YI5ay.js} +1 -1
  107. package/dist/assets/voice-page-D8IZifkA.js +1 -0
  108. package/dist/assets/{weather-forecast-display-gXPyN50a.js → weather-forecast-display-DgqpUX3a.js} +1 -1
  109. package/dist/assets/{web-DXzLDFAU.js → web-Cue81zTY.js} +1 -1
  110. package/dist/assets/{web-BlSJr8aG.js → web-DgJRXlLM.js} +1 -1
  111. package/dist/assets/{web-DKAZspRj.js → web-MavgiYAR.js} +1 -1
  112. package/dist/assets/{web-B68nJ7ai.js → web-XRhV1FIb.js} +1 -1
  113. package/dist/assets/{web-81P05QJK.js → web-hjMLFqJn.js} +1 -1
  114. package/dist/assets/{web-CfwMwwrz.js → web-m17sEkBA.js} +1 -1
  115. package/dist/assets/{web-DlmN0_gd.js → web-oH2q0g1D.js} +1 -1
  116. package/dist/assets/{welcome-screen-D8nrJg_G.js → welcome-screen-B2tizoBp.js} +1 -1
  117. package/dist/assets/workspace-page-Bu8beso_.js +1 -0
  118. package/dist/index.html +24 -24
  119. package/package.json +1 -1
  120. package/dist/assets/account-page-CdFdV8y0.js +0 -1
  121. package/dist/assets/ai-page-CLoNGPb4.js +0 -1
  122. package/dist/assets/assistant-feature-flag-store-DKlK50CB.js +0 -1
  123. package/dist/assets/auth-store-B42fGh_X.js +0 -6
  124. package/dist/assets/billing-page-BD0CrsQe.js +0 -34
  125. package/dist/assets/contacts-page-route-Cq6lJQbs.js +0 -1
  126. package/dist/assets/danger-zone-redirect-page-C1n72GAh.js +0 -1
  127. package/dist/assets/debug-page-BocDY1ql.js +0 -3
  128. package/dist/assets/deploy-dialogs-DDSVO63U.js +0 -1
  129. package/dist/assets/developer-page-XjghwOa3.js +0 -1
  130. package/dist/assets/devices-page-DPmzgLsB.js +0 -1
  131. package/dist/assets/esm-1cyO_Dwe.js +0 -2
  132. package/dist/assets/esm-BEOtDID8.js +0 -2
  133. package/dist/assets/esm-CKnKNlq7.js +0 -2
  134. package/dist/assets/esm-D_q0hXcE.js +0 -2
  135. package/dist/assets/feature-flag-catalog-DRHAOQnq.js +0 -1
  136. package/dist/assets/format-file-size-DoJEps-h.js +0 -1
  137. package/dist/assets/general-page-D3j594Oo.js +0 -1
  138. package/dist/assets/home-page-route-D3TUK4jV.js +0 -1
  139. package/dist/assets/identity-page-route-DJlcDHiO.js +0 -1
  140. package/dist/assets/index-BKvehXUt.css +0 -2
  141. package/dist/assets/index-huyA6GAA.js +0 -124
  142. package/dist/assets/integrations-page-B8sn6FwZ.js +0 -1
  143. package/dist/assets/library-detail-page-Dd8De1-U.js +0 -1
  144. package/dist/assets/library-page-C8dQhgrB.js +0 -1
  145. package/dist/assets/modal-BhuCoLJX.js +0 -1
  146. package/dist/assets/notifications-page-CSruNOwo.js +0 -1
  147. package/dist/assets/password-reset-page-CITHzWIy.js +0 -1
  148. package/dist/assets/pre-chat-flow-BGFr092Z.js +0 -1
  149. package/dist/assets/privacy-page-ClS4RliD.js +0 -1
  150. package/dist/assets/privacy-screen-C1f6uXlf.js +0 -1
  151. package/dist/assets/routes-DC3Pv2Da.js +0 -1
  152. package/dist/assets/schedules-page-BUe5podp.js +0 -1
  153. package/dist/assets/select-assistant-screen-NkZxtTj0.js +0 -1
  154. package/dist/assets/share-feedback-modal-Jrjiyv4t.js +0 -1
  155. package/dist/assets/sidebar-tree-DP2ML6Hm.js +0 -1
  156. package/dist/assets/skills-page-CZ8ZrRO2.js +0 -1
  157. package/dist/assets/system-events-page-CiJEKEpf.js +0 -1
  158. package/dist/assets/system-events-redirect-page-D8VaQd_Y.js +0 -1
  159. package/dist/assets/tool-detail-panel-BuGhhRkJ.js +0 -1
  160. package/dist/assets/trace-page-D0oeulsA.js +0 -1
  161. package/dist/assets/upgrade-cancel-page-J6RxeCJF.js +0 -1
  162. package/dist/assets/upgrade-success-page-DWRG6dph.js +0 -1
  163. package/dist/assets/use-is-org-ready-gL2RDSDC.js +0 -1
  164. package/dist/assets/use-onboarding-login-5pXYUom8.js +0 -1
  165. package/dist/assets/voice-page-BeQ1jrbT.js +0 -1
  166. package/dist/assets/workspace-page-PLWAlvDU.js +0 -1
  167. /package/dist/assets/{api-errors-D7n5QJzS.js → api-errors-ChauV4ed.js} +0 -0
  168. /package/dist/assets/{client.gen-NLWYTfk-.js → client.gen-BKAMS0D0.js} +0 -0
  169. /package/dist/assets/{dist-tjvu6D4z.js → dist-B4KYfSON.js} +0 -0
  170. /package/dist/assets/{event-bus-Dz-RECxQ.js → event-bus-CMBsMREI.js} +0 -0
  171. /package/dist/assets/{query-tags-C5nJRH2G.js → query-tags-Cez88bzY.js} +0 -0
@@ -1 +0,0 @@
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"./button-DdEh-9f_.js";import{t as i}from"./typography-Czgs_2w_.js";import"./src-Bb-Updum.js";import{t as a}from"./x-BDqbYVtS.js";import{Ei as o,Ga as s,Ja as c,L as l,Li as u,Pa as d,S as f,aa as p,b as m,do as h,ea as g,mo as _,po as v,ua as y,x as b}from"./index-huyA6GAA.js";var x=e(t(),1),S=n(),C={code:c,file:d,pen:p,monitor:y,plug:g,sparkle:u,"user-plus":o,bolt:_,brain:v},w=1500;function T({text:e}){let[t,n]=(0,x.useState)(!1),r=(0,x.useRef)(null);return(0,x.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,S.jsxs)(`button`,{type:`button`,onClick:()=>{navigator.clipboard.writeText(e),n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),w)},"aria-label":t?`Copied`:`Copy`,className:`absolute right-2 top-2 flex items-center gap-1 rounded p-1 text-label-small-default text-[var(--content-tertiary)] transition-colors hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,children:[t?(0,S.jsx)(h,{className:`h-3.5 w-3.5`}):(0,S.jsx)(s,{className:`h-3.5 w-3.5`}),t?`Copied`:null]})}function E({text:e}){return(0,S.jsxs)(`div`,{className:`relative`,children:[(0,S.jsx)(`pre`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 font-mono text-xs whitespace-pre-wrap break-words text-[var(--content-default)]`,children:e}),(0,S.jsx)(T,{text:e})]})}function D({children:e}){return(0,S.jsx)(i,{variant:`label-small-default`,as:`div`,className:`mb-1.5 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function O({Glyph:e,title:t,headerTrailing:n,onClose:o,children:s}){return(0,S.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[(0,S.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] px-5 py-4`,children:[(0,S.jsx)(e,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,S.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate py-0.5 leading-snug text-[var(--content-default)]`,children:t}),n,(0,S.jsx)(`span`,{className:`flex-1`}),(0,S.jsx)(r,{variant:`ghost`,iconOnly:(0,S.jsx)(a,{}),onClick:o,"aria-label":`Close tool details`,tooltip:`Close`,className:`shrink-0`})]}),(0,S.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:s})]})}function k({detail:e,onClose:t,onRiskBadgeClick:n}){if(e.kind===`thinking`)return(0,S.jsx)(O,{Glyph:v,title:e.title,onClose:t,children:(0,S.jsx)(l,{content:e.thinkingText??``,hardLineBreaks:!0})});let{iconName:r}=b(e.toolName,e.input),a=C[r]??_,o=e.activity||e.title,s=e.result!==void 0&&e.result!==``,c=e.status===`running`,u=JSON.stringify(e.input,null,2);return(0,S.jsx)(O,{Glyph:a,title:o,onClose:t,headerTrailing:(0,S.jsx)(m,{level:e.riskLevel,onClick:n}),children:(0,S.jsxs)(S.Fragment,{children:[e.riskReason&&(0,S.jsx)(i,{variant:`body-small-default`,as:`p`,className:`mb-4 text-[var(--content-tertiary)]`,children:e.riskReason}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(D,{children:`Technical details`}),(0,S.jsx)(i,{variant:`body-medium-default`,as:`div`,className:`text-[var(--content-default)]`,children:f(e.toolName)}),e.activity&&(0,S.jsx)(i,{variant:`body-small-default`,as:`p`,className:`mt-0.5 text-[var(--content-secondary)]`,children:e.activity}),(0,S.jsx)(`div`,{className:`mt-2`,children:(0,S.jsx)(E,{text:u})})]}),(s||c)&&(0,S.jsxs)(`div`,{className:`mt-5`,children:[(0,S.jsx)(D,{children:`Output`}),s?(0,S.jsx)(E,{text:e.result}):(0,S.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Running…`})]})]})})}export{k as ToolDetailPanel};
@@ -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-Bb-Updum.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{$n as c,Fn as l,In as u,Ln as d,Oi as f,Ta as p,Vi as m,Zi as h,ao as g,co as _,et as v,go as y,io as b,ma as x,oo as S,po as C,qi as w,ro as T,tt as E,uo as D,va as O,xi as ee}from"./index-huyA6GAA.js";import{t as te}from"./use-current-platform-assistant-DqEaNqDa.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 g;case`request_queued`:case`request_dequeued`:return p;case`llm_call_started`:case`llm_call_finished`:return C;case`assistant_message`:return x;case`tool_started`:case`tool_finished`:return ee;case`tool_permission_requested`:return m;case`tool_permission_decided`:return O;case`tool_failed`:return f;case`generation_handoff`:return h;case`message_complete`:return S;case`generation_cancelled`:return b;case`request_error`:return _;default:return T}}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:y,color:`var(--system-positive-strong)`};case`completed`:return{Icon:S,color:`var(--system-positive-strong)`};case`cancelled`:return{Icon:b,color:`var(--system-mid-strong)`};case`handedOff`:return{Icon:h,color:`var(--system-positive-strong)`};case`error`:return{Icon:f,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:f}=u(e),{conversations:p}=l(e,!0),{conversations:m}=d(e,!0),h=(0,N.useMemo)(()=>c(i,p,m).filter(e=>e.archivedAt==null),[i,p,m]),g=(0,N.useMemo)(()=>{if(t){let e=h.find(e=>e.conversationId===t);if(e)return e.conversationId}let n=v(e);if(n){let e=h.find(e=>e.conversationId===n);if(e)return e.conversationId}return h[0]?.conversationId??``},[e,h,t]),_=(0,N.useCallback)(t=>{r(t),E(e,t)},[e]),{data:y,isLoading:b,isError:x,error:S}=n({queryKey:[`trace-events`,e,g],queryFn:()=>W(e,{conversationId:g,limit:K}),enabled:g.length>0}),C=(0,N.useMemo)(()=>y?.events??[],[y]),w=(0,N.useMemo)(()=>I(C),[C]),T=(0,N.useMemo)(()=>R(C),[C]),D=h.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:f instanceof Error?f.message:`Failed to load conversations.`}):D?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(J,{conversations:h,selectedConversationId:g,onSelect:_}),b?(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)`}})}):x?(0,G.jsx)($,{message:S instanceof Error?S.message:`Failed to load trace events.`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(X,{metrics:w}),C.length===0?(0,G.jsx)(Q,{title:`No trace events yet`,subtitle:`Events will appear as the session runs.`}):(0,G.jsx)(ne,{groups:T})]})]}):(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)(D,{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)(w,{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)(f,{className:`h-5 w-5 shrink-0`,style:{color:`var(--system-negative-strong)`}}),(0,G.jsx)(`span`,{children:e})]})}function ae(){let{assistantId:e}=te();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-DC3Pv2Da.js";import{ct as d,lt as f,st as p}from"./index-huyA6GAA.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-DC3Pv2Da.js";import{co as p,ct as m,ln as h,lt as g,oo as _,st as v,un as y}from"./index-huyA6GAA.js";var b=e(t(),1),x=o(),S=1e3,C=1e4,w=2500;function T(){let e=g({platformHostedOnly:!0}),t=v(),o=m(),c=e===`full`&&t,d=n(),p=i(),[_,T]=(0,b.useState)(!1);(0,b.useEffect)(()=>{p.invalidateQueries({queryKey:y()})},[p]);let{data:A,isError:j}=a({...h(),enabled:c,refetchInterval:e=>e.state.data?.plan_id===`pro`||_?!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,{}):_?(0,x.jsx)(O,{}):(0,x.jsx)(E,{}),(P||N||_)&&(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)(_,{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)(p,{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-B42fGh_X.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{t}from"./react-DJZBPgpf.js";import{d as n,u as r}from"./chunk-5KNZJZUH-B4b1m-Ya.js";import{f as i}from"./resolved-assistants-store-BPUbuIhU.js";import{t as a}from"./is-electron-CavSPgmY.js";import{b as o,w as s}from"./auth-store-B42fGh_X.js";import{i as c}from"./routes-DC3Pv2Da.js";import{br as l,ur as u}from"./index-huyA6GAA.js";var d=e(t(),1);function f(e){let t=n(),f=r(),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(null),_=(0,d.useRef)(0);return{loading:p,error:h,login:async()=>{let n=e??l(u({sessionSettled:!0,isAuthenticated:!0}),f.pathname);if(i()&&s()){t(`${c.account.login}?returnTo=${encodeURIComponent(n)}`);return}let r=++_.current;g(null),m(!0);try{await o(`workos-oidc`,`${c.account.providerCallback}?returnTo=${encodeURIComponent(n)}`,{returnTo:n})}catch{if(r!==_.current)return;g(`Something went wrong. Please try again.`),m(!1)}},cancel:()=>{_.current++,m(!1),g(null),a()&&window.vellum?.auth?.cancelOAuth()}}}export{f 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-DC3Pv2Da.js";import{a as l,c as u,ho as d,i as f,n as p,o as m,r as h,s as g,wa as _}from"./index-huyA6GAA.js";import{t as v}from"./detail-card-p3YdFOs0.js";var y=e(r(),1),b=a(),x=`vellum:voice:conversationTimeoutSeconds`,S=[{label:`Ctrl`,activator:{kind:`modifierOnly`,modifiers:[`control`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}},{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}}],C=[{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`}],w=`30`,T=`text-body-small-default text-[var(--content-tertiary)]`;function E(){return(0,b.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,b.jsx)(D,{}),(0,b.jsx)(O,{}),(0,b.jsx)(A,{})]})}function D(){return(0,b.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,b.jsx)(_,{className:`h-3.5 w-3.5 shrink-0 text-forest-700`}),(0,b.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Looking to configure Speech-to-Text or Text-to-Speech models?`}),(0,b.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,b.jsx)(d,{className:`h-3 w-3`})]})]})}function O(){let[e,r]=(0,y.useState)(()=>{let e=t(p,``);return e?m(e):{kind:`off`}}),[i,a]=(0,y.useState)(!1),[o,c]=(0,y.useState)([]),d=(0,y.useRef)(null),x=(0,y.useRef)(!1),C=e.kind!==`off`,w=(0,y.useCallback)(e=>{r(e),n(p,g(e)),a(!1),c([])},[]),E=(0,y.useCallback)(()=>{a(!0),c([]),x.current=!1,requestAnimationFrame(()=>{d.current?.focus()})},[]),D=(0,y.useCallback)(()=>{a(!1),c([]),x.current=!1},[]),O=(0,y.useCallback)(e=>{let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),t},[]),A=(0,y.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){D();return}let t=O(e),n=e.key;if(n===`Control`||n===`Alt`||n===`Shift`||n===`Meta`||n===`Fn`){c(u(t));return}x.current=!0,w({kind:`key`,label:n.length===1?n.toUpperCase():n,modifiers:t})},[D,O,w]),j=(0,y.useCallback)(e=>{if(!i)return;e.preventDefault(),e.stopPropagation();let t=e.key;if(t===`Control`||t===`Alt`||t===`Shift`||t===`Meta`||t===`Fn`){if(x.current){x.current=!1,c([]);return}O(e).length===0&&o.length>0&&w({kind:`modifierOnly`,modifiers:o})}},[O,i,o,w]);(0,y.useEffect)(()=>{if(!i)return;let e=e=>{d.current&&!d.current.contains(e.target)&&D()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[D,i]);let M=C&&!S.some(t=>f(t.activator,e));return(0,b.jsx)(v,{title:`Push to Talk`,subtitle:`Hold the activation key to dictate text or start a voice conversation.`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsx)(s,{checked:C,onChange:t=>{t?e.kind===`off`&&w({kind:`modifierOnly`,modifiers:[`control`]}):w({kind:`off`})},label:`Enable Push to Talk`}),C&&(0,b.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,b.jsx)(`span`,{className:T,children:`Activation Key:`}),(0,b.jsxs)(`div`,{ref:d,tabIndex:i?0:-1,onKeyDown:i?A:void 0,onKeyUp:i?j:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[S.map(t=>{let n=f(t.activator,e);return(0,b.jsx)(k,{label:t.label,selected:n,onClick:()=>w(t.activator)},t.label)}),i?(0,b.jsx)(k,{label:o.length>0?l(o):`Press any key…`,selected:!0,recording:!0,onClick:D}):(0,b.jsx)(k,{label:M?h(e):`Custom`,selected:M,onClick:E})]}),(0,b.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,b.jsx)(_,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,b.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 k({label:e,selected:t,recording:n=!1,onClick:r}){return(0,b.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,b.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,b.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function A(){let[e,r]=(0,y.useState)(()=>{let e=t(x,w);return C.find(t=>t.value===e)?.value??w});return(0,b.jsx)(v,{title:`Conversation Timeout`,subtitle:`How long the assistant waits for you to start speaking before ending a voice conversation turn.`,children:(0,b.jsx)(`div`,{className:`max-w-xs`,children:(0,b.jsx)(o,{options:C,value:e,onChange:(0,y.useCallback)(e=>{r(e),n(x,e)},[]),"aria-label":`Conversation timeout`})})})}export{E 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{$i as w,Ci as T,Ea as E,Fa as D,Ga as O,Ki as k,La as A,Na as j,Pa as M,Ra as N,Va as P,do as F,ja as I,uo as ee}from"./index-huyA6GAA.js";import{t as te}from"./use-active-assistant-id-DpqDbjpv.js";import{n as ne,t as re}from"./mobile-sidebar-drawer-BBBoMNDQ.js";import{n as ie,t as L}from"./file-markdown-DX5x9ziL.js";import{t as R}from"./format-file-size-DoJEps-h.js";var ae=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`}]]),oe=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`}]]),se=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=M;return n.startsWith(`image/`)?r=E:n.startsWith(`video/`)?r=T:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=j),(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:R(n)})]}),r]})}function G({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 fe(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)(F,{"aria-hidden":!0}):(0,V.jsx)(O,{"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)(P,{"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,T=(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)(se,{"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 E=d.mimeType??`application/octet-stream`,D=d.name??t.split(`/`).pop()??t,O=ie(D,E),k=le(D,E),A=d.content!=null&&!O&&!k,M=t?fe(t):!0,N=v&&(0,V.jsx)(pe,{isDirty:w,isSaving:C.isPending,onSave:T,onDiscard:x});if(O&&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:D,mimeType:E,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:D,mimeType:E,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)(L,{content:e})}):v?(0,V.jsx)(J,{value:b,onChange:e=>_({path:t,content:e}),onSave:T}):(0,V.jsx)(Y,{content:d.content,readOnly:M,onStartEdit:()=>m(t)})]}),N]})}if(k&&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:D,mimeType:E,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:D,mimeType:E,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:T}):(0,V.jsx)(Y,{content:d.content,readOnly:M,onStartEdit:()=>m(t)})]}),N]})}return A?(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:D,mimeType:E,size:d.size}),(0,V.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,V.jsx)(K,{content:v?b:d.content??``,fileName:D,mimeType:E,showEdit:!M,isEditing:v,onToggleEdit:()=>v?x():m(t)}),v?(0,V.jsx)(J,{value:b,onChange:e=>_({path:t,content:e}),onSave:T}):(0,V.jsx)(Y,{content:d.content??``,readOnly:M,onStartEdit:()=>m(t)})]}),N]}):E.startsWith(`image/`)||E.startsWith(`video/`)?(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:D,mimeType:E,size:d.size}),(0,V.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,V.jsx)(G,{assistantId:e,path:t,mimeType:E,showHidden:n})})]}):(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsx)(W,{name:D,mimeType:E,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)(j,{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:D}),(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:E}),(0,V.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:R(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)(I,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,V.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,V.jsx)(T,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,V.jsx)(M,{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)(ee,{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:R(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),[w,T]=(0,B.useState)(null),[E,D]=(0,B.useState)(null),{data:O,isLoading:j}=i(Z({path:{assistant_id:e},query:{showHidden:o,includeDirSizes:s===`size`}})),M=(0,B.useMemo)(()=>X(O?.entries??[],s),[O?.entries,s]),P=(0,B.useCallback)(()=>{h.invalidateQueries({queryKey:[`assistantsWorkspaceTreeRetrieve`]})},[h]),F=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=>{T(null),D(null),P(),e.kind===`file`?d(e.name):u(e.name)},onError:e=>{D(e instanceof Error?e.message:`Failed to create.`)}}),I=(0,B.useCallback)(e=>{w&&(D(null),F.mutate({kind:w,name:e}))},[w,F]);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)(oe,{"aria-hidden":!0}):(0,V.jsx)(ae,{"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)(A,{"aria-hidden":!0}):(0,V.jsx)(N,{"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),D(null),T(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)(k,{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`})}),w!==null&&(0,V.jsx)(_e,{kind:w,onCancel:()=>{T(null),D(null)},onConfirm:I,pending:F.isPending,error:E},w)]})}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)(w,{"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:D,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)(w,{"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)(D,{"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};