zdashboard 1.6.2 → 2.1.0

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.
Files changed (31) hide show
  1. package/README.md +225 -41
  2. package/dist/cli.js +1388 -804
  3. package/dist/cli.js.map +1 -1
  4. package/dist/web/assets/MdViewer-C8ZG_xn1.js +1 -0
  5. package/dist/web/assets/Workspace-Cz1A_IXM.js +1 -0
  6. package/dist/web/assets/file-text-DqCOBCjz.js +6 -0
  7. package/dist/web/assets/index-B9eiA0v2.js +29 -0
  8. package/dist/web/assets/index-D58_bWw5.css +1 -0
  9. package/dist/web/assets/index-DkOVCCZ3.js +90 -0
  10. package/dist/web/assets/katex-BTcE7LSd.css +10 -0
  11. package/dist/web/assets/katex.min-DAmb8ZJI.js +270 -0
  12. package/dist/web/assets/web-8ZBVzAEO.js +26 -0
  13. package/dist/web/assets/web-CEyEoz0i.js +30 -0
  14. package/dist/web/assets/web-CXHaDUKR.js +25 -0
  15. package/dist/web/assets/{Viewer-CvXxR4rr.js → web-CrX-i-rZ.js} +7 -2
  16. package/dist/web/assets/web-D_b3sVrp.js +31 -0
  17. package/dist/web/assets/web-M4KeFgZw.js +2 -0
  18. package/dist/web/assets/{Viewer-DgUxcwns.js → web-Y4h9oNHC.js} +3 -3
  19. package/dist/web/index.html +2 -2
  20. package/package.json +4 -1
  21. package/dist/web/assets/DesignViewer-DIFMIK04.js +0 -26
  22. package/dist/web/assets/ReviewViewer-CzphymDs.js +0 -31
  23. package/dist/web/assets/ViewViewer-2gv2jIkV.js +0 -11
  24. package/dist/web/assets/folder-open-YuFnfZTO.js +0 -6
  25. package/dist/web/assets/index-BJ8mveF-.js +0 -446
  26. package/dist/web/assets/index-BwdPhy39.css +0 -10
  27. package/dist/web/assets/index-CgsmLt7m.js +0 -2
  28. package/dist/web/assets/index-D5XUdKxi.js +0 -2
  29. package/dist/web/assets/index-LAcTTLE0.js +0 -2
  30. package/dist/web/assets/index-Nmrw-5B2.js +0 -2
  31. package/dist/web/assets/index-f9TDtJW5.js +0 -2
