@weapp-vite/dashboard 6.16.1 → 6.16.3

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.
@@ -0,0 +1 @@
1
+ import{C as e,F as t,P as n,_ as r,j as i,q as a,z as o}from"./vue.js";function s(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);if(document.body.removeChild(t),!n)throw Error(`copy text failed`)}async function c(e){let t=null;try{await Promise.race([navigator.clipboard.writeText(e),new Promise((e,n)=>{t=setTimeout(()=>{n(Error(`clipboard write timeout`))},800)})])}finally{t&&clearTimeout(t)}}async function l(e){try{s(e);return}catch{if(navigator.clipboard&&window.isSecureContext){await c(e);return}}throw Error(`copy text failed`)}var u=e({__name:`AppEmptyState`,props:{as:{},compact:{type:Boolean}},setup(e){return(s,c)=>(i(),r(t(e.as??`div`),{class:a([`rounded-xl border border-dashed border-(--dashboard-border) bg-(--dashboard-panel-muted) text-sm text-(--dashboard-text-soft)`,e.compact?`px-3 py-4`:`p-5`])},{default:o(()=>[n(s.$slots,`default`)]),_:3},8,[`class`]))}});export{l as n,u as t};
@@ -1 +1 @@
1
- import{D as e,F as t,I as n,_ as r,d as i,m as a,p as o,w as s,z as c}from"./vue.js";import{w as l}from"./index.js";var u={key:0,class:`text-[11px] uppercase tracking-[0.18em] text-(--dashboard-text-soft)`},d=r({__name:`AppInsetPanel`,props:{eyebrow:{}},setup(r){return(d,f)=>(s(),a(`div`,{class:n(t(l)())},[r.eyebrow?(s(),a(`p`,u,c(r.eyebrow),1)):o(``,!0),i(`div`,{class:n(r.eyebrow?`mt-3`:void 0)},[e(d.$slots,`default`)],2)],2))}});export{d as t};
1
+ import{C as e,K as t,P as n,X as r,g as i,j as a,q as o,v as s,y as c}from"./vue.js";import{C as l}from"./index.js";var u={key:0,class:`text-[11px] uppercase tracking-[0.18em] text-(--dashboard-text-soft)`},d=e({__name:`AppInsetPanel`,props:{eyebrow:{}},setup(e){return(d,f)=>(a(),c(`div`,{class:o(t(l)())},[e.eyebrow?(a(),c(`p`,u,r(e.eyebrow),1)):s(``,!0),i(`div`,{class:o(e.eyebrow?`mt-3`:void 0)},[n(d.$slots,`default`)],2)],2))}});export{d as t};
@@ -0,0 +1 @@
1
+ import{C as e,P as t,S as n,X as r,g as i,j as a,q as o,x as s,y as c,z as l}from"./vue.js";var u=e({__name:`AppMetaLabel`,props:{accent:{type:Boolean}},setup(e){return(n,r)=>(a(),c(`p`,{class:o([`text-[11px] uppercase tracking-[0.18em]`,e.accent?`text-(--dashboard-accent)`:`text-(--dashboard-text-soft)`])},[t(n.$slots,`default`)],2))}}),d={class:`mt-1.5 text-base font-semibold text-(--dashboard-text)`},f=`rounded-xl border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`,p=e({__name:`AppMetricTile`,props:{label:{},value:{}},setup(e){return(t,p)=>(a(),c(`div`,{class:o(f)},[n(u,null,{default:l(()=>[s(r(e.label),1)]),_:1}),i(`p`,d,r(e.value),1)]))}});export{u as n,p as t};
@@ -0,0 +1 @@
1
+ import{C as e,K as t,X as n,j as r,q as i,y as a}from"./vue.js";import{T as o}from"./index.js";var s=e({__name:`AppRuntimeBadge`,props:{label:{},tone:{default:`neutral`}},setup(e){return(s,c)=>(r(),a(`span`,{class:i(t(o)({tone:e.tone}))},n(e.label),3))}});export{s as t};
@@ -1 +1 @@
1
- import{D as e,_ as t,d as n,m as r,p as i,w as a,z as o}from"./vue.js";var s={class:`space-y-1.5`},c={key:0,class:`text-[11px] uppercase tracking-[0.28em] text-(--dashboard-accent)`},l={class:`flex flex-col gap-2 md:flex-row md:items-end md:justify-between`},u={class:`text-xl font-semibold tracking-tight md:text-2xl`},d={key:0,class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},f=t({__name:`AppSectionHeading`,props:{eyebrow:{default:void 0},title:{},description:{default:void 0}},setup(t){return(f,p)=>(a(),r(`div`,s,[t.eyebrow?(a(),r(`p`,c,o(t.eyebrow),1)):i(``,!0),n(`div`,l,[n(`div`,null,[n(`h2`,u,o(t.title),1),t.description?(a(),r(`p`,d,o(t.description),1)):i(``,!0)]),e(f.$slots,`aside`)])]))}});export{f as t};
1
+ import{C as e,K as t,P as n,S as r,X as i,g as a,j as o,q as s,v as c,y as l}from"./vue.js";import{C as u,O as d}from"./index.js";var f={key:0,class:`text-[11px] uppercase tracking-[0.22em] text-(--dashboard-accent)`},p={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-(--dashboard-accent-soft) text-(--dashboard-accent)`},m={class:`h-5 w-5`},h={class:`min-w-0`},g={class:`font-semibold tracking-tight`},_={key:0,class:`mt-1 text-xs uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},v={key:1,class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`},y=e({__name:`AppIconFeatureCard`,props:{iconName:{},title:{},description:{},eyebrow:{},interactive:{type:Boolean},meta:{}},setup(e){return(n,y)=>(o(),l(`div`,{class:s(t(u)({interactive:e.interactive}))},[e.eyebrow?(o(),l(`p`,f,i(e.eyebrow),1)):c(``,!0),a(`div`,{class:s(e.eyebrow?`mt-3 flex items-start gap-3`:`flex items-start gap-3`)},[a(`span`,p,[a(`span`,m,[r(d,{name:e.iconName},null,8,[`name`])])]),a(`div`,h,[a(`h3`,g,i(e.title),1),e.meta?(o(),l(`p`,_,i(e.meta),1)):c(``,!0),e.description?(o(),l(`p`,v,i(e.description),1)):c(``,!0)])],2)],2))}}),b={class:`space-y-1.5`},x={key:0,class:`text-[11px] uppercase tracking-[0.28em] text-(--dashboard-accent)`},S={class:`flex flex-col gap-2 md:flex-row md:items-end md:justify-between`},C={class:`text-xl font-semibold tracking-tight md:text-2xl`},w={key:0,class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},T=e({__name:`AppSectionHeading`,props:{eyebrow:{default:void 0},title:{},description:{default:void 0}},setup(e){return(t,r)=>(o(),l(`div`,b,[e.eyebrow?(o(),l(`p`,x,i(e.eyebrow),1)):c(``,!0),a(`div`,S,[a(`div`,null,[a(`h2`,C,i(e.title),1),e.description?(o(),l(`p`,w,i(e.description),1)):c(``,!0)]),n(t.$slots,`aside`)])]))}});export{y as n,T as t};
@@ -1 +1,5 @@
1
- import{E as e,F as t,I as n,L as r,M as i,N as a,_ as o,b as s,d as c,f as l,g as u,h as d,j as f,l as p,m,p as h,u as g,v as _,w as v,z as y}from"./vue.js";import{A as b,S as x,T as S,a as C,f as w,h as T,i as ee,m as E,o as D,p as O,r as k,u as A}from"./index.js";import{a as j,i as M,n as N,o as P,r as F,t as te}from"./AppStatCard.js";import{t as I}from"./AppInsetPanel.js";import{t as L}from"./AppSectionHeading.js";var R={class:`grid gap-3`},z={for:`dashboard-event-search`},B=[`value`],V={class:`grid gap-3`},H={class:`mt-2 flex flex-wrap gap-2`},U=[`onClick`],W={class:`mt-2 text-xs leading-5 text-(--dashboard-text-soft)`},G={class:`mt-2 flex flex-wrap gap-2`},K=[`onClick`],q={class:`mt-2 flex flex-wrap gap-2`},J=[`onClick`],Y={class:`mt-2 flex flex-wrap gap-2`},X=[`onClick`],Z=o({__name:`AppEventFilterPanel`,props:{searchQuery:{},presetDescription:{},filterPresets:{},eventKindOptions:{},eventLevelOptions:{},eventSourceOptions:{},eventKindFilter:{},eventLevelFilter:{},eventSourceFilter:{}},emits:[`update:searchQuery`,`update:eventKindFilter`,`update:eventLevelFilter`,`update:eventSourceFilter`,`applyPreset`],setup(t,{emit:r}){let a=t,o=r;function s(){return S({kind:`theme`,active:!1})}function f(e,t){return S({kind:`theme`,active:e===t})}return(r,h)=>(v(),l(I,null,{default:i(()=>[c(`div`,R,[c(`div`,null,[c(`label`,z,[u(j,null,{default:i(()=>[...h[1]||=[d(` 搜索事件 `,-1)]]),_:1})]),c(`input`,{id:`dashboard-event-search`,value:t.searchQuery,type:`text`,placeholder:`搜索标题、详情、来源或标签`,class:`mt-2 w-full rounded-2xl border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2 text-sm text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`,onInput:h[0]||=e=>o(`update:searchQuery`,e.target.value)},null,40,B)]),c(`div`,V,[c(`div`,null,[u(j,null,{default:i(()=>[...h[2]||=[d(` 快速预设 `,-1)]]),_:1}),c(`div`,H,[(v(!0),m(p,null,e(t.filterPresets,e=>(v(),m(`button`,{key:e.key,class:n(s()),onClick:t=>o(`applyPreset`,e.key)},y(e.label),11,U))),128))]),c(`p`,W,y(t.presetDescription),1)]),c(`div`,null,[u(j,null,{default:i(()=>[...h[3]||=[d(` 类型过滤 `,-1)]]),_:1}),c(`div`,G,[(v(!0),m(p,null,e(t.eventKindOptions,e=>(v(),m(`button`,{key:e.value,class:n(f(a.eventKindFilter,e.value)),onClick:t=>o(`update:eventKindFilter`,e.value)},y(e.label),11,K))),128))])]),c(`div`,null,[u(j,null,{default:i(()=>[...h[4]||=[d(` 等级过滤 `,-1)]]),_:1}),c(`div`,q,[(v(!0),m(p,null,e(t.eventLevelOptions,e=>(v(),m(`button`,{key:e.value,class:n(f(a.eventLevelFilter,e.value)),onClick:t=>o(`update:eventLevelFilter`,e.value)},y(e.label),11,J))),128))])]),c(`div`,null,[u(j,null,{default:i(()=>[...h[5]||=[d(` 来源过滤 `,-1)]]),_:1}),c(`div`,Y,[(v(!0),m(p,null,e(t.eventSourceOptions,e=>(v(),m(`button`,{key:e.value,class:n(f(a.eventSourceFilter,e.value)),onClick:t=>o(`update:eventSourceFilter`,e.value)},y(e.label),11,X))),128))])])])])]),_:1}))}}),Q={class:`grid gap-2`},ne={class:`text-xs uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},re={class:`text-sm text-(--dashboard-text)`},ie=`flex items-center justify-between gap-3 rounded-2xl border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2.5`,ae=o({__name:`AppKeyValueList`,props:{items:{}},setup(t){let r=t,i=g(()=>r.items.map(e=>({key:e.label,label:e.label,value:e.value})));return(t,r)=>(v(),m(`ul`,Q,[(v(!0),m(p,null,e(i.value,e=>(v(),m(`li`,{key:e.key,class:n(ie)},[c(`span`,ne,y(e.label),1),c(`strong`,re,y(e.value),1)]))),128))]))}}),oe={class:`flex flex-wrap gap-1.5`},se=`rounded-full border border-(--dashboard-border) px-2 py-0.5 text-[11px] uppercase tracking-[0.12em] text-(--dashboard-text-soft)`,$=o({__name:`AppTagList`,props:{tags:{}},setup(t){let r=t,i=g(()=>r.tags.map(e=>({key:e,label:e})));return(t,r)=>(v(),m(`div`,oe,[(v(!0),m(p,null,e(i.value,e=>(v(),m(`span`,{key:e.key,class:n(se)},y(e.label),1))),128))]))}}),ce={class:`flex items-start justify-between gap-3`},le={class:`font-medium text-(--dashboard-text)`},ue={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},de=o({__name:`AppRuntimeEventListItem`,props:{event:{},selected:{type:Boolean}},setup(e){let t=e,a=g(()=>D(t.event)),o=g(()=>E(t.event)),s=g(()=>t.selected?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`);return(e,f)=>(v(),m(`li`,{class:n([`rounded-4.5 border bg-(--dashboard-panel-muted) px-4 py-3 transition`,s.value])},[c(`div`,ce,[c(`div`,null,[c(`p`,le,y(t.event.title),1),c(`p`,ue,y(t.event.detail),1),u(j,{class:`mt-2`},{default:i(()=>[d(y(o.value),1)]),_:1}),t.event.tags?.length?(v(),l($,{key:0,class:`mt-2`,tags:t.event.tags},null,8,[`tags`])):h(``,!0)]),u(M,r(_(a.value)),null,16)])],2))}}),fe={class:`grid gap-3 xl:grid-cols-[minmax(0,1.15fr)_minmax(21rem,0.85fr)]`},pe={class:`mt-5 grid gap-3`},me={class:`flex items-start gap-3`},he={class:`mt-0.5 flex h-10 w-10 items-center justify-center rounded-2xl bg-(--dashboard-accent-soft) text-(--dashboard-accent)`},ge={class:`h-5 w-5`},_e={class:`min-w-0`},ve={class:`flex flex-wrap items-center gap-2`},ye={class:`tracking-tight`},be={class:`rounded-full border border-(--dashboard-border) px-2 py-0.5 text-[11px] uppercase tracking-[0.18em] text-(--dashboard-text-soft)`},xe={class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`},Se={class:`grid gap-3`},Ce={class:`grid gap-2 sm:grid-cols-2`},we={class:`grid gap-2`},Te={class:`flex items-start justify-between gap-3`},Ee={class:`font-medium`},De={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},Oe={class:`grid gap-3`},ke={key:0,class:`grid gap-2 md:grid-cols-2 xl:grid-cols-3`},Ae={key:1,class:`grid gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(16rem,0.78fr)]`},je={class:`grid gap-2 text-sm leading-6 text-(--dashboard-text-muted)`},Me=o({__name:`activity`,setup(n){let{activityItems:r,diagnostics:o,eventSummary:_,runtimeEvents:S}=k(),E=a(`all`),D=a(`all`),j=a(`all`),R=a(``),z=a(null),B=[{value:`all`,label:`全部类型`},{value:`command`,label:`命令`},{value:`build`,label:`构建`},{value:`diagnostic`,label:`诊断`},{value:`hmr`,label:`HMR`},{value:`system`,label:`系统`}],V=[{value:`all`,label:`全部等级`},{value:`info`,label:`信息`},{value:`success`,label:`成功`},{value:`warning`,label:`警告`},{value:`error`,label:`错误`}],H=[{key:`all`,label:`查看全部`,description:`回到完整事件流`,apply(){E.value=`all`,D.value=`all`,j.value=`all`,R.value=``}},{key:`issues`,label:`异常优先`,description:`只看警告和错误`,apply(){E.value=`all`,D.value=`warning`,j.value=`all`,R.value=``}},{key:`commands`,label:`命令流`,description:`聚焦命令执行事件`,apply(){E.value=`command`,D.value=`all`,j.value=`all`,R.value=``}},{key:`hmr`,label:`HMR`,description:`观察热更新相关事件`,apply(){E.value=`hmr`,D.value=`all`,j.value=`all`,R.value=``}}],U=g(()=>[{value:`all`,label:`全部来源`},...[...new Set(S.value.map(e=>e.source??`dashboard`).filter(Boolean))].sort((e,t)=>e.localeCompare(t,`zh-CN`)).map(e=>({value:e,label:e}))]),W=g(()=>{let e=R.value.trim().toLowerCase();return S.value.filter(t=>E.value!==`all`&&t.kind!==E.value||D.value!==`all`&&t.level!==D.value||j.value!==`all`&&(t.source??`dashboard`)!==j.value?!1:e?[t.title,t.detail,t.kind,t.level,t.source??``,...t.tags??[]].join(` `).toLowerCase().includes(e):!0)}),G=g(()=>{let e=W.value.filter(e=>typeof e.durationMs==`number`),t=e.length>0?Math.round(e.reduce((e,t)=>e+(t.durationMs??0),0)/e.length):void 0;return[{label:`筛选后事件`,value:String(W.value.length)},{label:`当前类型`,value:E.value===`all`?`全部`:w(E.value)},{label:`当前等级`,value:D.value===`all`?`全部`:O(D.value)},{label:`当前来源`,value:j.value===`all`?`全部`:j.value},{label:`搜索关键字`,value:R.value.trim()||`未设置`},{label:`筛选平均耗时`,value:A(t)}]}),K=g(()=>ee(C(W.value))),q=g(()=>W.value.find(e=>e.id===z.value)??W.value[0]??null),J=g(()=>`${H.find(e=>e.key===`all`)?.description??``} 也可以直接组合下面的类型、等级和关键字筛选。`),Y=g(()=>q.value?[{label:`事件类型`,value:w(q.value.kind)},{label:`事件等级`,value:O(q.value.level)},{label:`事件来源`,value:T(q.value.source)},{label:`发生时间`,value:q.value.timestamp},{label:`持续时间`,value:A(q.value.durationMs)},{label:`标签数量`,value:String(q.value.tags?.length??0)}]:[]);return f(W,e=>{if(e.length===0){z.value=null;return}e.some(e=>e.id===z.value)||(z.value=e[0]?.id??null)},{immediate:!0}),(n,a)=>(v(),m(`div`,fe,[u(x,{tone:`strong`,padding:`md`},{default:i(()=>[u(L,{eyebrow:`Timeline`,title:`活动流与增强节奏`,description:`这一页先承载假数据时间线,后续最适合接入 dev server 事件、构建阶段、HMR 推送和 CLI 诊断结果。`}),c(`ol`,pe,[(v(!0),m(p,null,e(t(r),e=>(v(),m(`li`,{key:`${e.time}-${e.title}`,class:`rounded-4.5 border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-4`},[c(`div`,me,[c(`span`,he,[c(`span`,ge,[u(b,{name:e.tone===`live`?`status-live`:`metric-time`},null,8,[`name`])])]),c(`div`,_e,[c(`div`,ve,[c(`strong`,ye,y(e.title),1),c(`span`,be,y(e.time),1)]),c(`p`,xe,y(e.summary),1)])])]))),128))])]),_:1}),c(`div`,Se,[u(x,{eyebrow:`Runtime`,title:`事件摘要`,description:`这组摘要来自共享工作区状态层。未来接 CLI 或 MCP 时,只需要持续往事件流里追加结构化事件。`,"icon-name":`metric-time`},{default:i(()=>[c(`div`,Ce,[(v(!0),m(p,null,e([...t(_),...G.value],e=>(v(),l(te,s({key:e.label},{ref_for:!0},e),null,16))),128))])]),_:1}),u(x,{eyebrow:`Diagnostics`,title:`当前诊断队列`,description:`这里不是产品逻辑页,而是 dashboard 未来最需要的第二层能力: 把运行状态和建议动作结构化展示。`,"icon-name":`metric-health`},{default:i(()=>[c(`ul`,we,[(v(!0),m(p,null,e(t(o),e=>(v(),m(`li`,{key:e.label,class:`rounded-4.5 border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-4 py-3`},[c(`div`,Te,[c(`div`,null,[c(`p`,Ee,y(e.label),1),c(`p`,De,y(e.detail),1)]),u(M,{label:e.status,tone:`info`},null,8,[`label`])])]))),128))])]),_:1}),u(x,{eyebrow:`Event Feed`,title:`结构化事件控制台`,description:`当前事件已经支持按类型、等级和关键字过滤。后续即便接入主包真实事件,也可以复用这套前端交互层。`,"icon-name":`hero-commands`},{default:i(()=>[c(`div`,Oe,[u(Z,{"search-query":R.value,"preset-description":J.value,"filter-presets":H,"event-kind-options":B,"event-level-options":V,"event-source-options":U.value,"event-kind-filter":E.value,"event-level-filter":D.value,"event-source-filter":j.value,"onUpdate:searchQuery":a[0]||=e=>R.value=e,"onUpdate:eventKindFilter":a[1]||=e=>E.value=e,"onUpdate:eventLevelFilter":a[2]||=e=>D.value=e,"onUpdate:eventSourceFilter":a[3]||=e=>j.value=e,onApplyPreset:a[4]||=e=>H.find(t=>t.key===e)?.apply()},null,8,[`search-query`,`preset-description`,`event-source-options`,`event-kind-filter`,`event-level-filter`,`event-source-filter`]),K.value.length>0?(v(),m(`div`,ke,[(v(!0),m(p,null,e(K.value,e=>(v(),l(N,s({key:e.source},{ref_for:!0},e),null,16))),128))])):h(``,!0),q.value?(v(),m(`div`,Ae,[u(F,{event:q.value,eyebrow:`selected event`},{default:i(()=>[q.value.tags?.length?(v(),l($,{key:0,class:`mt-4`,tags:q.value.tags},null,8,[`tags`])):h(``,!0)]),_:1},8,[`event`]),u(I,{eyebrow:`event metadata`},{default:i(()=>[u(ae,{items:Y.value},null,8,[`items`])]),_:1})])):h(``,!0),W.value.length===0?(v(),l(P,{key:2,as:`p`},{default:i(()=>[...a[5]||=[d(` 当前过滤条件下没有匹配的事件。你可以清空关键字,或者切回“全部类型 / 全部等级”。 `,-1)]]),_:1})):h(``,!0),c(`ul`,je,[(v(!0),m(p,null,e(W.value,e=>(v(),l(de,{key:e.id,event:e,selected:q.value?.id===e.id,onClick:t=>z.value=e.id},null,8,[`event`,`selected`,`onClick`]))),128))])])]),_:1})])]))}});export{Me as default};
1
+ import{B as e,C as t,D as n,E as r,I as i,J as a,K as o,N as s,P as c,R as l,S as u,U as d,V as f,X as p,_ as m,g as h,h as g,j as _,k as v,l as y,p as b,q as x,v as S,w as C,x as w,y as T,z as E}from"./vue.js";import{C as D,O,a as k,d as A,f as j,i as M,l as N,n as ee,p as P,r as te,t as ne,w as F,x as I}from"./index.js";import{n as L,t as R}from"./AppEmptyState.js";import{t as z}from"./AppRuntimeBadge.js";import{n as B,t as re}from"./AppMetricTile.js";import{t as ie}from"./AppInsetPanel.js";var ae={class:`flex flex-wrap items-center justify-between gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2`},V={class:`text-xs text-(--dashboard-text-soft)`},H={class:`flex flex-wrap items-center gap-2`},U={key:0,class:`text-xs font-medium text-(--dashboard-accent)`},W=[`disabled`],G=[`disabled`],K=t({__name:`ActivityEventSortBar`,props:r({events:{},filteredCount:{},totalCount:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let n=t,r=i(t,`modelValue`),a=d(``),o=null;function s(e){return e.replaceAll(`|`,`\\|`).replaceAll(`
2
+ `,` `)}let c=g(()=>[`# dashboard 事件流`,``,`事件数量:${n.events.length}`,``,`| 时间 | 等级 | 类型 | 来源 | 标题 | 耗时 | 标签 |`,`| --- | --- | --- | --- | --- | ---: | --- |`,...n.events.map(e=>[e.timestamp,j(e.level),A(e.kind),e.source??`dashboard`,e.title,N(e.durationMs),e.tags?.join(`, `)||`-`].map(s).join(` | `)).map(e=>`| ${e} |`),``].join(`
3
+ `));function l(e){a.value=e,o&&clearTimeout(o),o=setTimeout(()=>{a.value=``,o=null},1800)}async function u(){try{await L(c.value),l(`已复制`)}catch{l(`复制失败`)}}function f(){let e=new Blob([`${JSON.stringify(n.events,null,2)}\n`],{type:`application/json`}),t=URL.createObjectURL(e),r=document.createElement(`a`);r.href=t,r.download=`weapp-vite-dashboard-events.json`,r.click(),URL.revokeObjectURL(t),l(`已导出`)}return v(()=>{o&&clearTimeout(o)}),(n,i)=>(_(),T(`div`,ae,[h(`p`,V,` 匹配 `+p(t.filteredCount)+` / `+p(t.totalCount)+` 条事件 `,1),h(`div`,H,[a.value?(_(),T(`span`,U,p(a.value),1)):S(``,!0),h(`button`,{type:`button`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none disabled:opacity-50`,disabled:t.events.length===0,onClick:u},` 复制事件 `,8,W),h(`button`,{type:`button`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none disabled:opacity-50`,disabled:t.events.length===0,onClick:f},` 导出 JSON `,8,G),e(h(`select`,{"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-2.5 text-sm text-(--dashboard-text) outline-none transition focus:border-(--dashboard-accent)`},[...i[1]||=[h(`option`,{value:`time`},` 按时间 `,-1),h(`option`,{value:`duration`},` 按耗时 `,-1),h(`option`,{value:`severity`},` 按等级 `,-1),h(`option`,{value:`source`},` 按来源 `,-1)]],512),[[y,r.value]])])]))}}),q={class:`flex items-start justify-between gap-3`},J={key:0,class:`text-[11px] uppercase tracking-[0.18em] text-(--dashboard-accent)`},oe={class:`mt-1 text-lg font-semibold tracking-tight`},se={class:`mt-3 text-sm leading-6 text-(--dashboard-text-muted)`},ce={key:0,class:`mt-3 text-[11px] uppercase tracking-[0.18em] text-(--dashboard-text-soft)`},le={key:1,class:`mt-2 text-sm font-medium text-(--dashboard-text)`},ue=t({__name:`AppRuntimeFocusCard`,props:{event:{},eyebrow:{},emptyTitle:{},emptyDetail:{},durationText:{}},setup(e){let t=e,r=g(()=>t.event?M(t.event):null),i=g(()=>t.event?.title??t.emptyTitle??`尚无运行事件`),s=g(()=>t.event?.detail??t.emptyDetail??`当前工作区还没有推入结构化运行事件。`),l=g(()=>t.event?P(t.event):null);return(e,u)=>(_(),T(`div`,{class:x(o(D)())},[h(`div`,q,[h(`div`,null,[t.eyebrow?(_(),T(`p`,J,p(t.eyebrow),1)):S(``,!0),h(`h3`,oe,p(i.value),1)]),r.value?(_(),m(z,a(n({key:0},r.value)),null,16)):S(``,!0)]),h(`p`,se,p(s.value),1),t.event?(_(),T(`p`,ce,p(l.value),1)):S(``,!0),t.durationText?(_(),T(`p`,le,p(t.durationText),1)):S(``,!0),c(e.$slots,`default`)],2))}}),de={key:0,class:`mt-3 flex flex-wrap gap-1.5`},fe=t({__name:`ActivitySelectedEventPanel`,props:{event:{}},setup(e){let t=e,n=g(()=>t.event?.durationMs===void 0?void 0:`耗时 ${N(t.event.durationMs)}`);return(t,r)=>(_(),m(I,{eyebrow:`Selected`,title:`当前事件`,"icon-name":`metric-search`},{default:E(()=>[u(ue,{event:e.event,eyebrow:`focus`,"empty-title":`未选择事件`,"empty-detail":`选择左侧事件后查看详情。`,"duration-text":n.value},{default:E(()=>[e.event?.tags?.length?(_(),T(`div`,de,[(_(!0),T(b,null,s(e.event.tags,e=>(_(),m(z,{key:e,label:e,tone:`neutral`},null,8,[`label`]))),128))])):S(``,!0)]),_:1},8,[`event`,`duration-text`])]),_:1}))}}),pe={class:`flex items-start justify-between gap-3`},me={class:`min-w-0`},he={class:`truncate font-medium text-(--dashboard-text)`},ge={class:`mt-1 text-[11px] uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},_e={key:0,class:`mt-3 flex flex-wrap gap-2 text-[11px] uppercase tracking-[0.14em] text-(--dashboard-text-soft)`},ve={key:1,class:`mt-3 text-sm text-(--dashboard-text-muted)`},ye=t({__name:`AppRuntimeSourceCard`,props:{source:{},count:{},errorCount:{},averageDuration:{},latestTimestamp:{},countLabel:{}},setup(e){let t=e,n=g(()=>k(t)),r=g(()=>t.latestTimestamp?`最近事件 ${t.latestTimestamp}`:`${t.count} ${t.countLabel??`条事件`}`),i=g(()=>[{key:`error-count`,label:`错误 ${t.errorCount}`},{key:`average-duration`,label:`平均耗时 ${t.averageDuration}`}]),c=g(()=>`平均耗时 ${t.averageDuration}`);return(e,l)=>(_(),T(`div`,{class:x(o(D)({padding:`sm`}))},[h(`div`,pe,[h(`div`,me,[h(`p`,he,p(t.source),1),h(`p`,ge,p(r.value),1)]),u(z,a(C(n.value)),null,16)]),t.latestTimestamp?(_(),T(`div`,_e,[(_(!0),T(b,null,s(i.value,e=>(_(),T(`span`,{key:e.key,class:`rounded-full border border-(--dashboard-border) px-2 py-0.5`},p(e.label),1))),128))])):(_(),T(`p`,ve,p(c.value),1))],2))}}),be={class:`mt-1 text-lg font-semibold`},xe=t({__name:`AppStatCard`,props:{label:{},value:{}},setup(e){let t=D({padding:`sm`});return(n,r)=>(_(),T(`div`,{class:x(o(t))},[u(B,null,{default:E(()=>[w(p(e.label),1)]),_:1}),h(`p`,be,p(e.value),1)],2))}}),Se={class:`flex shrink-0 items-center gap-2`},Ce={key:0,class:`text-xs font-medium text-(--dashboard-accent)`},we={class:`h-3.5 w-3.5`},Te={class:`grid gap-3`},Ee={class:`flex items-start justify-between gap-3`},De={class:`min-w-0`},Oe={class:`text-sm font-semibold text-(--dashboard-text)`},ke={class:`mt-1 text-xs leading-5 text-(--dashboard-text-muted)`},Ae={class:`grid grid-cols-2 gap-2 sm:grid-cols-5 xl:grid-cols-2 2xl:grid-cols-5`},je={key:0,class:`grid max-h-52 gap-2 overflow-y-auto pr-1`},Me={class:`flex items-start justify-between gap-3`},Ne={class:`min-w-0`},Pe={class:`truncate text-sm font-medium text-(--dashboard-text)`},Fe={class:`mt-1 truncate text-xs text-(--dashboard-text-soft)`},Ie={class:`mt-2 line-clamp-2 text-xs leading-5 text-(--dashboard-text-muted)`},Le=t({__name:`RuntimeIncidentDigestPanel`,props:{digest:{}},setup(e){let t=e,n=d(``),r=null,i=g(()=>t.digest.status===`critical`?`error`:t.digest.status===`warning`?`warning`:`success`);function a(e){return e===`error`?`text-rose-600 dark:text-rose-300`:e===`warning`?`text-amber-600 dark:text-amber-300`:`text-(--dashboard-accent)`}function o(e){return e===`critical`?`border-rose-400/60 bg-(--dashboard-panel-muted)`:e===`warning`?`border-amber-400/60 bg-(--dashboard-panel-muted)`:`border-emerald-400/60 bg-(--dashboard-panel-muted)`}function c(e){n.value=e,r&&clearTimeout(r),r=setTimeout(()=>{n.value=``,r=null},1800)}async function l(){try{await L(t.digest.report),c(`摘要已复制`)}catch{c(`复制失败`)}}return v(()=>{r&&clearTimeout(r)}),(t,r)=>(_(),m(I,{eyebrow:`Incident`,title:`事故摘要`,"icon-name":`metric-quality`},{header:E(()=>[h(`div`,Se,[n.value?(_(),T(`span`,Ce,p(n.value),1)):S(``,!0),h(`button`,{type:`button`,class:`inline-flex h-8 items-center gap-1.5 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 text-xs text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:l},[h(`span`,we,[u(O,{name:`metric-copy`})]),r[0]||=w(` 复制 `,-1)])])]),default:E(()=>[h(`div`,Te,[h(`div`,{class:x([`rounded-md border px-3 py-2.5`,o(e.digest.status)])},[h(`div`,Ee,[h(`div`,De,[h(`p`,Oe,p(e.digest.statusLabel),1),h(`p`,ke,p(e.digest.statusDetail),1)]),u(z,{label:e.digest.statusLabel,tone:i.value},null,8,[`label`,`tone`])])],2),h(`div`,Ae,[(_(!0),T(b,null,s(e.digest.metrics,e=>(_(),m(re,{key:e.label,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),e.digest.incidents.length>0?(_(),T(`div`,je,[(_(!0),T(b,null,s(e.digest.incidents,e=>(_(),T(`article`,{key:e.id,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2.5`},[h(`div`,Me,[h(`div`,Ne,[h(`p`,Pe,p(e.title),1),h(`p`,Fe,p(e.source)+` · `+p(e.kindLabel)+` · `+p(e.timestamp)+` · `+p(e.duration),1)]),h(`span`,{class:x([`shrink-0 text-xs font-semibold`,a(e.level)])},p(e.levelLabel),3)]),h(`p`,Ie,p(e.reason)+` · `+p(e.detail),1)]))),128))])):(_(),m(R,{key:1,compact:``},{default:E(()=>[...r[1]||=[w(` 当前筛选范围内没有需要处理的运行时事件。 `,-1)]]),_:1}))])]),_:1}))}}),Re={class:`grid min-h-0 content-start gap-3 overflow-y-auto pr-1`},ze={class:`grid gap-2 sm:grid-cols-2`},Be={class:`grid max-h-44 gap-2 overflow-y-auto pr-1`},Ve={class:`flex items-start justify-between gap-3`},He={class:`font-medium`},Ue={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},We={key:0,class:`grid max-h-full gap-2 overflow-y-auto pr-1`},Ge=t({__name:`ActivityInsightPanel`,props:{selectedEvent:{},incidentDigest:{},eventSummary:{},filteredEventSummary:{},diagnostics:{},sourceBreakdown:{}},setup(e){return(t,r)=>(_(),T(`div`,Re,[u(fe,{event:e.selectedEvent},null,8,[`event`]),u(Le,{digest:e.incidentDigest},null,8,[`digest`]),u(I,{eyebrow:`Runtime`,title:`事件摘要`,"icon-name":`metric-time`},{default:E(()=>[h(`div`,ze,[(_(!0),T(b,null,s([...e.eventSummary,...e.filteredEventSummary],e=>(_(),m(xe,n({key:e.label},{ref_for:!0},e),null,16))),128))])]),_:1}),u(I,{eyebrow:`Diagnostics`,title:`当前诊断队列`,"icon-name":`metric-health`,"content-class":`min-h-0 overflow-hidden`},{default:E(()=>[h(`ul`,Be,[(_(!0),T(b,null,s(e.diagnostics,e=>(_(),T(`li`,{key:e.label,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-4 py-3`},[h(`div`,Ve,[h(`div`,null,[h(`p`,He,p(e.label),1),h(`p`,Ue,p(e.detail),1)]),u(z,{label:e.status,tone:`info`},null,8,[`label`])])]))),128))])]),_:1}),u(I,{eyebrow:`Sources`,title:`事件来源`,"icon-name":`hero-system`,"content-class":`min-h-0 overflow-hidden`},{default:E(()=>[e.sourceBreakdown.length>0?(_(),T(`div`,We,[(_(!0),T(b,null,s(e.sourceBreakdown,e=>(_(),m(ye,n({key:e.source},{ref_for:!0},e),null,16))),128))])):S(``,!0)]),_:1})]))}}),Ke={class:`grid gap-3 xl:grid-cols-[minmax(14rem,0.85fr)_minmax(0,1.15fr)]`},qe={for:`dashboard-event-search`},Je=[`value`],Ye={class:`grid gap-3`},Xe={class:`mt-2 flex flex-wrap gap-2`},Ze=[`onClick`],Qe={key:0,class:`mt-2 text-xs leading-5 text-(--dashboard-text-soft)`},$e={class:`grid gap-3 md:grid-cols-3`},et={class:`mt-2 flex flex-wrap gap-2`},tt=[`onClick`],nt={class:`mt-2 flex flex-wrap gap-2`},rt=[`onClick`],it={class:`mt-2 flex flex-wrap gap-2`},at=[`onClick`],ot=t({__name:`AppEventFilterPanel`,props:{searchQuery:{},presetDescription:{},filterPresets:{},eventKindOptions:{},eventLevelOptions:{},eventSourceOptions:{},eventKindFilter:{},eventLevelFilter:{},eventSourceFilter:{}},emits:[`update:searchQuery`,`update:eventKindFilter`,`update:eventLevelFilter`,`update:eventSourceFilter`,`applyPreset`],setup(e,{emit:t}){let n=e,r=t;function i(){return F({kind:`theme`,active:!1})}function a(e,t){return F({kind:`theme`,active:e===t})}return(t,o)=>(_(),m(ie,null,{default:E(()=>[h(`div`,Ke,[h(`div`,null,[h(`label`,qe,[u(B,null,{default:E(()=>[...o[1]||=[w(` 搜索事件 `,-1)]]),_:1})]),h(`input`,{id:`dashboard-event-search`,value:e.searchQuery,type:`text`,placeholder:`搜索标题、详情、来源或标签`,class:`mt-2 w-full rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2 text-sm text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`,onInput:o[0]||=e=>r(`update:searchQuery`,e.target.value)},null,40,Je)]),h(`div`,Ye,[h(`div`,null,[u(B,null,{default:E(()=>[...o[2]||=[w(` 快速预设 `,-1)]]),_:1}),h(`div`,Xe,[(_(!0),T(b,null,s(e.filterPresets,e=>(_(),T(`button`,{key:e.key,class:x(i()),onClick:t=>r(`applyPreset`,e.key)},p(e.label),11,Ze))),128))]),e.presetDescription?(_(),T(`p`,Qe,p(e.presetDescription),1)):S(``,!0)]),h(`div`,$e,[h(`div`,null,[u(B,null,{default:E(()=>[...o[3]||=[w(` 类型过滤 `,-1)]]),_:1}),h(`div`,et,[(_(!0),T(b,null,s(e.eventKindOptions,e=>(_(),T(`button`,{key:e.value,class:x(a(n.eventKindFilter,e.value)),onClick:t=>r(`update:eventKindFilter`,e.value)},p(e.label),11,tt))),128))])]),h(`div`,null,[u(B,null,{default:E(()=>[...o[4]||=[w(` 等级过滤 `,-1)]]),_:1}),h(`div`,nt,[(_(!0),T(b,null,s(e.eventLevelOptions,e=>(_(),T(`button`,{key:e.value,class:x(a(n.eventLevelFilter,e.value)),onClick:t=>r(`update:eventLevelFilter`,e.value)},p(e.label),11,rt))),128))])]),h(`div`,null,[u(B,null,{default:E(()=>[...o[5]||=[w(` 来源过滤 `,-1)]]),_:1}),h(`div`,it,[(_(!0),T(b,null,s(e.eventSourceOptions,e=>(_(),T(`button`,{key:e.value,class:x(a(n.eventSourceFilter,e.value)),onClick:t=>r(`update:eventSourceFilter`,e.value)},p(e.label),11,at))),128))])])])])])]),_:1}))}}),st={class:`flex items-start justify-between gap-3`},ct={class:`font-medium text-(--dashboard-text)`},lt=t({__name:`AppRuntimeEventListItem`,props:{event:{},selected:{type:Boolean}},setup(e){let t=e,n=g(()=>M(t.event)),r=g(()=>P(t.event)),i=g(()=>t.selected?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`);return(e,o)=>(_(),T(`li`,{class:x([`rounded-md border bg-(--dashboard-panel-muted) px-4 py-3 transition`,i.value])},[h(`div`,st,[h(`div`,null,[h(`p`,ct,p(t.event.title),1),u(B,{class:`mt-1`},{default:E(()=>[w(p(r.value),1)]),_:1})]),u(z,a(C(n.value)),null,16)])],2))}}),ut=1e3,dt=5,Y={error:4,warning:3,success:2,info:1};function X(e){let t=Date.parse(e.timestamp);return Number.isFinite(t)?t:0}function Z(e,t){return typeof e.durationMs==`number`&&e.durationMs>=t}function ft(e,t){return e.level===`error`||e.level===`warning`||Z(e,t)}function pt(e,t){let n=[];return e.level===`error`?n.push(`错误事件`):e.level===`warning`&&n.push(`警告事件`),Z(e,t)&&n.push(`耗时 ${N(e.durationMs)}`),n.join(` · `)||`需要关注`}function mt(e,t){return{id:e.id,title:e.title,detail:e.detail,level:e.level,levelLabel:j(e.level),kindLabel:A(e.kind),source:e.source??`dashboard`,timestamp:e.timestamp,duration:N(e.durationMs),reason:pt(e,t)}}function ht(e,t,n){return e>0?`critical`:t>0||n>0?`warning`:`healthy`}function gt(e){return e===`critical`?`需要立即处理`:e===`warning`?`需要关注`:`运行平稳`}function _t(e,t,n,r){return e===`critical`?`检测到 ${t} 个错误事件,优先排查失败来源。`:e===`warning`?`检测到 ${n} 个警告和 ${r} 个慢事件,建议跟进。`:`当前筛选范围内没有错误、警告或慢事件。`}function vt(e){let t=e.incidents.length>0?e.incidents.map(e=>`- [${e.levelLabel}] ${e.title}(${e.source} · ${e.kindLabel} · ${e.timestamp} · ${e.duration}):${e.detail}`):[`- 当前筛选范围内没有需要处理的事件。`];return[`# dashboard 运行时事故摘要`,``,`状态:${e.statusLabel}`,`说明:${e.statusDetail}`,``,`## 指标`,...e.metrics.map(e=>`- ${e.label}:${e.value}`),``,`## 影响来源`,e.affectedSources.length>0?e.affectedSources.map(e=>`- ${e}`).join(`
4
+ `):`- 无`,``,`## 优先处理`,...t,``].join(`
5
+ `)}function yt(e,t={}){let n=t.slowEventThresholdMs??ut,r=e.filter(e=>e.level===`error`).length,i=e.filter(e=>e.level===`warning`).length,a=e.filter(e=>Z(e,n)).length,o=e.filter(e=>ft(e,n)),s=[...new Set(o.map(e=>e.source??`dashboard`))].sort((e,t)=>e.localeCompare(t,`zh-CN`)),c=ht(r,i,a),l=o.toSorted((e,t)=>Y[t.level]-Y[e.level]||(t.durationMs??-1)-(e.durationMs??-1)||X(t)-X(e)).slice(0,dt).map(e=>mt(e,n)),u={status:c,statusLabel:gt(c),statusDetail:_t(c,r,i,a),metrics:[{label:`事件总数`,value:e.length},{label:`错误`,value:r},{label:`警告`,value:i},{label:`慢事件`,value:a},{label:`影响来源`,value:s.length}],affectedSources:s,incidents:l};return{...u,report:vt(u)}}var Q={error:4,warning:3,success:2,info:1},$=[{value:`all`,label:`全部类型`},{value:`command`,label:`命令`},{value:`build`,label:`构建`},{value:`diagnostic`,label:`诊断`},{value:`hmr`,label:`HMR`},{value:`system`,label:`系统`}],bt=[{value:`all`,label:`全部等级`},{value:`info`,label:`信息`},{value:`success`,label:`成功`},{value:`warning`,label:`警告`},{value:`error`,label:`错误`}];function xt(e,t){return[e.title,e.detail,e.kind,e.level,e.source??``,...e.tags??[]].join(` `).toLowerCase().includes(t)}function St(e,t){return[...e].sort((e,n)=>t===`duration`?(n.durationMs??-1)-(e.durationMs??-1)||Date.parse(n.timestamp)-Date.parse(e.timestamp):t===`severity`?Q[n.level]-Q[e.level]||Date.parse(n.timestamp)-Date.parse(e.timestamp):t===`source`&&(e.source??`dashboard`).localeCompare(n.source??`dashboard`)||Date.parse(n.timestamp)-Date.parse(e.timestamp))}function Ct(e){let t=d(`all`),n=d(`all`),r=d(`all`),i=d(`time`),a=d(``),o=d(null),s=[{key:`all`,label:`查看全部`,description:`回到完整事件流`,apply(){t.value=`all`,n.value=`all`,r.value=`all`,a.value=``}},{key:`issues`,label:`异常优先`,description:`只看警告和错误`,apply(){t.value=`all`,n.value=`warning`,r.value=`all`,a.value=``}},{key:`commands`,label:`命令流`,description:`聚焦命令执行事件`,apply(){t.value=`command`,n.value=`all`,r.value=`all`,a.value=``}},{key:`hmr`,label:`HMR`,description:`观察热更新相关事件`,apply(){t.value=`hmr`,n.value=`all`,r.value=`all`,a.value=``}}],c=g(()=>[{value:`all`,label:`全部来源`},...[...new Set(e.value.map(e=>e.source??`dashboard`).filter(Boolean))].sort((e,t)=>e.localeCompare(t,`zh-CN`)).map(e=>({value:e,label:e}))]),u=g(()=>{let o=a.value.trim().toLowerCase();return St(e.value.filter(e=>t.value!==`all`&&e.kind!==t.value||n.value!==`all`&&e.level!==n.value||r.value!==`all`&&(e.source??`dashboard`)!==r.value?!1:!o||xt(e,o)),i.value)}),f=g(()=>{let e=u.value.filter(e=>typeof e.durationMs==`number`),i=e.length>0?Math.round(e.reduce((e,t)=>e+(t.durationMs??0),0)/e.length):void 0;return[{label:`筛选后事件`,value:String(u.value.length)},{label:`当前类型`,value:t.value===`all`?`全部`:A(t.value)},{label:`当前等级`,value:n.value===`all`?`全部`:j(n.value)},{label:`当前来源`,value:r.value===`all`?`全部`:r.value},{label:`搜索关键字`,value:a.value.trim()||`未设置`},{label:`筛选平均耗时`,value:N(i)}]}),p=g(()=>ee(te(u.value))),m=g(()=>yt(u.value)),h=g(()=>u.value.find(e=>e.id===o.value)??u.value[0]??null),_=g(()=>s.find(e=>e.key===`issues`?t.value===`all`&&n.value===`warning`&&r.value===`all`&&a.value===``:e.key===`commands`?t.value===`command`&&n.value===`all`&&r.value===`all`&&a.value===``:e.key===`hmr`?t.value===`hmr`&&n.value===`all`&&r.value===`all`&&a.value===``:t.value===`all`&&n.value===`all`&&r.value===`all`&&a.value===``)?.description??``);return l(u,e=>{if(e.length===0){o.value=null;return}e.some(e=>e.id===o.value)||(o.value=e[0]?.id??null)},{immediate:!0}),{eventKindFilter:t,eventKindOptions:$,eventLevelFilter:n,eventLevelOptions:bt,eventSortMode:i,eventSourceFilter:r,eventSourceOptions:c,filteredEventSummary:f,filteredRuntimeEvents:u,filterPresets:s,incidentDigest:m,presetDescription:_,searchQuery:a,selectedEvent:h,selectedEventId:o,sourceBreakdown:p}}var wt={class:`grid h-full min-h-0 gap-3 overflow-hidden xl:grid-cols-[minmax(0,1.25fr)_minmax(22rem,0.75fr)]`},Tt={class:`grid h-full min-h-0 grid-rows-[minmax(0,9rem)_auto_minmax(6rem,1fr)] gap-3 overflow-hidden`},Et={class:`grid min-h-0 gap-2 overflow-y-auto pr-1 text-sm leading-6 text-(--dashboard-text-muted)`},Dt=t({__name:`activity`,setup(e){let{diagnostics:t,eventSummary:n,runtimeEvents:r}=ne(),{eventKindFilter:i,eventKindOptions:a,eventLevelFilter:c,eventLevelOptions:l,eventSortMode:d,eventSourceFilter:p,eventSourceOptions:g,filteredEventSummary:v,filteredRuntimeEvents:y,filterPresets:x,incidentDigest:C,presetDescription:D,searchQuery:O,selectedEvent:k,selectedEventId:A,sourceBreakdown:j}=Ct(r);return(e,M)=>(_(),T(`div`,wt,[u(I,{eyebrow:`Event Feed`,title:`事件控制台`,"icon-name":`hero-commands`,"content-class":`min-h-0 overflow-hidden`},{default:E(()=>[h(`div`,Tt,[u(ot,{class:`min-h-0 overflow-y-auto`,"search-query":o(O),"preset-description":o(D),"filter-presets":o(x),"event-kind-options":o(a),"event-level-options":o(l),"event-source-options":o(g),"event-kind-filter":o(i),"event-level-filter":o(c),"event-source-filter":o(p),"onUpdate:searchQuery":M[0]||=e=>O.value=e,"onUpdate:eventKindFilter":M[1]||=e=>i.value=e,"onUpdate:eventLevelFilter":M[2]||=e=>c.value=e,"onUpdate:eventSourceFilter":M[3]||=e=>p.value=e,onApplyPreset:M[4]||=e=>o(x).find(t=>t.key===e)?.apply()},null,8,[`search-query`,`preset-description`,`filter-presets`,`event-kind-options`,`event-level-options`,`event-source-options`,`event-kind-filter`,`event-level-filter`,`event-source-filter`]),u(K,{modelValue:o(d),"onUpdate:modelValue":M[5]||=e=>f(d)?d.value=e:null,events:o(y),"filtered-count":o(y).length,"total-count":o(r).length},null,8,[`modelValue`,`events`,`filtered-count`,`total-count`]),o(y).length===0?(_(),m(R,{key:0,as:`p`},{default:E(()=>[...M[6]||=[w(` 当前过滤条件下没有匹配事件。 `,-1)]]),_:1})):S(``,!0),h(`ul`,Et,[(_(!0),T(b,null,s(o(y),e=>(_(),m(lt,{key:e.id,event:e,selected:o(k)?.id===e.id,onClick:t=>A.value=e.id},null,8,[`event`,`selected`,`onClick`]))),128))])])]),_:1}),u(Ge,{"selected-event":o(k),"incident-digest":o(C),"event-summary":o(n),"filtered-event-summary":o(v),diagnostics:o(t),"source-breakdown":o(j)},null,8,[`selected-event`,`incident-digest`,`event-summary`,`filtered-event-summary`,`diagnostics`,`source-breakdown`])]))}});export{Dt as default};