@vellumai/web 0.11.0-staging.1 → 0.11.0-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/access-DS79PSR3.js +1 -0
- package/dist/assets/{account-page-BQkbkIBf.js → account-page-D3ERiewh.js} +1 -1
- package/dist/assets/{acp-run-actions-BWR9i8MT.js → acp-run-actions-BH8wuBAL.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-np07jHCY.js → acp-run-detail-panel-dqVK6rPq.js} +1 -1
- package/dist/assets/{activity-steps-panel-DA5HdB61.js → activity-steps-panel-xxl2hu3E.js} +1 -1
- package/dist/assets/{add-credential-modal-rP3DdyDH.js → add-credential-modal-CY_--m8L.js} +1 -1
- package/dist/assets/{ai-page-eBXLZw6t.js → ai-page-B02NwVRu.js} +1 -1
- package/dist/assets/{api-CI6Y6DLb.js → api-C3QSs67k.js} +1 -1
- package/dist/assets/{api-BlN0EOWF.js → api-LG8zI3nK.js} +1 -1
- package/dist/assets/{api-key-screen-B6aLgYrf.js → api-key-screen-CvBdN6Ae.js} +1 -1
- package/dist/assets/{app-card-A7PMnlAT.js → app-card-CAaFL1oB.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-DV5Zr1c4.js → assistant-feature-flag-store-CAdgpPiS.js} +1 -1
- package/dist/assets/{assistant-status-panel-CxMEVjFY.js → assistant-status-panel-BTnD-jhG.js} +1 -1
- package/dist/assets/{auth-store-BW4V6iLb.js → auth-store-5qq59BAN.js} +1 -1
- package/dist/assets/{avatar-random-BiEMZGl7.js → avatar-random-BMSYTcJK.js} +1 -1
- package/dist/assets/{background-task-actions-Y-aaTGGd.js → background-task-actions-DmP5s0oO.js} +1 -1
- package/dist/assets/{background-task-detail-panel-CGAeD1Ym.js → background-task-detail-panel-BCYAElGc.js} +1 -1
- package/dist/assets/{billing-page-5GkNMPN6.js → billing-page-B5j5TW_S.js} +1 -1
- package/dist/assets/{bookmarks-page-B1-9GBEx.js → bookmarks-page-D_Jr-a4Q.js} +1 -1
- package/dist/assets/build-state-m0LQ5Iis.js +1 -0
- package/dist/assets/{channels-page-route-BLy5uT8z.js → channels-page-route-BYP9SOw5.js} +1 -1
- package/dist/assets/{chat-avatar-DQx81apI.js → chat-avatar-CvEA6z0H.js} +1 -1
- package/dist/assets/{chat-markdown-message-CdM44BjA.js → chat-markdown-message-rxPKNeTx.js} +1 -1
- package/dist/assets/{checkout-continuation-DIMnSvv3.js → checkout-continuation-U3Pd2nxi.js} +1 -1
- package/dist/assets/{checkout-page-BZQpdPLT.js → checkout-page-C5_9GbP-.js} +1 -1
- package/dist/assets/{client-feature-flag-store-BDrcV52r.js → client-feature-flag-store-CMncoan8.js} +1 -1
- package/dist/assets/{command-palette-window-page-DAC710zo.js → command-palette-window-page-gq0zowBe.js} +1 -1
- package/dist/assets/{contacts-page-route-BF8J2JDt.js → contacts-page-route-DNoCUXE7.js} +1 -1
- package/dist/assets/{conversation-cache-DU44A0zv.js → conversation-cache-DKvwwWNo.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-DLZho4T7.js → conversation-list-fetchers-DM-Y61u5.js} +1 -1
- package/dist/assets/conversation-navigation-DsN0hcpL.js +1 -0
- package/dist/assets/{conversation-queries-Bvh4bAZ6.js → conversation-queries-CWvK6RLK.js} +1 -1
- package/dist/assets/{credentials-page-DzlUvhn4.js → credentials-page-BsJFuOc9.js} +1 -1
- package/dist/assets/{debug-page-TgklOyxq.js → debug-page-BziypDgA.js} +1 -1
- package/dist/assets/{deploy-dialogs-Day3_9Lh.js → deploy-dialogs-DZSd5o9b.js} +1 -1
- package/dist/assets/{deploy-store-Brp7LoZ_.js → deploy-store-D6snB1j5.js} +1 -1
- package/dist/assets/{developer-page-BobJIDnJ.js → developer-page-QMFEIyBS.js} +1 -1
- package/dist/assets/{document-viewer-container-BIS1iPUz.js → document-viewer-container-B7TEDeV0.js} +1 -1
- package/dist/assets/{document-viewer-page-CcGTGI8C.js → document-viewer-page-3Eq8L562.js} +1 -1
- package/dist/assets/{emails-page-CbAcUM70.js → emails-page-Wr4wPSYl.js} +1 -1
- package/dist/assets/{eye-bbox-DU39FEUp.js → eye-bbox-C_V87iLg.js} +1 -1
- package/dist/assets/feature-flag-catalog-I9-eJQP_.js +1 -0
- package/dist/assets/{first-run-scope-DKYDP-Kz.js → first-run-scope-CL5YbC3b.js} +1 -1
- package/dist/assets/{general-page-CtfWmXZi.js → general-page-lbkufqHg.js} +1 -1
- package/dist/assets/{get-memory-stats-DMSpgqW_.js → get-memory-stats-BCYSpBF6.js} +1 -1
- package/dist/assets/hatching-screen-D81diZoa.js +1 -0
- package/dist/assets/{home-page-route-BV2GBxZi.js → home-page-route-CHe8eoLz.js} +1 -1
- package/dist/assets/{hosting-screen-CTtZrpXi.js → hosting-screen-D9atAksQ.js} +1 -1
- package/dist/assets/{identity-page-route-DsU3eoey.js → identity-page-route-CK3YsXCN.js} +1 -1
- package/dist/assets/{index-DMFNBbtE.js → index-0f48hi7h.js} +1 -1
- package/dist/assets/{inspect-page-BcTmA6nR.js → inspect-page-COwvbHtX.js} +1 -1
- package/dist/assets/{installed-plugins-query-C29LGAEV.js → installed-plugins-query-Cgek0q7G.js} +1 -1
- package/dist/assets/{integrations-page-CTST1yxp.js → integrations-page-CJOBwxXp.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DamxiwYv.js → invalidate-plugin-queries-C3NTXkCX.js} +1 -1
- package/dist/assets/{latest-assistant-text-C0pZSmc9.js → latest-assistant-text-DOepZ_Io.js} +2 -2
- package/dist/assets/{library-detail-page-CI4p4bVi.js → library-detail-page-DVwI94NZ.js} +1 -1
- package/dist/assets/{library-page-SAKHIHZb.js → library-page-CNA794WY.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-CoFpjlw3.js → local-runtime-upgrade-Bqn3d7Q7.js} +1 -1
- package/dist/assets/{login-flow-B4pa-3II.js → login-flow-CD9tyuFG.js} +1 -1
- package/dist/assets/{login-page-CVnwfJ3R.js → login-page-BNStrcnU.js} +1 -1
- package/dist/assets/{logout-page-km3RHlGI.js → logout-page-CpFeuLA_.js} +1 -1
- package/dist/assets/{logs-layout-D4Ubybh3.js → logs-layout-BUiPeZ4I.js} +1 -1
- package/dist/assets/{memory-page-route-JRgoyHnC.js → memory-page-route-C0cBV7HD.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DvbF6E2-.js → memory-router-playground-page-D4UIq8mw.js} +1 -1
- package/dist/assets/{messages-Coz9buJR.js → messages-CFcAW4iz.js} +2 -2
- package/dist/assets/navigation-resolver-DPJxzx0h.js +1 -0
- package/dist/assets/{notifications-page-CWtQZnHw.js → notifications-page-ClfcJeLf.js} +1 -1
- package/dist/assets/{open-workspace-file-DNaU5wg2.js → open-workspace-file-DtK3a84K.js} +2 -2
- package/dist/assets/{page-empty-state-L-3_3LSi.js → page-empty-state-DT-tC1u6.js} +1 -1
- package/dist/assets/{personality-page-B621HU2-.js → personality-page-BJpW3UXD.js} +1 -1
- package/dist/assets/{plans-page-DAVt4mwm.js → plans-page-BDKqdYNM.js} +1 -1
- package/dist/assets/{platform-login-notice-BaCrIk0m.js → platform-login-notice-CdYiKsE8.js} +1 -1
- package/dist/assets/{platform-loopback-page-jBGJSmyh.js → platform-loopback-page-D0gXCm2S.js} +1 -1
- package/dist/assets/{privacy-page-DZEcN0PF.js → privacy-page-B0QN4qZO.js} +1 -1
- package/dist/assets/privacy-screen-vp4uUpm6.js +1 -0
- package/dist/assets/{provider-callback-page-BeDYWdc_.js → provider-callback-page-BH6DES7c.js} +1 -1
- package/dist/assets/{provider-key-1rLTitmu.js → provider-key-D2Nsf9zh.js} +1 -1
- package/dist/assets/{provider-signup-page-CVKaVhiB.js → provider-signup-page-BAPcG_iJ.js} +1 -1
- package/dist/assets/{react-query.gen-r3I6j8-1.js → react-query.gen-C5c1Acuq.js} +1 -1
- package/dist/assets/{research-onboarding-route-DwRSK3R4.js → research-onboarding-route-CFL3q__m.js} +2 -2
- package/dist/assets/{retire-confirm-dialog-BuS97P1t.js → retire-confirm-dialog-CsSY2-T8.js} +1 -1
- package/dist/assets/{review-terms-screen-CTNEkesk.js → review-terms-screen-BhyRQBjl.js} +1 -1
- package/dist/assets/{risk-DmicWnoH.js → risk-CdT92Vqr.js} +1 -1
- package/dist/assets/{routes-Bzk5oLRb.js → routes-CaP5Tqj7.js} +14 -14
- package/dist/assets/{runtime-upgrade-banner-DPMpuefs.js → runtime-upgrade-banner-DPqzKtZU.js} +1 -1
- package/dist/assets/{schedules-DIpn4jGl.js → schedules-6hzhR_C_.js} +1 -1
- package/dist/assets/{schedules-page-A9pwMmex.js → schedules-page-DVnUeaoB.js} +1 -1
- package/dist/assets/{sdk.gen-BVAVE6A_.js → sdk.gen-BHZ0fJla.js} +1 -1
- package/dist/assets/{select-assistant-screen-BPXqMOtp.js → select-assistant-screen-CVV3iqMy.js} +1 -1
- package/dist/assets/{settings-layout-CrOIplp2.js → settings-layout-B_4PKJr9.js} +1 -1
- package/dist/assets/{settings-navigation-Ccol_TOM.js → settings-navigation-CSG7jiyJ.js} +1 -1
- package/dist/assets/{share-feedback-modal-IyuFKIAE.js → share-feedback-modal-BoWCg4KH.js} +1 -1
- package/dist/assets/{sidebar-tree-_HwQiPki.js → sidebar-tree-C_PPNHe5.js} +1 -1
- package/dist/assets/{signup-page-D44Im_Pf.js → signup-page-D0S_8XYw.js} +1 -1
- package/dist/assets/{site-favicon-DzmWythg.js → site-favicon-BB1pYWLF.js} +1 -1
- package/dist/assets/{skill-detail-page-HW_A5KMG.js → skill-detail-page-CTobyK6L.js} +1 -1
- package/dist/assets/{skill-detail-panel-CrwVImjM.js → skill-detail-panel-CNzionF7.js} +1 -1
- package/dist/assets/{skills-Djg056es.js → skills-Cum1XWT2.js} +1 -1
- package/dist/assets/{sound-manager-DlaDOZ8r.js → sound-manager-Bx-OcMAz.js} +1 -1
- package/dist/assets/{sounds-page-CtII5pFQ.js → sounds-page-C45-RF4i.js} +1 -1
- package/dist/assets/{subagent-detail-panel-tuHcbKyo.js → subagent-detail-panel-DyyMdaNO.js} +1 -1
- package/dist/assets/subagent-store-MDi6lBXs.js +3 -0
- package/dist/assets/{superpowers-page-f4EChE6q.js → superpowers-page-CaLzK5D-.js} +1 -1
- package/dist/assets/{system-events-page-oxkNLamU.js → system-events-page-DXAU01ZO.js} +1 -1
- package/dist/assets/{theme-stage-page-5wL3M-2c.js → theme-stage-page-BDTCmutO.js} +1 -1
- package/dist/assets/{tool-detail-panel-BqhEUAMJ.js → tool-detail-panel-DFrWEWKG.js} +1 -1
- package/dist/assets/{transcript-message-body-shared-D3uxHQt5.js → transcript-message-body-shared-D9_d2c2X.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-BRA25NVC.js → upgrade-cancel-page-eiJEAvFz.js} +1 -1
- package/dist/assets/{upgrade-success-page-BlZDEVkm.js → upgrade-success-page-Cb1Gl4MM.js} +1 -1
- package/dist/assets/{use-app-theme-CGie3Dma.js → use-app-theme-Dg8A6vPA.js} +1 -1
- package/dist/assets/{use-assistant-avatar-IcRIy2-c.js → use-assistant-avatar-bwLHcMz4.js} +1 -1
- package/dist/assets/{use-assistant-capability-C8pZDYlr.js → use-assistant-capability-CDS7GbSO.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-CE6-JkNE.js → use-assistant-identity-details-9JRWxXTQ.js} +1 -1
- package/dist/assets/{use-bookmarks-CIhaNp5_.js → use-bookmarks-CK-nOiT-.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-BpmG1OQ0.js → use-checkout-dismiss-refresh-CqGR_OsB.js} +1 -1
- package/dist/assets/{use-command-palette-sections-CXU-OW-6.js → use-command-palette-sections-CkpUaAKs.js} +1 -1
- package/dist/assets/{use-edit-app-CYK9-rGD.js → use-edit-app-B_Nequzs.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-DdiGDpLS.js → use-invite-link-dialog-CPPOduk8.js} +1 -1
- package/dist/assets/{use-ios-app-nudge-t0SIn8xv.js → use-ios-app-nudge-B-ojl-b1.js} +1 -1
- package/dist/assets/{use-is-org-ready-D0q2NIZU.js → use-is-org-ready-C5xlYywh.js} +1 -1
- package/dist/assets/{use-onboarding-login-BmYpiSIt.js → use-onboarding-login-DI5gvqEG.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-Cm5BfOD8.js → use-platform-assistant-id-DOsSt6k1.js} +1 -1
- package/dist/assets/{use-platform-gate-bFyCaLbM.js → use-platform-gate-C65D14xY.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-Bm-WW_5V.js → use-save-twilio-credentials-c9xG9RPK.js} +1 -1
- package/dist/assets/{use-skill-actions-C4J1lG_r.js → use-skill-actions-BAAx1Eia.js} +1 -1
- package/dist/assets/{use-skill-detail-files-BKtCag3o.js → use-skill-detail-files-BvOKvY0-.js} +1 -1
- package/dist/assets/{use-sticky-profiles-mC9bd8xU.js → use-sticky-profiles-CdWX0mgI.js} +1 -1
- package/dist/assets/{use-subagent-card-data-Dp1wCoRB.js → use-subagent-card-data-DHuNtSy9.js} +1 -1
- package/dist/assets/{utils-BCDvGOqU.js → utils-B0rBxtYP.js} +1 -1
- package/dist/assets/{viewer-store-Ct0SDE-n.js → viewer-store-DLk-jp8U.js} +1 -1
- package/dist/assets/{voice-list-IdN1mqlX.js → voice-list-CW8mzaHU.js} +1 -1
- package/dist/assets/{voice-page-CxWJ-zo7.js → voice-page-0zsCIOdT.js} +1 -1
- package/dist/assets/{voice-picker-modal-BHRanF0C.js → voice-picker-modal-PdsZwrsV.js} +1 -1
- package/dist/assets/{welcome-screen-jOvMiW_R.js → welcome-screen-DwOAZpZS.js} +1 -1
- package/dist/assets/{workflow-store-CMNMu-fc.js → workflow-store-lM7yKbUo.js} +1 -1
- package/dist/assets/workspace-page-D4NvhCv1.js +1 -0
- package/dist/assets/{workspace-tree-query-COH0vdQ-.js → workspace-tree-query-B1A-efgV.js} +1 -1
- package/dist/index.html +61 -61
- package/package.json +1 -1
- package/dist/assets/access-CHoOc28F.js +0 -1
- package/dist/assets/build-state-DaLynPsy.js +0 -1
- package/dist/assets/conversation-navigation-Bo95jhXQ.js +0 -1
- package/dist/assets/feature-flag-catalog-TjLF99gJ.js +0 -1
- package/dist/assets/hatching-screen-Btkqf3MF.js +0 -1
- package/dist/assets/navigation-resolver-D4jPigYv.js +0 -1
- package/dist/assets/privacy-screen-DXkQbNvk.js +0 -1
- package/dist/assets/subagent-store-CQKOOAm6.js +0 -3
- package/dist/assets/workspace-page-BZBNul96.js +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./capture-error-Bj8_eutd.js";import{n as t,t as n}from"./create-selectors-Qo7kcikX.js";import{m as r}from"./api-CI6Y6DLb.js";import{n as i}from"./resolved-assistants-store-Dw5UuGyB.js";import{br as a,xr as o}from"./sdk.gen-BVAVE6A_.js";import{t as s}from"./conversation-store-C--wWMNW.js";import{t as c}from"./by-tool-use-id-index-M50wYE1f.js";function l(e){return e===`running`||e===`pending`||e===`awaiting_input`}function u(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`aborted`:case`interrupted`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function d(e){switch(e){case`pending`:return`Pending`;case`running`:return`Running`;case`awaiting_input`:return`Awaiting Input`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`aborted`:return`Aborted`;case`interrupted`:return`Interrupted`;default:return`Unknown`}}async function f(t,n,i){try{let{data:a,response:s}=await o({path:{assistant_id:t,id:n},query:{conversationId:i},throwOnError:!1});if(!s||!s.ok||!a)return null;let c=r.safeParse(a);return c.success?c.data:(e(c.error,{context:`fetchSubagentDetail`}),null)}catch(t){return e(t,{context:`fetchSubagentDetail`}),null}}function p(e){let t=0,n=[];for(let r of e){let e;switch(r.type){case`text`:case`assistant_text_delta`:e=`text`;break;case`tool_use`:case`tool_use_start`:e=`tool_call`;break;case`tool_result`:e=`tool_result`;break;case`error`:e=`error`;break;default:continue}let i=r.content;if(e===`text`&&i===``)continue;let a=n[n.length-1];if(e===`text`&&a&&a.type===`text`){a.content+=`
|
|
2
|
-
|
|
3
|
-
`+i;continue}n.push({id:`detail-${++t}`,type:e,content:i,toolName:r.toolName,isError:r.isError,toolUseId:r.toolUseId,input:r.input,timestamp:Date.now()})}return n}var m=[],h={byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map};function g(e){let t=[];return e.parentMessageStableId&&t.push(e.parentMessageStableId),e.parentMessageId&&e.parentMessageId!==e.parentMessageStableId&&t.push(e.parentMessageId),t}function _(e,t){let n=g(t);if(n.length===0)return e;let r=new Map(e);for(let e of n){let n=[...r.get(e)??[],t];n.sort((e,t)=>e.spawnedAt-t.spawnedAt),r.set(e,n)}return r}function v(e,t,n,r){let i=new Map(e),a=i.get(t);a&&i.set(t,a.map(e=>r.get(e.subagentId)??e));let o=[...i.get(n)??[]];for(let e of r.values()){let t=o.findIndex(t=>t.subagentId===e.subagentId);t===-1?o.push(e):o[t]=e}return o.sort((e,t)=>e.spawnedAt-t.spawnedAt),i.set(n,o),i}function y(e){if(e.isError)return`error`;switch(e.type){case`assistant_text_delta`:case`message_complete`:return`text`;case`tool_use_start`:return`tool_call`;case`tool_result`:return`tool_result`;default:return`text`}}var b=[`command`,`file_path`,`path`,`query`,`url`,`pattern`,`glob`];function x(e){for(let t of b){let n=e[t];if(typeof n==`string`)return n.length>120?n.slice(0,117)+`...`:n}return``}function S(e){let t=e.activityMetadata?.webSearch?.query;return typeof t==`string`&&t.length>0?t:void 0}var C=0;function w(){return`te-${++C}`}var T=n(t()((e,t)=>({...h,spawnSubagent:n=>{let{byId:r,orderedIds:i}=t();if(r[n.subagentId])return;let a={subagentId:n.subagentId,label:n.label,objective:n.objective,status:n.status??`pending`,isFork:n.isFork??!1,error:n.error,inputTokens:0,outputTokens:0,totalCost:0,spawnedAt:n.timestamp,events:[],conversationId:n.conversationId,parentMessageStableId:n.parentMessageStableId,parentMessageId:n.parentMessageId,parentToolUseId:n.parentToolUseId},o={...r,[n.subagentId]:a},s=c(t().byToolUseId,n.parentToolUseId,n.subagentId);e({byId:o,orderedIds:[...i,n.subagentId],byParent:_(t().byParent,a),byToolUseId:s})},changeStatus:n=>{let{byId:r}=t(),i=r[n.subagentId];i&&(e({byId:{...r,[n.subagentId]:{...i,status:n.status,error:n.error??i.error,inputTokens:n.inputTokens||i.inputTokens,outputTokens:n.outputTokens||i.outputTokens,totalCost:n.totalCost||i.totalCost}}}),!l(n.status)&&(n.inputTokens!=null||n.outputTokens!=null||n.totalCost!=null)&&t().terminalUsageIds.add(n.subagentId))},receiveEvent:n=>{let{byId:r}=t(),i=r[n.subagentId];if(!i)return;let a=y(n.event),o;if(o=n.event.type===`tool_use_start`&&n.event.input?x(n.event.input):n.event.content??n.event.text??n.event.result??``,a===`text`&&n.event.type===`assistant_text_delta`){let t=i.events[i.events.length-1];if(t&&t.type===`text`){let a=[...i.events];a[a.length-1]={...t,content:t.content+o},e({byId:{...r,[n.subagentId]:{...i,events:a}}});return}if(!o)return}if(n.event.type===`message_complete`)return;let s={id:w(),type:a,content:o,toolName:n.event.toolName,isError:n.event.isError,timestamp:n.timestamp,toolUseId:n.event.toolUseId,input:n.event.type===`tool_use_start`?n.event.input:void 0,result:n.event.type===`tool_result`?n.event.result??n.event.content??n.event.text:void 0,searchQuery:S(n.event)};e({byId:{...r,[n.subagentId]:{...i,events:[...i.events,s]}}})},loadDetail:n=>{let{byId:r}=t(),i=r[n.subagentId];i&&e({byId:{...r,[n.subagentId]:{...i,status:n.status??i.status,objective:n.objective??i.objective,inputTokens:n.inputTokens??i.inputTokens,outputTokens:n.outputTokens??i.outputTokens,totalCost:n.totalCost??i.totalCost,events:n.events.length>0&&i.events.length===0?n.events:i.events}}})},setConversationId:(n,r)=>{let{byId:i}=t(),a=i[n];a&&e({byId:{...i,[n]:{...a,conversationId:r}}})},reanchorToMessage:({stableId:n,messageId:r})=>{if(n===r)return;let{byId:i}=t(),a=new Map;for(let e of Object.values(i))e.parentMessageStableId===n&&e.parentMessageId!==r&&a.set(e.subagentId,{...e,parentMessageId:r});if(a.size===0)return;let o={...i};for(let[e,t]of a)o[e]=t;e({byId:o,byParent:v(t().byParent,n,r,a)})},updateUsage:n=>{let{byId:r,terminalUsageIds:i}=t();if(i.has(n.subagentId))return;let a=r[n.subagentId];a&&e({byId:{...r,[n.subagentId]:{...a,inputTokens:a.inputTokens+n.inputTokens,outputTokens:a.outputTokens+n.outputTokens,totalCost:a.totalCost+n.estimatedCost}}})},fetchDetailIfNeeded:async(n,r)=>{let{byId:i,fetchedAt:a}=t(),o=i[r];if(!o?.conversationId||o.events.length>0)return;let s=a.get(r);if(s!==void 0&&s>=o.spawnedAt)return;let c=new Map(a);c.set(r,o.spawnedAt),e({fetchedAt:c});let l=await f(n,r,o.conversationId),u=()=>{let n=new Map(t().fetchedAt);n.delete(r),e({fetchedAt:n})};if(!l){u();return}let d=p(l.events);d.length===0&&u(),t().loadDetail({subagentId:r,status:l.status,objective:l.objective,inputTokens:l.usage?.inputTokens,outputTokens:l.usage?.outputTokens,totalCost:l.usage?.estimatedCost,events:d})},abortSubagent:async e=>{let t=i.getState().activeAssistantId,n=s.getState().activeConversationId;if(!(!t||!n))try{await a({path:{assistant_id:t,id:e},body:{conversationId:n},throwOnError:!0})}catch{}},reset:()=>e({byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map})})));export{d as a,u as i,T as n,l as r,m as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as i}from"./QueryClientProvider-CMu7CkQU.js";import{t as a}from"./useQuery-Bz-fbQ-m.js";import{t as o}from"./useMutation-CXGTrp4W.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./queryOptions-CMSBCFOf.js";import{t as l}from"./createLucideIcon-CAM1RhH8.js";import{t as u}from"./chevron-down-B5A-0g8A.js";import{t as d}from"./chevron-right-HU6H84S0.js";import{t as f}from"./menu-BvjhxZo7.js";import{t as p}from"./download-CywcQLB2.js";import{t as m}from"./eye-off-Jdx8qkOK.js";import{t as h}from"./eye-BMVGQXHT.js";import{t as g}from"./file-plus-C3SBA8ll.js";import{t as _}from"./file-text-Br730Q4B.js";import{n as v,r as y,t as b}from"./workspace-tree-query-COH0vdQ-.js";import{t as x}from"./folder-open-Nlg0OphT.js";import{t as S}from"./folder-DF8nFp7N.js";import{n as C,t as w}from"./video-BcgduiJ6.js";import{t as T}from"./loader-circle-XREx3i4W.js";import{t as E}from"./pencil-D38YNe2r.js";import{t as D}from"./plus-jH3kAliM.js";import{t as O}from"./search-BVW-n8to.js";import{t as k}from"./trash-2-L5LNgw9o.js";import{t as A}from"./x-JBAsSOmg.js";import{k as j}from"./src-te3YTBG-.js";import{t as M}from"./input-hw3el2GJ.js";import{t as N}from"./modal-BR4CUFBd.js";import{n as P,t as F}from"./panel-item-CrtoJCrd.js";import{t as ee}from"./confirm-dialog-UYFm4osC.js";import{n as I,t as L}from"./file-markdown-DaflJFk7.js";import{Fr as te,Hr as R,Ir as z,Lr as B,Rr as ne,Vr as V,zr as re}from"./sdk.gen-BVAVE6A_.js";import{n as H}from"./use-is-mobile-BlQuzI5Z.js";import{n as U}from"./native-file-ySSv1sQ7.js";import{t as W}from"./use-active-assistant-id-CldxA_-M.js";import{n as G,t as ie}from"./mobile-sidebar-drawer-DtKU2vlu.js";import{i as K,n as ae,r as q,t as J}from"./file-editor-phorJEVv.js";import{t as Y}from"./format-file-size-BgMTiWPt.js";var oe=l(`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=l(`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`}]]),X=l(`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`}]]),Z=e(t(),1);async function ce(e){let{data:t,error:n}=await z({path:{assistant_id:e.assistantId},query:{path:e.path,...e.showHidden?{showHidden:`true`}:{}},parseAs:`blob`,throwOnError:!1});if(n||!(t instanceof Blob))throw Error(`Failed to download file`);await U(t,e.filename)}function le(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function ue(e,t){return le(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function de(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function fe(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Q=s();function pe(e){let{assistantId:t,path:n,name:r,showHidden:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);return{isDownloading:a,error:s,download:(0,Z.useCallback)(async()=>{c(!1),o(!0);try{await ce({assistantId:t,path:n,filename:r,showHidden:i})}catch{c(!0)}finally{o(!1)}},[t,n,r,i])}}function me({assistantId:e,path:t,name:r,showHidden:i}){let{isDownloading:a,error:o,download:s}=pe({assistantId:e,path:t,name:r,showHidden:i});return(0,Q.jsx)(n,{variant:`ghost`,size:`regular`,iconOnly:a?(0,Q.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(p,{"aria-hidden":!0}),onClick:()=>void s(),disabled:a,"aria-label":`Download ${r}`,tooltip:o?`Download failed. Try again.`:`Download`})}function he(e){return c({queryFn:async()=>{let{data:t,error:n}=await B({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function ge({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=_;return n.startsWith(`image/`)?r=C:n.startsWith(`video/`)?r=w:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=y),(0,Q.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,Q.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function _e({viewMode:e,onChange:t}){return(0,Q.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(r=>{let i=e===r;return(0,Q.jsx)(n,{variant:`ghost`,onClick:()=>t(r),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:i?`var(--surface-lift)`:`transparent`,color:i?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:i?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:r===`preview`?`Preview`:`Source`},r)})})}function $({name:e,mimeType:t,size:n,rightContent:r}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(ge,{mimeType:t}),(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:Y(n)})]}),r]})}function ve({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:i,isLoading:o}=a({queryFn:async()=>{let n=await z({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,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!i)return;let e=URL.createObjectURL(i);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[i]),o?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(T,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?n.startsWith(`image/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function ye({assistantId:e,path:t,name:r,mimeType:i,size:a,modifiedAt:o,showHidden:s}){let{isDownloading:c,error:l,download:u}=pe({assistantId:e,path:t,name:r,showHidden:s});return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:r,mimeType:i,size:a}),(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Q.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,Q.jsx)(y,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Q.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:r}),(0,Q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:i}),(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:Y(a,`Unknown size`)}),o&&(0,Q.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[`Modified: `,new Date(o).toLocaleString()]})]}),(0,Q.jsx)(n,{variant:`outlined`,size:`compact`,leftIcon:c?(0,Q.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(p,{"aria-hidden":!0}),onClick:u,disabled:c,"aria-label":`Download ${r}`,className:`mt-4`,children:c?`Downloading…`:`Download`}),l&&(0,Q.jsx)(`p`,{className:`mt-2 text-body-small-default`,style:{color:`var(--system-error)`},children:`Download failed. Try again.`})]})})]})}function be({assistantId:e,selectedPath:t,showHidden:r,viewMode:s,onChangeViewMode:c,onBrowse:l,pathRename:u,pathDelete:d}){let f=i(),{data:p,isLoading:m}=a({...he({path:{assistant_id:e},query:{path:t??``,showHidden:r}}),enabled:!!t}),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!u)return;let{from:e,to:t}=u,n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;g(e=>e==null?e:n(e)),v(e=>e==null?e:{...e,path:n(e.path)})},[u]),(0,Z.useEffect)(()=>{if(!d)return;let{path:e}=d,t=t=>t===e||t.startsWith(`${e}/`);g(e=>e!=null&&t(e)?null:e),v(e=>e!=null&&t(e.path)?null:e)},[d]);let y=h!=null&&h===t,b=p?.content??``,S=_?.path===t?_.content:b,C=()=>{g(null),v(null)},w=o({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await R({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)=>{g(e=>e===t.path?null:e),v(e=>e?.path===t.path?null:e),f.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),E=S!==b,D=(0,Z.useCallback)(()=>{t&&E&&!w.isPending&&w.mutate({path:t,content:S})},[t,E,w,S]);if(!t)return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view`}),l&&(0,Q.jsx)(n,{type:`button`,onClick:l,leftIcon:(0,Q.jsx)(x,{"aria-hidden":!0}),className:`sm:hidden`,children:`Browse files`})]});if(m)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(T,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!p)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`File not found`})});let O=p.mimeType??`application/octet-stream`,k=p.name??t.split(`/`).pop()??t,A=I(k,O),j=ue(k,O),M=p.content!=null&&!A&&!j,N=t?fe(t):!0,P=y&&(0,Q.jsx)(ae,{isDirty:E,isSaving:w.isPending,error:w.isError?`Save failed`:null,onSave:D,onDiscard:C});if(A&&p.content!=null){let e=y?S:p.content;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:k,mimeType:O,rightContent:(0,Q.jsx)(_e,{viewMode:s,onChange:e=>{y&&C(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(J,{content:e,fileName:k,mimeType:O,showEdit:!N&&s===`source`,isEditing:y,onToggleEdit:()=>y?C():g(t)}),s===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(L,{content:e})}):y?(0,Q.jsx)(q,{value:S,onChange:e=>v({path:t,content:e}),onSave:D}):(0,Q.jsx)(K,{content:p.content,readOnly:N,onStartEdit:()=>g(t)})]}),P]})}if(j&&p.content!=null){let e=y?S:p.content,n=de(e);return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:k,mimeType:O,rightContent:(0,Q.jsx)(_e,{viewMode:s,onChange:e=>{y&&C(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(J,{content:s===`preview`?n:e,downloadContent:e,fileName:k,mimeType:O,showEdit:!N&&s===`source`,isEditing:y,onToggleEdit:()=>y?C():g(t)}),s===`preview`?(0,Q.jsx)(K,{content:n,readOnly:!0,whiteSpace:`pre`}):y?(0,Q.jsx)(q,{value:S,onChange:e=>v({path:t,content:e}),onSave:D}):(0,Q.jsx)(K,{content:p.content,readOnly:N,onStartEdit:()=>g(t)})]}),P]})}return M?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:k,mimeType:O,size:p.size}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(J,{content:y?S:p.content??``,fileName:k,mimeType:O,showEdit:!N,isEditing:y,onToggleEdit:()=>y?C():g(t)}),y?(0,Q.jsx)(q,{value:S,onChange:e=>v({path:t,content:e}),onSave:D}):(0,Q.jsx)(K,{content:p.content??``,readOnly:N,onStartEdit:()=>g(t)})]}),P]}):O.startsWith(`image/`)||O.startsWith(`video/`)?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:k,mimeType:O,size:p.size,rightContent:(0,Q.jsx)(me,{assistantId:e,path:t,name:k,showHidden:r})}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Q.jsx)(ve,{assistantId:e,path:t,mimeType:O,showHidden:r})})]}):(0,Q.jsx)(ye,{assistantId:e,path:t,name:k,mimeType:O,size:p.size,modifiedAt:p.modifiedAt,showHidden:r})}function xe(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}async function Se(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await V({path:{assistant_id:e},query:t?{path:t}:{}});if(o?.entries?.some(e=>{let t=(e.name??``).toLowerCase();return t===i&&t!==a}))throw Error(`"${n}" already exists here.`)}function Ce({entry:e}){return e.type===`directory`?(0,Q.jsx)(S,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,Q.jsx)(C,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,Q.jsx)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(_,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})}function we({entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:i,sortMode:o,searchLower:s,onToggleExpand:c,onSelectPath:l,onRequestDelete:f,onRequestRename:p,onRequestCreate:m,depth:h}){let _=e.path??``,y=e.name??``,b=e.type===`directory`,x=n.has(_),S=r===_,C=y.startsWith(`.`),w=!fe(_),T=b&&(x||s.length>0),{data:D}=a({...v({assistantId:t,path:_,showHidden:i,includeDirSizes:o===`size`}),enabled:b&&T}),O=(0,Z.useMemo)(()=>xe(D?.entries??[],o),[D?.entries,o]),A=s===``||y.toLowerCase().includes(s);if(s!==``&&!b&&!A)return null;let M=(0,Q.jsxs)(`button`,{onClick:()=>{b?c(_):l(_)},className:`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:`${h*14+8}px`,paddingRight:`8px`,color:S?`var(--content-default)`:C?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:S?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:C&&!S?.7:1},children:[b?T?(0,Q.jsx)(u,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(d,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Q.jsx)(Ce,{entry:e}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:y}),e.size!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:Y(e.size)})]});return(0,Q.jsxs)(`div`,{children:[w?(0,Q.jsxs)(j.Root,{children:[(0,Q.jsx)(j.Trigger,{children:M}),(0,Q.jsxs)(j.Content,{children:[b&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(j.Item,{leftIcon:(0,Q.jsx)(g,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`file`,parentPath:_}),children:`New File`}),(0,Q.jsx)(j.Item,{leftIcon:(0,Q.jsx)(X,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`folder`,parentPath:_}),children:`New Folder`}),(0,Q.jsx)(j.Separator,{})]}),(0,Q.jsx)(j.Item,{leftIcon:(0,Q.jsx)(k,{className:`h-3.5 w-3.5`}),onSelect:()=>f({path:_,name:y,isDirectory:b}),children:`Delete`}),(0,Q.jsx)(j.Item,{leftIcon:(0,Q.jsx)(E,{className:`h-3.5 w-3.5`}),onSelect:()=>p({path:_,name:y,isDirectory:b}),children:`Rename`})]})]}):M,b&&T&&O.length>0&&(0,Q.jsx)(`div`,{children:O.map(e=>(0,Q.jsx)(we,{entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:i,sortMode:o,searchLower:s,onToggleExpand:c,onSelectPath:l,onRequestDelete:f,onRequestRename:p,onRequestCreate:m,depth:h+1},e.path))})]})}function Te({title:e,placeholder:t,confirmLabel:r,pendingLabel:i,initialName:a,onCancel:o,onConfirm:s,pending:c,error:l}){let u=(0,Z.useRef)(null),[d,f]=(0,Z.useState)(a??``),p=d.trim(),m=p.length>0&&(/[/\\]/.test(p)||p===`.`||p===`..`),h=p.length>0&&!m&&!c;return(0,Q.jsx)(N.Root,{open:!0,onOpenChange:e=>{!e&&!c&&o()},children:(0,Q.jsx)(N.Content,{size:`sm`,hideCloseButton:!0,"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault();let t=u.current;t&&(t.focus(),requestAnimationFrame(()=>{t.setSelectionRange(0,t.value.length)}))},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),c||o()},children:(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),h&&s(p)},children:[(0,Q.jsx)(N.Header,{children:(0,Q.jsx)(N.Title,{children:e})}),(0,Q.jsx)(N.Body,{children:(0,Q.jsx)(M,{ref:u,label:`Name`,value:d,onChange:e=>f(e.target.value),placeholder:t,errorText:l??(m?`Enter a single file or folder name without slashes.`:void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,Q.jsxs)(N.Footer,{children:[(0,Q.jsx)(n,{type:`button`,variant:`outlined`,onClick:o,disabled:c,children:`Cancel`}),(0,Q.jsx)(n,{type:`submit`,variant:`primary`,disabled:!h,children:c?i:r})]})]})})})}function Ee({assistantId:e,expandedPaths:t,selectedPath:r,showHidden:s,sortMode:c,onToggleExpand:l,onExpandPath:u,onSelectPath:d,onToggleShowHidden:f,onChangeSortMode:p,onPathDeleted:g,onPathRenamed:_}){let y=i(),[x,S]=(0,Z.useState)(``),C=x.trim().toLowerCase(),[w,T]=(0,Z.useState)(!1),[E,D]=(0,Z.useState)(null),[k,j]=(0,Z.useState)(null),N=(0,Z.useCallback)(()=>{D(null),j(null)},[]),{data:P,isLoading:F}=a(v({assistantId:e,showHidden:s,includeDirSizes:c===`size`})),I=(0,Z.useMemo)(()=>xe(P?.entries??[],c),[P?.entries,c]),L=(0,Z.useCallback)(()=>{for(let e of[b,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])y.invalidateQueries({queryKey:[e]})},[y]),z=o({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await Se(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await R({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await ne({path:{assistant_id:e},body:{path:n},throwOnError:!1});if(r||!i?.ok)throw Error(typeof r==`string`?r:`Failed to create — check the name and try again.`);return{...t,path:n}},onSuccess:e=>{N(),L(),e.parentPath&&u(e.parentPath),e.kind===`file`?d(e.path):u(e.path)},onError:e=>{j(e instanceof Error?e.message:`Failed to create.`)}}),B=o({mutationFn:async t=>{let n=t.oldPath.lastIndexOf(`/`),r=n===-1?``:t.oldPath.slice(0,n),i=t.oldPath.slice(n+1),a=r?`${r}/${t.newName}`:t.newName;await Se(e,r,t.newName,i);let{error:o,response:s}=await re({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:a},throwOnError:!1});if(o||!s?.ok)throw Error(typeof o==`string`?o:`Failed to rename — check the name and try again.`);return{oldPath:t.oldPath,newPath:a}},onSuccess:({oldPath:e,newPath:t})=>{N(),L(),_(e,t)},onError:e=>{j(e instanceof Error?e.message:`Failed to rename.`)}}),V=(0,Z.useCallback)(e=>{j(null),D({type:`create`,...e})},[]),H=(0,Z.useCallback)(e=>{j(null),D({type:`rename`,path:e.path,name:e.name})},[]),[U,W]=(0,Z.useState)(null),G=o({mutationFn:async t=>{let{error:n,response:r}=await te({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw Error(typeof n==`string`?n:`Failed to delete — try again.`);return t},onSuccess:e=>{W(null),L(),g(e.path)}}),ie=(0,Z.useCallback)(e=>{G.reset(),W(e)},[G]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:`Files`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:c===`size`?(0,Q.jsx)(se,{"aria-hidden":!0}):(0,Q.jsx)(oe,{"aria-hidden":!0}),onClick:()=>p(c===`size`?`name`:`size`),"aria-label":c===`size`?`Sort by name`:`Sort by size`,title:c===`size`?`Sorted by size — switch to name`:`Sorted by name — switch to size`,tintColor:c===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:s?(0,Q.jsx)(h,{"aria-hidden":!0}):(0,Q.jsx)(m,{"aria-hidden":!0}),onClick:f,"aria-label":s?`Hide hidden files`:`Show hidden files`,title:s?`Hide hidden files`:`Show hidden files`,tintColor:s?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(De,{open:w,onOpenChange:T,onSelectKind:e=>{T(!1),V({kind:e,parentPath:``})}})]})]}),(0,Q.jsx)(`div`,{className:`px-3 py-2`,children:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(M,{type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:`Search files`,leftIcon:(0,Q.jsx)(O,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,spellCheck:!1,autoComplete:`off`}),x&&(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(A,{"aria-hidden":!0}),onClick:()=>S(``),"aria-label":`Clear search`,className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:F?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):I.length?I.map(n=>(0,Q.jsx)(we,{entry:n,assistantId:e,expandedPaths:t,selectedPath:r,showHidden:s,sortMode:c,searchLower:C,onToggleExpand:l,onSelectPath:d,onRequestDelete:ie,onRequestRename:H,onRequestCreate:V,depth:0},n.path)):(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files found`})}),E?.type===`create`&&(0,Q.jsx)(Te,{title:E.kind===`file`?`New File`:`New Folder`,placeholder:E.kind===`file`?`filename.md`:`folder-name`,confirmLabel:`Create`,pendingLabel:`Creating…`,onCancel:N,onConfirm:e=>{j(null),z.mutate({kind:E.kind,parentPath:E.parentPath,name:e})},pending:z.isPending,error:k},`create-${E.kind}-${E.parentPath}`),E?.type===`rename`&&(0,Q.jsx)(Te,{title:`Rename`,placeholder:E.name,confirmLabel:`Rename`,pendingLabel:`Renaming…`,initialName:E.name,onCancel:N,onConfirm:e=>{if(e===E.name){N();return}j(null),B.mutate({oldPath:E.path,newName:e})},pending:B.isPending,error:k},`rename-${E.path}`),(0,Q.jsx)(ee,{open:U!==null,title:U?.isDirectory?`Delete Folder`:`Delete File`,message:(0,Q.jsxs)(Q.Fragment,{children:[`Are you sure you want to delete`,` `,(0,Q.jsx)(`span`,{style:{color:`var(--content-default)`},children:U?.name}),U?.isDirectory?` and all of its contents`:``,`? This cannot be undone.`,G.error&&(0,Q.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:G.error.message})]}),confirmLabel:G.isPending?`Deleting…`:`Delete`,destructive:!0,isPending:G.isPending,onConfirm:()=>{U&&G.mutate(U)},onCancel:()=>W(null)})]})}function De({open:e,onOpenChange:t,onSelectKind:r}){return H()?(0,Q.jsxs)(P.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(P.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(D,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(P.Content,{children:[(0,Q.jsx)(P.Header,{className:`sr-only`,children:(0,Q.jsx)(P.Title,{children:`Create new`})}),(0,Q.jsxs)(P.Body,{className:`pt-0`,children:[(0,Q.jsx)(F,{icon:g,label:`New File`,onSelect:()=>r(`file`)}),(0,Q.jsx)(F,{icon:X,label:`New Folder`,onSelect:()=>r(`folder`)})]})]})]}):(0,Q.jsxs)(f.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(f.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(D,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(f.Content,{align:`end`,sideOffset:4,children:[(0,Q.jsx)(f.Item,{leftIcon:(0,Q.jsx)(g,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`file`),children:`New File`}),(0,Q.jsx)(f.Item,{leftIcon:(0,Q.jsx)(X,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`folder`),children:`New Folder`})]})]})}function Oe(e){let t=e.split(`/`),n=new Set;for(let e=1;e<t.length;e++)n.add(t.slice(0,e).join(`/`));return n}function ke({assistantId:e}){let[t,n]=r(),[i,a]=(0,Z.useState)(()=>{let e=t.get(`file`);return e?Oe(e):new Set}),[o,s]=(0,Z.useState)(()=>t.get(`file`)),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(()=>t.get(`sort`)===`size`?`size`:`name`),[f,p]=(0,Z.useState)(`preview`);(0,Z.useEffect)(()=>{let e=t.get(`file`);e&&(s(e),a(t=>{let n=new Set(t);for(let t of Oe(e))n.add(t);return n.size===t.size?t:n}),n(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0}))},[t,n]);let m=(0,Z.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),h=(0,Z.useCallback)(e=>{a(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),[g,_]=(0,Z.useState)(!1),v=(0,Z.useCallback)(e=>{s(e),_(!1)},[]),[y,b]=(0,Z.useState)(null),x=(0,Z.useCallback)(e=>{let t=t=>t===e||t.startsWith(`${e}/`);s(e=>e!==null&&t(e)?null:e),a(e=>{let n=new Set([...e].filter(e=>!t(e)));return n.size===e.size?e:n}),b({path:e})},[]),[S,C]=(0,Z.useState)(null),w={assistantId:e,expandedPaths:i,selectedPath:o,showHidden:c,sortMode:u,onToggleExpand:m,onExpandPath:h,onSelectPath:v,onToggleShowHidden:()=>l(e=>!e),onChangeSortMode:d,onPathDeleted:x,onPathRenamed:(0,Z.useCallback)((e,t)=>{let n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;s(e=>e===null?e:n(e)),a(e=>{let t=!1,r=new Set;for(let i of e){let e=n(i);e!==i&&(t=!0),r.add(e)}return t?r:e}),C({from:e,to:t})},[])};return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-4`,children:[(0,Q.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,Q.jsx)(G,{onClick:()=>_(!0)})}),(0,Q.jsx)(ie,{open:g,onClose:()=>_(!1),title:`Files`,children:(0,Q.jsx)(Ee,{...w})}),(0,Q.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-4 sm:grid-cols-[320px_1fr]`,children:[(0,Q.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,Q.jsx)(Ee,{...w})}),(0,Q.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,Q.jsx)(be,{assistantId:e,selectedPath:o,showHidden:c,viewMode:f,onChangeViewMode:p,onBrowse:()=>_(!0),pathRename:S,pathDelete:y})})]})]})}function Ae(){return(0,Q.jsx)(ke,{assistantId:W()})}export{Ae as WorkspacePage};
|