mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-26 20:22:51 +08:00
2 lines
8.6 KiB
JavaScript
2 lines
8.6 KiB
JavaScript
import{r as e,j as t}from"./vendor-react-64fcanlc.js";import{bI as r,u as s,al as a,l,dr as o,bP as n,B as i,cf as c,ds as d,C as g,dt as m,U as u,a1 as p,q as h,x as f,cb as x,bT as v,T as j,p as b,bG as w,ch as y,E as M}from"./index-XeGFdFb3.js";import{aO as T,a as N,F as k,aP as C,D as $}from"./activity-7OeQMmIs.js";import{C as S}from"./ItemText-Bvif-kkw.js";import{P as A,Q as O,K as P,L as R,A as W}from"./logs-DNePHVHd.js";import{T as L}from"./Toolbar-CFyWgMbW.js";import{D}from"./Table-DqqJleJD.js";import{d as F,e as q}from"./files-Dt8K7QfP.js";import{r as B}from"./recorder-BHyqDNp5.js";import{u as E,C as H}from"./Copy-Cix1qeo3.js";import"./_commonjsHelpers-CXUWDbkB.js";import"./nodes-Bm1vmvln.js";import"./AppearanceControls-Q-jHRGz9.js";import"./Select-OqnbuzuK.js";import"./Checkbox-BewExwKL.js";import"./Virtualizer-FvdVRagH.js";const I=new WeakMap;function _(e){let t=I.get(e);return void 0===t&&I.set(e,t=Date.parse(e.ts)),t}const J=[...r].reverse();function K({records:m,offered:u,minimum:p,setMinimum:h,waiting:f}){const x=s(),v=a[l()],j=N(),b=e.useMemo(()=>function(e,t,r,s=24){const a=r?J.indexOf(r):J.length-1,l=J.filter((e,r)=>t.includes(e)&&r<=a),o=e.map(_).filter(Number.isFinite);if(!o.length)return{rows:l.map(e=>({level:e,counts:[]})),buckets:[],width:0,busiest:null};const n=Math.min(...o),i=Math.max(...o),c=T(n,i,s),d=c.length>1?c[1]-c[0]:Math.max(i-n,6e4),g=new Map(l.map(e=>[e,new Array(c.length).fill(0)])),m=new Array(c.length).fill(0),u=new Array(c.length).fill(0);for(const x of e){const e=_(x),t=g.get(x.level);if(!t||!Number.isFinite(e))continue;const r=Math.min(c.length-1,Math.floor((e-c[0])/d));t[r]++,m[r]++,"error"===x.level&&u[r]++}const p=e=>e.reduce((t,r,s)=>r>e[t]?s:t,0),h=u.reduce((e,t)=>e+t,0),f=p(h?u:m);return{rows:l.map(e=>({level:e,counts:g.get(e)})),buckets:c,width:d,busiest:{start:c[f],count:h?u[f]:m[f],errors:h}}}(m,u,p),[m,u,p]),w=e.useMemo(()=>o(v),[v]),y=e.useCallback(e=>`${w.format(e)}–${w.format(e+b.width)}`,[w,b.width]),M=e.useMemo(()=>{const e=r.map(e=>{const r=x(n[e]);return[e,{text:r,label:t.jsxs(i,{quiet:!0,small:!0,className:e===p?"current":void 0,label:x(e===p?"log.chart.current":"log.chart.minimum",{level:r}),onPress:()=>h(e),children:[e===p&&t.jsx(S,{}),r]})}]});return new Map(e)},[p,h,x]),$=e.useMemo(()=>{const e={error:j.negative,warn:j.notice,info:j.info,debug:j.subtle,trace:j.muted},t=b.buckets.map(y);return{columns:b.buckets.map(e=>w.format(e)),rows:b.rows.map(r=>{const{text:s,label:a}=M.get(r.level);return{id:r.level,color:e[r.level],label:a,counts:r.counts,titles:r.counts.map((e,r)=>x("log.chart.cell",{time:t[r],level:s,n:e}))}})}},[b,y,w,M,j,x]);if(!m.length)return f?t.jsx(Q,{heads:M,levels:b.rows.map(e=>e.level),time:w.format(0)}):null;const A=b.busiest,O=A?A.errors?[{label:x("log.chart.errors"),value:x("log.chart.count",{n:A.errors}),icon:t.jsx(c,{}),tone:"negative"},{label:x("log.chart.peakErrors"),icon:t.jsx(d,{}),tint:"c1",value:y(A.start),caption:x("log.chart.count",{n:A.count})}]:[{label:x("log.chart.errors"),value:x("log.chart.count",{n:0}),icon:t.jsx(c,{}),tint:"c5"},{label:x("log.chart.peak"),icon:t.jsx(d,{}),tint:"c1",value:y(A.start),caption:x("log.chart.count",{n:A.count})}]:[];return t.jsxs("div",{className:"rp-chart-page",children:[t.jsx(k,{facts:O}),t.jsx(g,{title:x("log.chart.title"),note:x("log.chart.sample",{n:m.length}),children:t.jsx(C,{label:x("log.chart.title"),columns:$.columns,rows:$.rows})})]})}function Q({heads:e,levels:r,time:a}){const l=s(),o=[{label:l("log.chart.errors"),value:l("log.chart.count",{n:0}),icon:t.jsx(c,{}),tint:"c5"},{label:l("log.chart.peak"),icon:t.jsx(d,{}),tint:"c1",value:`${a}–${a}`,caption:l("log.chart.count",{n:0})}],n=r.map(t=>({id:t,color:"transparent",label:e.get(t).label,counts:[0],titles:[""]}));return t.jsxs("div",{className:"rp-chart-page",inert:!0,"aria-hidden":"true",children:[t.jsxs("div",{className:"rp-chart-hold",children:[t.jsx(k,{facts:o}),t.jsx(m,{})]}),t.jsxs("div",{className:"rp-chart-hold",children:[t.jsx(g,{title:l("log.chart.title"),note:l("log.chart.sample",{n:0}),children:t.jsx(C,{label:l("log.chart.title"),columns:[a],rows:n})}),t.jsx(m,{})]})]})}const U={trace:"muted",debug:"neutral",info:"info",warn:"warn",error:"err"},z=new WeakMap;function G(e,t,s,a,l,o=new Set,i){return{rows:e.flatMap(e=>{const t=function(e,t,r){const s=z.get(e);if(s&&s.locale===t)return s.row;const a={id:e.id,timestamp:p(e.ts,t),iso:e.ts,levelText:u(n,e.level,r),tone:U[e.level],target:e.target,gap:!1,record:e,message:e.message+(e.fields?" "+Object.entries(e.fields).map(([e,t])=>`${e}=${"string"==typeof t?t:JSON.stringify(t)}`).join(" "):"")};return z.set(e,{locale:t,row:a}),a}(e,a,l);return o.has(e)?[{...t,id:`gap ${e.id}`,timestamp:"",iso:"",levelText:"",target:"",gap:!0,message:l("log.gap")},t]:[t]}),levels:t.map(e=>{return{id:e,label:(t=e,i&&r.indexOf(t)<r.indexOf(i)?l("log.levelNotRecorded",{level:u(n,e,l)}):u(n,e,l))};var t}),recordedText:i?l("log.recorded",{level:u(n,i,l)}):null,exportBase:`${s||"engine"}-log`}}function V(e,t,r){return r(B(e,t,{forbidden:"log.emptyForbidden",off:"log.emptyNotRecorded",filtered:"log.emptyFiltered",empty:"log.empty"}))}function X(e,t,r,s,a,l){return t?{tone:"err",text:l("log.disconnected")}:r?{tone:"neutral",text:l(s>a?"log.pausedOverflow":"log.paused",{n:Math.min(s,a)})}:{tone:e?"ok":"warn",text:l(e?"log.connected":"log.reconnecting")}}const Y=e=>`${e.ts} ${e.level.toUpperCase().padEnd(5)} ${e.target??"—"} ${e.message}${e.fields?" "+JSON.stringify(e.fields):""}`;const Z=[];function ee({go:t}){const r=s(),o=a[l()],n=h(),i=f(),[c,d]=e.useState("info"),g=e.useCallback(e=>d(e),[]),[m,u]=e.useState(""),[p,j]=e.useState(!1),b=n.data?.resources.logs,w=b?.filters?.includes("target")??!1,y=x(w?m.trim():""),M=function(e,t=[]){return t.includes(e)?e:t.includes("info")?"info":t[0]}(c,b?.levels),T=A({level:M,target:y,paused:p}),N=v(n.data?.resources.runtime_settings.available??!1).data,k=N?.log?.level,C=e.useMemo(()=>G(T.records,b?.levels??[],i.data?.engine.name,o,r,T.gaps,k),[T.records,T.gaps,b,i.data,o,r,k]);return{...C,empty:V(N?.recording?.logs,!!y,r),status:X(T.connected,!!T.error,p,T.pending,O,r),records:T.records,offered:b?.levels??Z,level:M??"",setLevel:g,filtersTarget:w,target:m,setTarget:u,paused:p,setPaused:j,error:T.error,loading:!(n.error||T.error||T.connected||T.records.length),clear:T.clear,openRecording:n.data?.resources.runtime_settings.available?()=>t("settings","card=runtime"):null,retry:T.retry,export:()=>F(q(C.exportBase,"txt"),function(e,t,r){return[...e].reverse().flatMap(e=>t.has(e)?[Y(e),r("log.gap")]:[Y(e)]).join("\n")+"\n"}(T.records,T.gaps,r),"text/plain;charset=utf-8")}}function te({go:r}){const a=s(),l=ee({go:r}),o=E(),n=e.useMemo(()=>[{id:"ts",label:a("ui.time"),minWidth:212,grow:0,drop:2,render:e=>!e.gap&&t.jsx(j,{className:"rp-code",text:e.iso,children:e.timestamp})},{id:"level",label:a("log.level"),minWidth:104,grow:0,drop:3,render:e=>!e.gap&&t.jsx(b,{small:!0,tone:e.tone,children:e.levelText})},{id:"target",label:a("log.target"),minWidth:160,grow:0,drop:1,render:e=>t.jsx("span",{className:"rp-code",children:e.target??"—"})},{id:"message",label:a("log.message"),minWidth:280,grow:3,isRowHeader:!0,render:e=>t.jsx(j,{children:e.message})},{id:"actions",actions:!0,label:a("ui.actions"),hideLabel:!0,minWidth:64,grow:0,render:e=>t.jsx(i,{small:!0,quiet:!0,icon:!0,label:a("ui.copyRecord"),onPress:()=>{var t;o((t=e).gap?t.message:Y(t.record))},children:t.jsx(H,{})})}],[a,o]),c=e.useCallback(e=>t.jsx(P,{inline:!0,items:e.gap?[[a("log.message"),e.message]]:[[a("ui.time"),e.timestamp],[a("log.level"),e.levelText],[a("log.target"),e.target??"—"],[a("log.message"),e.message]]}),[a]);return t.jsxs("div",{className:"rp-page",children:[t.jsxs(L,{page:!0,children:[t.jsx(R,{side:!0,label:a("log.level"),value:l.level,onChange:l.setLevel,items:l.levels}),l.filtersTarget&&t.jsx(w,{search:!0,label:a("log.target"),value:l.target,width:240,placeholder:a("log.targetPlaceholder"),onChange:l.setTarget}),t.jsx(y,{isSelected:l.paused,onChange:l.setPaused,children:a("log.pause")}),t.jsx(b,{small:!0,tone:l.status.tone,children:l.status.text}),l.recordedText&&t.jsx("span",{className:"rp-label",children:l.recordedText}),t.jsx("span",{className:"rp-grow"}),t.jsx(W,{actions:[{id:"clear",label:a("log.clear"),isDisabled:!l.rows.length,onAction:l.clear},{id:"export",label:a("log.export"),icon:t.jsx($,{}),isDisabled:!l.rows.length,onAction:l.export},...l.openRecording?[{id:"recording",label:a("ui.recordingSettings"),onAction:l.openRecording}]:[]]})]}),t.jsx(M,{error:l.error,onRetry:l.retry}),t.jsx(K,{records:l.records,offered:l.offered,minimum:l.level,setMinimum:l.setLevel,waiting:l.loading}),t.jsx(D,{label:a("nav.logs"),stream:!0,flow:!0,rows:l.rows,loading:l.loading,empty:l.empty,cols:n,detail:c})]})}export{te as Logs};
|