2 lines
4.0 KiB
JavaScript
2 lines
4.0 KiB
JavaScript
import{d as F,w as G,a as I,b as c,e as P,s as A,c as d,A as E,g as t,t as r,n as L,f as v,T as V,l as a,k as p}from"./runtime-dom.esm-bundler.js";import{_ as z}from"./_plugin-vue_export-helper.js";const O={class:"subagent-activity-modal goal-progress-modal"},R={class:"subagent-activity-header"},U={class:"subagent-activity-title"},j={class:"goal-progress-meta"},q=["title"],H={class:"goal-progress-metrics"},J={class:"goal-metric"},K={class:"goal-metric__value"},Q={class:"goal-metric"},W={class:"goal-metric__value"},X={class:"goal-metric"},Y={class:"goal-metric__value"},Z={class:"goal-metric"},ss={class:"goal-metric__value"},es={key:0,class:"goal-progress-reason"},ts={key:1,class:"goal-progress-summary"},os={class:"goal-progress-summary__title"},as={class:"goal-progress-summary__body"},rs=F({name:"GoalProgressDialog",__name:"GoalProgressDialog",props:{open:{type:Boolean},progress:{}},emits:["close"],setup(f){const o=f,b=a(()=>{var e;return((e=o.progress)==null?void 0:e.status)||"running"}),l=a(()=>b.value==="done"),i=a(()=>b.value==="stopped"),D=a(()=>l.value?"已完成":i.value?"已停止":"运行中"),$=a(()=>({"is-done":l.value,"is-stopped":i.value,"is-running":!l.value&&!i.value})),m=a(()=>{var e;return(((e=o.progress)==null?void 0:e.goal)||"").toString()}),C=a(()=>{var e;return Number(((e=o.progress)==null?void 0:e.turn_count)??0)}),N=a(()=>{var e;return Number(((e=o.progress)==null?void 0:e.tool_calls)??0)}),y=a(()=>{var e,s;return(((e=o.progress)==null?void 0:e.summary)||((s=o.progress)==null?void 0:s.final_summary)||"").toString()}),h=p(0),_=p(Date.now()),g=p(Date.now());let u=null;const B=()=>{var s;const e=Number(((s=o.progress)==null?void 0:s.duration_seconds)??0);h.value=Number.isFinite(e)&&e>0?e:0,_.value=Date.now(),g.value=_.value},M=()=>{u||!o.open||l.value||i.value||(u=window.setInterval(()=>{g.value=Date.now()},1e3))},k=()=>{u&&(window.clearInterval(u),u=null)};G(()=>{var e,s;return[(e=o.progress)==null?void 0:e.duration_seconds,(s=o.progress)==null?void 0:s.status,o.open]},()=>{B(),o.open&&!l.value&&!i.value?M():k()},{immediate:!0}),I(k);const x=a(()=>{var s;const e=Number(((s=o.progress)==null?void 0:s.tokens_used)??0);return Number.isFinite(e)?e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`:"0"}),S=a(()=>{const e=!l.value&&!i.value?Math.max(0,(g.value-_.value)/1e3):0,s=h.value+e;if(!Number.isFinite(s)||s<=0)return"0s";if(s<60)return`${Math.round(s)}s`;const n=Math.floor(s/60),T=Math.round(s%60);return n<60?`${n}m${T}s`:`${Math.floor(n/60)}h${n%60}m`}),w=a(()=>{var n;const e={idle_no_tool:"主模型停止时未调用任何工具(可能卡住)",max_turns:"已达到最大轮数上限",max_tokens:"已达到累计 token 上限",user_cancel:"用户手动停止"},s=(((n=o.progress)==null?void 0:n.stopped_reason)||"").toString();return e[s]||s});return(e,s)=>(c(),P(V,{name:"overlay-fade"},{default:A(()=>[f.open?(c(),d("div",{key:0,class:"subagent-activity-overlay",onClick:s[1]||(s[1]=E(n=>e.$emit("close"),["self"]))},[t("div",O,[t("div",R,[t("div",U,r(l.value?"目标已完成":i.value?"目标模式停止":"目标模式进行中"),1),t("button",{type:"button",class:"subagent-activity-close",onClick:s[0]||(s[0]=n=>e.$emit("close"))},"×")]),t("div",j,[t("span",{class:L(["goal-progress-status",$.value])},r(D.value),3),m.value?(c(),d("span",{key:0,class:"goal-progress-goal",title:m.value},"目标:"+r(m.value),9,q)):v("",!0)]),t("div",H,[t("div",J,[t("div",K,r(C.value),1),s[2]||(s[2]=t("div",{class:"goal-metric__label"},"已运行轮数",-1))]),t("div",Q,[t("div",W,r(x.value),1),s[3]||(s[3]=t("div",{class:"goal-metric__label"},"消耗 token",-1))]),t("div",X,[t("div",Y,r(N.value),1),s[4]||(s[4]=t("div",{class:"goal-metric__label"},"工具调用",-1))]),t("div",Z,[t("div",ss,r(S.value),1),s[5]||(s[5]=t("div",{class:"goal-metric__label"},"用时",-1))])]),i.value&&w.value?(c(),d("div",es," 停止原因:"+r(w.value),1)):v("",!0),y.value?(c(),d("div",ts,[t("div",os,r(l.value?"完成总结":"最后进展"),1),t("div",as,r(y.value),1)])):v("",!0)])])):v("",!0)]),_:1}))}}),us=z(rs,[["__scopeId","data-v-31b00366"]]);export{us as default};
|