astrion-website/demo/static/dist/assets/GoalProgressDialog.js

2 lines
4.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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};