@@ -0,0 +1,26 @@
1
+ import{c as p,r as a,j as e,_ as h}from"./index-DkOVCCZ3.js";import{M as b}from"./MdViewer-C8ZG_xn1.js";import"./katex.min-DAmb8ZJI.js";import"./index-B9eiA0v2.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const y=p("ImageOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);/**
7
+ * @license lucide-react v0.460.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const v=p("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/**
12
+ * @license lucide-react v0.460.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const j=p("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/**
17
+ * @license lucide-react v0.460.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const k=p("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/**
22
+ * @license lucide-react v0.460.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const N=p("Tablet",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]);let g=null;const f=new Set,u={get:()=>g,set:t=>{g=t,f.forEach(r=>r(t))},subscribe:t=>(f.add(t),()=>f.delete(t))};function w({path:t}){return e.jsx("iframe",{src:"/"+encodeURI(t),title:"预览",className:"w-full h-full border-0 bg-white"})}function S({path:t}){const[r,n]=a.useState("-"),[c,s]=a.useState(1),[d,x]=a.useState(!1),m=t.split("/").pop(),l={backgroundImage:"linear-gradient(45deg,hsl(var(--border)) 25%,transparent 25%),linear-gradient(-45deg,hsl(var(--border)) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,hsl(var(--border)) 75%),linear-gradient(-45deg,transparent 75%,hsl(var(--border)) 75%)",backgroundSize:"16px 16px",backgroundPosition:"0 0,0 8px,8px -8px,-8px 0"};return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex-none px-4 py-2 border-b text-xs flex items-center gap-3",children:[e.jsx("span",{className:"font-mono text-foreground",children:m}),e.jsx("span",{className:"text-muted-foreground",children:r}),e.jsxs("div",{className:"ml-auto flex items-center gap-1",children:[e.jsx("button",{onClick:()=>s(o=>Math.max(.25,+(o-.25).toFixed(2))),className:"w-6 h-6 rounded bg-muted hover:bg-muted/70","aria-label":"缩小",children:"−"}),e.jsxs("span",{className:"w-10 text-center text-muted-foreground",children:[Math.round(c*100),"%"]}),e.jsx("button",{onClick:()=>s(o=>Math.min(8,+(o+.25).toFixed(2))),className:"w-6 h-6 rounded bg-muted hover:bg-muted/70","aria-label":"放大",children:"+"}),e.jsx("button",{onClick:()=>s(1),className:"ml-1 px-2 h-6 rounded bg-muted hover:bg-muted/70",children:"复位"})]})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto grid place-items-center p-6",style:l,children:d?e.jsx("p",{className:"text-muted-foreground",children:"该格式无法预览"}):e.jsx("img",{src:"/"+encodeURI(t),alt:m,style:{transform:`scale(${c})`},className:"max-w-full max-h-full object-contain transition-transform",onLoad:o=>n(`${o.currentTarget.naturalWidth} × ${o.currentTarget.naturalHeight} px`),onError:()=>x(!0)})})]})}function _({path:t}){const[r,n]=a.useState('<p class="p-3 text-xs text-muted-foreground">解析中…</p>');return a.useEffect(()=>{fetch("/"+encodeURI(t),{cache:"no-store"}).then(c=>c.text()).then(c=>{const s=c.match(/--[A-Za-z0-9_-]+\s*:\s*[^;}\n]+/g)??[];if(!s.length){n('<p class="p-3 text-xs">未发现 CSS 变量</p>');return}const d=i=>/^(#([0-9a-fA-F]{3,8})\b|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(i.trim()),x=s.filter(i=>d(i)),m=s.filter(i=>/font|family|type/.test(i.toLowerCase())&&!d(i)),l=s.filter(i=>!x.includes(i)&&!m.includes(i));let o="";if(x.length){o+=`<div class="mb-7"><div class="mb-3 text-[11px] font-semibold uppercase text-muted-foreground">配色 · ${x.length}</div><div class="grid gap-3" style="grid-template-columns:repeat(auto-fill,minmax(150px,1fr))">`;for(const i of x)o+=`<div class="overflow-hidden rounded-lg border bg-background"><div class="h-[72px] border-b" style="background:${i}"></div><div class="px-2.5 pt-2 font-mono text-[11px] break-all">${i.split(":")[0].trim()}</div><div class="px-2.5 pb-2 text-xs text-muted-foreground">${i.split(":").slice(1).join(":").trim()}</div></div>`;o+="</div></div>"}if(m.length){o+=`<div class="mb-7"><div class="mb-3 text-[11px] font-semibold uppercase text-muted-foreground">字体 · ${m.length}</div><div class="grid gap-3" style="grid-template-columns:repeat(auto-fill,minmax(150px,1fr))">`;for(const i of m)o+=`<div class="overflow-hidden rounded-lg border bg-background"><div class="grid h-[72px] place-items-center text-2xl" style="font-family:${i.split(":").slice(1).join(":").trim()}">Aa</div><div class="px-2.5 font-mono text-[11px]">${i.split(":")[0].trim()}</div></div>`;o+="</div></div>"}if(l.length){o+=`<div class="mb-7"><div class="mb-3 text-[11px] font-semibold uppercase text-muted-foreground">其他 · ${l.length}</div><div class="flex flex-col gap-1">`;for(const i of l)o+=`<div class="flex justify-between gap-3 px-2.5 py-1.5 rounded border bg-background text-xs"><span class="font-mono">${i.split(":")[0].trim()}</span><span class="text-muted-foreground">${i.split(":").slice(1).join(":").trim()}</span></div>`;o+="</div></div>"}n(o||'<p class="p-3 text-xs">无</p>')})},[t]),e.jsx("div",{className:"p-8",dangerouslySetInnerHTML:{__html:r}})}function $({path:t}){return e.jsx("div",{className:"grid place-items-center p-8",children:e.jsx("video",{src:"/"+encodeURI(t),controls:!0,className:"max-w-full max-h-[80vh] rounded border"})})}function V({path:t}){return e.jsx("div",{className:"grid place-items-center p-8",children:e.jsx("audio",{src:"/"+encodeURI(t),controls:!0,className:"w-full max-w-2xl"})})}function E({path:t}){return e.jsx("div",{className:"grid place-items-center p-8 h-full",children:e.jsx("iframe",{src:"/"+encodeURI(t),title:"PDF",className:"w-full h-full max-h-[80vh] rounded border bg-white"})})}function I({path:t}){const[r,n]=a.useState("");return a.useEffect(()=>{fetch("/"+encodeURI(t),{cache:"no-store"}).then(c=>c.text()).then(n)},[t]),e.jsx("pre",{className:"p-6 text-xs leading-relaxed overflow-auto h-full",children:r||"加载中…"})}function M({path:t}){const[r,n]=a.useState("");return a.useEffect(()=>{n("/"+encodeURI(t))},[t]),e.jsxs("div",{className:"p-8 h-full flex flex-col gap-4",children:[e.jsxs("div",{className:"text-xs text-muted-foreground",children:["字体文件: ",t]}),e.jsxs("div",{className:"flex-1 grid place-items-center",children:[r&&e.jsx("link",{rel:"preload",as:"font",href:r,crossOrigin:"anonymous"}),e.jsx("div",{className:"text-6xl",style:{fontFamily:r?`url(${r})`:"serif"},children:"Aa 字体"})]})]})}function z({path:t}){return e.jsx("div",{className:"grid place-items-center h-full text-center text-muted-foreground",children:e.jsxs("div",{children:[e.jsx(y,{className:"h-10 w-10 mx-auto mb-3 opacity-50"}),e.jsx("p",{children:"该格式无法预览"}),e.jsx("p",{className:"mt-1 font-mono text-xs break-all",children:t})]})})}const C={page:w,icon:S,token:_,md:b,video:$,audio:V,pdf:E,component:I,font:M};function P(t){return C[t]??z}function R({mode:t,onMode:r,w:n,h:c,onW:s,onH:d}){const x=[{v:0,icon:e.jsx(v,{className:"h-3.5 w-3.5"}),label:"桌面"},{v:768,icon:e.jsx(N,{className:"h-3.5 w-3.5"}),label:"768"},{v:375,icon:e.jsx(k,{className:"h-3.5 w-3.5"}),label:"375"},{v:"custom",icon:e.jsx(j,{className:"h-3.5 w-3.5"}),label:"自定义"}],m="w-[50px] h-7 px-1 text-center text-xs rounded border border-border bg-background text-foreground [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none focus:outline-none focus:border-primary";return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex items-center gap-1 rounded-md border border-border p-0.5 bg-muted",children:x.map(l=>e.jsxs("button",{onClick:()=>r(l.v),className:`h-7 gap-1.5 px-2.5 rounded text-xs inline-flex items-center ${t===l.v?"bg-secondary text-secondary-foreground":"hover:bg-muted/70"}`,children:[l.icon,e.jsx("span",{className:"hidden sm:inline",children:l.label})]},String(l.v)))}),e.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[e.jsx("input",{type:"number",value:n,min:280,max:3e3,step:8,onChange:l=>s(Number(l.target.value)),"aria-label":"自定义宽度",className:m}),e.jsx("span",{className:"text-muted-foreground/70",children:"×"}),e.jsx("input",{type:"number",value:c,min:400,max:3e3,step:8,onChange:l=>d(Number(l.target.value)),"aria-label":"自定义高度",className:m}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"px"})]})]})}function T(){const[t,r]=a.useState(()=>u.get()),[n,c]=a.useState(0),[s,d]=a.useState(1024),[x,m]=a.useState(768);a.useEffect(()=>u.subscribe(r),[]);const l=t?P(t.type):null,o=n===0?"桌面":n==="custom"?`${s} × ${x}`:`${n}px`;return e.jsx("div",{className:"mx-auto h-full flex flex-col bg-background border rounded-lg shadow-sm overflow-hidden",children:t&&l?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"h-[38px] flex-none flex items-center justify-between px-3.5 border-b bg-background text-xs",children:[e.jsx("span",{className:"font-mono truncate",children:t.path}),e.jsx("span",{className:"text-muted-foreground ml-3 flex-none",children:o}),e.jsx(R,{mode:n,onMode:c,w:s,h:x,onW:d,onH:m})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:t.type==="page"?e.jsx("div",{className:"bg-background overflow-hidden",style:{maxWidth:n===0?void 0:n==="custom"?s:n,height:n==="custom"?x:"100%"},children:e.jsx(l,{path:t.path})}):e.jsx("div",{className:"mx-auto max-w-5xl h-full overflow-auto",children:e.jsx(l,{path:t.path})})})]}):e.jsx("div",{className:"flex-1 grid place-items-center text-muted-foreground",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"mx-auto mb-3.5 grid h-14 w-14 place-items-center rounded-[14px] bg-primary text-primary-foreground text-2xl font-bold",children:"z"}),e.jsx("p",{children:"从左侧选择一个资产预览"}),e.jsx("p",{className:"mt-1 text-xs",children:"点左侧折叠钮展开资产树 · 改文件即时刷新"})]})})})}const U=Object.freeze(Object.defineProperty({__proto__:null,default:T},Symbol.toStringTag,{value:"Module"})),O=[{key:"page",label:"页面"},{key:"component",label:"组件"},{key:"icon",label:"图标"},{key:"token",label:"Tokens"},{key:"md",label:"文档"},{key:"video",label:"视频"},{key:"audio",label:"音频"},{key:"pdf",label:"PDF"},{key:"font",label:"字体"},{key:"other",label:"其他"}];function W(){const t=a.useSyncExternalStore(u.subscribe,u.get),[r,n]=a.useState(null);a.useEffect(()=>{fetch("/__design/assets",{cache:"no-store"}).then(s=>s.json()).then(n)},[]);const c=a.useMemo(()=>r?O.map(s=>({...s,items:r[s.key]??[]})).filter(s=>s.items.length>0):[],[r]);return r?e.jsxs("div",{children:[e.jsxs("div",{className:"p-3 text-xs text-muted-foreground",children:[c.reduce((s,d)=>s+d.items.length,0)," 个资产"]}),c.map(s=>e.jsxs("div",{className:"mb-1",children:[e.jsxs("div",{className:"px-3.5 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[s.label," ",e.jsx("span",{className:"font-normal",children:s.items.length})]}),s.items.map(d=>e.jsxs("button",{onClick:()=>u.set({path:d.path,type:d.type}),className:`w-full text-left flex items-center gap-2 px-3.5 py-1.5 text-xs border-l-2 border-transparent hover:bg-muted ${(t==null?void 0:t.path)===d.path?"bg-muted font-medium border-primary":"text-muted-foreground"}`,children:[e.jsx("span",{className:"break-all",children:d.name}),e.jsx("span",{className:"font-mono text-[10px] text-muted-foreground",children:d.ext})]},d.path))]},s.key))]}):e.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"加载中…"})}const A=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),q={mode:"design",label:"设计资产",icon:"🎨",description:"设计资产分类浏览 · zdesign",Sidebar:a.lazy(()=>h(()=>Promise.resolve().then(()=>A),void 0)),Workspace:a.lazy(()=>h(()=>Promise.resolve().then(()=>U),void 0))};export{W as DesignSidebar,T as DesignWorkspace,q as default};
@@ -0,0 +1,30 @@
1
+ import{c as z,r as F,a as C,j as h,B as A,_ as X}from"./index-DkOVCCZ3.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const Y=z("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/**
7
+ * @license lucide-react v0.460.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const ee=z("Eraser",[["path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21",key:"182aya"}],["path",{d:"M22 21H7",key:"t4ddhn"}],["path",{d:"m5 11 9 9",key:"1mo9qw"}]]);/**
12
+ * @license lucide-react v0.460.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const te=z("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
17
+ * @license lucide-react v0.460.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const re=z("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/**
22
+ * @license lucide-react v0.460.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const se=z("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var V={};const E=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],ne=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&amp;|%[A-Fa-f0-9]{2})+)/gm;class y{static escapeForHtml(e){return new y().escapeForHtml(e)}static linkify(e){return new y().linkify(e)}static ansiToHtml(e,r){return new y().ansiToHtml(e,r)}static ansiToJson(e,r){return new y().ansiToJson(e,r)}static ansiToText(e){return new y().ansiToText(e)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let s=0;s<2;++s)for(let l=0;l<8;++l)this.PALETTE_COLORS.push(E[s][l].color);let e=[0,95,135,175,215,255],r=(s,l,u)=>e[s]+", "+e[l]+", "+e[u];for(let s=0;s<6;++s)for(let l=0;l<6;++l)for(let u=0;u<6;++u)this.PALETTE_COLORS.push(r(s,l,u));let n=8;for(let s=0;s<24;++s,n+=10)this.PALETTE_COLORS.push(n+", "+n+", "+n)}escapeForHtml(e){return e.replace(/[&<>\"]/gm,r=>r=="&"?"&amp;":r=='"'?"&quot;":r=="<"?"&lt;":r==">"?"&gt;":"")}linkify(e){return e.replace(ne,r=>`<a href="${r}">${r}</a>`)}ansiToHtml(e,r){return this.process(e,r,!0)}ansiToJson(e,r){return r=r||{},r.json=!0,r.clearLine=!1,this.process(e,r,!0)}ansiToText(e){return this.process(e,{},!1)}process(e,r,n){let s=this,l=e.split(/\033\[/),u=l.shift();r==null&&(r={}),r.clearLine=/\r/.test(e);let o=l.map(a=>this.processChunk(a,r,n));if(r&&r.json){let a=s.processChunkJson("");return a.content=u,a.clearLine=r.clearLine,o.unshift(a),r.remove_empty&&(o=o.filter(i=>!i.isEmpty())),o}else o.unshift(u);return o.join("")}processChunkJson(e,r,n){r=typeof r>"u"?{}:r;let s=r.use_classes=typeof r.use_classes<"u"&&r.use_classes,l=r.key=s?"class":"color",u={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:r.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!u.content},o=e.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!o)return u;u.content=o[4];let a=o[2].split(";");if(o[1]!==""||o[3]!=="m"||!n)return u;let i=this;for(;a.length>0;){let d=a.shift(),c=parseInt(d);if(isNaN(c)||c===0)i.fg=i.bg=null,i.decorations=[];else if(c===1)i.decorations.push("bold");else if(c===2)i.decorations.push("dim");else if(c===3)i.decorations.push("italic");else if(c===4)i.decorations.push("underline");else if(c===5)i.decorations.push("blink");else if(c===7)i.decorations.push("reverse");else if(c===8)i.decorations.push("hidden");else if(c===9)i.decorations.push("strikethrough");else if(c===21)i.removeDecoration("bold");else if(c===22)i.removeDecoration("bold"),i.removeDecoration("dim");else if(c===23)i.removeDecoration("italic");else if(c===24)i.removeDecoration("underline");else if(c===25)i.removeDecoration("blink");else if(c===27)i.removeDecoration("reverse");else if(c===28)i.removeDecoration("hidden");else if(c===29)i.removeDecoration("strikethrough");else if(c===39)i.fg=null;else if(c===49)i.bg=null;else if(c>=30&&c<38)i.fg=E[0][c%10][l];else if(c>=90&&c<98)i.fg=E[1][c%10][l];else if(c>=40&&c<48)i.bg=E[0][c%10][l];else if(c>=100&&c<108)i.bg=E[1][c%10][l];else if(c===38||c===48){let D=c===38;if(a.length>=1){let m=a.shift();if(m==="5"&&a.length>=1){let g=parseInt(a.shift());if(g>=0&&g<=255)if(!s)this.PALETTE_COLORS||i.setupPalette(),D?i.fg=this.PALETTE_COLORS[g]:i.bg=this.PALETTE_COLORS[g];else{let v=g>=16?"ansi-palette-"+g:E[g>7?1:0][g%8].class;D?i.fg=v:i.bg=v}}else if(m==="2"&&a.length>=3){let g=parseInt(a.shift()),v=parseInt(a.shift()),_=parseInt(a.shift());if(g>=0&&g<=255&&v>=0&&v<=255&&_>=0&&_<=255){let f=g+", "+v+", "+_;s?D?(i.fg="ansi-truecolor",i.fg_truecolor=f):(i.bg="ansi-truecolor",i.bg_truecolor=f):D?i.fg=f:i.bg=f}}}}}return i.fg===null&&i.bg===null&&i.decorations.length===0||(u.fg=i.fg,u.bg=i.bg,u.fg_truecolor=i.fg_truecolor,u.bg_truecolor=i.bg_truecolor,u.decorations=i.decorations,u.decoration=i.decorations.slice(-1).pop()||null,u.was_processed=!0),u}processChunk(e,r,n){r=r||{};let s=this.processChunkJson(e,r,n),l=r.use_classes;if(s.decorations=s.decorations.filter(c=>{if(c==="reverse"){s.fg||(s.fg=E[0][7][l?"class":"color"]),s.bg||(s.bg=E[0][0][l?"class":"color"]);let D=s.fg;s.fg=s.bg,s.bg=D;let m=s.fg_truecolor;return s.fg_truecolor=s.bg_truecolor,s.bg_truecolor=m,s.isInverted=!0,!1}return!0}),r.json)return s;if(s.isEmpty())return"";if(!s.was_processed)return s.content;let u=[],o=[],a=[],i={},d=c=>{let D=[],m;for(m in c)c.hasOwnProperty(m)&&D.push("data-"+m+'="'+this.escapeForHtml(c[m])+'"');return D.length>0?" "+D.join(" "):""};return s.isInverted&&(i["ansi-is-inverted"]="true"),s.fg&&(l?(u.push(s.fg+"-fg"),s.fg_truecolor!==null&&(i["ansi-truecolor-fg"]=s.fg_truecolor,s.fg_truecolor=null)):u.push("color:rgb("+s.fg+")")),s.bg&&(l?(u.push(s.bg+"-bg"),s.bg_truecolor!==null&&(i["ansi-truecolor-bg"]=s.bg_truecolor,s.bg_truecolor=null)):u.push("background-color:rgb("+s.bg+")")),s.decorations.forEach(c=>{if(l){o.push("ansi-"+c);return}c==="bold"?o.push("font-weight:bold"):c==="dim"?o.push("opacity:0.5"):c==="italic"?o.push("font-style:italic"):c==="hidden"?o.push("visibility:hidden"):c==="strikethrough"?a.push("line-through"):a.push(c)}),a.length&&o.push("text-decoration:"+a.join(" ")),l?'<span class="'+u.concat(o).join(" ")+'"'+d(i)+">"+s.content+"</span>":'<span style="'+u.concat(o).join(";")+'"'+d(i)+">"+s.content+"</span>"}removeDecoration(e){const r=this.decorations.indexOf(e);r>=0&&this.decorations.splice(r,1)}}var ie=y,k={exports:{}};function N(t){if(!t)return"";if(!/\r/.test(t))return t;for(t=t.replace(/\r+\n/gm,`
27
+ `);/\r./.test(t);)t=t.replace(/^([^\r\n]*)\r+([^\r\n]+)/gm,function(e,r,n){return n+r.slice(n.length)});return t}function ue(t){for(var e=0,r=0;r<t.length;r++)t[e].length<=t[r].length&&(e=r);return e}function P(t){if(!/\r/.test(t))return t;for(var e=t.split("\r"),r=[];e.length>0;){var n=ue(e);r.push(e[n]),e=e.slice(n+1)}return r.join("\r")}function ce(t){if(!t)return"";if(!/\r/.test(t))return t;if(!/\n/.test(t))return P(t);t=t.replace(/\r+\n/gm,`
28
+ `);var e=t.lastIndexOf(`
29
+ `);return N(t.slice(0,e))+`
30
+ `+P(t.slice(e+1))}k.exports=N;k.exports.escapeCarriageReturn=N;k.exports.escapeCarriageReturnSafe=ce;var oe=k.exports,O,I;function ae(){return I||(I=1,O=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),O}var B,Z;function le(){return Z||(Z=1,B=/[\0-\x1F\x7F-\x9F]/),B}var S,q;function _e(){return q||(q=1,S=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),S}var L,M;function he(){return M||(M=1,L=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/),L}var T,J;function fe(){return J||(J=1,T=function(t){var e={};e.src_Any=ae().source,e.src_Cc=le().source,e.src_Z=_e().source,e.src_P=he().source,e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|"),e.src_ZCc=[e.src_Z,e.src_Cc].join("|");var r="[><|]";return e.src_pseudo_letter="(?:(?!"+r+"|"+e.src_ZPCc+")"+e.src_Any+")",e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?",e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",e.src_host_terminator="(?=$|"+r+"|"+e.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))",e.src_path="(?:[/?#](?:(?!"+e.src_ZCc+"|"+r+`|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!`+e.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+e.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+e.src_ZCc+`|["]).)+\\"|\\'(?:(?!`+e.src_ZCc+"|[']).)+\\'|\\'(?="+e.src_pseudo_letter+"|[-]).|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+e.src_ZCc+"|[.]).|"+(t&&t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+").|;(?!"+e.src_ZCc+").|\\!+(?!"+e.src_ZCc+"|[!]).|\\?(?!"+e.src_ZCc+"|[?]).)+|\\/)?",e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',e.src_xn="xn--[a-z0-9\\-]{1,59}",e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63})",e.src_domain="(?:"+e.src_xn+"|(?:"+e.src_pseudo_letter+")|(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+"))",e.src_host="(?:(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+"))",e.tpl_host_fuzzy="(?:"+e.src_ip4+"|(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%)))",e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))",e.src_host_strict=e.src_host+e.src_host_terminator,e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator,e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator,e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))",e.tpl_email_fuzzy="(^|"+r+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}),T}function $(t){var e=Array.prototype.slice.call(arguments,1);return e.forEach(function(r){r&&Object.keys(r).forEach(function(n){t[n]=r[n]})}),t}function j(t){return Object.prototype.toString.call(t)}function pe(t){return j(t)==="[object String]"}function de(t){return j(t)==="[object Object]"}function ge(t){return j(t)==="[object RegExp]"}function H(t){return j(t)==="[object Function]"}function me(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var U={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function De(t){return Object.keys(t||{}).reduce(function(e,r){return e||U.hasOwnProperty(r)},!1)}var xe={"http:":{validate:function(t,e,r){var n=t.slice(e);return r.re.http||(r.re.http=new RegExp("^\\/\\/"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")),r.re.http.test(n)?n.match(r.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,r){var n=t.slice(e);return r.re.no_http||(r.re.no_http=new RegExp("^"+r.re.src_auth+"(?:localhost|(?:(?:"+r.re.src_domain+")\\.)+"+r.re.src_domain_root+")"+r.re.src_port+r.re.src_host_terminator+r.re.src_path,"i")),r.re.no_http.test(n)?e>=3&&t[e-3]===":"||e>=3&&t[e-3]==="/"?0:n.match(r.re.no_http)[0].length:0}},"mailto:":{validate:function(t,e,r){var n=t.slice(e);return r.re.mailto||(r.re.mailto=new RegExp("^"+r.re.src_email_name+"@"+r.re.src_host_strict,"i")),r.re.mailto.test(n)?n.match(r.re.mailto)[0].length:0}}},Fe="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",ve="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Ee(t){t.__index__=-1,t.__text_cache__=""}function be(t){return function(e,r){var n=e.slice(r);return t.test(n)?n.match(t)[0].length:0}}function W(){return function(t,e){e.normalize(t)}}function w(t){var e=t.re=fe()(t.__opts__),r=t.__tlds__.slice();t.onCompile(),t.__tlds_replaced__||r.push(Fe),r.push(e.src_xn),e.src_tlds=r.join("|");function n(o){return o.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(n(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(n(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(n(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(n(e.tpl_host_fuzzy_test),"i");var s=[];t.__compiled__={};function l(o,a){throw new Error('(LinkifyIt) Invalid schema "'+o+'": '+a)}Object.keys(t.__schemas__).forEach(function(o){var a=t.__schemas__[o];if(a!==null){var i={validate:null,link:null};if(t.__compiled__[o]=i,de(a)){ge(a.validate)?i.validate=be(a.validate):H(a.validate)?i.validate=a.validate:l(o,a),H(a.normalize)?i.normalize=a.normalize:a.normalize?l(o,a):i.normalize=W();return}if(pe(a)){s.push(o);return}l(o,a)}}),s.forEach(function(o){t.__compiled__[t.__schemas__[o]]&&(t.__compiled__[o].validate=t.__compiled__[t.__schemas__[o]].validate,t.__compiled__[o].normalize=t.__compiled__[t.__schemas__[o]].normalize)}),t.__compiled__[""]={validate:null,normalize:W()};var u=Object.keys(t.__compiled__).filter(function(o){return o.length>0&&t.__compiled__[o]}).map(me).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+u+")","i"),t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+u+")","ig"),t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i"),Ee(t)}function Ce(t,e){var r=t.__index__,n=t.__last_index__,s=t.__text_cache__.slice(r,n);this.schema=t.__schema__.toLowerCase(),this.index=r+e,this.lastIndex=n+e,this.raw=s,this.text=s,this.url=s}function G(t,e){var r=new Ce(t,e);return t.__compiled__[r.schema].normalize(r,t),r}function x(t,e){if(!(this instanceof x))return new x(t,e);e||De(t)&&(e=t,t={}),this.__opts__=$({},U,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=$({},xe,t),this.__compiled__={},this.__tlds__=ve,this.__tlds_replaced__=!1,this.re={},w(this)}x.prototype.add=function(e,r){return this.__schemas__[e]=r,w(this),this};x.prototype.set=function(e){return this.__opts__=$(this.__opts__,e),this};x.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var r,n,s,l,u,o,a,i,d;if(this.re.schema_test.test(e)){for(a=this.re.schema_search,a.lastIndex=0;(r=a.exec(e))!==null;)if(l=this.testSchemaAt(e,r[2],a.lastIndex),l){this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+l;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(i=e.search(this.re.host_fuzzy_test),i>=0&&(this.__index__<0||i<this.__index__)&&(n=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null&&(u=n.index+n[1].length,(this.__index__<0||u<this.__index__)&&(this.__schema__="",this.__index__=u,this.__last_index__=n.index+n[0].length))),this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&(d=e.indexOf("@"),d>=0&&(s=e.match(this.re.email_fuzzy))!==null&&(u=s.index+s[1].length,o=s.index+s[0].length,(this.__index__<0||u<this.__index__||u===this.__index__&&o>this.__last_index__)&&(this.__schema__="mailto:",this.__index__=u,this.__last_index__=o))),this.__index__>=0};x.prototype.pretest=function(e){return this.re.pretest.test(e)};x.prototype.testSchemaAt=function(e,r,n){return this.__compiled__[r.toLowerCase()]?this.__compiled__[r.toLowerCase()].validate(e,n,this):0};x.prototype.match=function(e){var r=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(G(this,r)),r=this.__last_index__);for(var s=r?e.slice(r):e;this.test(s);)n.push(G(this,r)),s=s.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};x.prototype.tlds=function(e,r){return e=Array.isArray(e)?e:[e],r?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(n,s,l){return n!==l[s-1]}).reverse(),w(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,w(this),this)};x.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};x.prototype.onCompile=function(){};var ye=x,ze=C&&C.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ae=C&&C.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),we=C&&C.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&ze(r,e,n[s]);return Ae(r,e),r}}(),K=C&&C.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(V,"__esModule",{value:!0});var ke=V.default=Pe;const je=K(ie),Re=oe,Oe=K(ye),b=we(F);function Be(t,e=!1){return t=(0,Re.escapeCarriageReturn)(Ie(t)),je.default.ansiToJson(t,{json:!0,remove_empty:!0,use_classes:e})}function Se(t){let e="";return t.bg&&(e+=`${t.bg}-bg `),t.fg&&(e+=`${t.fg}-fg `),t.decoration&&(e+=`ansi-${t.decoration} `),e===""?null:(e=e.substring(0,e.length-1),e)}function Le(t){const e={};switch(t.bg&&(e.backgroundColor=`rgb(${t.bg})`),t.fg&&(e.color=`rgb(${t.fg})`),t.decoration){case"bold":e.fontWeight="bold";break;case"dim":e.opacity="0.5";break;case"italic":e.fontStyle="italic";break;case"hidden":e.visibility="hidden";break;case"strikethrough":e.textDecoration="line-through";break;case"underline":e.textDecoration="underline";break;case"blink":e.textDecoration="blink";break}return e}function Te(t,e,r,n){const s=e?null:Le(r),l=e?Se(r):null;return t?t==="fuzzy"?Ne(r,n,s,l):$e(r,n,s,l):b.createElement("span",{style:s,key:n,className:l},r.content)}function $e(t,e,r,n){const s=[],l=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let u=0,o;for(;(o=l.exec(t.content))!==null;){const[,a,i]=o,d=o.index+a.length;d>u&&s.push(t.content.substring(u,d));const c=i.startsWith("www.")?`http://${i}`:i;s.push(b.createElement("a",{key:u,href:c,target:"_blank"},`${i}`)),u=l.lastIndex}return u<t.content.length&&s.push(t.content.substring(u)),b.createElement("span",{style:r,key:e,className:n},s)}function Ne(t,e,r,n){var s;const l=(0,Oe.default)({fuzzyEmail:!1}).tlds(["io"],!0);if(!l.pretest(t.content))return b.createElement("span",{style:r,key:e,className:n},t.content);const u=l.match(t.content);if(!u)return b.createElement("span",{style:r,key:e,className:n},t.content);const o=[t.content.substring(0,(s=u[0])===null||s===void 0?void 0:s.index)];return u.forEach((a,i)=>{var d;o.push(b.createElement("a",{href:a.url,target:"_blank",key:i},t.content.substring(a.index,a.lastIndex))),u[i+1]&&o.push(t.content.substring(u[i].lastIndex,(d=u[i+1])===null||d===void 0?void 0:d.index))}),u[u.length-1].lastIndex!==t.content.length&&o.push(t.content.substring(u[u.length-1].lastIndex,t.content.length)),b.createElement("span",{style:r,key:e,className:n},o)}function Pe(t){const{className:e,useClasses:r,children:n,linkify:s}=t;return b.createElement("code",{className:e},Be(n??"",r??!1).map(Te.bind(null,s??!1,r??!1)))}function Ie(t){let e=t;do t=e,e=t.replace(/[^\n]\x08/gm,"");while(e.length<t.length);return t}function Ze(t){return/^\[(ERROR|FATAL)\]/.test(t)||/^ERROR\b/.test(t)?"text-red-400":/^\[(WARN|WARNING)\]/.test(t)||/^WARN(ING)?\b/.test(t)?"text-amber-400":/^\[DEBUG\]/.test(t)||/^DEBUG\b/.test(t)?"text-sky-400":/^\[(INFO|DOWNLOAD|PROGRESS)\]/.test(t)||/^INFO\b/.test(t)?"text-emerald-400":"text-zinc-200"}function qe(){const[t,e]=F.useState([]),[r,n]=F.useState({state:"idle",recipe:null,code:null}),[s,l]=F.useState([]),[u,o]=F.useState(""),[a,i]=F.useState(!0),d=F.useRef(""),c=F.useRef(null);F.useEffect(()=>{fetch("/__just/recipes",{cache:"no-store"}).then(f=>f.json()).then(f=>{e(f),f[0]&&o(f[0].name)}),fetch("/__config").then(f=>f.json()).then(f=>{d.current=f.stopToken??""});const _=new EventSource("/__just/logs");return _.onmessage=f=>{try{const p=JSON.parse(f.data);p.type==="log"?l(Q=>{const R=[...Q,p.text];return R.length>1e3?R.slice(-1e3):R}):p.type==="clear"?l([]):p.type==="state"&&n({state:p.state,recipe:p.recipe,code:p.code})}catch{}},_.onerror=()=>{_.close()},()=>_.close()},[]),F.useEffect(()=>{a&&c.current&&(c.current.scrollTop=c.current.scrollHeight)},[s,a]);const D=()=>{const _=c.current;_&&i(_.scrollHeight-_.scrollTop-_.clientHeight<40)},m=_=>{const f=_==="stop"?"{}":JSON.stringify({recipe:u});fetch(`/__just/${_}`,{method:"POST",headers:{"x-stop-token":d.current},body:f}).then(p=>p.json()).then(p=>n(p)).catch(p=>console.error("[zdashboard] just action failed:",p)),_!=="stop"&&i(!0)},g=r.state==="running"?"bg-green-500":r.state==="exited"&&r.code?"bg-red-500":"bg-muted-foreground",v=r.state==="running"?`运行中 · ${r.recipe??""}`:r.state==="exited"?`已退出${r.code!=null?` (code ${r.code})`:""}`:"未运行";return h.jsxs("div",{className:"h-full flex flex-col bg-[#0d1117] rounded-lg border overflow-hidden",children:[h.jsxs("div",{className:"flex-none flex items-center gap-2 px-3 h-11 border-b border-white/10 text-xs text-zinc-300",children:[h.jsx("span",{className:`h-2 w-2 rounded-full flex-none ${g}`}),h.jsx("span",{className:"text-zinc-400 truncate",children:v}),h.jsx("select",{value:r.recipe&&r.state==="running"?r.recipe:u,onChange:_=>o(_.target.value),disabled:r.state==="running",className:"h-7 rounded bg-white/5 border border-white/15 px-1.5 text-zinc-200 focus:outline-none disabled:opacity-50",children:t.map(_=>h.jsxs("option",{value:_.name,className:"bg-[#161b22]",children:[_.name,_.description?` — ${_.description}`:""]},_.name))}),h.jsxs("div",{className:"ml-auto flex items-center gap-1.5",children:[r.state==="running"?h.jsxs(A,{size:"sm",variant:"secondary",className:"h-7 gap-1 px-2.5 text-xs",onClick:()=>m("stop"),children:[h.jsx(se,{className:"h-3 w-3"}),"停止"]}):h.jsxs(A,{size:"sm",variant:"secondary",className:"h-7 gap-1 px-2.5 text-xs",onClick:()=>m("start"),disabled:!u,children:[h.jsx(te,{className:"h-3 w-3"}),"启动"]}),h.jsxs(A,{size:"sm",variant:"ghost",className:"h-7 gap-1 px-2.5 text-xs text-zinc-300 hover:text-zinc-100 hover:bg-white/10",onClick:()=>m("restart"),disabled:!r.recipe&&!u,children:[h.jsx(re,{className:"h-3 w-3"}),"重启"]}),h.jsxs(A,{size:"sm",variant:"ghost",className:"h-7 gap-1 px-2.5 text-xs text-zinc-300 hover:text-zinc-100 hover:bg-white/10",onClick:()=>l([]),children:[h.jsx(ee,{className:"h-3 w-3"}),"清屏"]})]})]}),h.jsxs("div",{ref:c,onScroll:D,className:"flex-1 min-h-0 overflow-auto p-3 font-mono text-xs leading-relaxed text-zinc-200",children:[s.length===0&&h.jsx("p",{className:"text-zinc-500",children:"选择 recipe 点「启动」,日志会实时流到这里。"}),s.map((_,f)=>{const p=_.replace(/\r?\n$/,"");return h.jsx("div",{className:"whitespace-pre-wrap break-all min-h-[1.25rem]",children:/\x1b\[/.test(p)?h.jsx(ke,{children:p}):h.jsx("span",{className:Ze(p),children:p})},f)})]}),!a&&h.jsxs("button",{onClick:()=>{i(!0),c.current&&(c.current.scrollTop=c.current.scrollHeight)},className:"absolute bottom-16 right-8 z-10 flex items-center gap-1 px-2.5 h-7 rounded-full bg-zinc-700 text-white text-xs shadow-lg hover:bg-zinc-600",children:[h.jsx(Y,{className:"h-3 w-3"}),"回到底部"]})]})}function Me(){return h.jsx("div",{className:"mx-auto h-full max-w-6xl bg-background border rounded-lg shadow-sm overflow-hidden flex flex-col",children:h.jsx(qe,{})})}const Je=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"})),We={mode:"just",label:"Just Runner",icon:"📜",description:"Just 任务日志与执行",Workspace:F.lazy(()=>X(()=>Promise.resolve().then(()=>Je),void 0))};export{Me as JustWorkspace,We as default};