2 lines
5.1 KiB
JavaScript
2 lines
5.1 KiB
JavaScript
import{d as V,m as i,b as W,x as O,u as c,c as r,B as j,f as p,t as u,s as K,n as C,e as _,F,r as H,T as J,j as L,k as w,l as n,D as Q}from"./index.js";import{k as U,s as X}from"./main.js";import{C as Y}from"./CloseButton.js";import{_ as Z}from"./_plugin-vue_export-helper.js";import"./useMarkdownRenderer.js";const tt={class:"subagent-activity-modal"},et={class:"subagent-activity-header"},at={class:"subagent-activity-title"},st={class:"subagent-activity-meta"},ot={key:0,class:"subagent-activity-summary"},nt={key:0,class:"subagent-activity-actions"},it=["disabled"],lt={key:0,class:"subagent-activity-error"},rt={class:"subagent-activity-body"},ct={key:0,class:"subagent-activity-error"},ut={key:1,class:"subagent-activity-empty"},dt={key:2,class:"subagent-activity-list"},pt=["onClick"],vt={key:0,class:"subagent-output-content"},ft={class:"subagent-activity-text"},yt=V({__name:"SubAgentActivityDialog",setup(gt){const k=U(),{activeAgent:l,activityEntries:B,activityLoading:R,activityError:A,stoppingTaskIds:D}=X(k),y=L(""),b=L(new Set),$=()=>{k.closeSubAgent()},N=e=>e==="running"||e==="in_progress"?"running":e==="calling"?"calling":e==="completed"||e==="done"||e==="success"?"completed":e==="failed"||e==="error"?"failed":e||"running",q=e=>{const a=e.tool||"",t=e.args||{};if(a==="read_file"){const o=t.path||t.file_path||"";return n("overlay.toolReadFile",{path:o})}if(a==="write_file"){const o=t.file_path||t.path||"";return n("overlay.toolWriteFile",{path:o})}if(a==="read_skill"){const o=t.skill_name||"";return n("overlay.toolReadSkill",{name:o})}if(a==="web_search"){const o=t.query||t.q||"";return n("overlay.toolWebSearch",{query:o})}if(a==="extract_webpage"){const o=t.url||"";return n("overlay.toolExtractWebpage",{url:o})}if(a==="run_command"){const o=t.command||"";return n("overlay.toolRunCommand",{command:o})}if(a==="edit_file"){const o=t.path||t.file_path||"";return n("overlay.toolEditFile",{path:o})}if(a==="read_mediafile"){const o=t.path||t.file_path||"";return n("overlay.toolReadMedia",{path:o})}return a||n("overlay.toolGeneric")},z=w(()=>{var e;return(e=l.value)!=null&&e.task_id?!g(l.value.status):!1}),m=w(()=>{var a,t;const e=(a=l.value)==null?void 0:a.task_id;return e?!!((t=D.value)!=null&&t[e]):!1}),G=async()=>{var t;const e=(t=l.value)==null?void 0:t.task_id;if(!e||m.value)return;y.value="";const a=await k.terminateSubAgent(e);a!=null&&a.success||(y.value=(a==null?void 0:a.error)||n("overlay.stopFailed"))},g=e=>{const a=(e||"").toString().toLowerCase();return["completed","failed","timeout","terminated","cancelled"].includes(a)},M=e=>{const a=new Set(b.value);a.has(e)?a.delete(e):a.add(e),b.value=a},P=e=>{e.kind==="output"&&M(e.key)},I=w(()=>{Q.value;const e=B.value||[],a=[];let t=null;const o=()=>{t&&(a.push(t),t=null)};return e.forEach((s,f)=>{var x;if((s==null?void 0:s.type)==="progress"&&(s==null?void 0:s.subtype)==="output"&&typeof s.content=="string"){o();const d={kind:"output",key:`output-${s.ts||f}`,content:s.content,isFinal:!!s.is_final};let v=a.length;for(;v>0;){const E=a[v-1];if(E.kind==="tool"&&!g((x=E.entry)==null?void 0:x.status))v-=1;else break}a.splice(v,0,d);return}if(!s||s.type!=="progress"||!s.tool)return;const h=s.id||`${s.tool}-${s.ts||f}`;if(t&&(t.entry.id===s.id||t.key===h)&&!g(t.entry.status)){t.entry={...t.entry,...s};return}if(s.id){const d=a.find(v=>v.kind==="tool"&&v.entry.id===s.id&&!g(v.entry.status));if(d&&d.kind==="tool"){d.entry={...d.entry,...s};return}}o();let S=h,T=0;for(;a.some(d=>d.kind==="tool"&&d.key===S);)T++,S=`${h}--${T}`;t={kind:"tool",key:S,entry:{...s}}}),o(),a.map(s=>{if(s.kind==="output")return s;const f=N(s.entry.status);return{kind:"tool",key:s.key,state:f,stateLabel:f==="completed"?n("overlay.stateCompleted"):f==="failed"?n("common.failed"):f==="calling"?n("overlay.stateCalling"):n("overlay.stateInProgress"),text:q(s.entry)}})});return(e,a)=>(i(),W(J,{name:"overlay-fade"},{default:O(()=>[c(l)?(i(),r("div",{key:0,class:"subagent-activity-overlay",onClick:j($,["self"])},[p("div",tt,[p("div",et,[p("div",at,u(e.$t("overlay.subAgentProgressTitle",{id:c(l).agent_id||c(l).task_id})),1),K(Y,{label:e.$t("common.close"),onClick:$},null,8,["label"])]),p("div",st,[p("span",{class:C(["subagent-activity-status",c(l).status||""])},u(c(l).status||"running"),3),c(l).summary?(i(),r("span",ot,u(c(l).summary),1)):_("",!0)]),z.value?(i(),r("div",nt,[p("button",{type:"button",class:"subagent-stop-btn",disabled:m.value,onClick:G},u(m.value?e.$t("overlay.stopInProgress"):e.$t("overlay.stopManually")),9,it),y.value?(i(),r("span",lt,u(y.value),1)):_("",!0)])):_("",!0),p("div",rt,[c(A)?(i(),r("div",ct,u(c(A)),1)):I.value.length?(i(),r("div",dt,[(i(!0),r(F,null,H(I.value,t=>(i(),r("div",{key:t.key,class:C(["subagent-activity-item",{"subagent-output-item":t.kind==="output",expanded:t.kind==="output"&&b.value.has(t.key)}]),onClick:o=>P(t)},[t.kind==="output"?(i(),r("div",vt,u(t.content),1)):(i(),r(F,{key:1},[p("span",ft,u(t.text),1),p("span",{class:C(["subagent-activity-state",t.state])},u(t.stateLabel),3)],64))],10,pt))),128))])):(i(),r("div",ut,u(c(R)?e.$t("overlay.readingActivity"):e.$t("overlay.noActivity")),1))])])])):_("",!0)]),_:1}))}}),St=Z(yt,[["__scopeId","data-v-3b2e8fbb"]]);export{St as default};
|