2 lines
4.2 KiB
JavaScript
2 lines
4.2 KiB
JavaScript
import{d as G,w as P,a as R,m as c,b as V,x as E,c as d,B as U,f as o,t,s as j,n as z,e as m,T as A,k as r,D as w,l as g,j as h}from"./index.js";import{C as O}from"./CloseButton.js";import{_ as q}from"./_plugin-vue_export-helper.js";const H={class:"subagent-activity-modal goal-progress-modal"},J={class:"subagent-activity-header"},K={class:"subagent-activity-title"},Q={class:"goal-progress-meta"},W=["title"],X={class:"goal-progress-metrics"},Y={class:"goal-metric"},Z={class:"goal-metric__value"},x={class:"goal-metric__label"},ee={class:"goal-metric"},se={class:"goal-metric__value"},oe={class:"goal-metric__label"},ae={class:"goal-metric"},te={class:"goal-metric__value"},re={class:"goal-metric__label"},le={class:"goal-metric"},ne={class:"goal-metric__value"},ie={class:"goal-metric__label"},ue={key:0,class:"goal-progress-reason"},ce={key:1,class:"goal-progress-summary"},ve={class:"goal-progress-summary__title"},de={class:"goal-progress-summary__body"},me=G({name:"GoalProgressDialog",__name:"GoalProgressDialog",props:{open:{type:Boolean},progress:{}},emits:["close"],setup(f){const a=f,b=r(()=>{var e;return((e=a.progress)==null?void 0:e.status)||"running"}),n=r(()=>b.value==="done"),i=r(()=>b.value==="stopped"),C=r(()=>(w.value,n.value?g("overlay.statusDone"):i.value?g("overlay.statusStopped"):g("common.running"))),N=r(()=>({"is-done":n.value,"is-stopped":i.value,"is-running":!n.value&&!i.value})),_=r(()=>{var e;return(((e=a.progress)==null?void 0:e.goal)||"").toString()}),B=r(()=>{var e;return Number(((e=a.progress)==null?void 0:e.turn_count)??0)}),M=r(()=>{var e;return Number(((e=a.progress)==null?void 0:e.tool_calls)??0)}),$=r(()=>{var e,s;return(((e=a.progress)==null?void 0:e.summary)||((s=a.progress)==null?void 0:s.final_summary)||"").toString()}),D=h(0),p=h(Date.now()),y=h(Date.now());let u=null;const S=()=>{var s;const e=Number(((s=a.progress)==null?void 0:s.duration_seconds)??0);D.value=Number.isFinite(e)&&e>0?e:0,p.value=Date.now(),y.value=p.value},L=()=>{u||!a.open||n.value||i.value||(u=window.setInterval(()=>{y.value=Date.now()},1e3))},k=()=>{u&&(window.clearInterval(u),u=null)};P(()=>{var e,s;return[(e=a.progress)==null?void 0:e.duration_seconds,(s=a.progress)==null?void 0:s.status,a.open]},()=>{S(),a.open&&!n.value&&!i.value?L():k()},{immediate:!0}),R(k);const F=r(()=>{var s;const e=Number(((s=a.progress)==null?void 0:s.tokens_used)??0);return Number.isFinite(e)?e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`:"0"}),I=r(()=>{const e=!n.value&&!i.value?Math.max(0,(y.value-p.value)/1e3):0,s=D.value+e;if(!Number.isFinite(s)||s<=0)return"0s";if(s<60)return`${Math.round(s)}s`;const l=Math.floor(s/60),v=Math.round(s%60);return l<60?`${l}m${v}s`:`${Math.floor(l/60)}h${l%60}m`}),T=r(()=>{var v;w.value;const e={idle_no_tool:"overlay.reasonIdleNoTool",max_turns:"overlay.reasonMaxTurns",max_tokens:"overlay.reasonMaxTokens",user_cancel:"overlay.reasonUserCancel"},s=(((v=a.progress)==null?void 0:v.stopped_reason)||"").toString(),l=e[s];return l?g(l):s});return(e,s)=>(c(),V(A,{name:"overlay-fade"},{default:E(()=>[f.open?(c(),d("div",{key:0,class:"subagent-activity-overlay",onClick:s[1]||(s[1]=U(l=>e.$emit("close"),["self"]))},[o("div",H,[o("div",J,[o("div",K,t(n.value?e.$t("overlay.goalDoneTitle"):i.value?e.$t("overlay.goalStoppedTitle"):e.$t("overlay.goalRunningTitle")),1),j(O,{label:e.$t("common.close"),onClick:s[0]||(s[0]=l=>e.$emit("close"))},null,8,["label"])]),o("div",Q,[o("span",{class:z(["goal-progress-status",N.value])},t(C.value),3),_.value?(c(),d("span",{key:0,class:"goal-progress-goal",title:_.value},t(e.$t("overlay.goalLabel",{goal:_.value})),9,W)):m("",!0)]),o("div",X,[o("div",Y,[o("div",Z,t(B.value),1),o("div",x,t(e.$t("overlay.metricTurns")),1)]),o("div",ee,[o("div",se,t(F.value),1),o("div",oe,t(e.$t("overlay.metricTokens")),1)]),o("div",ae,[o("div",te,t(M.value),1),o("div",re,t(e.$t("overlay.metricToolCalls")),1)]),o("div",le,[o("div",ne,t(I.value),1),o("div",ie,t(e.$t("overlay.metricDuration")),1)])]),i.value&&T.value?(c(),d("div",ue,t(e.$t("overlay.stopReason",{reason:T.value})),1)):m("",!0),$.value?(c(),d("div",ce,[o("div",ve,t(n.value?e.$t("overlay.summaryDone"):e.$t("overlay.summaryLatest")),1),o("div",de,t($.value),1)])):m("",!0)])])):m("",!0)]),_:1}))}}),he=q(me,[["__scopeId","data-v-42f45aca"]]);export{he as default};
|