chore: gitignore 排除前端构建产物 backend/static/ (111 hash 文件)

This commit is contained in:
attacker committed 2026-06-26 15:31:34 +00:00
1 parent 83e1978ab0
commit 310196a791
112 files changed
+1 -546

No files matched your search

+1
View File
@@ -77,6 +77,7 @@ agent/aiops-agent
agent/bin/ agent/bin/
# embed 模式临时目录(前端构建产物,编译后清理) # embed 模式临时目录(前端构建产物,编译后清理)
backend/static/
backend/cmd/static/ backend/cmd/static/
# Hermes agent config (personal, not project) # Hermes agent config (personal, not project)
@@ -1,57 +0,0 @@
import{j as s,r as l}from"./vendor-codemirror-B1SGo4xl.js";import{C as b,b as v,c as w,a as C}from"./card-BIfzBCEy.js";import{B as y}from"./badge-CGJlVD3L.js";import{q as z,B as A,D as O,a as U,b as B,c as J,d as E}from"./index-Dungj95X.js";import{a as L}from"./alert-v1WaPeEX.js";import{a as G}from"./ai-D8ZhLQOB.js";import{aD as R,aA as g,L as $,ab as D,aa as F,y as f,F as H,r as S,z as P,w as K,az as q,l as _,h as X,b as Q,a as W}from"./vendor-icons-DmqcWdzX.js";function Y(e){const c=(e.metric||"").toLowerCase(),t=e.source||"目标主机",a=e.severity==="critical";return c.includes("cpu")?{rootCause:`检测到 ${t} 上 CPU 使用率达到 ${e.currentValue},持续超过阈值 ${e.threshold}。可能原因:1) 某进程存在死循环或高计算负载;2) GC 频繁触发(Java/Go 应用);3) 业务流量突增导致处理能力不足。`,impact:a?"CPU 持续高负载将导致服务响应延迟显著增加,严重时可能触发雪崩效应,影响全部依赖该节点的业务。":"CPU 使用率偏高,可能导致部分请求处理变慢,建议及时排查避免进一步恶化。",recommendations:[`登录 ${t} 执行 top/htop 定位高 CPU 进程`,"检查是否有异常定时任务或批处理任务在运行","考虑临时扩容或将部分流量调度到其他节点","优化应用代码,排查是否存在低效算法或资源泄漏"],autoFixScript:`#!/bin/bash
# CPU 高负载诊断脚本 - ${t}
echo "===== CPU TOP 10 进程 ====="
ps aux --sort=-%cpu | head -11
echo ""
echo "===== 系统负载 ====="
uptime
echo ""
echo "===== 高 CPU 进程详情 ====="
PID=$(ps aux --sort=-%cpu | sed -n '2p' | awk '{print $2}')
if [ -n "$PID" ]; then
echo "最高 CPU 进程: PID=$PID"
cat /proc/$PID/cmdline | tr '\\0' ' '
echo ""
fi
`,similarCases:0,confidence:0}:c.includes("mem")||c.includes("ram")?{rootCause:`检测到 ${t} 内存使用率达到 ${e.currentValue},接近或超过阈值 ${e.threshold}。常见原因:1) 应用内存泄漏,对象未被正确释放;2) 缓存配置过大;3) 数据库连接池未及时释放。`,impact:a?"内存即将耗尽可能触发 OOM Killer,导致关键进程被强制终止,服务中断风险极高。":"内存持续增长,长期可能导致 OOM,建议尽快排查内存使用情况。",recommendations:[`检查 ${t} 上的内存占用最高的进程`,"如果是 Java 应用,检查 JVM 堆内存配置和 GC 日志","排查是否存在内存泄漏,必要时生成堆转储分析","调整缓存大小限制或增加交换分区"],similarCases:0,confidence:0}:c.includes("disk")||c.includes("space")?{rootCause:`检测到 ${t} 磁盘使用率达到 ${e.currentValue},超过阈值 ${e.threshold}。最常见原因:1) 日志文件未配置轮转/清理;2) 临时文件堆积;3) 数据库数据文件膨胀。`,impact:a?"磁盘空间不足可能导致服务无法写入数据/日志,数据库可能崩溃,文件系统变只读,影响范围极大。":"磁盘空间告警,如不及时清理可能导致服务异常。",recommendations:[`清理 ${t} 上 30 天前的日志文件`,"检查并清理临时目录 /tmp、/var/tmp","配置 logrotate 日志轮转策略","考虑扩容磁盘或将数据迁移到对象存储"],autoFixScript:`#!/bin/bash
# 磁盘清理脚本 - ${t}
echo "===== 清理前磁盘使用 ====="
df -h /
echo ""
echo "===== 清理 30 天前日志 ====="
find /var/log -name "*.log" -mtime +30 -delete 2>/dev/null
find /var/log -name "*.gz" -mtime +30 -delete 2>/dev/null
echo ""
echo "===== 清理系统缓存 ====="
journalctl --vacuum-time=7d 2>/dev/null
echo ""
echo "===== 清理后磁盘使用 ====="
df -h /
`,similarCases:0,confidence:0}:c.includes("net")||c.includes("latency")||c.includes("bandwidth")?{rootCause:`检测到 ${t} 网络指标异常(当前值 ${e.currentValue}),可能原因:1) 上游依赖服务响应变慢;2) 网络带宽打满;3) DNS 解析延迟;4) 连接数达到上限。`,impact:a?"网络异常将导致所有经过该节点的请求超时,影响所有上游业务的可用性。":"网络延迟偏高,可能影响用户体验,建议排查网络链路。",recommendations:[`检查 ${t} 的网络连接和带宽使用情况`,"排查上游依赖服务的健康状态和响应时间","检查防火墙规则是否有限速或异常丢弃","考虑启用熔断/降级机制保障核心链路"],similarCases:0,confidence:0}:c.includes("service")||c.includes("up")||c.includes("avail")?{rootCause:`检测到 ${t} 服务不可用(指标 ${e.metric} = ${e.currentValue})。可能原因:1) 进程崩溃或被 OOM Killer 终止;2) 端口被占用或监听异常;3) 健康检查端点返回错误;4) 配置文件错误导致启动失败。`,impact:a?"服务完全不可用,所有依赖该服务的业务功能将中断,需要立即处理。":"服务可用性下降,部分功能可能受影响。",recommendations:[`立即检查 ${t} 的服务状态: systemctl status <service>`,"查看服务日志排查崩溃原因","检查端口占用和监听状态: ss -tlnp","必要时重启服务并监控恢复情况"],autoFixScript:`#!/bin/bash
# 服务恢复脚本 - ${t}
echo "===== 检查服务状态 ====="
systemctl list-units --state=failed
echo ""
echo "===== 检查端口监听 ====="
ss -tlnp | grep -E ':(80|443|8080|3306|6379|9090)'
echo ""
echo "===== 重启失败服务 ====="
systemctl reset-failed
`,similarCases:0,confidence:0}:{rootCause:`检测到 ${t} 触发告警「${e.name}」,当前指标值 ${e.currentValue} 超过阈值 ${e.threshold}。建议进一步排查具体指标数据和相关日志以确定根因。`,impact:a?"该告警级别为严重,可能影响业务正常运行,建议优先处理。":"该告警需要关注,持续恶化可能影响系统稳定性。",recommendations:[`查看 ${t} 的监控仪表盘,确认指标趋势`,"检查对应时间段的系统日志和应用日志","关联同时间段的其他告警,排查是否有连锁反应","若确认误报,调整告警规则阈值或持续时间"],similarCases:0,confidence:0}}function Z(e){const c=e.rule?.expression||"",t=c.match(/([\w_]+)\s*[><=!]+\s*([\d.]+)/),a=t?t[1]:c||"unknown",n=t?t[2]+"%":"-",r=e.value??0,d=a.includes("usage")||a.includes("cpu")||a.includes("disk")||a.includes("mem")?r.toFixed(1)+"%":r.toFixed(2),x=e.resolved_at?new Date(e.resolved_at):new Date,i=new Date(e.started_at),p=Math.max(1,Math.round((x.getTime()-i.getTime())/6e4)),h=p>=60?`${Math.floor(p/60)}小时${p%60}分钟`:`${p}分钟`,u=i.toLocaleString("zh-CN",{hour12:!1});return{id:String(e.id),name:e.rule_name||e.rule?.name||"未知告警",severity:e.severity==="critical"?"critical":e.severity==="warning"?"warning":"info",status:e.status==="firing"?"active":"resolved",source:e.target||"未知目标",metric:a,threshold:n,currentValue:d,duration:h,startedAt:u,description:e.message&&e.message!==`告警事件 ${e.id}`?e.message:e.rule?.description||`${e.rule_name||"告警"}: ${e.target} 当前值 ${d}`}}function ss(e){switch(e){case"critical":return"bg-red-500/10 text-red-400 border-red-500/30";case"warning":return"bg-amber-500/10 text-amber-400 border-amber-500/30";default:return"bg-blue-500/10 text-blue-400 border-blue-500/30"}}function es({selectedAlert:e,isAnalyzing:c,analysis:t,onAutoFix:a}){return s.jsxs(b,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:18:5",className:"bg-slate-800 border-slate-700 flex flex-col",children:[s.jsx(v,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:19:7",className:"border-b border-slate-700 pb-3",children:s.jsxs(w,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:20:9",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(R,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:21:11",className:"h-5 w-5 text-purple-400"}),"AI 分析结果"]})}),s.jsx(z,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:25:7",className:"flex-1",children:s.jsx(C,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:26:9",className:"p-4",children:e?c?s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:33:13",className:"flex flex-col items-center justify-center h-64",children:[s.jsx($,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:34:15",className:"h-8 w-8 animate-spin text-purple-400 mb-4"}),s.jsx("p",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:35:15",className:"text-slate-400",children:"AI正在分析告警根因..."}),s.jsx("p",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:36:15",className:"text-xs text-slate-500 mt-2",children:"正在关联日志、指标和历史案例"})]}):t?s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:39:13",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:41:15",className:"flex items-center justify-between p-3 bg-purple-500/10 rounded-lg border border-purple-500/30",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:42:17",className:"flex items-center gap-2",children:[s.jsx(g,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:43:19",className:"h-5 w-5 text-purple-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:44:19",className:"text-slate-300",children:"分析置信度"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:46:17",className:"flex items-center gap-2",children:[s.jsx("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:47:19",className:"w-32 h-2 bg-slate-700 rounded-full overflow-hidden",children:s.jsx("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:48:21",className:"h-full bg-gradient-to-r from-purple-500 to-pink-500",style:{width:`${t.confidence}%`}})}),s.jsxs("span",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:53:19",className:"text-purple-400 font-bold",children:[t.confidence,"%"]})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:58:15",className:"space-y-2",children:[s.jsxs("h4",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:59:17",className:"text-sm font-medium text-slate-300 flex items-center gap-2",children:[s.jsx(D,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:60:19",className:"h-4 w-4 text-red-400"}),"根因分析"]}),s.jsx("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:63:17",className:"p-3 bg-slate-900 rounded-lg border border-slate-700",childre Line truncated
告警名称:${o.name}
严重程度:${o.severity}
目标:${o.source}
指标:${o.metric} = ${o.currentValue}(阈值 ${o.threshold})
持续:${o.duration}
描述:${o.description}
返回 JSON 格式(字段名用 snake_case):
{
"root_cause": "根因分析(2-3句)",
"impact": "影响评估(1-2句)",
"recommendations": ["建议1", "建议2", "建议3"],
"auto_fix_script": "#!/bin/bash\\n...\\n(可选的自动修复脚本,无则 null)",
"similar_cases": 数字(类似案例数预估),
"confidence": 数字(0-100 置信度)
}`,N=await G.chat([{role:"user",content:M}]),I=N?.content||N?.message?.content||"";i(I?as(I,m):m)}catch{i(m)}finally{d(!1)}},k=()=>{h(!0)},V=o=>{switch(o){case"critical":return s.jsx(W,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:128:16",className:"h-4 w-4 text-red-400"});case"warning":return s.jsx(D,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:130:16",className:"h-4 w-4 text-amber-400"});default:return s.jsx(f,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:132:16",className:"h-4 w-4 text-blue-400"})}};return s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:137:5",className:"space-y-6",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:139:7",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:140:9",className:"flex items-center gap-3",children:[s.jsx("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:141:11",className:"w-10 h-10 rounded-lg bg-gradient-to-br from-amber-500 to-orange-500 flex items-center justify-center",children:s.jsx(g,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:142:13",className:"h-5 w-5 text-white"})}),s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:144:11",children:[s.jsx("h1",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:145:13",className:"text-2xl font-bold text-slate-100",children:"AI 告警智能分析"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:146:13",className:"text-sm text-slate-500",children:"基于大模型的告警根因分析和自动修复建议"})]})]}),s.jsx("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:149:9",className:"flex items-center gap-2",children:s.jsxs(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:150:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[s.jsx(R,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:151:13",className:"h-3 w-3 mr-1"}),"AI 引擎运行中"]})})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:157:7",className:"grid grid-cols-2 gap-6 h-[calc(100vh-200px)]",children:[s.jsxs(b,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:159:9",className:"bg-slate-800 border-slate-700 flex flex-col",children:[s.jsx(v,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:160:11",className:"border-b border-slate-700 pb-3",children:s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:161:13",className:"flex items-center justify-between",children:[s.jsxs(w,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:162:15",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(_,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:163:17",className:"h-5 w-5 text-amber-400"}),"活跃告警"]}),s.jsxs(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:166:15",className:"bg-red-500/10 text-red-400 border-red-500/30",children:[e.filter(o=>o.status==="active").length," 个活跃"]})]})}),s.jsx(z,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:171:11",className:"flex-1",children:s.jsx(C,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:172:13",className:"p-4 space-y-3",children:t?s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:174:17",className:"flex flex-col items-center justify-center h-32",children:[s.jsx($,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:175:19",className:"h-6 w-6 animate-spin text-slate-500 mb-2"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:176:19",className:"text-sm text-slate-500",children:"加载告警数据..."})]}):e.length===0?s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:179:17",className:"flex flex-col items-center justify-center h-32 text-slate-500",children:[s.jsx(f,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:180:19",className:"h-8 w-8 mb-2 opacity-50"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:181:19",className:"text-sm",children:"暂无告警事件"})]}):e.map(o=>s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:185:17",className:`p-4 rounded-lg border cursor-pointer transition-all ${n?.id===o.id?"border-purple-500 bg-purple-500/10":"border-slate-700 bg-slate-800/50 hover:border-slate-600"}`,onClick:()=>T(o),children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:194:19",className:"flex items-start justify-between mb-2",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:195:21",className:"flex items-center gap-2",children:[V(o.severity),s.jsx("span",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:197:23",className:"font-medium text-slate-100",children:o.name})]}),s.jsx(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:199:21",variant:"outline",className:ss(o.severity),children:o.severity==="critical"?"严重":o.severity==="warning"?"警告":"提示"})]}),s.jsx("div",{"code-path":"src Line truncated
@@ -1,19 +0,0 @@
import{r as x,j as s,b as _s}from"./vendor-codemirror-B1SGo4xl.js";import{C as D,b as T,c as Y,a as q}from"./card-BIfzBCEy.js";import{aa as ks,a1 as Es,Z as H,m as ds,B as N,q as Ls,D as Rs,a as Ms,b as Ps,c as Ds,d as Ts,e as qs,t as w}from"./index-Dungj95X.js";import{I as C}from"./input-CXoUQQLm.js";import{B as k}from"./badge-CGJlVD3L.js";import{L as y}from"./label-CMpUoC87.js";import{S as ss,a as ts,b as es,c as as,d as ns}from"./select-CiTqGGhE.js";import{S as Us}from"./switch-Bxiq4EHp.js";import{d as U}from"./dashboard-D0JujfHp.js";import{a as Bs}from"./alert-v1WaPeEX.js";import{a as Fs}from"./agent-CZzlLHxR.js";import{a as $}from"./ai-D8ZhLQOB.js";import{aA as zs,C as Hs,p as os,l as ms,A as xs,F as hs,aa as Vs,L as E,r as Ks,b6 as cs,am as Gs,ap as Ws,U as Qs,b7 as Zs,ay as Js,aR as Xs}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function Ys(e,n=[]){let i=[];function r(a,d){const m=x.createContext(d);m.displayName=a+"Context";const l=i.length;i=[...i,d];const g=h=>{const{scope:u,children:c,...p}=h,A=u?.[e]?.[l]||m,j=x.useMemo(()=>p,Object.values(p));return s.jsx(A.Provider,{value:j,children:c})};g.displayName=a+"Provider";function v(h,u){const c=u?.[e]?.[l]||m,p=x.useContext(c);if(p)return p;if(d!==void 0)return d;throw new Error(`\`${h}\` must be used within \`${a}\``)}return[g,v]}const o=()=>{const a=i.map(d=>x.createContext(d));return function(m){const l=m?.[e]||a;return x.useMemo(()=>({[`__scope${e}`]:{...m,[e]:l}}),[m,l])}};return o.scopeName=e,[r,st(o,...n)]}function st(...e){const n=e[0];if(e.length===1)return n;const i=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){const d=r.reduce((m,{useScope:l,scopeName:g})=>{const h=l(a)[`__scope${g}`];return{...m,...h}},{});return x.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return i.scopeName=n.scopeName,i}var tt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],V=tt.reduce((e,n)=>{const i=ks(`Primitive.${n}`),r=x.forwardRef((o,a)=>{const{asChild:d,...m}=o,l=d?i:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(l,{...m,ref:a})});return r.displayName=`Primitive.${n}`,{...e,[n]:r}},{}),B={exports:{}},F={};var rs;function et(){if(rs)return F;rs=1;var e=_s();function n(h,u){return h===u&&(h!==0||1/h===1/u)||h!==h&&u!==u}var i=typeof Object.is=="function"?Object.is:n,r=e.useState,o=e.useEffect,a=e.useLayoutEffect,d=e.useDebugValue;function m(h,u){var c=u(),p=r({inst:{value:c,getSnapshot:u}}),A=p[0].inst,j=p[1];return a(function(){A.value=c,A.getSnapshot=u,l(A)&&j({inst:A})},[h,c,u]),o(function(){return l(A)&&j({inst:A}),h(function(){l(A)&&j({inst:A})})},[h]),d(c),c}function l(h){var u=h.getSnapshot;h=h.value;try{var c=u();return!i(h,c)}catch{return!0}}function g(h,u){return u()}var v=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?g:m;return F.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:v,F}var is;function at(){return is||(is=1,B.exports=et()),B.exports}var nt=at();function ot(){return nt.useSyncExternalStore(ct,()=>!0,()=>!1)}function ct(){return()=>{}}var K="Avatar",[rt]=Ys(K),[it,us]=rt(K),As=x.forwardRef((e,n)=>{const{__scopeAvatar:i,...r}=e,[o,a]=x.useState("idle");return s.jsx(it,{scope:i,imageLoadingStatus:o,onImageLoadingStatusChange:a,children:s.jsx(V.span,{...r,ref:n})})});As.displayName=K;var fs="AvatarImage",pt=x.forwardRef((e,n)=>{const{__scopeAvatar:i,src:r,onLoadingStatusChange:o=()=>{},...a}=e,d=us(fs,i),m=lt(r,a),l=Es(g=>{o(g),d.onImageLoadingStatusChange(g)});return H(()=>{m!=="idle"&&l(m)},[m,l]),m==="loaded"?s.jsx(V.img,{...a,ref:n,src:r}):null});pt.displayName=fs;var gs="AvatarFallback",Is=x.forwardRef((e,n)=>{const{__scopeAvatar:i,delayMs:r,...o}=e,a=us(gs,i),[d,m]=x.useState(r===void 0);return x.useEffect(()=>{if(r!==void 0){const l=window.setTimeout(()=>m(!0),r);return()=>window.clearTimeout(l)}},[r]),d&&a.imageLoadingStatus!=="loaded"?s.jsx(V.span,{...o,ref:n}):null});Is.displayName=gs;function ps(e,n){return e?n?(e.src!==n&&(e.src=n),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function lt(e,{referrerPolicy:n,crossOrigin:i}){const r=ot(),o=x.useRef(null),a=r?(o.current||(o.current=new window.Image),o.current):null,[d,m]=x.useState(()=>ps(a,e));return H(()=>{m(ps(a,e))},[a,e]),H(()=>{const l=h=>()=>{m(h)};if(!a)return;const g=l("loaded"),v=l("error");return a.addEventListener("load",g),a.addEventListener("error",v),n&&(a.referrerPolicy=n),typeof i=="string"&&(a.crossOrigin=i),()=>{a.removeEventListener("load",g),a.removeEventListener("error",v)}},[a,i,n]),d}var dt=As,mt=Is;function xt({className:e,...n}){return s.jsx(dt,{"code-path":"src/components/ui/avatar.tsx:11:5","data-slot":"avatar",className:ds("relative flex size-8 shrink-0 overflow-hidden rounded-full",e),...n})}function ht({className:e,...n}){return s.jsx(mt,{"code-path":"src/components/ui/avatar.tsx:40:5","data-slot":"avatar-fallback",className:ds("bLine truncated
${i.join(`
`)}`}async function ls(){const e=await Fs.getLatest(),n=Array.isArray(e)?e:e?.list||[];if(!n.length)return"(当前无 Agent 上报数据,可能未部署监控 Agent)";const i=n.slice(0,20).map((a,d)=>{const m=a.cpu_usage??"-",l=a.mem_usage??"-";return`${d+1}. ${a.hostname||"-"} | CPU:${m}% | 内存:${l}% (${a.mem_used??"-"}/${a.mem_total??"-"}GB) | 核数:${a.cpu_cores??"-"} | 上报:${(a.report_time||"").slice(0,16)}`}),r=n.filter(a=>(a.cpu_usage??0)>=80||(a.mem_usage??0)>=80),o=r.length?`
⚠️ 高负载主机 ${r.length} 台:${r.map(a=>`${a.hostname}(CPU${a.cpu_usage}%/MEM${a.mem_usage}%)`).join("、")}`:"";return`Agent 监控的 ${n.length} 台主机实时指标:
${i.join(`
`)}${o}`}async function ft(){const[e,n,i]=await Promise.all([U.getStats().catch(()=>null),U.getAlerts(10).catch(()=>null),U.getReleases(10).catch(()=>null)]),r=e||{},o=r.server_stats||{},a=r.kubernetes_stats||{},d=r.alert_stats||{},m=r.pipeline_stats||{},l=r.cost_stats||{},g=`服务器:${o.total??0}(运行${o.running??0}) | Kubernetes集群:${a.total??0} 节点:${a.total_nodes??0} Pod:${a.total_pods??0} | 告警:${d.total??0}(firing ${d.firing??0}) | 流水线:${m.total??0}(成功率${m.success_rate??0}%) | 本月成本:¥${l.month_cost??0}`,v=Array.isArray(n)?n:n?.list||[],h=Array.isArray(i)?i:i?.list||[],u=v.slice(0,10).map((p,A)=>`${A+1}.[${p.severity||"?"}|${p.status||"?"}] ${p.rule_name||"-"} → ${p.target||"-"}`),c=h.slice(0,10).map((p,A)=>`${A+1}.${p.app_name||"-"} ${p.version||""} [${p.environment||"-"}/${p.status||"-"}] by ${p.author||"-"}`);return`平台概览:${g}
最近告警:
${u.join(`
`)||"(无)"}
最近发布:
${c.join(`
`)||"(无)"}`}const gt=[{id:"alerts",name:"分析今日告警",icon:ms,prompt:"帮我分析以下最近的告警事件,给出根因分析和处置建议(按严重程度排序,给出具体处置步骤)",contextLoader:At},{id:"performance",name:"性能瓶颈分析",icon:xs,prompt:"分析以下主机实时指标,找出 CPU/内存使用率最高的主机并给出性能优化建议",contextLoader:ls},{id:"report",name:"生成运维报告",icon:hs,prompt:"基于以下平台实时数据,生成一份简洁的今日运维报告,包括资源概览、告警情况和发布状态,用 Markdown 格式输出",contextLoader:ft},{id:"optimize",name:"资源优化建议",icon:Vs,prompt:"根据以下主机资源使用数据,提供成本优化和容量规划建议(识别闲置/过载主机,给出缩容/扩容建议)",contextLoader:ls}];function It(e){return new Date(e).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})}function Rt(){const[e,n]=x.useState([]),[i,r]=x.useState(""),[o,a]=x.useState(!1),d=x.useRef(null);x.useEffect(()=>()=>d.current?.abort(),[]);const[m,l]=x.useState(!1),[g,v]=x.useState(!1),[h,u]=x.useState(!1),[c,p]=x.useState(ut),[A,j]=x.useState(!1),[L,G]=x.useState(null),W=()=>{try{return crypto.randomUUID()}catch{}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const I=Math.random()*16|0;return(t==="x"?I:I&3|8).toString(16)})},[Q,vs]=x.useState(()=>W()),Z=x.useRef(null),js=()=>Z.current?.scrollIntoView({behavior:"smooth"});x.useEffect(()=>{js()},[e]);const Os=async()=>{try{const t=await $.getConfig();p(t),j(!!(t.enabled&&t.configured))}catch{j(!1)}},bs=async()=>{try{const I=(await $.getHistory(Q))?.list||[];n(I.map(f=>({id:String(f.id),role:f.role,content:f.content,timestamp:f.created_at})))}catch{}};x.useEffect(()=>{Os(),bs()},[]);const Ns=t=>{const I=z.find(f=>f.id===t);p(f=>({...f,provider:t,endpoint:I?.defaultEndpoint||f.endpoint,model:I?.models[0]||f.model}))},Ss=async()=>{if(c.enabled&&!c.api_key&&c.provider!=="ollama"){w.error("请填写 API Key");return}v(!0);try{const t=await $.saveConfig(c);p(t),j(!!(t.enabled&&t.configured)),w.success("配置已保存"),l(!1)}catch(t){w.error(t instanceof Error?t.message:"保存失败")}finally{v(!1)}},ys=async()=>{u(!0);try{await $.testConnection(),w.success("LLM 服务连接成功")}catch(t){w.error(t instanceof Error?t.message:"连接失败")}finally{u(!1)}},J=async t=>{const I={id:Date.now().toString(),role:"user",content:t,timestamp:new Date().toISOString()},f=(Date.now()+1).toString(),$s=[...e,I,{id:f,role:"assistant",content:"",timestamp:new Date().toISOString()}];n($s),a(!0);const M=new AbortController;d.current=M;let P=!1;try{const _=[...e,I].slice(-10).map(O=>({role:O.role,content:O.content}));await $.chatStream(_,O=>{P=!0,n(S=>S.map(b=>b.id===f?{...b,content:b.content+O}:b))},M.signal,Q)}catch(_){if(M.signal.aborted)n(O=>O.map(S=>S.id===f?{...S,content:S.content||"(已停止生成)",isStopped:!0}:S));else{const O=_ instanceof Error?_.message:"对话失败";n(S=>S.map(b=>b.id===f?{...b,content:P?b.content+`
⚠️ ${O}`:`⚠️ ${O}`,isError:!P}:b))}}finally{a(!1),d.current=null}},X=async()=>{const t=i.trim();!t||o||(r(""),await J(t))},ws=async t=>{if(o||L)return;if(!A||!t.contextLoader){r(t.prompt);return}G(t.id);let I="";try{I=await t.contextLoader()}catch{I="(平台数据加载失败,请稍后重试或检查后端服务)"}finally{G(null)}const f=`${t.prompt}
【平台实时数据】
${I}`;await J(f)},Cs=async()=>{try{await $.clearHistory()}catch{}const t=W();vs(t),n([]),r(""),w.success("已开始新对话")},R=z.find(t=>t.id===c.provider);return s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:371:5",className:"space-y-6",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:373:7",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:374:9",className:"flex items-center gap-3",children:[s.jsx("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:375:11",className:"w-10 h-10 rounded-lg bg-gradient-to-br from-purple-500 to-pink-500 flex items-center justify-center",children:s.jsx(zs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:376:13",className:"h-5 w-5 text-white"})}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:378:11",children:[s.jsx("h1",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:379:13",className:"text-2xl font-bold text-slate-100",children:"AIOps 智能助手"}),s.jsx("p",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:380:13",className:"text-sm text-slate-500",children:"AI 驱动的智能运维助手"})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:383:9",className:"flex items-center gap-3",children:[A?s.jsxs(k,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:385:13",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[s.jsx(Hs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:386:15",className:"h-3 w-3 mr-1"}),c.model]}):s.jsx(k,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:390:13",variant:"outline",className:"border-amber-500/30 text-amber-400 bg-amber-500/10",children:"未配置"}),s.jsxs(N,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:394:11",variant:"outline",className:"border-slate-700 text-slate-300",onClick:()=>l(!0),children:[s.jsx(os,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:395:13",className:"h-4 w-4 mr-2"}),"模型配置"]})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:401:7",className:"grid grid-cols-4 gap-6 h-[calc(100vh-200px)]",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:403:9",className:"col-span-1 space-y-4",children:[s.jsxs(D,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:404:11",className:"bg-slate-800 border-slate-700",children:[s.jsx(T,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:405:13",className:"pb-3",children:s.jsx(Y,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:406:15",className:"text-sm text-slate-300",children:"快速操作"})}),s.jsx(q,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:408:13",className:"space-y-2",children:gt.map(t=>s.jsxs(N,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:410:17",variant:"ghost",className:"w-full justify-start text-slate-300 hover:text-slate-100 hover:bg-slate-700",disabled:o||L!==null,onClick:()=>ws(t),children:[L===t.id?s.jsx(E,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:418:21",className:"h-4 w-4 mr-2 shrink-0 animate-spin"}):s.jsx(t.icon,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:420:21",className:"h-4 w-4 mr-2 shrink-0"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:422:19",className:"text-sm",children:t.name}),A&&t.contextLoader&&s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:424:21",className:"ml-auto text-[10px] text-emerald-400/60 shrink-0",children:"实时"})]},t.id))})]}),s.jsxs(D,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:431:11",className:"bg-slate-800 border-slate-700",children:[s.jsx(T,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:432:13",className:"pb-3",children:s.jsx(Y,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:433:15",className:"text-sm text-slate-300",children:"能力展示"})}),s.jsxs(q,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:435:13",className:"space-y-3",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:436:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(ms,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:437:17",className:"h-4 w-4 text-amber-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:438:17",children:"智能告警分析"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:440:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(xs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:441:17",className:"h-4 w-4 text-blue-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:442:17",children:"性能瓶颈识别"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:444:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(hs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:445:17",className:"h-4 w-4 text-emerald-400"}),s.jsx("s Line truncated
@@ -1 +0,0 @@
import{j as e,r as g}from"./vendor-codemirror-B1SGo4xl.js";import{C as F,b as B,c as K,a as H}from"./card-BIfzBCEy.js";import{S as Z}from"./stat-strip-BSQFwFzG.js";import{B as q}from"./index-Dungj95X.js";import{B as G}from"./badge-CGJlVD3L.js";import{T as J,a as Q,b as D,c as $}from"./tabs-D87nAyJR.js";import{S as ee,a as se,b as te,c as ae,d as M}from"./select-CiTqGGhE.js";import{d as ce}from"./dashboard-D0JujfHp.js";import{s as ie}from"./server-P3fi-cmJ.js";import{a as z}from"./alert-v1WaPeEX.js";import{H as X,L as _,D as ne,a4 as Y,aA as re,aB as oe,A as le,aC as de,u as pe,l as L,aa as W,aD as me,g as xe,aE as he,N as ye,s as ve,aF as Ae}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function ue({forecasts:c,loading:i}){return e.jsxs(F,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:14:5",className:"bg-slate-800 border-slate-700",children:[e.jsx(B,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:15:7",className:"pb-3",children:e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:16:9",className:"flex items-center justify-between",children:[e.jsxs(K,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:17:11",className:"text-slate-100 flex items-center gap-2",children:[e.jsx(X,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:18:13",className:"h-5 w-5 text-amber-400"}),"容量规划预警"]}),e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:21:11",className:"text-xs text-slate-500",children:"基于日均增长率推算阈值触及时间"})]})}),e.jsx(H,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:24:7",children:i?e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:26:11",className:"flex items-center justify-center py-12 text-slate-500",children:[e.jsx(_,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:27:13",className:"h-5 w-5 animate-spin mr-2"})," 加载容量数据..."]}):c.length===0?e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:30:11",className:"text-center py-12 text-slate-500",children:"暂无容量数据"}):e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:32:11",className:"space-y-4",children:c.map((a,p)=>e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:34:15",className:"p-4 rounded-lg border border-slate-700 bg-slate-800/50",children:[e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:35:17",className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:36:19",className:"flex items-center gap-2",children:[e.jsx(ne,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:37:21",className:"h-5 w-5 text-blue-400"}),e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:38:21",className:"font-medium text-slate-200",children:a.resource})]}),e.jsx(G,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:40:19",variant:"outline",className:a.daysUntilThreshold<=7?"border-red-500/30 text-red-400 bg-red-500/10":a.daysUntilThreshold<=14?"border-amber-500/30 text-amber-400 bg-amber-500/10":"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:a.daysUntilThreshold<=7?"紧急":a.daysUntilThreshold<=14?"警告":"正常"})]}),e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:58:17",className:"mb-4",children:[e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:59:19",className:"flex items-center justify-between text-sm mb-1",children:[e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:60:21",className:"text-slate-400",children:"7天使用率预测"}),e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:61:21",className:"text-slate-400",children:a.daysUntilThreshold>=999?"增长平缓,暂无触顶风险":e.jsxs(e.Fragment,{children:["预计"," ",e.jsxs("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:67:27",className:"text-amber-400 font-medium",children:[a.daysUntilThreshold,"天"]})," ","后达到阈值"]})})]}),e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:73:19",className:"h-3 bg-slate-700 rounded-full overflow-hidden",children:e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:74:21",className:"flex h-full",children:[e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:75:23",className:"bg-blue-500",style:{width:`${a.currentUsage}%`}}),e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:76:23",className:"bg-gradient-to-r from-blue-500/50 to-amber-500",style:{width:`${Math.max(0,a.predictedUsage-a.currentUsage)}%`}})]})}),e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:84:19",className:"flex items-center justify-between text-xs mt-1",children:[e.jsxs("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:85:21",Line truncated
@@ -1 +0,0 @@
import{j as e,r as a}from"./vendor-codemirror-B1SGo4xl.js";import{J as ct,D as K,a as Q,b as V,c as U,d as H,e as ie,B as m,t as d,f as Oe}from"./index-Dungj95X.js";import{I as _}from"./input-CXoUQQLm.js";import{B as A}from"./badge-CGJlVD3L.js";import{C as W,a as J,b as Te,c as _e}from"./card-BIfzBCEy.js";import{S as at}from"./stat-strip-BSQFwFzG.js";import{S as ne,a as se,b as oe,c as ce,d as T}from"./select-CiTqGGhE.js";import{T as lt,a as it,b as F,c as B}from"./tabs-D87nAyJR.js";import{S as Le}from"./switch-Bxiq4EHp.js";import{a as R}from"./alert-v1WaPeEX.js";import{a as E}from"./alert-center-Dr8niqD0.js";import{u as ze,q as ae,b as Ge,a as mt}from"./unwrap-DPwG25JA.js";import{u as $}from"./useMutation-BkCR1EeO.js";import{a as Ce}from"./agent-CZzlLHxR.js";import{I as dt,l as Me,ab as pt,aZ as le,y as $e,U as xt,a4 as ht,w as Ie,f as ut,R as te,P as re,b as gt,a_ as jt,aB as Ct,aJ as ft,T as vt,S as At,x as Nt,ao as yt}from"./vendor-icons-DmqcWdzX.js";import{L as j}from"./label-CMpUoC87.js";import{A as bt}from"./AlertRuleDialog-BmYLySxp.js";import{T as wt}from"./textarea-BxfjmLq5.js";import"./index-5FEebgvX.js";function St(t){return{id:String(t.id),title:t.rule_name||t.title||`告警 #${t.id}`,description:t.message||t.description||"",severity:t.severity||"info",status:t.status||"firing",source:t.target||t.source||"",service:t.service||"",metric:t.metric||"",value:t.value||0,threshold:t.threshold||0,startedAt:t.started_at||t.startedAt||t.created_at||new Date().toISOString(),resolvedAt:t.resolved_at||t.resolvedAt,labels:typeof t.labels=="string"?(()=>{try{return JSON.parse(t.labels||"{}")}catch{return{}}})():t.labels||{},annotations:typeof t.annotations=="string"?(()=>{try{return JSON.parse(t.annotations||"{}")}catch{return{}}})():t.annotations||{}}}function fe(t){switch(t){case"critical":return e.jsxs(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:107:14",variant:"destructive",className:"gap-1",children:[e.jsx(pt,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:107:61",className:"w-3 h-3"}),"严重"]});case"warning":return e.jsxs(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:109:14",variant:"default",className:"bg-orange-500 gap-1",children:[e.jsx(Me,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:109:71",className:"w-3 h-3"}),"警告"]});case"info":return e.jsxs(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:111:14",variant:"default",className:"bg-blue-500 gap-1",children:[e.jsx(dt,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:111:69",className:"w-3 h-3"}),"信息"]});default:return e.jsx(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:113:14",variant:"secondary",children:"未知"})}}function Dt(t){switch(t){case"firing":return e.jsxs(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:121:14",variant:"destructive",className:"gap-1 animate-pulse",children:[e.jsx(ht,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:121:75",className:"w-3 h-3"}),"触发中"]});case"acknowledged":return e.jsxs(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:123:14",variant:"default",className:"bg-yellow-500 gap-1",children:[e.jsx(xt,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:123:71",className:"w-3 h-3"}),"已确认"]});case"resolved":return e.jsxs(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:125:14",variant:"default",className:"bg-green-500 gap-1",children:[e.jsx($e,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:125:70",className:"w-3 h-3"}),"已解决"]});case"suppressed":return e.jsxs(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:127:14",variant:"secondary",className:"gap-1",children:[e.jsx(le,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:127:59",className:"w-3 h-3"}),"已静默"]});default:return e.jsx(A,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:129:14",variant:"secondary",children:"未知"})}}function kt(t){return{dingtalk:"钉钉",wechat:"企业微信",feishu:"飞书",email:"邮件",sms:"短信",webhook:"Webhook"}[t]||t}function Tt(t){return{firing:t.filter(s=>s.status==="firing").length,critical:t.filter(s=>s.severity==="critical"&&s.status==="firing").length,warning:t.filter(s=>s.severity==="warning"&&s.status==="firing").length,resolved:t.filter(s=>s.status==="resolved").length}}function _t(){return ze({queryKey:ae.agentAlertRules(),queryFn:async()=>{const t=await Ce.listRules();return Ge(t).map(n=>({id:n.id,name:String(n.name||""),description:`${n.metric} ${n.operator} ${n.threshold}%`,enabled:!!n.enabled,severity:"warning",type:String(n.metric||""),hostname:String(n.hostname||"全部主机"),threshold:Number(n.threshold||0)}))},staleTime:3e4})}function Rt(Line truncated
@@ -1 +0,0 @@
import{r as l,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as w,a as M,b as ee,c as te,d as se}from"./card-BIfzBCEy.js";import{f as _,B as A,t as E,D as oe,a as ae,b as ne,c as re,d as ce,e as le}from"./index-Dungj95X.js";import{T as ie,a as me,b as H,c as I}from"./tabs-D87nAyJR.js";import{a as g}from"./alert-v1WaPeEX.js";import{I as Y}from"./input-CXoUQQLm.js";import{B as f}from"./badge-CGJlVD3L.js";import{T as $,a as Q,b as R,c as i,d as X,e as c}from"./table-B2F10oba.js";import{S as de,L as O,y as J,t as V,l as z,T as B,p as q,P as U,b as xe}from"./vendor-icons-DmqcWdzX.js";import{S as P}from"./switch-Bxiq4EHp.js";import{C as G}from"./checkbox-Bu55mX0G.js";import{r as pe,g as he,C as K,A as ge}from"./AlertRuleDialog-BmYLySxp.js";import{L as D}from"./label-CMpUoC87.js";import{T as be}from"./textarea-BxfjmLq5.js";import{R as Ae,A as je,C as ue,X as Ne,Y as ve,T as fe,a as W}from"./AreaChart-yrR-Mxho.js";import"./index-5FEebgvX.js";function Te({alerts:m,loading:T,onReload:d}){_();const[p,u]=l.useState(""),[o,h]=l.useState("all"),[b,C]=l.useState("all"),j=m.filter(t=>{const r=(t.rule&&t.rule.name||t.message||"").toLowerCase().includes(p.toLowerCase())||(t.target||"").toLowerCase().includes(p.toLowerCase()),N=o==="all"||t.severity===o,v=b==="all"||t.status===b;return r&&N&&v}),y=t=>{switch(t){case"critical":return e.jsxs(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:45:11",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(z,{"code-path":"src/components/monitor/AlertEventsTab.tsx:46:13",className:"h-3 w-3 mr-1"}),"严重"]});case"warning":return e.jsxs(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:52:11",variant:"outline",className:"border-amber-500/30 text-amber-400 bg-amber-500/10",children:[e.jsx(z,{"code-path":"src/components/monitor/AlertEventsTab.tsx:53:13",className:"h-3 w-3 mr-1"}),"警告"]});case"info":return e.jsxs(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:59:11",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10",children:[e.jsx(V,{"code-path":"src/components/monitor/AlertEventsTab.tsx:60:13",className:"h-3 w-3 mr-1"}),"提示"]});default:return null}},a=t=>{switch(t){case"firing":return e.jsx(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:73:11",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10 animate-pulse",children:"触发中"});case"resolved":return e.jsx(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:79:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:"已恢复"});default:return null}},x=async t=>{try{await g.acknowledge(t),d()}catch(r){console.error("Failed to acknowledge alert:",r)}};return e.jsxs("div",{"code-path":"src/components/monitor/AlertEventsTab.tsx:98:5",className:"mt-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertEventsTab.tsx:100:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertEventsTab.tsx:101:9",className:"relative w-64",children:[e.jsx(de,{"code-path":"src/components/monitor/AlertEventsTab.tsx:102:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(Y,{"code-path":"src/components/monitor/AlertEventsTab.tsx:103:11",placeholder:"搜索告警名称或目标...",value:p,onChange:t=>u(t.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]}),e.jsxs("select",{"code-path":"src/components/monitor/AlertEventsTab.tsx:110:9",value:o,onChange:t=>h(t.target.value),className:"h-9 px-3 rounded-md bg-slate-800/50 border border-slate-700 text-slate-200 text-sm",children:[e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:115:11",value:"all",children:"全部级别"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:116:11",value:"critical",children:"严重"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:117:11",value:"warning",children:"警告"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:118:11",value:"info",children:"提示"})]}),e.jsxs("select",{"code-path":"src/components/monitor/AlertEventsTab.tsx:120:9",value:b,onChange:t=>C(t.target.value),className:"h-9 px-3 rounded-md bg-slate-800/50 border border-slate-700 text-slate-200 text-sm",children:[e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:125:11",value:"all",children:"全部状态"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:126:11",value:"firing",children:"触发中"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:127:11",value:"resolved",children:"已恢复"})]})]}),e.jsx(w,{"code-path":"src/components/monitor/AlertEventsTab.tsx:132:7",className:"bg-slate-900 border-slate-800",children:e.jsx(M,{"code-path":"src/components/monitor/AlertEventsTab.tsx:133:9",className:Line truncated
@@ -1,14 +0,0 @@
import{j as e,r as x}from"./vendor-codemirror-B1SGo4xl.js";import{D as v,a as k,b as w,c as S,d as _,e as C,B as A}from"./index-Dungj95X.js";import{I as h}from"./input-CXoUQQLm.js";import{L as c}from"./label-CMpUoC87.js";import{T as L}from"./textarea-BxfjmLq5.js";import{S as E}from"./switch-Bxiq4EHp.js";import{a as j}from"./alert-v1WaPeEX.js";import{t as F,ap as P,aq as I,ar as q,L as B}from"./vendor-icons-DmqcWdzX.js";function b(o){if(!o)return[];if(Array.isArray(o))return o;if(typeof o=="string"){try{const r=JSON.parse(o);if(Array.isArray(r))return r}catch{}return o.split(",").map(r=>r.trim()).filter(Boolean)}return[]}const T=["email","sms","dingtalk","wechat","webhook"],H={dingtalk:"钉钉",wechat:"企业微信",email:"邮件",sms:"短信",webhook:"Webhook"};function z(o,r){if(!o)return null;const a=r.find(i=>String(i.id)===String(o));return a?{type:a.type||"unknown",name:a.name||a.type||"未命名",isLegacy:!1}:T.includes(o)?{type:o,name:H[o]||o,isLegacy:!0}:null}const W=[{key:"dingtalk",label:"钉钉",placeholder:`{
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=***",
"secret": "SECxxx"
}`},{key:"wechat",label:"企业微信",placeholder:`{
"webhook": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=***"
}`},{key:"email",label:"邮件",placeholder:`{
"to": "ops@ezops.io",
"subject": "告警通知"
}`},{key:"sms",label:"短信",placeholder:`{
"phones": "13800138000",
"sign": "AIOps"
}`},{key:"webhook",label:"Webhook",placeholder:`{
"url": "https://example.com/alert"
}`}];function y(o){return W.find(r=>r.key===o)?.label||o}function f(o){switch(o){case"email":return q;case"sms":return I;case"dingtalk":case"wechat":return P;default:return F}}function Z(o,r){const a=b(o.notify_channels);return a.length===0?e.jsx("span",{"code-path":"src/components/monitor/alertShared.tsx:76:33",className:"text-xs text-slate-600",children:"--"}):e.jsx("div",{"code-path":"src/components/monitor/alertShared.tsx:78:5",className:"flex flex-wrap gap-1",children:a.map(i=>{const m=z(i,r);if(!m)return null;const p=f(m.type);return e.jsxs("span",{"code-path":"src/components/monitor/alertShared.tsx:84:11",title:`${m.name} (${y(m.type)})`,className:"inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-slate-800 text-slate-300",children:[e.jsx(p,{"code-path":"src/components/monitor/alertShared.tsx:89:13",className:"h-3 w-3 text-slate-400"}),m.name]},i)})})}const D={name:"",description:"",type:"metric",source:"prometheus",expression:"",severity:"warning",duration:300,notify_channels:[]};function G({open:o,onOpenChange:r,editingRule:a,notifyChannels:i,onSaved:m,defaultType:p="metric"}){const[s,l]=x.useState({...D}),[u,g]=x.useState(!1);x.useEffect(()=>{if(o)if(a)l({name:a.name||"",description:a.description||"",type:a.type||"metric",source:a.source||"prometheus",expression:a.expression||"",severity:a.severity||"warning",duration:a.duration||300,notify_channels:b(a.notify_channels)});else{const t={...D,type:p};p==="log"&&(t.source="loki"),l(t)}},[o,a,p]);const N=t=>{l(n=>({...n,notify_channels:n.notify_channels.includes(t)?n.notify_channels.filter(d=>d!==t):[...n.notify_channels,t]}))},R=async()=>{if(!(!s.name.trim()||!s.expression.trim())){g(!0);try{const t={name:s.name.trim(),description:s.description.trim(),type:s.type,source:s.source,expression:s.expression.trim(),severity:s.severity,duration:Number(s.duration)||0,notify_channels:s.notify_channels};a?await j.updateRule(a.id,t):await j.createRule(t),r(!1),m()}catch(t){console.error("Failed to save rule:",t)}finally{g(!1)}}};return e.jsx(v,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:111:5",open:o,onOpenChange:r,children:e.jsxs(k,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:112:7",className:"bg-slate-900 border-slate-700 text-slate-100 max-w-lg",children:[e.jsxs(w,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:113:9",children:[e.jsx(S,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:114:11",className:"text-slate-100",children:a?"编辑告警规则":"新建告警规则"}),e.jsx(_,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:117:11",className:"text-slate-500",children:a?"修改告警规则的触发条件和通知方式":"配置监控指标的告警触发条件"})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:122:9",className:"space-y-4 max-h-[60vh] overflow-y-auto pr-1",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:123:11",className:"space-y-1.5",children:[e.jsxs(c,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:124:13",className:"text-slate-300",children:["规则名称 ",e.jsx("span",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:124:52",className:"text-red-400",children:"*"})]}),e.jsx(h,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:125:13",value:s.name,onChange:t=>l({...s,name:t.target.value}),placeholder:"如:CPU 使用率告警",className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-600"})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:133:11",className:"space-y-1.5",children:[e.jsx(c,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:134:13",className:"text-slate-300",children:"描述"}),e.jsx(L,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:135:13",value:s.description,onChange:t=>l({...s,description:t.target.value}),placeholder:"规则说明",rows:2,className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-600 resize-none"})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:144:11",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:145:13",className:"space-y-1.5",children:[e.jsx(c,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:146:15",className:"text-slate-300",children:"规则类型"}),e.jsxs("select",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:147:15",value:s.type,onChange:t=>{const n=t.target.value;l({...s,type:n,source:n==="log"?"loki":"prometheus"})},className:"w-full h-9 px-3 rounded-md bg-slate-800/50 border border-slate-700 text-slate-200 text-sm",children:[e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:156:17",value:"metric",children:"指标监控"}),e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:157:17",value:"log",children:"日志告警"}),e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:158:17",value:"event",chi Line truncated
@@ -1 +0,0 @@
import{j as e}from"./vendor-codemirror-B1SGo4xl.js";import{A as t}from"./ApprovalCategoryPage-CA91WuCS.js";import"./card-BIfzBCEy.js";import"./index-Dungj95X.js";import"./vendor-icons-DmqcWdzX.js";import"./input-CXoUQQLm.js";import"./badge-CGJlVD3L.js";import"./label-CMpUoC87.js";import"./table-B2F10oba.js";import"./select-CiTqGGhE.js";import"./index-5FEebgvX.js";import"./approval-BY_CqGOr.js";const r=[{key:"app_name",label:"应用名称",type:"text",placeholder:"如 user-service",required:!0},{key:"git_url",label:"Git 地址",type:"text",placeholder:"如 https://github.com/org/repo.git",required:!0},{key:"branch",label:"分支",type:"text",defaultValue:"main",required:!0},{key:"language",label:"开发语言",type:"select",options:["Java","Go","Python","Node.js","C++"],required:!0},{key:"http_port",label:"HTTP 端口",type:"number",placeholder:"如 8080"},{key:"env",label:"部署环境",type:"select",options:["dev","staging","prod"],required:!0},{key:"replicas",label:"副本数",type:"number",defaultValue:2,required:!0},{key:"remark",label:"备注",type:"textarea"}];function g(){return e.jsx(t,{"code-path":"src/pages/ApprovalAppPage.tsx:17:5",category:"app",title:"应用申请",description:"申请应用部署、版本发布、流水线配置",fields:r,templateCode:"app_deploy"})}export{g as ApprovalAppPage};
@@ -1 +0,0 @@
import{r as c,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as de,a as xe}from"./card-BIfzBCEy.js";import{B as x,D as Q,a as W,b as Y,c as Z,d as ee,t as l}from"./index-Dungj95X.js";import{I as H}from"./input-CXoUQQLm.js";import{B as z}from"./badge-CGJlVD3L.js";import{L as ne}from"./label-CMpUoC87.js";import{T as he,a as ie,b as q,c as N,d as ve,e as f}from"./table-B2F10oba.js";import{S as J,a as U,b as X,c as K,d as w}from"./select-CiTqGGhE.js";import{b as h}from"./approval-BY_CqGOr.js";import{P as me,S as ye,R as ue,L as G,F as Ce,X as I,w as B,x as je,b as Pe,a as Ae,y as be,U as Ne,z as fe,f as we}from"./vendor-icons-DmqcWdzX.js";const ae=t=>{switch(t){case"approved":return e.jsxs(z,{"code-path":"src/pages/ApprovalCategoryPage.tsx:44:29",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:[e.jsx(be,{"code-path":"src/pages/ApprovalCategoryPage.tsx:44:105",className:"h-3 w-3 mr-1"}),"已通过"]});case"rejected":return e.jsxs(z,{"code-path":"src/pages/ApprovalCategoryPage.tsx:45:29",className:"bg-red-500/20 text-red-400 border-red-500/30",children:[e.jsx(Ae,{"code-path":"src/pages/ApprovalCategoryPage.tsx:45:93",className:"h-3 w-3 mr-1"}),"已拒绝"]});default:return e.jsxs(z,{"code-path":"src/pages/ApprovalCategoryPage.tsx:46:21",className:"bg-amber-500/20 text-amber-400 border-amber-500/30",children:[e.jsx(Pe,{"code-path":"src/pages/ApprovalCategoryPage.tsx:46:91",className:"h-3 w-3 mr-1"}),"审批中"]})}};function M(t){try{return JSON.parse(t)||{}}catch{return{}}}function se(t){const p=t?.applicant_user;return p?p.real_name||p.username||`#${t.applicant}`:t?.applicant?`#${t.applicant}`:"--"}function ke(t){if(t.status!=="pending")return"--";const p=t.steps||[];if(p.length===0)return"管理员(待分配)";const d=p.find(g=>g.step===t.current_step&&g.status==="pending");return d?d.approver_user?d.approver_user.real_name||d.approver_user.username||`#${d.approver}`:"管理员":"管理员(待分配)"}function Re({category:t,title:p,description:d,fields:g,templateCode:C}){const[y,j]=c.useState([]),[k,_]=c.useState(!0),[P,S]=c.useState(""),[i,D]=c.useState(""),[s,o]=c.useState(!1),[n,A]=c.useState(!1),[$,F]=c.useState(null),[v,b]=c.useState({}),[te,L]=c.useState(null),[E,T]=c.useState(!1),m=c.useCallback(async()=>{_(!0);try{const a={page_size:"100"};t&&(a.category=t),i&&(a.status=i);const r=await h.getProcesses(a);j(r?.list??r?.data?.list??[])}catch{j([])}finally{_(!1)}},[t,i]),R=c.useCallback(async()=>{try{const a=await h.getTemplates({type:C}),r=a?.list??a?.data?.list??[];r.length>0&&F(r[0].id)}catch{}},[C]);c.useEffect(()=>{m()},[m]),c.useEffect(()=>{R()},[R]);const re=async()=>{if(!$){l.error("模板未加载");return}for(const a of g)if(a.required&&!v[a.key]){l.error(`请填写「${a.label}」`);return}A(!0);try{const a=v[g[0]?.key]||"",r=g[1]&&v[g[1].key]||"";await h.createProcess({template_id:$,title:`${p} - ${a}${r?" / "+r:""}`,form_data:JSON.stringify(v)}),l.success("申请已提交"),o(!1),b({}),m()}catch(a){l.error(a?.message||"提交失败")}finally{A(!1)}},O=()=>{const a={};g.forEach(r=>{a[r.key]=r.defaultValue?.toString()||""}),b(a),o(!0)},pe=async a=>{T(!0);try{await h.approveProcess(a),l.success("已通过"),m()}catch(r){l.error(r?.response?.data?.message||"审批失败")}finally{T(!1)}},ce=async a=>{T(!0);try{await h.rejectProcess(a,"审批拒绝"),l.success("已拒绝"),m()}catch(r){l.error(r?.response?.data?.message||"操作失败")}finally{T(!1)}},oe=async a=>{try{const r=await h.getProcesses({page_size:200}),ge=(r?.list??r?.data?.list??[]).find(le=>le.id===a.id);L(ge||a)}catch{L(a)}},V=y.filter(a=>!P||(a.title||"").toLowerCase().includes(P.toLowerCase()));return e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:155:5",className:"space-y-5",children:[e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:156:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:157:9",children:[e.jsx("h1",{"code-path":"src/pages/ApprovalCategoryPage.tsx:158:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:p}),e.jsx("p",{"code-path":"src/pages/ApprovalCategoryPage.tsx:159:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:d})]}),e.jsxs(x,{"code-path":"src/pages/ApprovalCategoryPage.tsx:161:9",onClick:O,className:"bg-[var(--dg-blue)] hover:bg-[var(--dg-blue)]/90",children:[e.jsx(me,{"code-path":"src/pages/ApprovalCategoryPage.tsx:162:11",className:"h-4 w-4 mr-2"}),"新建申请"]})]}),e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:166:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:167:9",className:"relative w-64",children:[e.jsx(ye,{"code-path":"src/pages/ApprovalCategoryPage.tsx:168:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-[var(--dg-text-muted)]"}),e.jsx(H,{"code-path":"src/pages/ApprovalCategoryPage.tsx:169:11",placeholdeLine truncated
@@ -1 +0,0 @@
import{j as e,r as v}from"./vendor-codemirror-B1SGo4xl.js";import{m as b,B as i,D as M,a as V,b as q,c as H,d as Q,e as G,t as T}from"./index-Dungj95X.js";import{C as u,a as j,b as ye,c as Ne,d as we}from"./card-BIfzBCEy.js";import{B as C}from"./badge-CGJlVD3L.js";import{T as pe}from"./textarea-BxfjmLq5.js";import{b as k}from"./approval-BY_CqGOr.js";import{I as le}from"./input-CXoUQQLm.js";import{h as fe,aQ as Te,F as _,C as D,a as F,L as $,S as De,x as Fe,af as Ce,J as oe,aJ as Pe,ae as Se,b as ce,P as ke}from"./vendor-icons-DmqcWdzX.js";import{L as _e}from"./label-CMpUoC87.js";import{S as Le,a as Oe,b as Ie,c as $e,d as Re}from"./select-CiTqGGhE.js";import"./index-5FEebgvX.js";function ze(a){if(Array.isArray(a))return a;if(typeof a=="string")try{const r=JSON.parse(a);return Array.isArray(r)?r:[]}catch{return[]}return[]}function I(a){if(!a)return[];const r=typeof a=="string"?(()=>{try{return JSON.parse(a)}catch{return null}})():a;return r?Array.isArray(r.fields)?r.fields:[]:[]}function Be(a,r){if(!a)return null;let s;try{s=typeof a=="string"?JSON.parse(a):a}catch{return null}if(!s||typeof s!="object")return null;const o=I(r?.form_schema),n=new Map;o.forEach(p=>n.set(p.key,p.label));const m=Object.entries(s).filter(([,p])=>p!=null&&p!=="");return m.length===0?null:e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:54:5",className:"grid grid-cols-2 gap-x-4 gap-y-3",children:m.map(([p,d])=>e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:56:9",className:"min-w-0",children:[e.jsx("p",{"code-path":"src/components/approval/helpers.tsx:57:11",className:"text-xs text-[var(--dg-text-muted)] mb-0.5",children:n.get(p)||p}),e.jsx("p",{"code-path":"src/components/approval/helpers.tsx:58:11",className:"text-sm text-[var(--dg-text-primary)] break-words",children:String(d)})]},p))})}const R=[{value:"server_apply",label:"云服务器申请",icon:fe,color:"var(--dg-cyan)"},{value:"app_deploy",label:"应用部署申请",icon:Te,color:"var(--dg-blue)"}],Y=a=>R.find(r=>r.value===a)?.label||a||"通用审批",L=a=>R.find(r=>r.value===a)?.color||"var(--dg-text-secondary)",Ee=a=>R.find(r=>r.value===a)?.icon||_,A=a=>a?.template?.type||a?.type||"";function U(a){const r=ze(a.steps),s=a.current_step??0,o=r.length,n=r.filter(p=>p.status==="approved"||p.status==="completed").length,m=o>0?Math.round(n/o*100):0;return{steps:r,currentIndex:s,total:o,completed:n,percentage:m}}function X(a){const{steps:r,currentIndex:s}=U(a);return r.length===0?null:e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:100:5",className:"flex items-center gap-1 overflow-x-auto",children:r.map((o,n)=>{const m=o.status==="approved"||o.status==="completed",p=n===s,d=o.status==="rejected";return e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:106:11",className:"flex items-center",children:[e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:107:13",className:b("flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs whitespace-nowrap",m&&"bg-emerald-500/10 text-emerald-400",p&&!d&&"bg-amber-500/10 text-amber-400 border border-amber-500/30",d&&"bg-red-500/10 text-red-400",!m&&!p&&!d&&"bg-[var(--dg-bg-tertiary)] text-[var(--dg-text-muted)]"),children:[m&&e.jsx(D,{"code-path":"src/components/approval/helpers.tsx:116:31",className:"h-3 w-3"}),d&&e.jsx(F,{"code-path":"src/components/approval/helpers.tsx:117:30",className:"h-3 w-3"}),p&&!d&&e.jsx($,{"code-path":"src/components/approval/helpers.tsx:118:44",className:"h-3 w-3 animate-spin"}),e.jsx("span",{"code-path":"src/components/approval/helpers.tsx:119:15",children:o.name||o.approver_name||`步骤 ${n+1}`})]}),n<r.length-1&&e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:122:15",className:b("w-4 h-px",m?"bg-emerald-500/30":"bg-[var(--dg-border)]")})]},o.id||n)})})}const Je=[{key:"all",label:"全部",value:""},{key:"pending",label:"待审批",value:"pending"},{key:"approved",label:"已通过",value:"approved"},{key:"rejected",label:"已拒绝",value:"rejected"},{key:"processing",label:"进行中",value:"processing"},{key:"completed",label:"已完成",value:"completed"}];function Me(a){const r={pending:{label:"待审批",className:"border-amber-500/30 text-amber-400 bg-amber-500/10",dot:"bg-amber-400"},approved:{label:"已通过",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",dot:"bg-emerald-400"},rejected:{label:"已拒绝",className:"border-red-500/30 text-red-400 bg-red-500/10",dot:"bg-red-400"},processing:{label:"进行中",className:"border-[var(--dg-blue)]/30 text-[var(--dg-blue)] bg-[var(--dg-blue)]/10",dot:"bg-[var(--dg-blue)]"},completed:{label:"已完成",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] bg-[var(--dg-bg-tertiary)]",dot:"bg-[var(--dg-text-secondary)]"}},s=r[a]||r.pending;return e.jsxs(C,{"code-path":"src/components/approval/ApprovalProcessTab.tsx:65:5",variant:"outline",className:s.className,children:[e.jsx("div",{"code-path":"src/components/approval/ApprovalProcessTab.tsx:66:7",cLine truncated
@@ -1 +0,0 @@
import{j as e}from"./vendor-codemirror-B1SGo4xl.js";import{A as r}from"./ApprovalCategoryPage-CA91WuCS.js";import"./card-BIfzBCEy.js";import"./index-Dungj95X.js";import"./vendor-icons-DmqcWdzX.js";import"./input-CXoUQQLm.js";import"./badge-CGJlVD3L.js";import"./label-CMpUoC87.js";import"./table-B2F10oba.js";import"./select-CiTqGGhE.js";import"./index-5FEebgvX.js";import"./approval-BY_CqGOr.js";const t=[{key:"perm_type",label:"权限类型",type:"select",options:["堡垒机权限","生产VPN权限","日志查询权限","数据库查询权限","服务器SSH权限","K8s集群权限"],required:!0},{key:"account",label:"申请账号",type:"text",placeholder:"如 logan.li",required:!0},{key:"reason",label:"申请理由",type:"textarea",placeholder:"说明为什么需要该权限",required:!0},{key:"duration",label:"权限时长",type:"select",options:["临时(24小时)","短期(7天)","中期(30天)","长期(90天)","永久"],required:!0}];function P(){return e.jsx(r,{"code-path":"src/pages/ApprovalPermissionPage.tsx:17:5",category:"permission",title:"权限审批",description:"申请堡垒机、VPN、日志查询、数据库查询等运维权限",fields:t,templateCode:"permission_request"})}export{P as ApprovalPermissionPage};
@@ -1 +0,0 @@
import{j as e}from"./vendor-codemirror-B1SGo4xl.js";import{A as r}from"./ApprovalCategoryPage-CA91WuCS.js";import"./card-BIfzBCEy.js";import"./index-Dungj95X.js";import"./vendor-icons-DmqcWdzX.js";import"./input-CXoUQQLm.js";import"./badge-CGJlVD3L.js";import"./label-CMpUoC87.js";import"./table-B2F10oba.js";import"./select-CiTqGGhE.js";import"./index-5FEebgvX.js";import"./approval-BY_CqGOr.js";const t=[{key:"provider",label:"云厂商",type:"select",options:["阿里云","腾讯云","华为云","AWS"],required:!0},{key:"region",label:"地域",type:"text",placeholder:"如 cn-hangzhou",required:!0},{key:"spec",label:"规格",type:"select",options:["2C4G","4C8G","8C16G","16C32G","32C64G"],required:!0},{key:"disk",label:"系统盘(GB)",type:"number",defaultValue:40,required:!0},{key:"count",label:"数量(台)",type:"number",defaultValue:1,required:!0},{key:"duration",label:"时长",type:"select",options:["1个月","3个月","6个月","1年"],required:!0},{key:"purpose",label:"用途说明",type:"textarea",required:!0}];function b(){return e.jsx(r,{"code-path":"src/pages/ApprovalResourcePage.tsx:16:5",category:"resource",title:"资源申请",description:"申请云服务器、存储、网络等基础设施资源",fields:t,templateCode:"server_apply"})}export{b as ApprovalResourcePage};
@@ -1 +0,0 @@
import{r as p,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as M,a as Q}from"./card-BIfzBCEy.js";import{f as V,u as X,t as C,B as $}from"./index-Dungj95X.js";import{a as S}from"./approval-BY_CqGOr.js";import{L as D,P as R,J as H,K as z,O as Z,Q as Y,z as J,c as ee,T as F,X as G,j as q,V as se,W as ae,Y as te,y as re}from"./vendor-icons-DmqcWdzX.js";const oe={resource:"资源申请",app:"应用申请",permission:"权限审批"},L={submit:"提交阶段",audit:"审核阶段",execute:"执行阶段"},B={submit:"bg-blue-500/15 text-blue-400 border-blue-500/30",audit:"bg-purple-500/15 text-purple-400 border-purple-500/30",execute:"bg-green-500/15 text-green-400 border-green-500/30"},pe={submit:se,audit:q,execute:J},le=[{value:"submit",label:"提交阶段",desc:"工单提交人"},{value:"audit",label:"审核阶段",desc:"审核人员审批"},{value:"execute",label:"执行阶段",desc:"执行人员操作"}];function ce({users:i,selectedIds:g,label:v,onToggle:b,onToggleAll:y,onClear:A,getUserName:_}){const[m,j]=p.useState(!1),k=p.useRef(null),[P,l]=p.useState({top:0,left:0,width:0}),h=()=>{if(k.current){const c=k.current.getBoundingClientRect();l({top:c.bottom+4,left:c.left,width:c.width})}};return e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:113:5",className:"relative",children:[e.jsxs("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:114:7",ref:k,type:"button",onClick:()=>{m||h(),j(!m)},className:`w-full flex items-center justify-between px-3 py-2 rounded-lg text-sm transition-colors ${g.length===0?"bg-[var(--dg-bg-tertiary)] border border-red-500/40 text-[var(--dg-text-muted)]":"bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] text-[var(--dg-text-primary)]"}`,children:[e.jsx("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:124:9",className:"truncate",children:g.length===0?`${v} * 请选择`:`${v} (${g.length}人)`}),e.jsx(Y,{"code-path":"src/pages/ApprovalWorkflowPage.tsx:127:9",className:`w-4 h-4 text-[var(--dg-text-muted)] transition-transform ${m?"rotate-180":""}`})]}),g.length>1&&e.jsx("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:131:9",className:"flex flex-wrap gap-1 mt-1.5",children:g.map(c=>e.jsxs("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:133:13",className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[11px] bg-blue-500/15 text-blue-400",children:[_(c),e.jsx("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:135:15",onClick:()=>b(c),className:"hover:text-red-400",children:e.jsx(G,{"code-path":"src/pages/ApprovalWorkflowPage.tsx:135:84",className:"w-3 h-3"})})]},c))}),m&&e.jsxs(e.Fragment,{children:[e.jsx("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:143:11",className:"fixed inset-0 z-40",onClick:()=>j(!1)}),e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:144:11",className:"fixed z-50 bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)] rounded-lg shadow-xl max-h-52 overflow-y-auto",style:{top:P.top,left:P.left,width:P.width},children:[e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:146:13",className:"flex items-center justify-between px-3 py-2 border-b border-[var(--dg-border)]",children:[e.jsx("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:147:15",onClick:y,className:"text-[11px] text-blue-400 hover:text-blue-300",children:g.length===i.length&&i.length>0?"取消全选":"全选"}),g.length>0&&e.jsx("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:151:17",onClick:A,className:"text-[11px] text-red-400 hover:text-red-300",children:"清空"})]}),i.map(c=>{const u=g.includes(c.id);return e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:157:17",onClick:()=>b(c.id),className:"flex items-center gap-2.5 px-3 py-2 cursor-pointer hover:bg-[var(--dg-bg-hover)] transition-colors",children:[e.jsx("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:159:19",className:`w-4 h-4 rounded border flex items-center justify-center flex-shrink-0 ${u?"bg-blue-500 border-blue-500":"border-[var(--dg-border)]"}`,children:u&&e.jsx(re,{"code-path":"src/pages/ApprovalWorkflowPage.tsx:162:33",className:"w-3 h-3 text-white"})}),e.jsx("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:164:19",className:`text-sm flex-1 ${u?"text-[var(--dg-text-primary)]":"text-[var(--dg-text-secondary)]"}`,children:c.display_name||c.username}),e.jsx("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:167:19",className:"text-[10px] text-[var(--dg-text-muted)] px-1.5 py-0.5 rounded bg-[var(--dg-bg-tertiary)]",children:c.role})]},c.id)})]})]})]})}function de({workflow:i,users:g,onClose:v,onSaved:b}){const y=!!i,[A,_]=p.useState(i?.name||""),[m,j]=p.useState(i?.description||""),[k,P]=p.useState(i?.category||"resource"),[l,h]=p.useState([]),[c,u]=p.useState(!1),[E,W]=p.useState("");p.useEffect(()=>{i?.steps?.length?h(i.steps.map(s=>({name:s.name,step_type:s.step_type==="serial"||s.step_type==="parallel"?"audit":s.step_type,approver_ids:T(s.approver_ids)}))):h([{name:"提交申请",Line truncated
@@ -1,61 +0,0 @@
import{ay as ee}from"./index-Dungj95X.js";import{d as ti,g as ue,r as N,R as T}from"./vendor-codemirror-B1SGo4xl.js";var Wa,vh;function Re(){if(vh)return Wa;vh=1;var e=Array.isArray;return Wa=e,Wa}var Ua,yh;function Zg(){if(yh)return Ua;yh=1;var e=typeof ti=="object"&&ti&&ti.Object===Object&&ti;return Ua=e,Ua}var Ha,mh;function ot(){if(mh)return Ha;mh=1;var e=Zg(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return Ha=r,Ha}var Ga,gh;function Gn(){if(gh)return Ga;gh=1;var e=ot(),t=e.Symbol;return Ga=t,Ga}var Ka,bh;function sw(){if(bh)return Ka;bh=1;var e=Gn(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,i=e?e.toStringTag:void 0;function a(o){var u=r.call(o,i),c=o[i];try{o[i]=void 0;var s=!0}catch{}var f=n.call(o);return s&&(u?o[i]=c:delete o[i]),f}return Ka=a,Ka}var Va,xh;function lw(){if(xh)return Va;xh=1;var e=Object.prototype,t=e.toString;function r(n){return t.call(n)}return Va=r,Va}var Xa,wh;function xt(){if(wh)return Xa;wh=1;var e=Gn(),t=sw(),r=lw(),n="[object Null]",i="[object Undefined]",a=e?e.toStringTag:void 0;function o(u){return u==null?u===void 0?i:n:a&&a in Object(u)?t(u):r(u)}return Xa=o,Xa}var Ya,Oh;function wt(){if(Oh)return Ya;Oh=1;function e(t){return t!=null&&typeof t=="object"}return Ya=e,Ya}var Za,_h;function Nr(){if(_h)return Za;_h=1;var e=xt(),t=wt(),r="[object Symbol]";function n(i){return typeof i=="symbol"||t(i)&&e(i)==r}return Za=n,Za}var Ja,Sh;function uf(){if(Sh)return Ja;Sh=1;var e=Re(),t=Nr(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function i(a,o){if(e(a))return!1;var u=typeof a;return u=="number"||u=="symbol"||u=="boolean"||a==null||t(a)?!0:n.test(a)||!r.test(a)||o!=null&&a in Object(o)}return Ja=i,Ja}var Qa,Ah;function Ct(){if(Ah)return Qa;Ah=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return Qa=e,Qa}var eo,Ph;function cf(){if(Ph)return eo;Ph=1;var e=xt(),t=Ct(),r="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function o(u){if(!t(u))return!1;var c=e(u);return c==n||c==i||c==r||c==a}return eo=o,eo}var to,Th;function fw(){if(Th)return to;Th=1;var e=ot(),t=e["__core-js_shared__"];return to=t,to}var ro,Eh;function hw(){if(Eh)return ro;Eh=1;var e=fw(),t=(function(){var n=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""})();function r(n){return!!t&&t in n}return ro=r,ro}var no,jh;function Jg(){if(jh)return no;jh=1;var e=Function.prototype,t=e.toString;function r(n){if(n!=null){try{return t.call(n)}catch{}try{return n+""}catch{}}return""}return no=r,no}var io,Mh;function pw(){if(Mh)return io;Mh=1;var e=cf(),t=hw(),r=Ct(),n=Jg(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,o=Function.prototype,u=Object.prototype,c=o.toString,s=u.hasOwnProperty,f=RegExp("^"+c.call(s).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function l(h){if(!r(h)||t(h))return!1;var d=e(h)?f:a;return d.test(n(h))}return io=l,io}var ao,Ch;function dw(){if(Ch)return ao;Ch=1;function e(t,r){return t?.[r]}return ao=e,ao}var oo,$h;function Qt(){if($h)return oo;$h=1;var e=pw(),t=dw();function r(n,i){var a=t(n,i);return e(a)?a:void 0}return oo=r,oo}var uo,Ih;function ha(){if(Ih)return uo;Ih=1;var e=Qt(),t=e(Object,"create");return uo=t,uo}var co,Rh;function vw(){if(Rh)return co;Rh=1;var e=ha();function t(){this.__data__=e?e(null):{},this.size=0}return co=t,co}var so,kh;function yw(){if(kh)return so;kh=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return so=e,so}var lo,Dh;function mw(){if(Dh)return lo;Dh=1;var e=ha(),t="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function i(a){var o=this.__data__;if(e){var u=o[a];return u===t?void 0:u}return n.call(o,a)?o[a]:void 0}return lo=i,lo}var fo,Nh;function gw(){if(Nh)return fo;Nh=1;var e=ha(),t=Object.prototype,r=t.hasOwnProperty;function n(i){var a=this.__data__;return e?a[i]!==void 0:r.call(a,i)}return fo=n,fo}var ho,qh;function bw(){if(qh)return ho;qh=1;var e=ha(),t="__lodash_hash_undefined__";function r(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=e&&i===void 0?t:i,this}return ho=r,ho}var po,Bh;function xw(){if(Bh)return po;Bh=1;var e=vw(),t=yw(),r=mw(),n=gw(),i=bw();function a(o){var u=-1,c=o==null?0:o.length;for(this.clear();++u<c;){var s=o[u];this.set(s[0],s[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=r,a.prototype.has=n,a.prototype.set=i,po=a,po}var vo,Lh;function ww(){if(Lh)return vo;Lh=1;function e(){this.__data__=[],this.size=0}return vo=e,vo}var yo,Fh;function sf(){if(Fh)return yo;Fh=1;function e(t,r){return t===r||t!==t&&r!==r}return yo=e,yo}var mo,zh;function pa(){if(zh)return mo;zh=1;var e=sf();function t(r,n){for(var i=r.length;i--;)if(e(r[i][0],n))return i;return-1}return mo=t,mo}var go,Wh;function Ow(){if(Wh)return go;Wh=1;var e=pa(),t=Array.prototype,r=t.splice;function n(i){var a=this.__data__,o=e(a,i);if(o<0)retLine truncated
A`).concat(o,",").concat(o,",0,1,1,").concat(2*u,",").concat(a,`
H`).concat(ze,"M").concat(2*u,",").concat(a,`
A`).concat(o,",").concat(o,",0,1,1,").concat(u,",").concat(a),className:"recharts-legend-icon"});if(n.type==="rect")return T.createElement("path",{stroke:"none",fill:c,d:"M0,".concat(ze/8,"h").concat(ze,"v").concat(ze*3/4,"h").concat(-ze,"z"),className:"recharts-legend-icon"});if(T.isValidElement(n.legendIcon)){var s=d1({},n);return delete s.legendIcon,T.cloneElement(n.legendIcon,s)}return T.createElement(bf,{fill:c,cx:a,cy:a,size:ze,sizeType:"diameter",type:n.type})}},{key:"renderItems",value:function(){var n=this,i=this.props,a=i.payload,o=i.iconSize,u=i.layout,c=i.formatter,s=i.inactiveColor,f={x:0,y:0,width:ze,height:ze},l={display:u==="horizontal"?"inline-block":"block",marginRight:10},h={display:"inline-block",verticalAlign:"middle",marginRight:4};return a.map(function(d,m){var v=d.formatter||c,p=ee(fn(fn({"recharts-legend-item":!0},"legend-item-".concat(m),!0),"inactive",d.inactive));if(d.type==="none")return null;var b=V(d.value)?null:d.value;dt(!V(d.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var x=d.inactive?s:d.color;return T.createElement("li",tl({className:p,style:l,key:"legend-item-".concat(m)},mi(n.props,d,m)),T.createElement(Vs,{width:o,height:o,viewBox:f,style:h},n.renderIcon(d)),T.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},v?v(b,d,m):b))})}},{key:"render",value:function(){var n=this.props,i=n.payload,a=n.layout,o=n.align;if(!i||!i.length)return null;var u={padding:0,margin:0,textAlign:a==="horizontal"?o:"left"};return T.createElement("ul",{className:"recharts-default-legend",style:u},this.renderItems())}}])})(N.PureComponent);fn(xf,"displayName","Legend");fn(xf,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var au,Fp;function _1(){if(Fp)return au;Fp=1;var e=da();function t(){this.__data__=new e,this.size=0}return au=t,au}var ou,zp;function S1(){if(zp)return ou;zp=1;function e(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n}return ou=e,ou}var uu,Wp;function A1(){if(Wp)return uu;Wp=1;function e(t){return this.__data__.get(t)}return uu=e,uu}var cu,Up;function P1(){if(Up)return cu;Up=1;function e(t){return this.__data__.has(t)}return cu=e,cu}var su,Hp;function T1(){if(Hp)return su;Hp=1;var e=da(),t=lf(),r=ff(),n=200;function i(a,o){var u=this.__data__;if(u instanceof e){var c=u.__data__;if(!t||c.length<n-1)return c.push([a,o]),this.size=++u.size,this;u=this.__data__=new r(c)}return u.set(a,o),this.size=u.size,this}return su=i,su}var lu,Gp;function Sb(){if(Gp)return lu;Gp=1;var e=da(),t=_1(),r=S1(),n=A1(),i=P1(),a=T1();function o(u){var c=this.__data__=new e(u);this.size=c.size}return o.prototype.clear=t,o.prototype.delete=r,o.prototype.get=n,o.prototype.has=i,o.prototype.set=a,lu=o,lu}var fu,Kp;function E1(){if(Kp)return fu;Kp=1;var e="__lodash_hash_undefined__";function t(r){return this.__data__.set(r,e),this}return fu=t,fu}var hu,Vp;function j1(){if(Vp)return hu;Vp=1;function e(t){return this.__data__.has(t)}return hu=e,hu}var pu,Xp;function Ab(){if(Xp)return pu;Xp=1;var e=ff(),t=E1(),r=j1();function n(i){var a=-1,o=i==null?0:i.length;for(this.__data__=new e;++a<o;)this.add(i[a])}return n.prototype.add=n.prototype.push=t,n.prototype.has=r,pu=n,pu}var du,Yp;function Pb(){if(Yp)return du;Yp=1;function e(t,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(t[n],n,t))return!0;return!1}return du=e,du}var vu,Zp;function Tb(){if(Zp)return vu;Zp=1;function e(t,r){return t.has(r)}return vu=e,vu}var yu,Jp;function Eb(){if(Jp)return yu;Jp=1;var e=Ab(),t=Pb(),r=Tb(),n=1,i=2;function a(o,u,c,s,f,l){var h=c&n,d=o.length,m=u.length;if(d!=m&&!(h&&m>d))return!1;var v=l.get(o),p=l.get(u);if(v&&p)return v==u&&p==o;var b=-1,x=!0,w=c&i?new e:void 0;for(l.set(o,u),l.set(u,o);++b<d;){var O=o[b],y=u[b];if(s)var g=h?s(y,O,b,u,o,l):s(O,y,b,o,u,l);if(g!==void 0){if(g)continue;x=!1;break}if(w){if(!t(u,function(_,S){if(!r(w,S)&&(O===_||f(O,_,c,s,l)))return w.push(S)})){x=!1;break}}else if(!(O===y||f(O,y,c,s,l))){x=!1;break}}return l.delete(o),l.delete(u),x}return yu=a,yu}var mu,Qp;function M1(){if(Qp)return mu;Qp=1;var e=ot(),t=e.Uint8Array;return mu=t,mu}var gu,ed;function C1(){if(ed)return gu;ed=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(i,a){n[++r]=[a,i]}),n}return gu=e,gu}var bu,td;function wf(){if(td)return bu;td=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(i){n[++r]=i}),n}return bu=e,bu}var xu,rd;function $1(){if(rd)return xu;rd=1;var e=Gn(),t=M1(),r=sf(),n=Eb(),i=C1(),a=wf(),o=1,u=2,c="[object Boolean]",s="[object Date]",f="[object Error]",l="[object Map]",h="[object Number]",d="[object RegExp]",m="[object Set]",v="[object String]",p="[object Symbol]",b="[object ArrayBuffer]",x="[object DataView]",w=e?e.prototype:void 0,O=w?w.valueOf:void 0;function y(g,_,S,P,M,A,E){switch(S){case x:if(g.byteLength!=_.byteLength||g.byteOffset!=_.byteOffset)re Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Y_(e,t){if(e){if(typeof e=="string")return Cv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cv(e,t)}}function Cv(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Z_(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function J_(e){if(Array.isArray(e))return e}function $v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Wc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?$v(Object(r),!0).forEach(function(n){Q_(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$v(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Q_(e,t,r){return t=eS(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function eS(e){var t=tS(e,"string");return hn(t)=="symbol"?t:t+""}function tS(e,t){if(hn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(hn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function rS(e){return Array.isArray(e)&&we(e[0])&&we(e[1])?e.join(" ~ "):e}var nS=function(t){var r=t.separator,n=r===void 0?" : ":r,i=t.contentStyle,a=i===void 0?{}:i,o=t.itemStyle,u=o===void 0?{}:o,c=t.labelStyle,s=c===void 0?{}:c,f=t.payload,l=t.formatter,h=t.itemSorter,d=t.wrapperClassName,m=t.labelClassName,v=t.label,p=t.labelFormatter,b=t.accessibilityLayer,x=b===void 0?!1:b,w=function(){if(f&&f.length){var E={padding:0,margin:0},j=(h?Tf(f,h):f).map(function(I,C){if(I.type==="none")return null;var R=Wc({display:"block",paddingTop:4,paddingBottom:4,color:I.color||"#000"},u),D=I.formatter||l||rS,B=I.value,L=I.name,U=B,G=L;if(D&&U!=null&&G!=null){var z=D(B,L,I,C,f);if(Array.isArray(z)){var K=V_(z,2);U=K[0],G=K[1]}else U=z}return T.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(C),style:R},we(G)?T.createElement("span",{className:"recharts-tooltip-item-name"},G):null,we(G)?T.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,T.createElement("span",{className:"recharts-tooltip-item-value"},U),T.createElement("span",{className:"recharts-tooltip-item-unit"},I.unit||""))});return T.createElement("ul",{className:"recharts-tooltip-item-list",style:E},j)}return null},O=Wc({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},a),y=Wc({margin:0},s),g=!J(v),_=g?v:"",S=ee("recharts-default-tooltip",d),P=ee("recharts-tooltip-label",m);g&&p&&f!==void 0&&f!==null&&(_=p(v,f));var M=x?{role:"status","aria-live":"assertive"}:{};return T.createElement("div",il({className:S,style:O},M),T.createElement("p",{className:P,style:y},T.isValidElement(_)?_:"".concat(_)),w())};function pn(e){"@babel/helpers - typeof";return pn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pn(e)}function ni(e,t,r){return t=iS(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function iS(e){var t=aS(e,"string");return pn(t)=="symbol"?t:t+""}function aS(e,t){if(pn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(pn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Gr="recharts-tooltip-wrapper",oS={visibility:"hidden"};function uS(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return ee(Gr,ni(ni(ni(ni({},"".concat(Gr,"-right"),q(r)&&t&&q(t.x)&&r>=t.x),"".concat(Gr,"-left"),q(r)&&t&&q(t.x)&&r<t.x),"".concat(Gr,"-bottom"),q(n)&&t&&q(t.y)&&n>=t.y),"".concat(Gr,"-top"),q(n)&&t&&q(t.y)&&n<t.y))}function Iv(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.key,i=e.offsetTopLeft,a=e.position,o=e.reverseDirection,u=e.tooltipDimension,c=e.viewBox,s=e.viewBoxDimension;if(a&&q(a[n]))return a[n];var f=r[n]-u-i,l=r[n]+i;if(t[n])return o[n]?f:l;if(o[n]){var h=f,d=c[n];return h<d?Math.max(l,c[n]):Math.max(f,c[n])}var m=l+u,v=c[n]+s;return m>v?Math.max(f,c[n]):Math.max(l,c[n])}function cS(e){ Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FS(e,t){if(e){if(typeof e=="string")return Gv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gv(e,t)}}function Gv(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function zS(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function WS(e){if(Array.isArray(e))return e}var uN=N.forwardRef(function(e,t){var r=e.aspect,n=e.initialDimension,i=n===void 0?{width:-1,height:-1}:n,a=e.width,o=a===void 0?"100%":a,u=e.height,c=u===void 0?"100%":u,s=e.minWidth,f=s===void 0?0:s,l=e.minHeight,h=e.maxHeight,d=e.children,m=e.debounce,v=m===void 0?0:m,p=e.id,b=e.className,x=e.onResize,w=e.style,O=w===void 0?{}:w,y=N.useRef(null),g=N.useRef();g.current=x,N.useImperativeHandle(t,function(){return Object.defineProperty(y.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),y.current},configurable:!0})});var _=N.useState({containerWidth:i.width,containerHeight:i.height}),S=BS(_,2),P=S[0],M=S[1],A=N.useCallback(function(j,I){M(function(C){var R=Math.round(j),D=Math.round(I);return C.containerWidth===R&&C.containerHeight===D?C:{containerWidth:R,containerHeight:D}})},[]);N.useEffect(function(){var j=function(L){var U,G=L[0].contentRect,z=G.width,K=G.height;A(z,K),(U=g.current)===null||U===void 0||U.call(g,z,K)};v>0&&(j=Yb(j,v,{trailing:!0,leading:!1}));var I=new ResizeObserver(j),C=y.current.getBoundingClientRect(),R=C.width,D=C.height;return A(R,D),I.observe(y.current),function(){I.disconnect()}},[A,v]);var E=N.useMemo(function(){var j=P.containerWidth,I=P.containerHeight;if(j<0||I<0)return null;dt(zt(o)||zt(c),`The width(%s) and height(%s) are both fixed numbers,
maybe you don't need to use a ResponsiveContainer.`,o,c),dt(!r||r>0,"The aspect(%s) must be greater than zero.",r);var C=zt(o)?j:o,R=zt(c)?I:c;r&&r>0&&(C?R=C/r:R&&(C=R*r),h&&R>h&&(R=h)),dt(C>0||R>0,`The width(%s) and height(%s) of chart should be greater than 0,
please check the style of container, or the props width(%s) and height(%s),
or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
height and width.`,C,R,o,c,f,l,r);var D=!Array.isArray(d)&&pt(d.type).endsWith("Chart");return T.Children.map(d,function(B){return T.isValidElement(B)?N.cloneElement(B,ii({width:C,height:R},D?{style:ii({height:"100%",width:"100%",maxHeight:R,maxWidth:C},B.props.style)}:{})):B})},[r,d,c,h,l,f,P,o]);return T.createElement("div",{id:p?"".concat(p):void 0,className:ee("recharts-responsive-container",b),style:ii(ii({},O),{},{width:o,height:c,minWidth:f,minHeight:l,maxHeight:h}),ref:y},E)}),Zb=function(t){return null};Zb.displayName="Cell";function vn(e){"@babel/helpers - typeof";return vn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vn(e)}function Kv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cl(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Kv(Object(r),!0).forEach(function(n){US(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Kv(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function US(e,t,r){return t=HS(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function HS(e){var t=GS(e,"string");return vn(t)=="symbol"?t:t+""}function GS(e,t){if(vn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(vn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ar={widthCache:{},cacheCount:0},KS=2e3,VS={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},Vv="recharts_measurement_span";function XS(e){var t=cl({},e);return Object.keys(t).forEach(function(r){t[r]||delete t[r]}),t}var an=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Fr.isSsr)return{width:0,height:0};var n=XS(r),i=JSON.stringify({text:t,copyStyle:n});if(ar.widthCache[i])return ar.widthCache[i];try{var a=document.getElementById(Vv);a||(a=document.createElement("span"),a.setAttribute("id",Vv),a.setAttribute("aria-hidden","true"),document.body.appendChild(a));var o=cl(cl({},VS),n);Object.assign(a.style,o),a.textContent="".concat(t);var u=a.getBoundingClientRect(),c={width:u.width,height:u.height};return ar.widthCache[i]=c,++ar.cacheCount>KS&&(ar.cacheCount=0,ar.widthCache={}),c}catch{return{width:0,height:0}}},YS=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function yn(e){"@babel/helpers - typeof";return yn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yn(e)}function Ti(e,t){return eA(e)||QS(e,t)||JS(e,t)||ZS()}function ZS(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JS(e,t){if(e){if(typeof e=="string")return Xv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xv(e,t)}}function Xv(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function QS(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function eA(e){if(Array.isArray(e))return e}function tA(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yv(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,nA(n.key),n)}}function rA(e,t,r){return t&&Yv(e.prototype,t),r&&Yv(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function nA(e){var t=iA(e,"string");return yn(t)=="symbol"?t:t+""}function iA(e,t){if(yn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(yn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Zv=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Jv=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,aA=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,oA=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,Jb={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},uA=Object.keys(Jb),cr="NaN";function cA(e,t){return e*Jb[t]}var ai=(function(){function e(t,r){tA(this,e),this.num=t,this.unit=r,this.num=t,this.unit=r,Number.isNaN(t)&&(this.unit=""),r!==""&&!aA.test(r)&&(this.num=NaN,this.unit=""),uA.includes(r)&&(this.num=cA(t,r),this.unit="px")}return rA(e,[{key:"add",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num+r.num,this.unit)}},{key:"subtract",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num-r.num,this.unit)}},{key:"multiply",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num*r.num,this.unit||r.unit)}},{key:"divide",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num/r.num,this.unit||r.unit)}},{key:"toString",value:function(){return"".concat(this.num).concat(this.unit)}},{key:"isNaN",value:function(){return Number.isNaN(this.num)}}],[{key:"parse",value:function(r){var n,i=(n=oA.exec(r))!==null&&n!==void 0?n:[],a=Ti(i,3),o=a[1],u=a[2];return new e(parseFloat(o),u??"")}}])})();function Qb(e){if(e.includes(cr))return cr;for(var t=e;t.includes("*")||t.includes("/");){var r,n=(r=Zv.exec(t))!==null&&r!==void 0?r:[],i=Ti(n,4),a=i[1],o=i[2],u=i[3],c=ai.parse(a??""),s=ai.parse(u??""),f=o==="*"?c.multiply(s):c.divide(s);if(f.isNaN())return cr;t=t.replace(Zv,f.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var l,h=(l=Jv.exec(t))!==null&&l!==void 0?l:[],d=Ti(h,4),m=d[1],v=d[2],p=d[3],b=ai.parse(m??""),x=ai.parse(p??""),w=v==="+"?b.add(x):b.subtract(x);if(w.isNaN())return cr;t=t.replace(Jv,w.toString())}return t}var Qv=/\(([^()]*)\)/;function sA(e){for(var t=e;t.includes("(");){var r=Qv.exec(t),n=Ti(r,2),i=n[1];t=t.replace(Qv,Qb(i))}return t}function lA(e){var t=e.replace(/\s+/g,"");return t=sA(t),t=Qb(t),t}function fA(e){try{return lA(e)}catch{return cr}}function Yc(e){var t=fA(e.slice(5,-1));return t===cr?"":t}var hA=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],pA=["dx","dy","angle","className","breakAll"];function sl(){return sl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},sl.apply(this,arguments)}function ey(e,t){if(e==null)return{};var r=dA(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function dA(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function ty(e,t){return gA(e)||mA(e,t)||yA(e,t)||vA()}function vA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yA(e,t){if(e){if(typeof e=="string")return ry(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ry(e,t)}}function ry(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function mA(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function gA(e){if(Array.isArray(e))return e}var e0=/[ \f\n\r\t\v\u2028\u2029]+/,t0=function(t){var r=t.children,n=t.breakAll,i=t.style;try{var a=[];J(r)||(n?a=r.toString().split(""):a=r.toString().split(e0));var o=a.map(function(c){return{word:c,width:an(c,i).width}}),u=n?0:an(" ",i).width;return{wordsWithComputedWidth:o,spaceWidth:u}}catch{return null}},bA=function(t,r,n,i,a){var o=t.maxLines,u=t.children,c=t.style,s=t.breakAll,f=q(o),l=u,h=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return C.reduce(function(R,D){var B=D.word,L=D.width,U=R[R.length-1];if(U&&(i==null||a||U.width+L+n<Number(i)))U.words.push(B),U.width+=L+n;else{var G={words:[B],width:L};R.push(G)}return R},[])},d=h(r),m=function(C){return C.reduce(function(R,D){return R.width>D.width?R:D})};if(!f)return d;for(var v="…",p=function(C){var R=l.slice(0,C),D=t0({breakAll:s,style:c,children:R+v}).wordsWithComputedWidth,B=h(D),L=B.length>o||m(B).width>Number(i);return[L,B]},b=0,x=l.length-1,w=0,O;b<=x&&w<=l.length-1;){var y=Math.floor((b+x)/2),g=y-1,_=p(g),S=ty(_,2),P=S[0],M=S[1],A=p(y),E=ty(A,1),j=E[0];if(!P&&!j&&(b=y+1),P&&j&&(x=y-1),!P&&j){O=M;break}w++}return O||d},ny=function(t){var r=J(t)?[]:t.toString().split(e0);return[{words:r}]},xA=function(t){var r=t.width,n=t.scaleToFit,i=t.children,a=t.style,o=t.breakAll,u=t.maxLines;if((r||n)&&!Fr.isSsr){var c,s,f=t0({breakAll:o,children:i,style:a});if(f){var l=f.wordsWithComputedWidth,h=f.spaceWidth;c=l,s=h}else return ny(i);return bA({breakAll:o,children:i,maxLines:u,style:a},c,s,r,n)}return ny(i)},iy="#808080",Ei=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,a=i===void 0?0:i,o=t.lineHeight,u=o===void 0?"1em":o,c=t.capHeight,s=c===void 0?"0.71em":c,f=t.scaleToFit,l=f===void 0?!1:f,h=t.textAnchor,d=h===void 0?"start":h,m=t.verticalAnchor,v=m===void 0?"end":m,p=t.fill,b=p===void 0?iy:p,x=ey(t,hA),w=N.useMemo(function(){return xA({breakAll:x.breakAll,children:x.children,maxLines:x.maxLines,scaleToFit:l,style:x.style,width:x.width})},[x.breakAll,x.children,x.maxLines,l,x.style,x.width]),O=x.dx,y=x.dy,g=x.angle,_=x.className,S=x.breakAll,P=ey(x,pA);if(!we(n)||!we(a))return null;var M=n+(q(O)?O:0),A=a+(q(y)?y:0),E;switch(v){case"start":E=Yc("calc(".concat(s,")"));break;case"middle":E=Yc("calc(".concat((w.length-1)/2," * -").concat(u," + (").concat(s," / 2))"));break;default:E=Yc("calc(".concat(w.length-1," * -").concat(u,")"));break}var j=[];if(l){var I=w[0].width,C=x.width;j.push("scale(".concat((q(C)?C/I:1)/I,")"))}return g&&j.push("rotate(".concat(g,", ").concat(M,", ").concat(A,")")),j.length&&(P.transform=j.join(" ")),T.createElement("text",sl({},Z(P,!0),{x:M,y:A,className:ee("recharts-text",_),textAnchor:d,fill:b.includes("url")?iy:b}),w.map(function(R,D){var B=R.words.join(S?"":" ");return T.createElement("tspan",{x:M,dy:D===0?E:u,key:"".concat(B,"-").concat(D)},B)}))};function jt(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function wA(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function jf(e){let t,r,n;e.length!==2?(t=jt,r=(u,c)=>jt(e(u),c),n=(u,c)=>e(u)-c):(t=e===jt||e===wA?e:OA,r=e,n=e);function i(u,c,s=0,f=u.length){if(s<f){if(t(c,c)!==0)return f;do{const l=s+f>>>1;r(u[l],c)<0?s=l+1:f=l}while(s<f)}return s}function a(u,c,s=0,f=u.length){if(s<f){if(t(c,c)!==0)return f;do{const l=s+f>>>1;r(u[l],c)<=0?s=l+1:f=l}while(s<f)}return s}function o(u,c,s=0,f=u.length){const l=i(u,c,s,f-1);return l>s&&n(u[l-1],c)>-n(u[l],c)?l-1:l}return{left:i,center:o,right:a}}function OA(){return 0}function r0(e){return e===null?NaN:+e}function*_A(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const SA=jf(jt),Xn=SA.right;jf(r0).center;class ay extends Map{constructor(t,r=TA){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(oy(this,t))}has(t){return super.has(oy(this,t))}set(t,r){return super.set(AA(this,t),r)}delete(t){return super.delete(PA(this,t))}}function oy({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function AA({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fE(e,t){if(e){if(typeof e=="string")return ml(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ml(e,t)}}function hE(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function pE(e){if(Array.isArray(e))return ml(e)}function ml(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var dE=function(t){return t},F0={},z0=function(t){return t===F0},Qy=function(t){return function r(){return arguments.length===0||arguments.length===1&&z0(arguments.length<=0?void 0:arguments[0])?r:t.apply(void 0,arguments)}},vE=function e(t,r){return t===1?r:Qy(function(){for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];var o=i.filter(function(u){return u!==F0}).length;return o>=t?r.apply(void 0,i):e(t-o,Qy(function(){for(var u=arguments.length,c=new Array(u),s=0;s<u;s++)c[s]=arguments[s];var f=i.map(function(l){return z0(l)?c.shift():l});return r.apply(void 0,sE(f).concat(c))}))})},Ca=function(t){return vE(t.length,t)},gl=function(t,r){for(var n=[],i=t;i<r;++i)n[i-t]=i;return n},yE=Ca(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(r){return t[r]}).map(e)}),mE=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(!r.length)return dE;var i=r.reverse(),a=i[0],o=i.slice(1);return function(){return o.reduce(function(u,c){return c(u)},a.apply(void 0,arguments))}},bl=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},W0=function(t){var r=null,n=null;return function(){for(var i=arguments.length,a=new Array(i),o=0;o<i;o++)a[o]=arguments[o];return r&&a.every(function(u,c){return u===r[c]})||(r=a,n=t.apply(void 0,a)),n}};function gE(e){var t;return e===0?t=1:t=Math.floor(new ie(e).abs().log(10).toNumber())+1,t}function bE(e,t,r){for(var n=new ie(e),i=0,a=[];n.lt(t)&&i<1e5;)a.push(n.toNumber()),n=n.add(r),i++;return a}var xE=Ca(function(e,t,r){var n=+e,i=+t;return n+r*(i-n)}),wE=Ca(function(e,t,r){var n=t-+e;return n=n||1/0,(r-e)/n}),OE=Ca(function(e,t,r){var n=t-+e;return n=n||1/0,Math.max(0,Math.min(1,(r-e)/n))});const $a={rangeStep:bE,getDigitCount:gE,interpolateNumber:xE,uninterpolateNumber:wE,uninterpolateTruncation:OE};function xl(e){return AE(e)||SE(e)||U0(e)||_E()}function _E(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function SE(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function AE(e){if(Array.isArray(e))return wl(e)}function Sn(e,t){return EE(e)||TE(e,t)||U0(e,t)||PE()}function PE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function U0(e,t){if(e){if(typeof e=="string")return wl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wl(e,t)}}function wl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function TE(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),u;!(n=(u=o.next()).done)&&(r.push(u.value),!(t&&r.length===t));n=!0);}catch(c){i=!0,a=c}finally{try{!n&&o.return!=null&&o.return()}finally{if(i)throw a}}return r}}function EE(e){if(Array.isArray(e))return e}function H0(e){var t=Sn(e,2),r=t[0],n=t[1],i=r,a=n;return r>n&&(i=n,a=r),[i,a]}function G0(e,t,r){if(e.lte(0))return new ie(0);var n=$a.getDigitCount(e.toNumber()),i=new ie(10).pow(n),a=e.div(i),o=n!==1?.05:.1,u=new ie(Math.ceil(a.div(o).toNumber())).add(r).mul(o),c=u.mul(i);return t?c:new ie(Math.ceil(c))}function jE(e,t,r){var n=1,i=new ie(e);if(!i.isint()&&r){var a=Math.abs(e);a<1?(n=new ie(10).pow($a.getDigitCount(e)-1),i=new ie(Math.floor(i.div(n).toNumber())).mul(n)):a>1&&(i=new ie(Math.floor(e)))}else e===0?i=new ie(Math.floor((t-1)/2)):r||(i=new ie(Math.floor(e)));var o=Math.floor((t-1)/2),u=mE(yE(function(c){return i.add(new ie(c-o).mul(n)).toNumber()}),gl);return u(0,t)}function K0(e,t,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new ie(0),tickMin:new ie(0),tickMax:new ie(0)};var a=G0(new ie(t).sub(e).div(r-1),n,i),o;e<=0&&t>=0?o=new ie(0):(o=new ie(e).add(t).div(2),o=o.sub(new ie(o).mod(a)));var u=Math.ceil(o.sub(e).div(a).toNumber()),c=Math.ceil(new ie(t).sub(o).div(a).toNumber()),s=u+c+1;return s>r?K0(e,t,r,n,i+1):(s<r&&(c=t>0?c+(r-s):c,u=t>0?u:u+(r-s)),{step:a,tickMin:o.sub(new ie(u).mul(a)),tickMax:o.add(new ie(c).mul(a))})}function ME(e){var t=Sn(e,2),r=t[0],n=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(i,2),u=H0([r,n]),c=Sn(u,2),s=c[0],f=c[1];if(s===-1/0||f===1/0){var l=f===1/0?[s].concat(xl(gl(0,i-1).map(function(){return 1/0}))):[].concat(xl(gl(0,i-1).map(function(){return-1/0})),[f]);return r>n?bl(l):l}if(s===f)return jE(s,i,a);var h=K0(s,f,o,a),d=h.step,m=h.tickMin,v=h.tickMax,p=$a.rangeStep(m,v.add(new ie(.1).mul(d)),d);return r>n?bl(p):p}function CE(e,t){var r=Sn(e,2),n=r[0],i=r[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=H0([n,i]),u=Sn(o,2),c=u[0],s=u[1];if(c===-1/0||s===1/0)return[n,i];if(c===s)return[c];var f=Math.max(t,2),l=G0(new ie(s).sub(c).div(f-1),a,0),h=[].concat(xl($a.rangeStep(new ie(c),new ie(s).sub(new ie(.99).mul(l)),l)),[s]);return n>i?bl(h):h}var $E=W0(ME),IE=W0(CE),RE="Invariant failed";function Zt(e,t){throw new Error(RE)}var kE=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function _r(e){"@babel/helpers - typeof";return _r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_r(e)}function Li(){return Li=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Li.apply(this,arguments)}function DE(e,t){return LE(e)||BE(e,t)||qE(e,t)||NE()}function NE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qE(e,t){if(e){if(typeof e=="string")return em(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return em(e,t)}}function em(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function BE(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function LE(e){if(Array.isArray(e))return e}function FE(e,t){if(e==null)return{};var r=zE(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zE(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function WE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function UE(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Y0(n.key),n)}}function HE(e,t,r){return t&&UE(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function GE(e,t,r){return t=Fi(t),KE(e,V0()?Reflect.construct(t,r||[],Fi(e).constructor):t.apply(e,r))}function KE(e,t){if(t&&(_r(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return VE(e)}function VE(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function V0(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(V0=function(){return!!e})()}function Fi(e){return Fi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Fi(e)}function XE(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ol(e,t)}function Ol(e,t){return Ol=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Ol(e,t)}function X0(e,t,r){return t=Y0(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Y0(e){var t=YE(e,"string");return _r(t)=="symbol"?t:t+""}function YE(e,t){if(_r(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(_r(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Ia=(function(e){function t(){return WE(this,t),GE(this,t,arguments)}return XE(t,e),HE(t,[{key:"render",value:function(){var n=this.props,i=n.offset,a=n.layout,o=n.width,u=n.dataKey,c=n.data,s=n.dataPointFormatter,f=n.xAxis,l=n.yAxis,h=FE(n,kE),d=Z(h,!1);this.props.direction==="x"&&f.type!=="number"&&Zt();var m=c.map(function(v){var p=s(v,u),b=p.x,x=p.y,w=p.value,O=p.errorVal;if(!O)return null;var y=[],g,_;if(Array.isArray(O)){var S=DE(O,2);g=S[0],_=S[1]}else g=_=O;if(a==="vertical"){var P=f.scale,M=x+i,A=M+o,E=M-o,j=P(w-g),I=P(w+_);y.push({x1:I,y1:A,x2:I,y2:E}),y.push({x1:j,y1:M,x2:I,y2:M}),y.push({x1:j,y1:A,x2:j,y2:E})}else if(a==="horizontal"){var C=l.scale,R=b+i,D=R-o,B=R+o,L=C(w-g),U=C(w+_);y.push({x1:D,y1:U,x2:B,y2:U}),y.push({x1:R,y1:L,x2:R,y2:U}),y.push({x1:D,y1:L,x2:B,y2:L})}return T.createElement(fe,Li({className:"recharts-errorBar",key:"bar-".concat(y.map(function(G){return"".concat(G.x1,"-").concat(G.x2,"-").concat(G.y1,"-").concat(G.y2)}))},d),y.map(function(G){return T.createElement("line",Li({},G,{key:"line-".concat(G.x1,"-").concat(G.x2,"-").concat(G.y1,"-").concat(G.y2)}))}))});return T.createElement(fe,{className:"recharts-errorBars"},m)}}])})(T.Component);X0(Ia,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});X0(Ia,"displayName","ErrorBar");function An(e){"@babel/helpers - typeof";return An=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},An(e)}function tm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Bt(e){for(var t=1;t<argumen Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tj(e,t){if(e){if(typeof e=="string")return _l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _l(e,t)}}function rj(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function nj(e){if(Array.isArray(e))return _l(e)}function _l(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function nm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function pe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?nm(Object(r),!0).forEach(function(n){dr(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function dr(e,t,r){return t=ij(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ij(e){var t=aj(e,"string");return Pn(t)=="symbol"?t:t+""}function aj(e,t){if(Pn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Pn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Be(e,t,r){return J(e)||J(t)?r:we(t)?He(e,t,r):V(t)?t(e):r}function un(e,t,r,n){var i=nE(e,function(u){return Be(u,t)});if(r==="number"){var a=i.filter(function(u){return q(u)||parseFloat(u)});return a.length?[Ma(a),Tt(a)]:[1/0,-1/0]}var o=n?i.filter(function(u){return!J(u)}):i;return o.map(function(u){return we(u)||u instanceof Date?u:""})}var oj=function(t){var r,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=-1,u=(r=n?.length)!==null&&r!==void 0?r:0;if(u<=1)return 0;if(a&&a.axisType==="angleAxis"&&Math.abs(Math.abs(a.range[1]-a.range[0])-360)<=1e-6)for(var c=a.range,s=0;s<u;s++){var f=s>0?i[s-1].coordinate:i[u-1].coordinate,l=i[s].coordinate,h=s>=u-1?i[0].coordinate:i[s+1].coordinate,d=void 0;if(Ze(l-f)!==Ze(h-l)){var m=[];if(Ze(h-l)===Ze(c[1]-c[0])){d=h;var v=l+c[1]-c[0];m[0]=Math.min(v,(v+f)/2),m[1]=Math.max(v,(v+f)/2)}else{d=f;var p=h+c[1]-c[0];m[0]=Math.min(l,(p+l)/2),m[1]=Math.max(l,(p+l)/2)}var b=[Math.min(l,(d+l)/2),Math.max(l,(d+l)/2)];if(t>b[0]&&t<=b[1]||t>=m[0]&&t<=m[1]){o=i[s].index;break}}else{var x=Math.min(f,h),w=Math.max(f,h);if(t>(x+l)/2&&t<=(w+l)/2){o=i[s].index;break}}}else for(var O=0;O<u;O++)if(O===0&&t<=(n[O].coordinate+n[O+1].coordinate)/2||O>0&&O<u-1&&t>(n[O].coordinate+n[O-1].coordinate)/2&&t<=(n[O].coordinate+n[O+1].coordinate)/2||O===u-1&&t>(n[O].coordinate+n[O-1].coordinate)/2){o=n[O].index;break}return o},Qf=function(t){var r,n=t,i=n.type.displayName,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?pe(pe({},t.type.defaultProps),t.props):t.props,o=a.stroke,u=a.fill,c;switch(i){case"Line":c=o;break;case"Area":case"Radar":c=o&&o!=="none"?o:u;break;default:c=u;break}return c},uj=function(t){var r=t.barSize,n=t.totalSize,i=t.stackGroups,a=i===void 0?{}:i;if(!a)return{};for(var o={},u=Object.keys(a),c=0,s=u.length;c<s;c++)for(var f=a[u[c]].stackGroups,l=Object.keys(f),h=0,d=l.length;h<d;h++){var m=f[l[h]],v=m.items,p=m.cateAxisId,b=v.filter(function(_){return pt(_.type).indexOf("Bar")>=0});if(b&&b.length){var x=b[0].type.defaultProps,w=x!==void 0?pe(pe({},x),b[0].props):b[0].props,O=w.barSize,y=w[p];o[y]||(o[y]=[]);var g=J(O)?r:O;o[y].push({item:b[0],stackList:b.slice(1),barSize:J(g)?void 0:Je(g,n,0)})}}return o},cj=function(t){var r=t.barGap,n=t.barCategoryGap,i=t.bandSize,a=t.sizeList,o=a===void 0?[]:a,u=t.maxBarSize,c=o.length;if(c<1)return null;var s=Je(r,i,0,!0),f,l=[];if(o[0].barSize===+o[0].barSize){var h=!1,d=i/c,m=o.reduce(function(O,y){return O+y.barSize||0},0);m+=(c-1)*s,m>=i&&(m-=(c-1)*s,s=0),m>=i&&d>0&&(h=!0,d*=.9,m=c*d);var v=(i-m)/2>>0,p={offset:v-s,size:0};f=o.reduce(function(O,y){var g={item:y.item,position:{offset:p.offset+p.size+s,size:h?d:y.barSize}},_=[].concat(rm(O),[g]);return p=_[_.length-1].position,y.stackList&&y.stackList.length&&y.stackList.forEach(function(S){_.push({item:S,position:p})}),_},l)}else{var b=Je(n,i,0,!0);i-2*b-(c-1)*s<=0&&(s=0);var x=(i-2*b-(c-1)*s)/c;x>1&&(x>>=0);var w=u===+u?Math.min(x,u):x;f=o.reduce(function(O,y,g){var _=[].concat(rm(O),[{item:y.item,position:{offset:b+(x+s)*g+(x-w)/2,size:w}}]);return y.stackList&&y.stackList.length&&y.stackList.forEach(function(S){_.push({item:S,position:_[_.length-1].position})}),_},l)}return f},sj=function(t,r,n,i){var a=n.children,o=n.width,u=n.margin,c=o-(u.left||0)-(u.ri Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pj(e,t){if(e){if(typeof e=="string")return fm(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fm(e,t)}}function fm(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Tj(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function Ej(e){if(Array.isArray(e))return e}var Wi=Math.PI/180,jj=function(t){return t*180/Math.PI},Pe=function(t,r,n,i){return{x:t+Math.cos(-Wi*i)*n,y:r+Math.sin(-Wi*i)*n}},Mj=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},cN=function(t,r,n,i,a){var o=t.width,u=t.height,c=t.startAngle,s=t.endAngle,f=Je(t.cx,o,o/2),l=Je(t.cy,u,u/2),h=Mj(o,u,n),d=Je(t.innerRadius,h,0),m=Je(t.outerRadius,h,h*.8),v=Object.keys(r);return v.reduce(function(p,b){var x=r[b],w=x.domain,O=x.reversed,y;if(J(x.range))i==="angleAxis"?y=[c,s]:i==="radiusAxis"&&(y=[d,m]),O&&(y=[y[1],y[0]]);else{y=x.range;var g=y,_=Sj(g,2);c=_[0],s=_[1]}var S=rx(x,a),P=S.realScaleType,M=S.scale;M.domain(w).range(y),nx(M);var A=ix(M,st(st({},x),{},{realScaleType:P})),E=st(st(st({},x),A),{},{range:y,radius:m,realScaleType:P,scale:M,cx:f,cy:l,innerRadius:d,outerRadius:m,startAngle:c,endAngle:s});return st(st({},p),{},ux({},b,E))},{})},Cj=function(t,r){var n=t.x,i=t.y,a=r.x,o=r.y;return Math.sqrt(Math.pow(n-a,2)+Math.pow(i-o,2))},$j=function(t,r){var n=t.x,i=t.y,a=r.cx,o=r.cy,u=Cj({x:n,y:i},{x:a,y:o});if(u<=0)return{radius:u};var c=(n-a)/u,s=Math.acos(c);return i>o&&(s=2*Math.PI-s),{radius:u,angle:jj(s),angleInRadian:s}},Ij=function(t){var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),a=Math.floor(n/360),o=Math.min(i,a);return{startAngle:r-o*360,endAngle:n-o*360}},Rj=function(t,r){var n=r.startAngle,i=r.endAngle,a=Math.floor(n/360),o=Math.floor(i/360),u=Math.min(a,o);return t+u*360},hm=function(t,r){var n=t.x,i=t.y,a=$j({x:n,y:i},r),o=a.radius,u=a.angle,c=r.innerRadius,s=r.outerRadius;if(o<c||o>s)return!1;if(o===0)return!0;var f=Ij(r),l=f.startAngle,h=f.endAngle,d=u,m;if(l<=h){for(;d>h;)d-=360;for(;d<l;)d+=360;m=d>=l&&d<=h}else{for(;d>l;)d-=360;for(;d<h;)d+=360;m=d>=h&&d<=l}return m?st(st({},r),{},{radius:o,angle:Rj(d,r)}):null},sN=function(t){return!N.isValidElement(t)&&!V(t)&&typeof t!="boolean"?t.className:""};function En(e){"@babel/helpers - typeof";return En=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},En(e)}var kj=["offset"];function Dj(e){return Lj(e)||Bj(e)||qj(e)||Nj()}function Nj(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qj(e,t){if(e){if(typeof e=="string")return Al(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Al(e,t)}}function Bj(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Lj(e){if(Array.isArray(e))return Al(e)}function Al(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Fj(e,t){if(e==null)return{};var r=zj(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zj(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function pm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?pm(Object(r),!0).forEach(function(n){Wj(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Wj(e,t,r){return t=Uj(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Uj(e){var t=Hj(e,"string");return En(t)=="symbol"?t:t+""}function Hj(e,t){if(En(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(En(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jn(){return jn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},jn.apply(this,arguments)}var Gj=function(t){var r=t.value,n=t.formatter,i=J(t.children)?r:t.children;return V(n)?n(i):i},Kj=function(t,r){var n=Ze(r-t),i=Math.min(Math.abs(r-t),360);return n*i},Vj=function(t,r,n){var i=t.position,a=t.viewBox,o=t.offset,u=t.className,c=a,s=c.cx,f=c.cy,l=c.innerRadius,h=c.outerRadius,d=c.startAngle,m=c.endAngle,v=c.clockWise,p=(l+h)/2,b=Kj(d,m),x=b>=0?1:-1,w,O;i==="insideStart"?(w=d+x*o,O=v):i==="insideEnd"?(w=m-x*o,O=!v):i==="end"&&(w=m+x*o,O=v),O=b<=0?O:!O;var y=Pe(s,f,p,w),g=Pe(s,f,p,w+(O?1:-1)*359),_="M".concat(y.x,",").concat(y.y,`
A`).concat(p,",").concat(p,",0,1,").concat(O?0:1,`,
`).concat(g.x,",").concat(g.y),S=J(t.id)?Kn("recharts-radial-line-"):t.id;return T.createElement("text",jn({},n,{dominantBaseline:"central",className:ee("recharts-radial-bar-label",u)}),T.createElement("defs",null,T.createElement("path",{id:S,d:_})),T.createElement("textPath",{xlinkHref:"#".concat(S)},r))},Xj=function(t){var r=t.viewBox,n=t.offset,i=t.position,a=r,o=a.cx,u=a.cy,c=a.innerRadius,s=a.outerRadius,f=a.startAngle,l=a.endAngle,h=(f+l)/2;if(i==="outside"){var d=Pe(o,u,s+n,h),m=d.x,v=d.y;return{x:m,y:v,textAnchor:m>=o?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"end"};var p=(c+s)/2,b=Pe(o,u,p,h),x=b.x,w=b.y;return{x,y:w,textAnchor:"middle",verticalAnchor:"middle"}},Yj=function(t){var r=t.viewBox,n=t.parentViewBox,i=t.offset,a=t.position,o=r,u=o.x,c=o.y,s=o.width,f=o.height,l=f>=0?1:-1,h=l*i,d=l>0?"end":"start",m=l>0?"start":"end",v=s>=0?1:-1,p=v*i,b=v>0?"end":"start",x=v>0?"start":"end";if(a==="top"){var w={x:u+s/2,y:c-l*i,textAnchor:"middle",verticalAnchor:d};return xe(xe({},w),n?{height:Math.max(c-n.y,0),width:s}:{})}if(a==="bottom"){var O={x:u+s/2,y:c+f+h,textAnchor:"middle",verticalAnchor:m};return xe(xe({},O),n?{height:Math.max(n.y+n.height-(c+f),0),width:s}:{})}if(a==="left"){var y={x:u-p,y:c+f/2,textAnchor:b,verticalAnchor:"middle"};return xe(xe({},y),n?{width:Math.max(y.x-n.x,0),height:f}:{})}if(a==="right"){var g={x:u+s+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"};return xe(xe({},g),n?{width:Math.max(n.x+n.width-g.x,0),height:f}:{})}var _=n?{width:s,height:f}:{};return a==="insideLeft"?xe({x:u+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"},_):a==="insideRight"?xe({x:u+s-p,y:c+f/2,textAnchor:b,verticalAnchor:"middle"},_):a==="insideTop"?xe({x:u+s/2,y:c+h,textAnchor:"middle",verticalAnchor:m},_):a==="insideBottom"?xe({x:u+s/2,y:c+f-h,textAnchor:"middle",verticalAnchor:d},_):a==="insideTopLeft"?xe({x:u+p,y:c+h,textAnchor:x,verticalAnchor:m},_):a==="insideTopRight"?xe({x:u+s-p,y:c+h,textAnchor:b,verticalAnchor:m},_):a==="insideBottomLeft"?xe({x:u+p,y:c+f-h,textAnchor:x,verticalAnchor:d},_):a==="insideBottomRight"?xe({x:u+s-p,y:c+f-h,textAnchor:b,verticalAnchor:d},_):qr(a)&&(q(a.x)||zt(a.x))&&(q(a.y)||zt(a.y))?xe({x:u+Je(a.x,s),y:c+Je(a.y,f),textAnchor:"end",verticalAnchor:"end"},_):xe({x:u+s/2,y:c+f/2,textAnchor:"middle",verticalAnchor:"middle"},_)},Zj=function(t){return"cx"in t&&q(t.cx)};function Ee(e){var t=e.offset,r=t===void 0?5:t,n=Fj(e,kj),i=xe({offset:r},n),a=i.viewBox,o=i.position,u=i.value,c=i.children,s=i.content,f=i.className,l=f===void 0?"":f,h=i.textBreakAll;if(!a||J(u)&&J(c)&&!N.isValidElement(s)&&!V(s))return null;if(N.isValidElement(s))return N.cloneElement(s,i);var d;if(V(s)){if(d=N.createElement(s,i),N.isValidElement(d))return d}else d=Gj(i);var m=Zj(a),v=Z(i,!0);if(m&&(o==="insideStart"||o==="insideEnd"||o==="end"))return Vj(i,d,v);var p=m?Xj(i):Yj(i);return T.createElement(Ei,jn({className:ee("recharts-label",l)},v,p,{breakAll:h}),d)}Ee.displayName="Label";var cx=function(t){var r=t.cx,n=t.cy,i=t.angle,a=t.startAngle,o=t.endAngle,u=t.r,c=t.radius,s=t.innerRadius,f=t.outerRadius,l=t.x,h=t.y,d=t.top,m=t.left,v=t.width,p=t.height,b=t.clockWise,x=t.labelViewBox;if(x)return x;if(q(v)&&q(p)){if(q(l)&&q(h))return{x:l,y:h,width:v,height:p};if(q(d)&&q(m))return{x:d,y:m,width:v,height:p}}return q(l)&&q(h)?{x:l,y:h,width:0,height:0}:q(r)&&q(n)?{cx:r,cy:n,startAngle:a||i||0,endAngle:o||i||0,innerRadius:s||0,outerRadius:f||c||u||0,clockWise:b}:t.viewBox?t.viewBox:{}},Jj=function(t,r){return t?t===!0?T.createElement(Ee,{key:"label-implicit",viewBox:r}):we(t)?T.createElement(Ee,{key:"label-implicit",viewBox:r,value:t}):N.isValidElement(t)?t.type===Ee?N.cloneElement(t,{key:"label-implicit",viewBox:r}):T.createElement(Ee,{key:"label-implicit",content:t,viewBox:r}):V(t)?T.createElement(Ee,{key:"label-implicit",content:t,viewBox:r}):qr(t)?T.createElement(Ee,jn({viewBox:r},t,{key:"label-implicit"})):null:null},Qj=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var i=t.children,a=cx(t),o=Qe(i,Ee).map(function(c,s){return N.cloneElement(c,{viewBox:r||a,key:"label-".concat(s)})});if(!n)return o;var u=Jj(t.label,r||a);return[u].concat(Dj(o))};Ee.parseViewBox=cx;Ee.renderCallByParent=Qj;var ds,dm;function eM(){if(dm)return ds;dm=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return ds=e,ds}var tM=eM();const rM=ue(tM);function Mn(e){"@babel/helpers - typeof";return Mn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mn(e)}var nM=["valueAccessor"],iM=["data","dataKey","clockWise","id","textBreakAll"];function aM(e){return sM(e)||cM(e)|| Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uM(e,t){if(e){if(typeof e=="string")return Pl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Pl(e,t)}}function cM(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function sM(e){if(Array.isArray(e))return Pl(e)}function Pl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ui(){return Ui=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ui.apply(this,arguments)}function vm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ym(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?vm(Object(r),!0).forEach(function(n){lM(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):vm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function lM(e,t,r){return t=fM(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fM(e){var t=hM(e,"string");return Mn(t)=="symbol"?t:t+""}function hM(e,t){if(Mn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Mn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mm(e,t){if(e==null)return{};var r=pM(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function pM(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var dM=function(t){return Array.isArray(t.value)?rM(t.value):t.value};function Mt(e){var t=e.valueAccessor,r=t===void 0?dM:t,n=mm(e,nM),i=n.data,a=n.dataKey,o=n.clockWise,u=n.id,c=n.textBreakAll,s=mm(n,iM);return!i||!i.length?null:T.createElement(fe,{className:"recharts-label-list"},i.map(function(f,l){var h=J(a)?r(f,l):Be(f&&f.payload,a),d=J(u)?{}:{id:"".concat(u,"-").concat(l)};return T.createElement(Ee,Ui({},Z(f,!0),s,d,{parentViewBox:f.parentViewBox,value:h,textBreakAll:c,viewBox:Ee.parseViewBox(J(o)?f:ym(ym({},f),{},{clockWise:o})),key:"label-".concat(l),index:l}))}))}Mt.displayName="LabelList";function vM(e,t){return e?e===!0?T.createElement(Mt,{key:"labelList-implicit",data:t}):T.isValidElement(e)||V(e)?T.createElement(Mt,{key:"labelList-implicit",data:t,content:e}):qr(e)?T.createElement(Mt,Ui({data:t},e,{key:"labelList-implicit"})):null:null}function yM(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var n=e.children,i=Qe(n,Mt).map(function(o,u){return N.cloneElement(o,{data:t,key:"labelList-".concat(u)})});if(!r)return i;var a=vM(e.label,t);return[a].concat(aM(i))}Mt.renderCallByParent=yM;function Cn(e){"@babel/helpers - typeof";return Cn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cn(e)}function Tl(){return Tl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Tl.apply(this,arguments)}function gm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?gm(Object(r),!0).forEach(function(n){mM(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function mM(e,t,r){return t=gM(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gM(e){var t=bM(e,"string");return Cn(t)=="symbol"?t:t+""}function bM(e,t){if(Cn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Cn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var xM=function(t,r){var n=Ze( Line truncated
A `).concat(a,",").concat(a,`,0,
`).concat(+(Math.abs(c)>180),",").concat(+(o>s),`,
`).concat(l.x,",").concat(l.y,`
`);if(i>0){var d=Pe(r,n,i,o),m=Pe(r,n,i,s);h+="L ".concat(m.x,",").concat(m.y,`
A `).concat(i,",").concat(i,`,0,
`).concat(+(Math.abs(c)>180),",").concat(+(o<=s),`,
`).concat(d.x,",").concat(d.y," Z")}else h+="L ".concat(r,",").concat(n," Z");return h},wM=function(t){var r=t.cx,n=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,u=t.forceCornerRadius,c=t.cornerIsExternal,s=t.startAngle,f=t.endAngle,l=Ze(f-s),h=li({cx:r,cy:n,radius:a,angle:s,sign:l,cornerRadius:o,cornerIsExternal:c}),d=h.circleTangency,m=h.lineTangency,v=h.theta,p=li({cx:r,cy:n,radius:a,angle:f,sign:-l,cornerRadius:o,cornerIsExternal:c}),b=p.circleTangency,x=p.lineTangency,w=p.theta,O=c?Math.abs(s-f):Math.abs(s-f)-v-w;if(O<0)return u?"M ".concat(m.x,",").concat(m.y,`
a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0
a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0
`):sx({cx:r,cy:n,innerRadius:i,outerRadius:a,startAngle:s,endAngle:f});var y="M ".concat(m.x,",").concat(m.y,`
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(d.x,",").concat(d.y,`
A`).concat(a,",").concat(a,",0,").concat(+(O>180),",").concat(+(l<0),",").concat(b.x,",").concat(b.y,`
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(x.x,",").concat(x.y,`
`);if(i>0){var g=li({cx:r,cy:n,radius:i,angle:s,sign:l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),_=g.circleTangency,S=g.lineTangency,P=g.theta,M=li({cx:r,cy:n,radius:i,angle:f,sign:-l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),A=M.circleTangency,E=M.lineTangency,j=M.theta,I=c?Math.abs(s-f):Math.abs(s-f)-P-j;if(I<0&&o===0)return"".concat(y,"L").concat(r,",").concat(n,"Z");y+="L".concat(E.x,",").concat(E.y,`
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(A.x,",").concat(A.y,`
A`).concat(i,",").concat(i,",0,").concat(+(I>180),",").concat(+(l>0),",").concat(_.x,",").concat(_.y,`
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(S.x,",").concat(S.y,"Z")}else y+="L".concat(r,",").concat(n,"Z");return y},OM={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},lx=function(t){var r=bm(bm({},OM),t),n=r.cx,i=r.cy,a=r.innerRadius,o=r.outerRadius,u=r.cornerRadius,c=r.forceCornerRadius,s=r.cornerIsExternal,f=r.startAngle,l=r.endAngle,h=r.className;if(o<a||f===l)return null;var d=ee("recharts-sector",h),m=o-a,v=Je(u,m,0,!0),p;return v>0&&Math.abs(f-l)<360?p=wM({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,m/2),forceCornerRadius:c,cornerIsExternal:s,startAngle:f,endAngle:l}):p=sx({cx:n,cy:i,innerRadius:a,outerRadius:o,startAngle:f,endAngle:l}),T.createElement("path",Tl({},Z(r,!0),{className:d,d:p,role:"img"}))};function $n(e){"@babel/helpers - typeof";return $n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$n(e)}function El(){return El=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},El.apply(this,arguments)}function xm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function wm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xm(Object(r),!0).forEach(function(n){_M(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _M(e,t,r){return t=SM(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SM(e){var t=AM(e,"string");return $n(t)=="symbol"?t:t+""}function AM(e,t){if($n(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if($n(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Om={curveBasisClosed:WO,curveBasisOpen:UO,curveBasis:zO,curveBumpX:EO,curveBumpY:jO,curveLinearClosed:HO,curveLinear:ba,curveMonotoneX:GO,curveMonotoneY:KO,curveNatural:VO,curveStep:XO,curveStepAfter:ZO,curveStepBefore:YO},fi=function(t){return t.x===+t.x&&t.y===+t.y},Zr=function(t){return t.x},Jr=function(t){return t.y},PM=function(t,r){if(V(t))return t;var n="curve".concat(ma(t));return(n==="curveMonotone"||n==="curveBump")&&r?Om["".concat(n).concat(r==="vertical"?"Y":"X")]:Om[n]||ba},TM=function(t){var r=t.type,n=r===void 0?"linear":r,i=t.points,a=i===void 0?[]:i,o=t.baseLine,u=t.layout,c=t.connectNulls,s=c===void 0?!1:c,f=PM(n,u),l=s?a.filter(function(v){return fi(v)}):a,h;if(Array.isArray(o)){var d=s?o.filter(function(v){return fi(v)}):o,m=l.map(function(v,p){return wm(wm({},v),{},{base:d[p]})});return u==="vertical"?h=ri().y(Jr).x1(Zr).x0(function(v){return v.base.x}):h=ri().x(Zr).y1(Jr).y0(function(v){return v.base.y}),h.defined(fi).curve(f),h(m)}return u==="vertical"&&q(o)?h=ri().y(Jr).x1(Zr).x0(o):q(o)?h=ri().x(Zr).y1(Jr).y0(o):h=lb().x(Zr).y(Jr),h.defined(fi).curve(f),h(l)},cn=function(t){var r=t.className,n=t.points,i=t.path,a=t.pathRef;if((!n||!n.length)&&!i)return null;var o=n&&n.length?TM(t):i;return N.createElement("path",El({},Z(t,!1),yi(t),{className:ee("recharts-curve",r),d:o,ref:a}))},vs={exports:{}},ys,_m;function EM(){if(_m)return ys;_m=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return ys=e,ys}var ms,Sm;function jM(){if(Sm)return ms;Sm=1;var e=EM();function t(){}function r(){}return r.resetWarningCache=t,ms=function(){function n(o,u,c,s,f,l){if(l!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}n.isRequired=n;function i(){return n}var a={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:i,element:n,elementType:n,instanceOf:i,node:n,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:r,resetWarningCache:t};return a.PropTypes=a,a},ms}var Am;function MM(){return Am||(Am=1,vs.exports=jM()()),vs.exports}var CM=MM();const ne=ue(CM),{getOwnPropertyNames:$M,getOwnPropertySymbols:IM}=Object,{hasOwnProperty:RM}=Object.prototype;function gs(e,t){return function(n,i,a){return e(n,i,a)&&t(n,i,a)}}function hi(e){return function(r,n,i){if(!r||!n||typeof r!="object"||typeof n!="object")return e(r,n,i);const{cache:a}=i,o=a.get(r),u=a.get(n);if(o&&u)return o===n&&u===r;a.set(r,n),a.set(n,r);const c=e(r,n,i);return a.delete(r),a.delete(n),c}}function kM(e){return e?.[S Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xC(e,t){if(e){if(typeof e=="string")return $m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $m(e,t)}}function $m(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function wC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function OC(e){if(Array.isArray(e))return e}function _C(){var e={},t=function(){return null},r=!1,n=function i(a){if(!r){if(Array.isArray(a)){if(!a.length)return;var o=a,u=gC(o),c=u[0],s=u.slice(1);if(typeof c=="number"){Cm(i.bind(null,s),c);return}i(c),Cm(i.bind(null,s));return}jl(a)==="object"&&(e=a,t(e)),typeof a=="function"&&a()}};return{stop:function(){r=!0},start:function(a){r=!1,n(a)},subscribe:function(a){return t=a,function(){t=function(){return null}}}}}function In(e){"@babel/helpers - typeof";return In=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},In(e)}function Im(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Rm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Im(Object(r),!0).forEach(function(n){hx(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Im(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hx(e,t,r){return t=SC(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SC(e){var t=AC(e,"string");return In(t)==="symbol"?t:String(t)}function AC(e,t){if(In(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(In(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var PC=function(t,r){return[Object.keys(t),Object.keys(r)].reduce(function(n,i){return n.filter(function(a){return i.includes(a)})})},TC=function(t){return t},EC=function(t){return t.replace(/([A-Z])/g,function(r){return"-".concat(r.toLowerCase())})},sn=function(t,r){return Object.keys(r).reduce(function(n,i){return Rm(Rm({},n),{},hx({},i,t(i,r[i])))},{})},km=function(t,r,n){return t.map(function(i){return"".concat(EC(i)," ").concat(r,"ms ").concat(n)}).join(",")};function jC(e,t){return $C(e)||CC(e,t)||px(e,t)||MC()}function MC(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CC(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function $C(e){if(Array.isArray(e))return e}function IC(e){return DC(e)||kC(e)||px(e)||RC()}function RC(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function px(e,t){if(e){if(typeof e=="string")return Ml(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ml(e,t)}}function kC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function DC(e){if(Array.isArray(e))return Ml(e)}function Ml(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Gi=1e-4,dx=function(t,r){return[0,3*t,3*r-6*t,3*t-3*r+1]},vx=function(t,r){return t.map(function(n,i){return n*Math.pow(r,i)}).reduce(function(n,i){return n+i})},Dm=function(t,r){return function(n){var i=dx(t,r);return vx(i,n)}},NC=function(t,r){return function(n){var i=dx(t,r),a=[].concat(IC(i.map(function(o,u){return o*u}).slice(1)),[0]);return vx(a,n)}},Nm=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=r[0],a=r[1],o=r[2],u=r[3];if(r.length===1)switch(r[0]){case"linear":i=0,a=0,o=1,u=1;break;case"ease":i=.25,a=.1,o=.25,u=1;break;case"ease-in":i=.42,a=0,o=1,u=1;break;case"ease-out":i=.42,a=0,o=.58,u=1;break;case"ease-in-out":i=0,a=0,o=.58,u=1;break;default:{var c=r[0].split("(");if(c[0]==="cubic-bezier"&&c[1].split(")")[0].split(",").length===4){var s=c[1].split(")")[0].split(",").map(function(p){return parseFloat(p)}),f=jC(s,4);i=f[0],a=f[1],o=f[2],u=f[3]}}}var l=Dm(i,o),h=Dm(a,u),d=NC(i,o),m=function(b){return b>1?1:b<0?0:b},v=function(b){for(var x=b>1?1:b,w=x,O=0;O<8;++O){var y=l(w)-x,g=d(w);if(Math.abs(y-x)<Gi||g<Gi)return h(w);w=m(w-y/g)}return h(w)};return v.isStepper=!1,v},qC=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,a=i===void 0?8:i,o=t.dt,u=o===void 0?17:o,c=function(f,l,h){var d=-(f-l)*n,m=h*a,v=h+(d-m)*u/1e3,p=h*u/1e3+f;return Math.abs(p-l)<Gi&&Math.abs(v)<Gi?[l,0]:[p,v]};return c.isStepper=!0,c.dt=u,c},BC=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=r[0];if(typeof i=="string")switch(i){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Nm(i);case"spring":return qC();default:if(i.split("(")[0]==="cubic-bezier")return Nm(i)}return typeof i=="function"?i:null};function Rn(e){"@babel/helpers - typeof";return Rn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rn(e)}function qm(e){return zC(e)||FC(e)||yx(e)||LC()}function LC(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zC(e){if(Array.isArray(e))return $l(e)}function Bm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ae(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Bm(Object(r),!0).forEach(function(n){Cl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Cl(e,t,r){return t=WC(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function WC(e){var t=UC(e,"string");return Rn(t)==="symbol"?t:String(t)}function UC(e,t){if(Rn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Rn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function HC(e,t){return VC(e)||KC(e,t)||yx(e,t)||GC()}function GC(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yx(e,t){if(e){if(typeof e=="string")return $l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $l(e,t)}}function $l(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function KC(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function VC(e){if(Array.isArray(e))return e}var Ki=function(t,r,n){return t+(r-t)*n},Il=function(t){var r=t.from,n=t.to;return r!==n},XC=function e(t,r,n){var i=sn(function(a,o){if(Il(o)){var u=t(o.from,o.to,o.velocity),c=HC(u,2),s=c[0],f=c[1];return Ae(Ae({},o),{},{from:s,velocity:f})}return o},r);return n<1?sn(function(a,o){return Il(o)?Ae(Ae({},o),{},{velocity:Ki(o.velocity,i[a].velocity,n),from:Ki(o.from,i[a].from,n)}):o},r):e(t,i,n-1)};const YC=(function(e,t,r,n,i){var a=PC(e,t),o=a.reduce(function(p,b){return Ae(Ae({},p),{},Cl({},b,[e[b],t[b]]))},{}),u=a.reduce(function(p,b){return Ae(Ae({},p),{},Cl({},b,{from:e[b],velocity:0,to:t[b]}))},{}),c=-1,s,f,l=function(){return null},h=function(){return sn(function(b,x){return x.from},u)},d=function(){return!Object.values(u).filter(Il).length},m=function(b){s||(s=b);var x=b-s,w=x/r.dt;u=XC(r,u,w),i(Ae(Ae(Ae({},e),t),h())),s=b,d()||(c=requestAnimationFrame(l))},v=function(b){f||(f=b);var x=(b-f)/n,w=sn(function(y,g){return Ki.apply(void 0,qm(g).concat([r(x)]))},o);if(i(Ae(Ae(Ae({},e),t),w)),x<1)c=requestAnimationFrame(l);else{var O=sn(function(y,g){return Ki.apply(void 0,qm(g).concat([r(1)]))},o);i(Ae(Ae(Ae({},e),t),O))}};return l=r.isStepper?m:v,function(){return requestAnimationFrame(l),function(){cancelAnimationFrame(c)}}});function Sr(e){"@babel/helpers - typeof";return Sr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sr(e)}var ZC=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function JC(e,t){if(e==null)return{};var r=QC(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QC(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a<n.length;a++)i=n[a],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}function bs(e){return n$(e)||r$(e)||t$(e)||e$()}function e$(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t$(e,t){if(e){if(typeof e=="string")return Rl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rl(e,t)}}function r$(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function n$(e){if(Array.isArray(e))return Rl(e)}function Rl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Lm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ve(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Lm(Object(r),!0).forEach(function(n){nn(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Lm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function nn(e,t,r){return t=mx(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i$(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a$(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,mx(n.key),n)}}function o$(e,t,r){return t&&a$(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function mx(e){var t=u$(e,"string");return Sr(t)==="symbol"?t:String(t)}function u$(e,t){if(Sr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Sr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function c$(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&kl(e,t)}function kl(e,t){return kl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},kl(e,t)}function s$(e){var t=l$();return function(){var n=Vi(e),i;if(t){var a=Vi(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return Dl(this,i)}}function Dl(e,t){if(t&&(Sr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Nl(e)}function Nl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l$(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Vi(e){return Vi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vi(e)}var bt=(function(e){c$(r,e);var t=s$(r);function r(n,i){var a;i$(this,r),a=t.call(this,n,i);var o=a.props,u=o.isActive,c=o.attributeName,s=o.from,f=o.to,l=o.steps,h=o.children,d=o.duration;if(a.handleStyleChange=a.handleStyleChange.bind(Nl(a)),a.changeStyle=a.changeStyle.bind(Nl(a)),!u||d<=0)return a.state={style:{}},typeof h=="function"&&(a.state={style:f}),Dl(a);if(l&&l.length)a.state={style:l[0].style};else if(s){if(typeof h=="function")return a.state={style:s},Dl(a);a.state={style:c?nn({},c,s):s}}else a.state={style:{}};return a}return o$(r,[{key:"componentDidMount",value:function(){var i=this.props,a=i.isActive,o=i.canBegin;this.mounted=!0,!(!a||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var a=this.props,o=a.isActive,u=a.canBegin,c=a.attributeName,s=a.shouldReAnimate,f=a.to,l=a.from,h=this.state.style;if(u){if(!o){var d={style:c?nn({},c,f):f};this.state&&h&&(c&&h[c]!==f||!c&&h!==f)&&this.setState(d);return}if(!(yC(i.to,f)&&i.canBegin&&i.isActive)){var m=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=m||s?l:i.to;if(this.state&&h){var p={style:c?nn({},c,v):v};(c&&h[c]!==v||!c&&h!==v)&&this.setState(p)}this.runAnimation(Ve(Ve({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i) Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function p$(e,t){if(e){if(typeof e=="string")return Fm(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Fm(e,t)}}function Fm(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function d$(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function v$(e){if(Array.isArray(e))return e}function zm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Wm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?zm(Object(r),!0).forEach(function(n){y$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function y$(e,t,r){return t=m$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m$(e){var t=g$(e,"string");return kn(t)=="symbol"?t:t+""}function g$(e,t){if(kn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(kn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Um=function(t,r,n,i,a){var o=Math.min(Math.abs(n)/2,Math.abs(i)/2),u=i>=0?1:-1,c=n>=0?1:-1,s=i>=0&&n>=0||i<0&&n<0?1:0,f;if(o>0&&a instanceof Array){for(var l=[0,0,0,0],h=0,d=4;h<d;h++)l[h]=a[h]>o?o:a[h];f="M".concat(t,",").concat(r+u*l[0]),l[0]>0&&(f+="A ".concat(l[0],",").concat(l[0],",0,0,").concat(s,",").concat(t+c*l[0],",").concat(r)),f+="L ".concat(t+n-c*l[1],",").concat(r),l[1]>0&&(f+="A ".concat(l[1],",").concat(l[1],",0,0,").concat(s,`,
`).concat(t+n,",").concat(r+u*l[1])),f+="L ".concat(t+n,",").concat(r+i-u*l[2]),l[2]>0&&(f+="A ".concat(l[2],",").concat(l[2],",0,0,").concat(s,`,
`).concat(t+n-c*l[2],",").concat(r+i)),f+="L ".concat(t+c*l[3],",").concat(r+i),l[3]>0&&(f+="A ".concat(l[3],",").concat(l[3],",0,0,").concat(s,`,
`).concat(t,",").concat(r+i-u*l[3])),f+="Z"}else if(o>0&&a===+a&&a>0){var m=Math.min(o,a);f="M ".concat(t,",").concat(r+u*m,`
A `).concat(m,",").concat(m,",0,0,").concat(s,",").concat(t+c*m,",").concat(r,`
L `).concat(t+n-c*m,",").concat(r,`
A `).concat(m,",").concat(m,",0,0,").concat(s,",").concat(t+n,",").concat(r+u*m,`
L `).concat(t+n,",").concat(r+i-u*m,`
A `).concat(m,",").concat(m,",0,0,").concat(s,",").concat(t+n-c*m,",").concat(r+i,`
L `).concat(t+c*m,",").concat(r+i,`
A `).concat(m,",").concat(m,",0,0,").concat(s,",").concat(t,",").concat(r+i-u*m," Z")}else f="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(i," h ").concat(-n," Z");return f},b$=function(t,r){if(!t||!r)return!1;var n=t.x,i=t.y,a=r.x,o=r.y,u=r.width,c=r.height;if(Math.abs(u)>0&&Math.abs(c)>0){var s=Math.min(a,a+u),f=Math.max(a,a+u),l=Math.min(o,o+c),h=Math.max(o,o+c);return n>=s&&n<=f&&i>=l&&i<=h}return!1},x$={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},eh=function(t){var r=Wm(Wm({},x$),t),n=N.useRef(),i=N.useState(-1),a=f$(i,2),o=a[0],u=a[1];N.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var O=n.current.getTotalLength();O&&u(O)}catch{}},[]);var c=r.x,s=r.y,f=r.width,l=r.height,h=r.radius,d=r.className,m=r.animationEasing,v=r.animationDuration,p=r.animationBegin,b=r.isAnimationActive,x=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||f===0||l===0)return null;var w=ee("recharts-rectangle",d);return x?T.createElement(bt,{canBegin:o>0,from:{width:f,height:l,x:c,y:s},to:{width:f,height:l,x:c,y:s},duration:v,animationEasing:m,isActive:x},function(O){var y=O.width,g=O.height,_=O.x,S=O.y;return T.createElement(bt,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,isActive:b,easing:m},T.createElement("path",Xi({},Z(r,!0),{className:w,d:Um(_,S,y,g,h),ref:n})))}):T.createElement("path",Xi({},Z(r,!0),{className:w,d:Um(c,s,f,l,h)}))};function ql(){return ql=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ql.apply(this,arguments)}var th=function(t){var r=t.cx,n=t.cy,i=t.r,a=t.className,o=ee("recharts-dot",a);return r===+r&&n===+n&&i===+i?N.createElement("circle",ql({},Z(t,!1),yi(t),{className:o,cx:r,cy:n,r:i})):null};function Dn(e){"@babel/helpers - typeof";return Dn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Dn(e)}var w$=["x","y","top","left","width","height","className"];function Bl(){return Bl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Bl.apply(this,arguments)}function Hm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function O$(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Hm(Object(r),!0).forEach(function(n){_$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _$(e,t,r){return t=S$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function S$(e){var t=A$(e,"string");return Dn(t)=="symbol"?t:t+""}function A$(e,t){if(Dn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Dn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function P$(e,t){if(e==null)return{};var r=T$(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function T$(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var E$=function(t,r,n,i,a,o){return"M".concat(t,",").concat(a,"v").concat(i,"M").concat(o,",").concat(r,"h").concat(n)},j$=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,a=i===void 0?0:i,o=t.top,u=o===void 0?0:o,c=t.left,s=c===void 0?0:c,f=t.width,l=f===void 0?0:f,h=t.height,d=h===void 0?0:h,m=t.className,v=P$(t,w$),p=O$({x:n,y:a,top:u,left:s,width:l,height:d},v);return!q(n)||!q(a)||!q(l)||!q(d)||!q(u)||!q(s)?null:T.createElement("path",Bl({},Z(p,!0),{className:ee("recharts-cross",m),d:E$(n,a,l,d,u,s)}))},xs,Gm;function M$(){if(Gm)return xs;Gm=1;var e=Ib(),t=e(Object.getPrototypeOf,Object);return xs=t,xs}var ws,Km;function C$(){if(Km)return ws;Km=1;var e=xt(),t=M$(),r=wt(),n="[object Object]",i=Function.prototype,a=Object.prototype,o=i.toString,u=a.hasOwnProperty,c=o.call(Object);function s(f){if(!r(f)||e(f)!=n)return!1;var l=t(f);if(l===null)return!0;var h=u.call(l,"constructor")&&l.constructor;return typeof h=="function"&&h instanceof h&&o.call(h)==c}return ws=s,ws}var $$=C$();const I$=ue($$);var Os,Vm;function R$(){if(Vm)ret Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function B$(e,t){if(e){if(typeof e=="string")return Xm(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xm(e,t)}}function Xm(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function L$(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function F$(e){if(Array.isArray(e))return e}function Ym(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ym(Object(r),!0).forEach(function(n){z$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ym(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function z$(e,t,r){return t=W$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function W$(e){var t=U$(e,"string");return Nn(t)=="symbol"?t:t+""}function U$(e,t){if(Nn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Nn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Jm=function(t,r,n,i,a){var o=n-i,u;return u="M ".concat(t,",").concat(r),u+="L ".concat(t+n,",").concat(r),u+="L ".concat(t+n-o/2,",").concat(r+a),u+="L ".concat(t+n-o/2-i,",").concat(r+a),u+="L ".concat(t,",").concat(r," Z"),u},H$={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},G$=function(t){var r=Zm(Zm({},H$),t),n=N.useRef(),i=N.useState(-1),a=N$(i,2),o=a[0],u=a[1];N.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var w=n.current.getTotalLength();w&&u(w)}catch{}},[]);var c=r.x,s=r.y,f=r.upperWidth,l=r.lowerWidth,h=r.height,d=r.className,m=r.animationEasing,v=r.animationDuration,p=r.animationBegin,b=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||h!==+h||f===0&&l===0||h===0)return null;var x=ee("recharts-trapezoid",d);return b?T.createElement(bt,{canBegin:o>0,from:{upperWidth:0,lowerWidth:0,height:h,x:c,y:s},to:{upperWidth:f,lowerWidth:l,height:h,x:c,y:s},duration:v,animationEasing:m,isActive:b},function(w){var O=w.upperWidth,y=w.lowerWidth,g=w.height,_=w.x,S=w.y;return T.createElement(bt,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,easing:m},T.createElement("path",Yi({},Z(r,!0),{className:x,d:Jm(_,S,O,y,g),ref:n})))}):T.createElement("g",null,T.createElement("path",Yi({},Z(r,!0),{className:x,d:Jm(c,s,f,l,h)})))},K$=["option","shapeType","propTransformer","activeClassName","isActive"];function qn(e){"@babel/helpers - typeof";return qn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qn(e)}function V$(e,t){if(e==null)return{};var r=X$(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function X$(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Qm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Qm(Object(r),!0).forEach(function(n){Y$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Y$(e,t,r){return t=Z$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Z$(e){var t=J$(e,"string");return qn(t)=="symbol"?t:t+""}function J$(e,t){if(qn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(qn(n)!="object")return n;throw new TypeError("@@toP Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function IR(e,t){if(e){if(typeof e=="string")return Mg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mg(e,t)}}function Mg(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function RR(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function kR(e){if(Array.isArray(e))return e}function Ul(){return Ul=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ul.apply(this,arguments)}var DR=function(t,r){var n;return T.isValidElement(t)?n=T.cloneElement(t,r):V(t)?n=t(r):n=T.createElement("line",Ul({},r,{className:"recharts-reference-line-line"})),n},NR=function(t,r,n,i,a,o,u,c,s){var f=a.x,l=a.y,h=a.width,d=a.height;if(n){var m=s.y,v=t.y.apply(m,{position:o});if(it(s,"discard")&&!t.y.isInRange(v))return null;var p=[{x:f+h,y:v},{x:f,y:v}];return c==="left"?p.reverse():p}if(r){var b=s.x,x=t.x.apply(b,{position:o});if(it(s,"discard")&&!t.x.isInRange(x))return null;var w=[{x,y:l+d},{x,y:l}];return u==="top"?w.reverse():w}if(i){var O=s.segment,y=O.map(function(g){return t.apply(g,{position:o})});return it(s,"discard")&&jI(y,function(g){return!t.isInRange(g)})?null:y}return null};function qR(e){var t=e.x,r=e.y,n=e.segment,i=e.xAxisId,a=e.yAxisId,o=e.shape,u=e.className,c=e.alwaysShow,s=gR(),f=Rx(i),l=kx(a),h=wR();if(!s||!h)return null;dt(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var d=rh({x:f.scale,y:l.scale}),m=we(t),v=we(r),p=n&&n.length===2,b=NR(d,m,v,p,h,e.position,f.orientation,l.orientation,e);if(!b)return null;var x=CR(b,2),w=x[0],O=w.x,y=w.y,g=x[1],_=g.x,S=g.y,P=it(e,"hidden")?"url(#".concat(s,")"):void 0,M=jg(jg({clipPath:P},Z(e,!0)),{},{x1:O,y1:y,x2:_,y2:S});return T.createElement(fe,{className:ee("recharts-reference-line",u)},DR(o,M),Ee.renderCallByParent(e,oR({x1:O,y1:y,x2:_,y2:S})))}var ch=(function(e){function t(){return _R(this,t),PR(this,t,arguments)}return jR(t,e),AR(t,[{key:"render",value:function(){return T.createElement(qR,this.props)}}])})(T.Component);uh(ch,"displayName","ReferenceLine");uh(ch,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function Hl(){return Hl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Hl.apply(this,arguments)}function jr(e){"@babel/helpers - typeof";return jr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jr(e)}function Cg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $g(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Cg(Object(r),!0).forEach(function(n){Na(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Cg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function BR(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function LR(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Bx(n.key),n)}}function FR(e,t,r){return t&&LR(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function zR(e,t,r){return t=ia(t),WR(e,qx()?Reflect.construct(t,r||[],ia(e).constructor):t.apply(e,r))}function WR(e,t){if(t&&(jr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return UR(e)}function UR(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qx(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(qx=function(){return!!e})()}function ia(e){return ia=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ia(e)}function HR(e Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hD(e,t){if(e){if(typeof e=="string")return tf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tf(e,t)}}function pD(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function dD(e){if(Array.isArray(e))return tf(e)}function tf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var rf=function(t,r,n,i,a){var o=Qe(t,ch),u=Qe(t,qa),c=[].concat(zg(o),zg(u)),s=Qe(t,La),f="".concat(i,"Id"),l=i[0],h=r;if(c.length&&(h=c.reduce(function(v,p){if(p.props[f]===n&&it(p.props,"extendDomain")&&q(p.props[l])){var b=p.props[l];return[Math.min(v[0],b),Math.max(v[1],b)]}return v},h)),s.length){var d="".concat(l,"1"),m="".concat(l,"2");h=s.reduce(function(v,p){if(p.props[f]===n&&it(p.props,"extendDomain")&&q(p.props[d])&&q(p.props[m])){var b=p.props[d],x=p.props[m];return[Math.min(v[0],b,x),Math.max(v[1],b,x)]}return v},h)}return a&&a.length&&(h=a.reduce(function(v,p){return q(p)?[Math.min(v[0],p),Math.max(v[1],p)]:v},h)),h},Ls={exports:{}},Wg;function vD(){return Wg||(Wg=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(c,s,f){this.fn=c,this.context=s,this.once=f||!1}function a(c,s,f,l,h){if(typeof f!="function")throw new TypeError("The listener must be a function");var d=new i(f,l||c,h),m=r?r+s:s;return c._events[m]?c._events[m].fn?c._events[m]=[c._events[m],d]:c._events[m].push(d):(c._events[m]=d,c._eventsCount++),c}function o(c,s){--c._eventsCount===0?c._events=new n:delete c._events[s]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var s=[],f,l;if(this._eventsCount===0)return s;for(l in f=this._events)t.call(f,l)&&s.push(r?l.slice(1):l);return Object.getOwnPropertySymbols?s.concat(Object.getOwnPropertySymbols(f)):s},u.prototype.listeners=function(s){var f=r?r+s:s,l=this._events[f];if(!l)return[];if(l.fn)return[l.fn];for(var h=0,d=l.length,m=new Array(d);h<d;h++)m[h]=l[h].fn;return m},u.prototype.listenerCount=function(s){var f=r?r+s:s,l=this._events[f];return l?l.fn?1:l.length:0},u.prototype.emit=function(s,f,l,h,d,m){var v=r?r+s:s;if(!this._events[v])return!1;var p=this._events[v],b=arguments.length,x,w;if(p.fn){switch(p.once&&this.removeListener(s,p.fn,void 0,!0),b){case 1:return p.fn.call(p.context),!0;case 2:return p.fn.call(p.context,f),!0;case 3:return p.fn.call(p.context,f,l),!0;case 4:return p.fn.call(p.context,f,l,h),!0;case 5:return p.fn.call(p.context,f,l,h,d),!0;case 6:return p.fn.call(p.context,f,l,h,d,m),!0}for(w=1,x=new Array(b-1);w<b;w++)x[w-1]=arguments[w];p.fn.apply(p.context,x)}else{var O=p.length,y;for(w=0;w<O;w++)switch(p[w].once&&this.removeListener(s,p[w].fn,void 0,!0),b){case 1:p[w].fn.call(p[w].context);break;case 2:p[w].fn.call(p[w].context,f);break;case 3:p[w].fn.call(p[w].context,f,l);break;case 4:p[w].fn.call(p[w].context,f,l,h);break;default:if(!x)for(y=1,x=new Array(b-1);y<b;y++)x[y-1]=arguments[y];p[w].fn.apply(p[w].context,x)}}return!0},u.prototype.on=function(s,f,l){return a(this,s,f,l,!1)},u.prototype.once=function(s,f,l){return a(this,s,f,l,!0)},u.prototype.removeListener=function(s,f,l,h){var d=r?r+s:s;if(!this._events[d])return this;if(!f)return o(this,d),this;var m=this._events[d];if(m.fn)m.fn===f&&(!h||m.once)&&(!l||m.context===l)&&o(this,d);else{for(var v=0,p=[],b=m.length;v<b;v++)(m[v].fn!==f||h&&!m[v].once||l&&m[v].context!==l)&&p.push(m[v]);p.length?this._events[d]=p.length===1?p[0]:p:o(this,d)}return this},u.prototype.removeAllListeners=function(s){var f;return s?(f=r?r+s:s,this._events[f]&&o(this,f)):(this._events=new n,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=r,u.EventEmitter=u,e.exports=u})(Ls)),Ls.exports}var yD=vD();const mD=ue(yD);var Fs=new mD,zs="recharts.syncMouseEvents";function Un(e){"@babel/helpers - typeof";return Un=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Un(e)}function gD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bD(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,rw(n.key),n)}}function xD(e,t,r){return t&&bD(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ws(e,t,r){return t=rw(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function rw(e){var t=wD(e,"string");return Un(t)=="symbol"?t:t+""}function wD(e Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ID(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function RD(e){if(Array.isArray(e))return e}function Gg(e,t){if(e==null)return{};var r=kD(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function kD(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function DD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ND(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ow(n.key),n)}}function qD(e,t,r){return t&&ND(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function BD(e,t,r){return t=fa(t),LD(e,iw()?Reflect.construct(t,r||[],fa(e).constructor):t.apply(e,r))}function LD(e,t){if(t&&(kr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return FD(e)}function FD(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function iw(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(iw=function(){return!!e})()}function fa(e){return fa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},fa(e)}function zD(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&nf(e,t)}function nf(e,t){return nf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},nf(e,t)}function Dr(e){return HD(e)||UD(e)||aw(e)||WD()}function WD(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function aw(e,t){if(e){if(typeof e=="string")return af(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return af(e,t)}}function UD(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function HD(e){if(Array.isArray(e))return af(e)}function af(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Kg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Kg(Object(r),!0).forEach(function(n){H(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Kg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function H(e,t,r){return t=ow(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ow(e){var t=GD(e,"string");return kr(t)=="symbol"?t:t+""}function GD(e,t){if(kr(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(kr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var KD={xAxis:["bottom","top"],yAxis:["left","right"]},VD={width:"100%",height:"100%"},uw={x:0,y:0};function di(e){return e}var XD=function(t,r){return r==="horizontal"?t.x:r==="vertical"?t.y:r==="centric"?t.angle:t.radius},YD=function(t,r,n,i){var a=r.find(function(f){return f&&f.index===n});if(a){if(t==="horizontal")return{x:a.coordinate,y:i.y};if(t==="vertical")return{x:i.x,y:a.coordinate};if(t==="centric"){var o=a.coordinate,u=i.radius;return $($($({},i),Pe(i.cx,i.cy,u,o)),{},{angle:o,radius:u})}var c=a.coordinate,s=i.angle;return $($($({},i),Pe(i.cx,i.cy,c,s)),{},{angle:s,radius:c})}return uw},Fa=function(t,r){var n=r.graphicalItems,i=r.dataStartIndex,a=r.dataEndIndex,o=(n??[]).reduce(function(u,c){var s=c.props.data;return s&&s.length?[].concat(Dr(u),Dr(s)):u},[]);return o.length>0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function cw(e){return e==="number"?[0,"auto"]:void 0}var of=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,u=Fa(r,t);return n<0||!a||!a.length||n>=u.length?null:a.reduce(function(c,s){var f,l=(f=s.props.data)!==null&&f!==void 0?f:r;l&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(l=l.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var d=l===void 0?u:l;h=vi(d,o.dataKey,i)}else h=l&&l[n]||u[n];return h?[].concat(Dr(c),[ox(s,h)]):c},[])},Vg=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=XD(a,n),u=t.orderedTooltipTicks,c=t.tooltipAxis,s=t.tooltipTicks,f=oj(o,u,s,c);if(f>=0&&s){var l=s[f]&&s[f].value,h=of(t,r,f,l),d=YD(n,u,f,a);return{activeTooltipIndex:f,activeLabel:l,activePayload:h,activeCoordinate:d}}return null},ZD=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,u=r.stackGroups,c=r.dataStartIndex,s=r.dataEndIndex,f=t.layout,l=t.children,h=t.stackOffset,d=ex(f,a);return n.reduce(function(m,v){var p,b=v.type.defaultProps!==void 0?$($({},v.type.defaultProps),v.props):v.props,x=b.type,w=b.dataKey,O=b.allowDataOverflow,y=b.allowDuplicatedCategory,g=b.scale,_=b.ticks,S=b.includeHidden,P=b[o];if(m[P])return m;var M=Fa(t.data,{graphicalItems:i.filter(function(z){var K,ce=o in z.props?z.props[o]:(K=z.type.defaultProps)===null||K===void 0?void 0:K[o];return ce===P}),dataStartIndex:c,dataEndIndex:s}),A=M.length,E,j,I;_D(b.domain,O,x)&&(E=Sl(b.domain,null,O),d&&(x==="number"||g!=="auto")&&(I=un(M,w,"category")));var C=cw(x);if(!E||E.length===0){var R,D=(R=b.domain)!==null&&R!==void 0?R:C;if(w){if(E=un(M,w,x),x==="category"&&d){var B=Zw(E);y&&B?(j=E,E=Ji(0,A)):y||(E=sm(D,E,v).reduce(function(z,K){return z.indexOf(K)>=0?z:[].concat(Dr(z),[K])},[]))}else if(x==="category")y?E=E.filter(function(z){return z!==""&&!J(z)}):E=sm(D,E,v).reduce(function(z,K){return z.indexOf(K)>=0||K===""||J(K)?z:[].concat(Dr(z),[K])},[]);else if(x==="number"){var L=fj(M,i.filter(function(z){var K,ce,de=o in z.props?z.props[o]:(K=z.type.defaultProps)===null||K===void 0?void 0:K[o],ke="hide"in z.props?z.props.hide:(ce=z.type.defaultProps)===null||ce===void 0?void 0:ce.hide;return de===P&&(S||!ke)}),w,a,f);L&&(E=L)}d&&(x==="number"||g!=="auto")&&(I=un(M,w,"category"))}else d?E=Ji(0,A):u&&u[P]&&u[P].hasStack&&x==="number"?E=h==="expand"?[0,1]:ax(u[P].stackGroups,c,s):E=Q0(M,i.filter(function(z){var K=o in z.props?z.props[o]:z.type.defaultProps[o],ce="hide"in z.props?z.props.hide:z.type.defau Line truncated
@@ -1 +0,0 @@
import{r as c,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as q,a as P}from"./card-BIfzBCEy.js";import{f as K,B as x}from"./index-Dungj95X.js";import{I as H}from"./input-CXoUQQLm.js";import{B as b}from"./badge-CGJlVD3L.js";import{T as Q,a as U,b as O,c as p,d as X,e as n}from"./table-B2F10oba.js";import{a as m}from"./audit-BpVBSeA1.js";import{u as $,q as G,a as J,b as V}from"./unwrap-DPwG25JA.js";import{S as v,R as W,v as Y,x as Z,X as f}from"./vendor-icons-DmqcWdzX.js";function ee(s={page:1,page_size:50}){return $({queryKey:G.auditLogs(s),queryFn:async()=>{const a=await m.getLogs(s);return{list:V(a),total:J(a)}},staleTime:2e4})}function se(s){return{id:String(s.id??""),userId:String(s.user_id??s.userId??""),username:s.username??"",module:s.module??s.resource??"",action:s.action??"",resource:s.resource??"",ip:s.ip??"",userAgent:s.user_agent??s.userAgent??"",result:s.result==="failure"?"failure":"success",message:s.message??s.detail??"",createdAt:s.createdAt??s.created_at??""}}function be(){K();const[s,a]=c.useState(""),[i,r]=c.useState(""),[d,u]=c.useState(""),N=c.useMemo(()=>({page:1,page_size:100,...i?{module:i}:{},...d?{action:d}:{}}),[i,d]),{data:g,isLoading:y,refetch:w}=ee(N),C=c.useMemo(()=>(g?.list||[]).map(t=>se(t)),[g]),[S,L]=c.useState([]),[k,_]=c.useState([]),[D,A]=c.useState(null),[I,z]=c.useState(!1),[R,re]=c.useState(null),[B,ce]=c.useState(!1),j=c.useCallback(async()=>{try{const[t,l]=await Promise.all([m.getModules(),m.getActions()]);L(t?.list??t??[]),_(l?.list??l??[])}catch{}},[]);c.useEffect(()=>{j()},[j]);const T=C.filter(t=>{const l=s.toLowerCase();return!l||t.username.toLowerCase().includes(l)||t.module.toLowerCase().includes(l)||t.action.toLowerCase().includes(l)||t.resource.toLowerCase().includes(l)}),M=t=>t==="success"?e.jsx(b,{"code-path":"src/pages/AuditOperationsTab.tsx:111:7",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:"成功"}):e.jsx(b,{"code-path":"src/pages/AuditOperationsTab.tsx:115:7",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:"失败"}),E=async()=>{try{const t={};i&&(t.module=i),d&&(t.action=d),await m.exportLogs(t)}catch{}},F=t=>{A(t)};return e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:150:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:152:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/pages/AuditOperationsTab.tsx:153:9",className:"relative w-64",children:[e.jsx(v,{"code-path":"src/pages/AuditOperationsTab.tsx:154:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(H,{"code-path":"src/pages/AuditOperationsTab.tsx:155:11",placeholder:"搜索操作日志...",value:s,onChange:t=>a(t.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]}),e.jsxs("select",{"code-path":"src/pages/AuditOperationsTab.tsx:164:9",value:i,onChange:t=>r(t.target.value),className:"h-9 px-3 text-sm rounded-md bg-slate-800/50 border border-slate-700 text-slate-300 focus:outline-none focus:border-blue-500",children:[e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:169:11",value:"",children:"全部模块"}),S.map(t=>e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:171:13",value:t.value,children:t.label},t.value))]}),e.jsxs("select",{"code-path":"src/pages/AuditOperationsTab.tsx:178:9",value:d,onChange:t=>u(t.target.value),className:"h-9 px-3 text-sm rounded-md bg-slate-800/50 border border-slate-700 text-slate-300 focus:outline-none focus:border-blue-500",children:[e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:183:11",value:"",children:"全部操作"}),k.map(t=>e.jsx("option",{"code-path":"src/pages/AuditOperationsTab.tsx:185:13",value:t.value,children:t.label},t.value))]}),e.jsxs(x,{"code-path":"src/pages/AuditOperationsTab.tsx:191:9",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:()=>w(),children:[e.jsx(W,{"code-path":"src/pages/AuditOperationsTab.tsx:196:11",className:"h-4 w-4 mr-2"}),"刷新"]}),e.jsxs(x,{"code-path":"src/pages/AuditOperationsTab.tsx:199:9",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:E,children:[e.jsx(Y,{"code-path":"src/pages/AuditOperationsTab.tsx:204:11",className:"h-4 w-4 mr-2"}),"导出"]})]}),e.jsx(q,{"code-path":"src/pages/AuditOperationsTab.tsx:210:7",className:"bg-slate-900 border-slate-800",children:e.jsx(P,{"code-path":"src/pages/AuditOperationsTab.tsx:211:9",className:"p-0",children:e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:212:11",className:"border-t border-slate-800",children:y?e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:214:15",className:"flex items-center justify-center py-16",children:e.jsx("div",{"code-path":"src/pages/AuditOperationsTab.tsx:215:17",className:"w-8 h-8 bLine truncated
@@ -1 +0,0 @@
import{r as c,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as E,a as L}from"./card-BIfzBCEy.js";import{g as H,i as M,L as k,B as j}from"./index-Dungj95X.js";import{B as D}from"./badge-CGJlVD3L.js";import{S as P,a as N,b as f,c as v,d as x}from"./select-CiTqGGhE.js";import{T as z,a as U,b as d,c as r,d as F,e as n}from"./table-B2F10oba.js";import{k as p}from"./index-drGq01ok.js";import{f as S,u as I,R as G,v as J,g as w,H as _}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function te(){const{clusterCode:$}=H(),h=M(),[l,u]=c.useState(!1),[b,g]=c.useState([]),[q,T]=c.useState([]),[A,R]=c.useState([]),[o,V]=c.useState("all"),[a,C]=c.useState($||"");c.useEffect(()=>{p.getClusters().then(s=>{const t=s?.list||[];if(T(t),!a&&t.length>0){const y=t[0].code||String(t[0].id);C(y),h(`/kubernetes/${y}/capacity`,{replace:!0})}}).catch(()=>{})},[]),c.useEffect(()=>{a&&p.getNamespaces(a).then(s=>{R(Array.isArray(s)?s:s?.list||s?.data||[])}).catch(()=>{})},[a]);const i=c.useCallback(async()=>{if(a){u(!0);try{const s=o==="all"?void 0:o,t=await p.getCapacity(a,s);g(Array.isArray(t)?t:t?.list||[])}catch{g([])}finally{u(!1)}}},[a,o]);c.useEffect(()=>{i()},[i]);const m=c.useMemo(()=>b.flatMap(s=>(s.containers||[]).map(t=>({namespace:s.namespace,deployment:s.name,replicas:s.replicas,container:t.name,cpu_req:t.cpu_request||"-",cpu_lim:t.cpu_limit||"-",mem_req:t.mem_request||"-",mem_lim:t.mem_limit||"-"}))),[b]),B=()=>p.exportAsCSV(`capacity-${a}.csv`,m);return e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:74:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:75:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(k,{"code-path":"src/components/kubernetes/CapacityPage.tsx:76:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),a&&e.jsxs(e.Fragment,{children:[e.jsx(S,{"code-path":"src/components/kubernetes/CapacityPage.tsx:77:29",className:"h-3 w-3"}),e.jsx(k,{"code-path":"src/components/kubernetes/CapacityPage.tsx:77:65",to:`/kubernetes/${a}`,className:"hover:text-slate-300",children:a})]}),e.jsx(S,{"code-path":"src/components/kubernetes/CapacityPage.tsx:78:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/CapacityPage.tsx:78:45",className:"text-slate-300",children:"容量分析"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:81:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/CapacityPage.tsx:82:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(I,{"code-path":"src/components/kubernetes/CapacityPage.tsx:82:86",className:"h-5 w-5 text-purple-400"}),"资源容量分析"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:83:9",className:"flex items-center gap-2",children:[e.jsxs(P,{"code-path":"src/components/kubernetes/CapacityPage.tsx:84:11",value:a,onValueChange:s=>{C(s),h(`/kubernetes/${s}/capacity`)},children:[e.jsx(N,{"code-path":"src/components/kubernetes/CapacityPage.tsx:85:13",className:"w-40 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(f,{"code-path":"src/components/kubernetes/CapacityPage.tsx:85:87"})}),e.jsx(v,{"code-path":"src/components/kubernetes/CapacityPage.tsx:86:13",className:"bg-slate-800 border-slate-700",children:q.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:87:46",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(P,{"code-path":"src/components/kubernetes/CapacityPage.tsx:90:11",value:o,onValueChange:V,children:[e.jsx(N,{"code-path":"src/components/kubernetes/CapacityPage.tsx:91:13",className:"w-32 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(f,{"code-path":"src/components/kubernetes/CapacityPage.tsx:91:87",placeholder:"所有命名空间"})}),e.jsxs(v,{"code-path":"src/components/kubernetes/CapacityPage.tsx:92:13",className:"bg-slate-800 border-slate-700",children:[e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:93:15",value:"all",className:"text-xs",children:"所有命名空间"}),A.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:94:36",value:s,className:"text-xs",children:s},s))]})]}),e.jsxs(j,{"code-path":"src/components/kubernetes/CapacityPage.tsx:97:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:i,disabled:l,children:[e.jsx(G,{"code-path":"src/components/kubernetes/CapacityPage.tsx:98:13",className:`h-3 w-3 mr-1 ${l?"animate-spin":""}`}),"刷新"]}),e.jsxs(j,{"code-path":"src/components/kubernetes/CapacityPage.tsx:100:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:B,children:[e.jsx(J,{"code-path":"src/components/kubernetes/CapacityPage.tsx:101:13",className:"h-3 w-3 mr-1"}),"CSV"]})]})]}),e.jsx(E,{"code-path":"src/components/kubernetes/CapLine truncated
@@ -1 +0,0 @@
import{j as e,r as a}from"./vendor-codemirror-B1SGo4xl.js";import{B as d,D as R,a as W,b as Q,c as V,d as $,e as G}from"./index-Dungj95X.js";import{I as h}from"./input-CXoUQQLm.js";import{L as u}from"./label-CMpUoC87.js";import{C as N,a as y}from"./card-BIfzBCEy.js";import{B as A}from"./badge-CGJlVD3L.js";import{c as v}from"./account--x8iUlBA.js";import{R as _,P as F,S as X,ag as S,C as Z,a as q,d as k,T as J,i as U,L as Y}from"./vendor-icons-DmqcWdzX.js";const L={aws:{viewBox:"0 0 24 24",color:"#FF9900",path:"M6.763 10.036c0 .296.032.535.088.71.064.176.144.368.256.576.04.063.056.127.056.183 0 .08-.048.16-.152.24l-.503.335a.383.383 0 0 1-.208.072c-.08 0-.16-.04-.24-.112a2.47 2.47 0 0 1-.288-.375 6.18 6.18 0 0 1-.248-.471c-.622.734-1.405 1.101-2.347 1.101-.671 0-1.205-.191-1.596-.574-.391-.384-.59-.894-.59-1.533 0-.678.239-1.23.726-1.644.487-.415 1.133-.623 1.955-.623.272 0 .551.024.846.064.296.04.6.104.918.176v-.583c0-.607-.127-1.03-.375-1.277-.255-.248-.686-.367-1.3-.367-.28 0-.568.031-.863.103-.295.072-.583.16-.862.272a2.287 2.287 0 0 1-.28.104.488.488 0 0 1-.127.023c-.112 0-.168-.08-.168-.247v-.391c0-.128.016-.224.056-.28a.597.597 0 0 1 .224-.167c.279-.144.614-.264 1.005-.36a4.84 4.84 0 0 1 1.246-.151c.95 0 1.644.216 2.091.647.439.43.662 1.085.662 1.963v2.586zm-3.24 1.21c.265 0 .538-.048.822-.144.283-.096.535-.271.742-.51.128-.152.224-.32.264-.512.04-.191.072-.423.072-.694v-.335a6.66 6.66 0 0 0-.735-.136 6.02 6.02 0 0 0-.75-.048c-.535 0-.926.104-1.19.32-.263.215-.39.518-.39.917 0 .375.095.654.295.846.191.2.47.296.838.296zm3.89.527c-.073 0-.12-.016-.152-.048-.032-.024-.064-.08-.088-.152L6.155 5.563a.715.715 0 0 1-.032-.16c0-.128.064-.2.192.2h.703c.08 0 .136.016.168.048.032.024.064.08.088.152l1.348 5.298 1.252-5.298c.024-.08.056-.128.088-.152a.355.355 0 0 1 .176-.048h.575c.08 0 .136.016.176.048.032.024.072.08.088.152l1.268 5.362 1.39-5.362c.024-.08.056-.128.088-.152a.344.344 0 0 1 .168-.048h.67c.128 0 .2.072.2.2 0 .04-.008.072-.016.112 0 0-.04.128-.088.152l-1.916 6.15c-.032.08-.064.128-.096.152a.355.355 0 0 1-.176.048h-.622c-.08 0-.136-.016-.176-.048-.032-.024-.064-.08-.088-.152l-1.26-5.186-1.252 5.178c-.024.08-.056.128-.088.152a.355.355 0 0 1-.176.048h-.623zm9.166.215c-.367 0-.734-.04-1.094-.127-.359-.088-.638-.184-.822-.296-.112-.064-.191-.136-.223-.2a.498.498 0 0 1-.032-.128v-.399c0-.167.064-.247.183-.247a.45.45 0 0 1 .144.024c.048.016.12.048.2.08.271.12.566.215.878.279.319.064.63.096.95.096.502 0 .893-.088 1.164-.264a.86.86 0 0 0 .415-.758.777.777 0 0 0-.215-.55c-.144-.151-.423-.287-.83-.415l-1.188-.367c-.598-.192-1.044-.471-1.316-.838a1.95 1.95 0 0 1-.415-1.205c0-.351.072-.662.215-.918.144-.255.335-.479.575-.654.24-.184.51-.319.822-.415.311-.096.638-.136.982-.136.176 0 .36.008.535.032.184.024.351.056.518.088.152.04.303.08.439.127.136.048.24.096.311.144a.66.66 0 0 1 .176.144.298.298 0 0 1 .048.184v.359c0 .168-.064.256-.183.256a.83.83 0 0 1-.304-.096 3.68 3.68 0 0 0-1.548-.311c-.463 0-.83.072-1.085.231-.255.16-.39.4-.39.743 0 .351.128.59.383.758.255.168.702.335 1.331.48.583.135 1.005.311 1.268.518.263.207.39.495.39.862 0 .367-.128.662-.375.902-.247.247-.67.375-1.26.375zm2.004 1.332c-2.637 1.948-6.488 2.984-9.793 2.984-4.635 0-8.81-1.715-11.966-4.566-.255-.224-.024-.335.271-.144 3.41 1.987 7.622 3.183 11.966 3.183 2.936 0 6.158-.61 9.119-1.876.44-.207.815.287.383.615zm1.078-1.23c-.336-.431-2.223-.2-3.073-.103-.255.024-.295-.192-.064-.351 1.5-1.053 3.962-.75 4.246-.4.287.359-.08 2.824-1.484 4.004-.215.184-.423.088-.319-.151.311-.774 1.005-2.51.662-2.956v-.443z"},azure:{viewBox:"0 0 24 24",color:"#0078D4",path:"M5.483 21.3H24L14.025 4.013l-3.022 5.915 5.99 9.357H8.787l-3.304 6.015zM8.7 3.197L0 21.3h6.395l4.49-8.51L8.7 3.196z"},gcp:{viewBox:"0 0 24 24",color:"#4285F4",path:"M12.19 2.38a9.344 9.344 0 0 0-9.234 6.893c.053-.02-.055.013 0 0-3.875 2.551-3.922 8.11-.247 10.941l.006-.007-.007.03a6.717 6.717 0 0 0 4.077 1.356h5.173l.03.03h5.192c6.687.053 9.376-8.605 3.835-12.35a9.365 9.365 0 0 0-2.821-4.552l-.043.043.006-.05A9.344 9.344 0 0 0 12.19 2.38zm-.358 4.146c1.244-.04 2.518.368 3.486 1.15a5.186 5.186 0 0 1 1.862 4.078v.518c3.53-.07 3.53 5.262 0 5.193h-5.193l-.008.009v-.04H6.785a2.59 2.59 0 0 1-1.067-.23h.001a2.597 2.597 0 1 1 3.437-3.437l3.013-3.012A6.747 6.747 0 0 0 8.11 8.24c.018-.01.04-.026.054-.023a5.186 5.186 0 0 1 3.67-1.69z"},aliyun:{viewBox:"0 0 24 24",color:"#FF6A00",path:"M3.996 4.517h5.291L8.01 6.324 4.153 7.506a1.668 1.668 0 0 0-1.165 1.601v5.786a1.668 1.668 0 0 0 1.165 1.6l3.857 1.183 1.277 1.807H3.996A3.996 3.996 0 0 1 0 15.487V8.513a3.996 3.996 0 0 1 3.996-3.996m16.008 0h-5.291l1.277 1.807 3.857 1.182c.715.227 1.17.889 1.165 1.601v5.786a1.668 1.668 0 0 1-1.165 1.6l-3.857 1.183-1.277 1.807h5.291A3.996 3.996 0 0 0 24 15.487V8.513a3.996 3.996 0 0 0-3.996-3.996m-4.007 8.345H8.002v-1.804h7.995Z"},tencent:{viewBox:"220 60 620 430",color:"#006EFF",paths:[{fill:"#006EFF",d:"M685.3,188.5c-24.7-66.3-88-110.4-158.8-110.5c-84.8,0-152.2,62.8-165.3,140.8c6.5,0,13.1-2.1,21.8-2.1c8.7,0,19.6,2.1,28.3,2.1c10.Line truncated
@@ -1 +0,0 @@
import{j as e,r as c}from"./vendor-codemirror-B1SGo4xl.js";import{D as X,a as Y,b as Z,c as ee,d as se,e as le,B as m,t as p,f as ve}from"./index-Dungj95X.js";import{I as j}from"./input-CXoUQQLm.js";import{L as r}from"./label-CMpUoC87.js";import{C as H,a as T}from"./card-BIfzBCEy.js";import{B as Ne}from"./badge-CGJlVD3L.js";import{S as oe}from"./switch-Bxiq4EHp.js";import{S as R,a as w,b as S,c as k,d as x}from"./select-CiTqGGhE.js";import{b as h}from"./billing-DhtxUWwz.js";import{S as fe}from"./stat-strip-BSQFwFzG.js";import{L as _,R as G,P as q,t as O,aG as be,d as J,T as K}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";const v={aliyun:"阿里云",tencent:"腾讯云",aws:"AWS",huawei:"华为云",azure:"Azure"},V={aliyun:"bg-orange-500",tencent:"bg-blue-500",aws:"bg-amber-500",huawei:"bg-red-500",azure:"bg-sky-500"};function g(d){return`¥${d.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function De({data:d}){if(d.length===0)return e.jsx("p",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:54:12",className:"text-sm text-slate-500 py-8 text-center",children:"暂无数据"});const n=Math.max(...d.map(a=>a.cost),1),t=d.slice(-30);return e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:60:5",children:[e.jsx("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:61:7",className:"flex items-end gap-0.5 h-40",children:t.map((a,o)=>{const i=Math.max(a.cost/n*100,2);return e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:65:13",className:"flex-1 group relative",style:{height:"100%"},children:[e.jsx("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:70:15",className:"absolute bottom-0 w-full rounded-t-sm bg-gradient-to-t from-blue-600/60 to-blue-400/80 group-hover:from-blue-500 group-hover:to-blue-300 transition-colors",style:{height:`${i}%`}}),e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:74:15",className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 hidden group-hover:block whitespace-nowrap text-xs bg-slate-800 text-slate-200 px-2 py-1 rounded border border-slate-700 z-10",children:[a.date,": ",g(a.cost)]})]},o)})}),e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:81:7",className:"flex justify-between mt-2 text-xs text-slate-500",children:[e.jsx("span",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:82:9",children:t[0]?.date}),e.jsx("span",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:83:9",children:t[t.length-1]?.date})]})]})}const Q={provider:"aliyun",billing_date:"",cost:"",service:"",region:"",account_name:"",description:""};function ye({open:d,onOpenChange:n,editingRecord:t,onSuccess:a}){const[o,i]=c.useState(Q),[B,C]=c.useState(!1);c.useEffect(()=>{d&&i(t?{provider:t.provider,billing_date:t.billing_date,cost:t.cost,service:t.service||"",region:t.region||"",account_name:t.account_name||"",description:t.description||""}:{...Q,billing_date:new Date().toISOString().slice(0,10)})},[d,t]);const y=async()=>{if(!o.provider||!o.billing_date||!o.cost){p.error("请填写必填字段");return}C(!0);try{const l={...o,cost:parseFloat(o.cost)};t?(await h.remove(t.id),await h.create(l)):await h.create(l),n(!1),a(),p("保存成功")}catch(l){p.error("保存失败",{description:l.message})}finally{C(!1)}};return e.jsx(X,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:91:5",open:d,onOpenChange:n,children:e.jsxs(Y,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:92:7",className:"max-w-md",children:[e.jsxs(Z,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:93:9",children:[e.jsx(ee,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:94:11",children:t?"编辑成本记录":"记录成本"}),e.jsx(se,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:95:11",children:"记录一条每日云资源成本"})]}),e.jsxs("div",{"code-path":"src/components/cloud/BillingRecordDialog.tsx:97:9",className:"space-y-3",children:[e.jsxs("div",{"code-path":"src/components/cloud/BillingRecordDialog.tsx:98:11",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/cloud/BillingRecordDialog.tsx:99:13",children:[e.jsx(r,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:100:15",className:"text-sm text-slate-300",children:"厂商 *"}),e.jsxs(R,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:101:15",value:o.provider,onValueChange:l=>i({...o,provider:l}),children:[e.jsx(w,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:102:17",className:"mt-1",children:e.jsx(S,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:102:49"})}),e.jsx(k,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:103:17",children:Object.entries(v).map(([l,f])=>e.jsx(x,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:105:21",value:l,children:f},l))})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/BillingRecordDialog.tsx:110:13",children:[e.jsx(r,{"codLine truncated
@@ -1 +0,0 @@
import{r as c,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as i,a as u}from"./card-BIfzBCEy.js";import{g as F,i as K,L as w,B as G}from"./index-Dungj95X.js";import{B as A}from"./badge-CGJlVD3L.js";import{T as H,a as z,b as x,c as n,d as D,e as a}from"./table-B2F10oba.js";import{k as C}from"./index-drGq01ok.js";import{u as q}from"./use-toast-DNZLibQY.js";import{f as k,L as R,R as J,g as j,B as M,h as T,i as Q,A as V,j as W,k as X}from"./vendor-icons-DmqcWdzX.js";const Y={"kube-system":T,"kube-public":W,"kube-node-lease":V,default:Q};function oe(){const{clusterCode:r}=F(),B=K(),{toast:E}=q(),[,P]=c.useState([]),[m,O]=c.useState([]),[N,f]=c.useState([]),[d,I]=c.useState(null),[p,y]=c.useState(!1),_=c.useCallback(async()=>{try{const t=(await C.getClusters())?.list||[];P(t);const o=t.find(l=>(l.code||String(l.id))===r);I(o||null),!o&&t.length>0&&r&&E({title:"集群未找到",description:`找不到集群 ${r}`,variant:"destructive"})}catch{P([])}},[r]),v=c.useCallback(async()=>{if(r){y(!0);try{const[s,t]=await Promise.all([C.getNodes(r).catch(()=>[]),C.getNamespaces(r).catch(()=>[])]);O(Array.isArray(s)?s:s?.list||s?.data||[]);const o=Array.isArray(t)?t:t?.list||t?.data||[];f(o)}catch{O([]),f([])}finally{y(!1)}}},[r]);c.useEffect(()=>{_()},[_]),c.useEffect(()=>{v()},[v]);const L=s=>s?.role==="master"||s?.role==="control-plane"?"bg-blue-500/20 text-blue-400 border-blue-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30";return e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:82:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:84:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(w,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:85:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(k,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:86:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:87:9",className:"text-slate-300",children:r})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:91:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:92:9",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:93:11",className:"text-2xl font-bold text-slate-100",children:r}),e.jsxs("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:94:11",className:"text-sm text-slate-500 mt-1",children:["集群概览",d?.version?` — Kubernetes ${d.version}`:""]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:99:9",className:"flex items-center gap-2",children:e.jsx(G,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:100:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:v,disabled:p,children:p?e.jsx(R,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:102:24",className:"h-4 w-4 animate-spin"}):e.jsx(J,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:102:71",className:"h-4 w-4"})})})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:108:7",className:"grid grid-cols-3 md:grid-cols-3 gap-4",children:[e.jsx(i,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:109:9",className:"bg-slate-900 border-slate-800",children:e.jsx(u,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:110:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:111:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:112:15",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:112:20",className:"text-sm text-slate-500",children:"节点"}),e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:112:64",className:"text-2xl font-bold text-blue-400",children:m.length})]}),e.jsx(j,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:113:15",className:"h-8 w-8 opacity-30 text-blue-400"})]})})}),e.jsx(i,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:117:9",className:"bg-slate-900 border-slate-800",children:e.jsx(u,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:118:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:119:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:120:15",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:120:20",className:"text-sm text-slate-500",children:"命名空间"}),e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:120:66",className:"text-2xl font-bold Line truncated
@@ -1 +0,0 @@
import{r as t,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{J as na,D as ze,a as Be,b as Ge,c as Ue,e as Qe,B as N,t as S,d as ca,f as da}from"./index-Dungj95X.js";import{I as p}from"./input-CXoUQQLm.js";import{B as w}from"./badge-CGJlVD3L.js";import{S as Me,a as Ke,b as Ae,c as Pe,d as M}from"./select-CiTqGGhE.js";import{u as $e,q as Ye,b as la}from"./unwrap-DPwG25JA.js";import{u as V}from"./useMutation-BkCR1EeO.js";import{c as P}from"./credential-Cu8tj7EE.js";import{F as ia,G as pa,D as ma,i as xa,j as Ze,k as ga,h as ha,ag as z,C as Je,a as We,l as ya,az as Re,aO as va,ak as Xe,x as ea,R as Ca,P as Ve,S as ua,a4 as Da,b as ba,d as ja,T as Na}from"./vendor-icons-DmqcWdzX.js";import{L as i}from"./label-CMpUoC87.js";import"./index-5FEebgvX.js";function fa(c={page_size:100}){return $e({queryKey:Ye.credentials(c),queryFn:async()=>{const d=await P.list(c);return la(d)},staleTime:3e4})}function Fa(c,d=!0){return $e({queryKey:Ye.credentialDetail(c),queryFn:()=>P.get(c),enabled:!!c&&d,staleTime:1e4})}function Sa(){const c=na(),d=()=>c.invalidateQueries({queryKey:["credentials"]}),u=V({mutationFn:h=>P.create(h),onSuccess:d}),x=V({mutationFn:({id:h,data:D})=>P.update(h,D),onSuccess:d}),g=V({mutationFn:h=>P.delete(h),onSuccess:d}),v=V({mutationFn:({id:h,isActive:D})=>P.toggleActive(h,D),onSuccess:d});return{createMutation:u,updateMutation:x,deleteMutation:g,toggleActiveMutation:v,invalidate:d}}const H={ssh:{label:"SSH 密钥",icon:ha,color:"text-amber-400",desc:"SSH 私钥/公钥/密码"},docker:{label:"Docker 凭证",icon:ga,color:"text-cyan-400",desc:"Docker Registry 登录凭据"},tls:{label:"TLS 证书",icon:Ze,color:"text-green-400",desc:"TLS/SSL 证书与私钥"},aksk:{label:"AKSK 密钥",icon:xa,color:"text-purple-400",desc:"云服务 AccessKey/SecretKey"},database:{label:"数据库凭证",icon:ma,color:"text-blue-400",desc:"数据库连接信息"},api:{label:"API 密钥",icon:pa,color:"text-orange-400",desc:"API Token/Key + 端点"},generic:{label:"通用凭证",icon:ia,color:"text-gray-400",desc:"自定义 Key/Value 键值对"}},aa={ssh:"bg-amber-500/20 text-amber-400 border-amber-500/30",docker:"bg-cyan-500/20 text-cyan-400 border-cyan-500/30",tls:"bg-green-500/20 text-green-400 border-green-500/30",aksk:"bg-purple-500/20 text-purple-400 border-purple-500/30",database:"bg-blue-500/20 text-blue-400 border-blue-500/30",api:"bg-orange-500/20 text-orange-400 border-orange-500/30",generic:"bg-gray-500/20 text-gray-400 border-gray-500/30"};function wa({open:c,onClose:d,credId:u}){const[x,g]=t.useState({}),{data:v,isLoading:h}=Fa(u,c);if(!c||!u)return null;const D=m=>g(y=>({...y,[m]:!y[m]})),k=m=>{navigator.clipboard.writeText(m),S.success("已复制")},s=v?.secret_type,f=H[s],o=v?.content||{},n=({label:m,value:y,sensitive:_,fieldKey:K})=>{if(y==null||y==="")return null;const I=typeof y=="string"&&y.length>80,T=K?x[K]:!1;return e.jsxs("div",{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:40:7",className:"mb-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:41:9",className:"flex items-center gap-2 text-xs text-[var(--dg-text-muted)] mb-1",children:[e.jsx(va,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:42:11",className:"h-3 w-3"}),m]}),e.jsxs("div",{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:44:9",className:"flex gap-1",children:[I?e.jsx("textarea",{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:46:13",readOnly:!0,value:_&&!T?"••••••••":String(y),className:"flex-1 rounded-md bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] text-[var(--dg-text-primary)] p-2 text-xs font-mono resize-none",rows:4}):e.jsx(p,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:50:13",readOnly:!0,value:_&&!T?"••••••••":String(y),className:"flex-1 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] font-mono text-xs"}),e.jsxs("div",{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:53:11",className:"flex flex-col gap-0.5 shrink-0",children:[_&&e.jsx(N,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:55:15",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>D(K),children:T?e.jsx(Xe,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:56:25",className:"h-3 w-3"}):e.jsx(ea,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:56:58",className:"h-3 w-3"})}),e.jsx(N,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:59:13",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>k(String(y)),children:e.jsx(Re,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:60:15",className:"h-3 w-3"})})]})]})]})},l=v;return e.jsx(ze,{"code-path":"src/components/deploy/credential-manager/CredDetailDialog.tsx:71:5",open:c,onOpenChangLine truncated
@@ -1,2 +0,0 @@
import{j as t,r as n}from"./vendor-codemirror-B1SGo4xl.js";import{C as lt,a as dt}from"./card-BIfzBCEy.js";import{S as mt}from"./stat-strip-BSQFwFzG.js";import{D as X,a as G,b as K,c as U,d as W,e as xt,B as p,t as l,f as pt}from"./index-Dungj95X.js";import{I as P}from"./input-CXoUQQLm.js";import{B as C}from"./badge-CGJlVD3L.js";import{C as I}from"./checkbox-Bu55mX0G.js";import{s as $,c as y,t as ht}from"./automation-C9TdY9Jc.js";import{L as k,a as gt,y as ut,aw as Y,r as Z,R as bt,P as vt,S as yt,T as z,aH as Ct,b as jt,o as Jt,z as B,aI as Nt,aJ as ft}from"./vendor-icons-DmqcWdzX.js";import{S as O,a as R,b as A,c as V,d as J}from"./select-CiTqGGhE.js";import{T as Q}from"./textarea-BxfjmLq5.js";import{L as N}from"./label-CMpUoC87.js";import{T as Dt,a as Ft,b as L,c as w,d as Mt,e as f}from"./table-B2F10oba.js";import"./index-5FEebgvX.js";function tt(i){switch(i){case"success":return t.jsxs(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:9:9",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[t.jsx(ut,{"code-path":"src/components/automation/cronJobHelpers.tsx:10:11",className:"h-3 w-3 mr-1"}),"成功"]});case"failed":return t.jsxs(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:16:9",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[t.jsx(gt,{"code-path":"src/components/automation/cronJobHelpers.tsx:17:11",className:"h-3 w-3 mr-1"}),"失败"]});case"running":return t.jsxs(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:23:9",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10 animate-pulse",children:[t.jsx(k,{"code-path":"src/components/automation/cronJobHelpers.tsx:24:11",className:"h-3 w-3 mr-1 animate-spin"}),"执行中"]});default:return t.jsx(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:30:9",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-muted)]",children:"从未执行"})}}function wt(i){return{"0 2 * * *":"每天 02:00","0 3 * * 0":"每周日 03:00","*/5 * * * *":"每 5 分钟","0 * * * *":"每小时","0 9 * * 1":"每周一 09:00"}[i]||i}const q=[{value:"shell",label:"Shell 脚本",desc:"关联脚本库中的 Shell 脚本"},{value:"python",label:"Python 脚本",desc:"关联脚本库中的 Python 脚本"},{value:"command",label:"自定义命令",desc:"手动输入命令或脚本路径"}];function St({open:i,onOpenChange:g,editJob:s,onSuccess:D}){const[a,d]=n.useState({name:"",description:"",cron_expr:"",type:"shell",content:"",script_id:null}),[h,v]=n.useState([]),[r,m]=n.useState(null),[S,F]=n.useState(!1);n.useEffect(()=>{i&&($.getScripts({page_size:200}).then(e=>{v(e?.list||[])}).catch(()=>v([])),s?(d({name:s.name||"",description:s.description||"",cron_expr:s.cron_expr||"",type:s.type||"shell",content:s.content||"",script_id:s.script_id||null}),s.script_id?$.getScript(s.script_id).then(e=>{m(e)}).catch(()=>m(null)):m(null)):(d({name:"",description:"",cron_expr:"",type:"shell",content:"",script_id:null}),m(null)))},[i,s]);const M=a.type==="shell"||a.type==="python"?h.filter(e=>e.type===a.type):[],E=e=>{const x=h.find(j=>String(j.id)===e);x&&(m(x),d(j=>({...j,script_id:x.id,content:x.content})))},T=e=>{d(x=>({...x,type:e,script_id:null,content:e==="command"?x.content:""})),m(null)},H=async()=>{if(!a.name||!a.cron_expr){l.error("请填写任务名称和 Cron 表达式");return}if((a.type==="shell"||a.type==="python")&&!a.script_id){l.error("请选择关联的脚本");return}try{F(!0);const e={name:a.name,description:a.description,cron_expr:a.cron_expr,type:a.type,content:a.content,script_id:a.script_id};s?(await y.updateJob(s.id,e),l.success("任务更新成功")):(await y.createJob(e),l.success("任务创建成功")),g(!1),D()}catch(e){console.error("Failed to save cron job:",e),l.error(s?"更新失败":"创建失败")}finally{F(!1)}};return t.jsx(X,{"code-path":"src/components/automation/CronJobFormDialog.tsx:150:5",open:i,onOpenChange:g,children:t.jsxs(G,{"code-path":"src/components/automation/CronJobFormDialog.tsx:151:7",className:"max-w-2xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[t.jsxs(K,{"code-path":"src/components/automation/CronJobFormDialog.tsx:152:9",children:[t.jsx(U,{"code-path":"src/components/automation/CronJobFormDialog.tsx:153:11",children:s?"编辑定时任务":"新建定时任务"}),t.jsx(W,{"code-path":"src/components/automation/CronJobFormDialog.tsx:154:11",className:"text-[var(--dg-text-secondary)]",children:"配置 Cron 定时任务"})]}),t.jsxs("div",{"code-path":"src/components/automation/CronJobFormDialog.tsx:156:9",className:"space-y-4 py-4 max-h-[60vh] overflow-y-auto pr-1",children:[t.jsxs("div",{"code-path":"src/components/automation/CronJobFormDialog.tsx:158:11",children:[t.jsx(N,{"code-path":"src/components/automation/CronJobFormDialog.tsx:159:13",className:"text-[var(--dg-text-primary)]",children:"任务名称"}),t.jsx(P,{"code-paLine truncated
`).length," 行"]})]}),t.jsx("pre",{"code-path":"src/components/automation/CronJobFormDialog.tsx:276:19",className:"max-h-48 overflow-auto rounded-md bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] p-3 text-xs font-mono text-[var(--dg-text-secondary)] whitespace-pre-wrap break-all",children:r.content||"(空脚本)"})]})]}):t.jsxs("div",{"code-path":"src/components/automation/CronJobFormDialog.tsx:283:13",children:[t.jsx(N,{"code-path":"src/components/automation/CronJobFormDialog.tsx:284:15",className:"text-[var(--dg-text-primary)]",children:"执行命令"}),t.jsx(Q,{"code-path":"src/components/automation/CronJobFormDialog.tsx:285:15",value:a.content,onChange:e=>d({...a,content:e.target.value}),placeholder:"/scripts/backup.sh arg1 arg2",rows:4,className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] mt-1 font-mono"})]})]}),t.jsxs(xt,{"code-path":"src/components/automation/CronJobFormDialog.tsx:295:9",children:[t.jsx(p,{"code-path":"src/components/automation/CronJobFormDialog.tsx:296:11",variant:"outline",onClick:()=>g(!1),className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",children:"取消"}),t.jsx(p,{"code-path":"src/components/automation/CronJobFormDialog.tsx:299:11",className:"bg-blue-600 hover:bg-blue-700",onClick:H,disabled:S,children:S?"保存中...":s?"保存修改":"创建任务"})]})]})})}function Et({open:i,onOpenChange:g}){const[s,D]=n.useState([]),[a,d]=n.useState(!1),[h,v]=n.useState(null);return n.useEffect(()=>{if(!i)return;(async()=>{try{d(!0);const m=await ht.getExecutions({task_type:"cron",page_size:50});D(m.list||[])}catch(m){console.error("Failed to load executions:",m)}finally{d(!1)}})()},[i]),t.jsx(X,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:52:5",open:i,onOpenChange:g,children:t.jsxs(G,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:53:7",className:"max-w-4xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] max-h-[85vh] overflow-y-auto",children:[t.jsxs(K,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:54:9",children:[t.jsx(U,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:55:11",children:"执行历史"}),t.jsx(W,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:56:11",className:"text-[var(--dg-text-secondary)]",children:"定时任务执行记录与输出日志"})]}),t.jsx("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:58:9",className:"mt-4",children:a?t.jsx("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:60:13",className:"flex items-center justify-center py-8",children:t.jsx(k,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:61:15",className:"h-6 w-6 text-[var(--dg-text-secondary)] animate-spin"})}):s.length===0?t.jsxs("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:64:13",className:"flex flex-col items-center justify-center py-12 text-[var(--dg-text-secondary)]",children:[t.jsx(Y,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:65:15",className:"h-10 w-10 mb-3 opacity-40"}),t.jsx("p",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:66:15",className:"text-sm",children:"暂无执行记录"})]}):t.jsxs(Dt,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:69:13",children:[t.jsx(Ft,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:70:15",children:t.jsxs(L,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:71:17",className:"border-[var(--dg-border)]",children:[t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:72:19",className:"text-[var(--dg-text-secondary)]",children:"任务"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:73:19",className:"text-[var(--dg-text-secondary)]",children:"状态"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:74:19",className:"text-[var(--dg-text-secondary)]",children:"耗时"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:75:19",className:"text-[var(--dg-text-secondary)]",children:"执行时间"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:76:19",className:"text-[var(--dg-text-secondary)]",children:"输出"})]})}),t.jsx(Mt,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:79:15",children:s.map(r=>t.jsxs(n.Fragment,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:81:19",children:[t.jsxs(L,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:82:21",className:"border-[var(--dg-border)] cursor-pointer hover:bg-[var(--dg-bg-hover)]/50",onClick:()=>v(h===r.id?null:r.id),children:[t.jsx(f,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:83:23",className:"text-[var(--dg-text-primary)]",children:r.task_name}),t.jsx(f,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:84: Line truncated
@@ -1,4 +0,0 @@
import{R as m,g as st,r as A,j as s}from"./vendor-codemirror-B1SGo4xl.js";import{ay as K,m as u,i as ie,B as se,q as rt}from"./index-Dungj95X.js";import{d as he}from"./dashboard-D0JujfHp.js";import{s as Ct}from"./server-P3fi-cmJ.js";import{k as kt}from"./index-drGq01ok.js";import{S as Rt}from"./stat-strip-BSQFwFzG.js";import{C as B,b as U,c as z,d as V,a as q}from"./card-BIfzBCEy.js";import{B as L}from"./badge-CGJlVD3L.js";import{g as ot,A as At,H as wt,aE as St,D as Ot,ae as le,l as nt,j as Me,ao as Ke,aK as Pt,h as ct,i as Be,b as _t}from"./vendor-icons-DmqcWdzX.js";import{f as C,r as dt,b as Et,c as it,d as Tt,i as X,e as Ee,p as I,L as T,g as lt,h as Te,j as ht,D as Lt,k as It,l as ae,m as J,S as $t,n as Ft,o as Mt,q as Ue,s as Kt,t as Q,u as Bt,v as Ut,G as zt,w as me,x as Vt,y as pt,z as qt,E as pe,F as ze,H as mt,I as ut,X as Le,Y as Ie,J as Wt,K as Ht,R as Re,A as Gt,C as xt,T as Ae,a as Ne}from"./AreaChart-yrR-Mxho.js";var Zt=["points","className","baseLinePoints","connectNulls"];function ee(){return ee=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},ee.apply(this,arguments)}function Xt(t,a){if(t==null)return{};var r=Yt(t,a),e,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o<n.length;o++)e=n[o],!(a.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function Yt(t,a){if(t==null)return{};var r={};for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)){if(a.indexOf(e)>=0)continue;r[e]=t[e]}return r}function Ve(t){return ta(t)||ea(t)||Qt(t)||Jt()}function Jt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qt(t,a){if(t){if(typeof t=="string")return we(t,a);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return we(t,a)}}function ea(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function ta(t){if(Array.isArray(t))return we(t)}function we(t,a){(a==null||a>t.length)&&(a=t.length);for(var r=0,e=new Array(a);r<a;r++)e[r]=t[r];return e}var qe=function(a){return a&&a.x===+a.x&&a.y===+a.y},aa=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];return a.forEach(function(e){qe(e)?r[r.length-1].push(e):r[r.length-1].length>0&&r.push([])}),qe(a[0])&&r[r.length-1].push(a[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},ce=function(a,r){var e=aa(a);r&&(e=[e.reduce(function(n,c){return[].concat(Ve(n),Ve(c))},[])]);var o=e.map(function(n){return n.reduce(function(c,d,l){return"".concat(c).concat(l===0?"M":"L").concat(d.x,",").concat(d.y)},"")}).join("");return e.length===1?"".concat(o,"Z"):o},sa=function(a,r,e){var o=ce(a,e);return"".concat(o.slice(-1)==="Z"?o.slice(0,-1):o,"L").concat(ce(r.reverse(),e).slice(1))},ra=function(a){var r=a.points,e=a.className,o=a.baseLinePoints,n=a.connectNulls,c=Xt(a,Zt);if(!r||!r.length)return null;var d=K("recharts-polygon",e);if(o&&o.length){var l=c.stroke&&c.stroke!=="none",i=sa(r,o,n);return m.createElement("g",{className:d},m.createElement("path",ee({},C(c,!0),{fill:i.slice(-1)==="Z"?c.fill:"none",stroke:"none",d:i})),l?m.createElement("path",ee({},C(c,!0),{fill:"none",d:ce(r,n)})):null,l?m.createElement("path",ee({},C(c,!0),{fill:"none",d:ce(o,n)})):null)}var p=ce(r,n);return m.createElement("path",ee({},C(c,!0),{fill:p.slice(-1)==="Z"?c.fill:"none",className:d,d:p}))},Ce,We;function oa(){if(We)return Ce;We=1;var t=dt(),a=Et(),r=it();function e(o,n){return o&&o.length?t(o,r(n,2),a):void 0}return Ce=e,Ce}var na=oa();const ca=st(na);var ke,He;function da(){if(He)return ke;He=1;var t=dt(),a=it(),r=Tt();function e(o,n){return o&&o.length?t(o,a(n,2),r):void 0}return ke=e,ke}var ia=da();const la=st(ia);var ha=["cx","cy","angle","ticks","axisLine"],pa=["ticks","tick","angle","tickFormatter","stroke"];function re(t){"@babel/helpers - typeof";return re=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},re(t)}function de(){return de=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},de.apply(this,arguments)}function Ge(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);a&&(e=e.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,e)}return r}function G(t){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Ge(Object(r),!0).forEach(function(e){ve(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ge(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Ze(t,a){if(t==null)return{};var r=ma(t,a),e,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o<n.length;o++)e=n[o],!(a.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function ma(t,a){if(t==null)return{};var r={};for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)){if(a.indexOf(e)>=0)continue;r[e]=t[e]}return r}function ua(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}function Xe(t,a){for(var r=0;r<a.length;r++){var e=a[r];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,ft(e.key),e)}}function xa(t,a,r){return a&&Xe(t.prototype,a),r&&Xe(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function ba(t,a,r){return a=be(a),fa(t,bt()?Reflect.construct(a,r||[],be(t).constructor):a.apply(t,r))}function fa(t,a){if(a&&(re(a)==="object"||typeof a=="function"))return a;if(a!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ga(t)}function ga(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function bt(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bt=function(){return!!t})()}function be(t){return be=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},be(t)}function va(t,a){if(typeof a!="function"&&a!==null)throw new TypeError("Supe Line truncated
the props "valueKey" will be deprecated in 1.1.0`),y="value"):ae(i)&&(ze(!1,`Use "dataKey" to specify the value of pie,
the props "valueKey" will be deprecated in 1.1.0`),y=x);var j=o.filter(function(D){return J(D,y,0)!==0}).length,k=(v>=360?j:j-1)*l,S=v-j*N-k,w=o.reduce(function(D,M){var O=J(M,y,0);return D+(Q(O)?O:0)},0),_;if(w>0){var F;_=o.map(function(D,M){var O=J(D,y,0),W=J(D,p,M),H=(Q(O)?O:0)/w,E;M?E=F.endAngle+me(h)*l*(O!==0?1:0):E=c;var R=E+me(h)*((O!==0?N:0)+H*S),$e=(E+R)/2,Fe=(f.innerRadius+f.outerRadius)/2,Dt=[{name:W,value:O,payload:D,dataKey:y,type:b}],Nt=I(f.cx,f.cy,Fe,$e);return F=g(g(g({percent:H,cornerRadius:n,name:W,tooltipPayload:Dt,midAngle:$e,middleRadius:Fe,tooltipPosition:Nt},D),f),{},{value:J(D,y),startAngle:E,endAngle:R,payload:D,paddingAngle:me(h)*l}),F})}return g(g({},f),{},{sectors:_,data:o})});var Ia=mt({chartName:"BarChart",GraphicalChild:ut,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:Le},{axisType:"yAxis",AxisComp:Ie}],formatAxisMap:Wt}),$a=mt({chartName:"PieChart",GraphicalChild:$,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:De},{axisType:"radiusAxis",AxisComp:ye}],formatAxisMap:Ht,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}});const Fa={阿里云:"#ff6a00",aliyun:"#ff6a00",AWS:"#ff9900",aws:"#ff9900",腾讯云:"#006eff",tencent:"#006eff",华为云:"#ff0000",huawei:"#ff0000",Azure:"#0078d4",azure:"#0078d4"},at=["#ff6a00","#ff9900","#006eff","#ff0000","#0078d4","#10b981","#a855f7","#ec4899"];function Ma(t){if(!t||t.length<2)return{pct:0,label:"暂无数据",direction:"neutral"};const a=Number(t[t.length-1].cost??0),r=Number(t[t.length-2].cost??0);if(r===0)return{pct:0,label:a>0?"新增费用":"持平",direction:"neutral"};const e=(a-r)/r*100,o=e>.05?"up":e<-.05?"down":"neutral",n=`${e>0?"+":""}${e.toFixed(1)}% 较上月`;return{pct:e,label:n,direction:o}}function Ka(t,a,r,e=24){const o=[];for(let n=e-1;n>=0;n--){const c=new Date(Date.now()-n*60*60*1e3);o.push({time:`${c.getHours().toString().padStart(2,"0")}:00`,cpu:Number(Math.max(0,Math.min(100,t+(Math.random()-.5)*15)).toFixed(1)),memory:Number(Math.max(0,Math.min(100,a+(Math.random()-.5)*10)).toFixed(1)),disk:Number(Math.max(0,Math.min(100,r+(Math.random()-.5)*5)).toFixed(1))})}return o}function Ba(t,a){if(!t||t.length===0)return[];const r={};for(const e of t){const o=e.timestamp;if(!o)continue;const c=`${new Date(o).getHours().toString().padStart(2,"0")}:00`;r[c]||(r[c]={}),e.name==="cpu"&&(r[c].cpu=Number(e.value)||0),e.name==="memory"&&(r[c].memory=Number(e.value)||0)}return Object.entries(r).sort((e,o)=>e[0].localeCompare(o[0])).map(([e,o])=>({time:e,cpu:Number((o.cpu??0).toFixed(1)),memory:Number((o.memory??0).toFixed(1)),disk:Number(a.toFixed(1))}))}function _e({active:t,payload:a,label:r}){return!t||!a?null:s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:95:5",className:"chart-tooltip px-3 py-2",children:[s.jsx("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:96:7",className:"text-xs font-medium mb-1.5",style:{color:"var(--dg-text-secondary)"},children:r}),a.map((e,o)=>s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:98:9",className:"flex items-center gap-2 text-xs",children:[s.jsx("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:99:11",className:"w-2 h-2 rounded-full",style:{backgroundColor:e.color}}),s.jsxs("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:100:11",style:{color:"var(--dg-text-muted)"},children:[e.name,":"]}),s.jsx("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:101:11",className:"font-medium",style:{color:"var(--dg-text-primary)"},children:typeof e.value=="number"?`${e.value}%`:e.value})]},o))]})}function Ua({costStats:t}){const a=t?.cloud_costs??[],r=t?.month_trend??[],e=a.map((d,l)=>({name:d.cloud,value:d.cost,color:Fa[d.cloud]||at[l%at.length]})),o=r.map(d=>({month:d.month,cost:d.cost})),n=t?.total_cost??e.reduce((d,l)=>d+l.value,0),c=Ma(r);return s.jsxs(B,{"code-path":"src/components/dashboard/DashboardCharts.tsx:124:5",className:"dg-card dg-card-hover",children:[s.jsx(U,{"code-path":"src/components/dashboard/DashboardCharts.tsx:125:7",className:"pb-2",children:s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:126:9",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:127:11",children:[s.jsx(z,{"code-path":"src/components/dashboard/DashboardCharts.tsx:128:13",className:"text-[var(--dg-text-primary)]",children:"云成本概览"}),s.jsx(V,{"code-path":"src/components/dashboard/DashboardCharts.tsx:129:13",className:"text-[var(--dg-text-muted)]",children:"本月各云平台费用支出"})]}),s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:131:11",className:"text-right",children:[s.jsxs("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:132:13", Line truncated
@@ -1 +0,0 @@
import{r as d,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{T as ye,a as Me,b as ce,c as ne}from"./tabs-D87nAyJR.js";import{J as we,t as n,D as ie,a as le,b as ue,c as pe,d as he,B as h,e as xe,f as ge}from"./index-Dungj95X.js";import{B as P}from"./badge-CGJlVD3L.js";import{C as se,b as Fe,c as Ze,a as ae}from"./card-BIfzBCEy.js";import{u as Ce,q as ke,b as Se}from"./unwrap-DPwG25JA.js";import{u as O}from"./useMutation-BkCR1EeO.js";import{p as q,z as T}from"./datasource-DsDBrwno.js";import{I as x}from"./input-CXoUQQLm.js";import{L as m}from"./label-CMpUoC87.js";import{S as j}from"./switch-Bxiq4EHp.js";import{S as W,a as X,b as Y,c as ee,d as A}from"./select-CiTqGGhE.js";import{D as L,G as be,j as De,O as z,Q as E,a6 as Te,P as B,X as Ae,l as qe,b as te,p as je,y as ze,a as ve,R as oe,aW as re,ag as Ee,K as $,aJ as _e,T as Ne,C as Le}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function Ie(){return Ce({queryKey:ke.promDatasources(),queryFn:async()=>{const a=await q.list();return Se(a)},staleTime:3e4})}function fe(){const a=we(),o=()=>a.invalidateQueries({queryKey:["prom-datasources"]}),p=O({mutationFn:l=>q.create(l),onSuccess:o}),y=O({mutationFn:({id:l,data:t})=>q.update(l,t),onSuccess:o}),M=O({mutationFn:l=>q.delete(l),onSuccess:o}),w=O({mutationFn:l=>q.setDefault(l),onSuccess:o});return{createMutation:p,updateMutation:y,deleteMutation:M,setDefaultMutation:w,invalidate:o}}function Re(a){return{name:a.name,url:a.url,access:a.access||"server",http_method:a.http_method||"POST",basic_auth:a.basic_auth||!1,basic_auth_user:a.basic_auth_user||"",basic_auth_pass:a.basic_auth_pass||"",with_credentials:a.with_credentials||!1,tls_client_auth:a.tls_client_auth||!1,with_ca_cert:a.with_ca_cert||!1,ca_cert:a.ca_cert||"",skip_tls_verify:a.skip_tls_verify||!1,custom_headers_json:a.custom_headers||"",enable_alerting:a.enable_alerting!==!1,alertmanager_ds:a.alertmanager_ds||"",scrape_interval:a.scrape_interval||15,query_timeout:a.query_timeout||60,disable_metrics_lookup:a.disable_metrics_lookup||!1,custom_query_params:a.custom_query_params||"",is_default:a.is_default||!1}}function He(a){try{const o=JSON.parse(a||"[]");return Array.isArray(o)?o:[]}catch{return[]}}function Oe(a,o){return{name:a.name.trim(),url:a.url.trim(),access:a.access,http_method:a.http_method,basic_auth:a.basic_auth,basic_auth_user:a.basic_auth_user,basic_auth_pass:a.basic_auth_pass,with_credentials:a.with_credentials,tls_client_auth:a.tls_client_auth,with_ca_cert:a.with_ca_cert,ca_cert:a.ca_cert,skip_tls_verify:a.skip_tls_verify,custom_headers:JSON.stringify(o),enable_alerting:a.enable_alerting,alertmanager_ds:a.alertmanager_ds,scrape_interval:a.scrape_interval,query_timeout:a.query_timeout,disable_metrics_lookup:a.disable_metrics_lookup,custom_query_params:a.custom_query_params,is_default:a.is_default}}async function Pe(a){const o=await q.testConnection({url:a.url.trim(),basic_auth:a.basic_auth,basic_auth_user:a.basic_auth_user,basic_auth_pass:a.basic_auth_pass,skip_tls_verify:a.skip_tls_verify});return o?.data||o}async function Be(a){try{const o=await Pe({url:a.url,basic_auth:a.basic_auth,basic_auth_user:a.basic_auth_user,basic_auth_pass:a.basic_auth_pass,skip_tls_verify:a.skip_tls_verify});o?.success?n.success(`连接成功 · ${o.target_count||0} targets`):n.error(o?.message||"连接失败")}catch(o){const p=o instanceof Error?o.message:"测试失败";n.error(p)}}const me={name:"",url:"",access:"server",http_method:"POST",basic_auth:!1,basic_auth_user:"",basic_auth_pass:"",with_credentials:!1,tls_client_auth:!1,with_ca_cert:!1,ca_cert:"",skip_tls_verify:!1,custom_headers_json:"",enable_alerting:!0,alertmanager_ds:"",scrape_interval:15,query_timeout:60,disable_metrics_lookup:!1,custom_query_params:"",is_default:!1};function $e({open:a,onOpenChange:o,editingDs:p,sources:y}){const{createMutation:M,updateMutation:w}=fe(),l=p?.id??null,[t,F]=d.useState({...me}),[r,v]=d.useState([]),[N,Z]=d.useState(!1),[,C]=d.useState(!1),[c,f]=d.useState(!1),[S,I]=d.useState(!1),[R,k]=d.useState(!1),[b,_]=d.useState(null);d.useEffect(()=>{a&&(p?(F(Re(p)),v(He(p.custom_headers))):(F({...me}),v([])),_(null),Z(!1),C(!1),f(!1),I(!1))},[a,p]);const i=(s,u)=>{F(D=>({...D,[s]:u}))},U=()=>{v(s=>[...s,{header:"",value:""}])},g=s=>{v(u=>u.filter((D,K)=>K!==s))},H=(s,u,D)=>{v(K=>{const J=[...K];return J[s]={...J[s],[u]:D},J})},V=async()=>{if(!t.name.trim()){n.error("请输入数据源名称");return}if(!t.url.trim()){n.error("请输入 Prometheus URL");return}const s=Oe(t,r);try{l?(await w.mutateAsync({id:l,data:s}),n.success("数据源更新成功")):(await M.mutateAsync(s),n.success("数据源创建成功")),o(!1)}catch(u){const D=u instanceof Error?u.message:"操作失败";n.error(D)}},Q=async()=>{if(!t.url.trim()){n.error("请先输入 URL");return}k(!0),_(null);try{const s=await Pe({url:t.url,basic_auth:t.basic_auth,basic_auth_user:t.basic_auth_user,basic_auth_pass:t.basic_auth_pass,skip_tls_verify:t.skip_tls_verify});_(s)}catch(s){const u=s instanceof ErLine truncated
@@ -1 +0,0 @@
import{r as o,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{D as A,a as H,b as J,c as K,e as te,B as d,t as r,d as oe,f as ae}from"./index-Dungj95X.js";import{I as z}from"./input-CXoUQQLm.js";import{B as w}from"./badge-CGJlVD3L.js";import{T as ne,a as le,b as O,c as B}from"./tabs-D87nAyJR.js";import{L as _}from"./label-CMpUoC87.js";import{S as M,a as Q,b as W,c as X,d as E}from"./select-CiTqGGhE.js";import{d as i}from"./config-BrfI0oO-.js";import{c as ce}from"./credential-Cu8tj7EE.js";import{G as Y,k as Z,ag as de,P as G,R as ee,L as k,y as re,a as pe,b as ie,v as I,Q as xe,al as me,J as ye,a6 as he,d as P,T as U}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function ge({open:S,onOpenChange:b,type:L,editId:n,repos:h,registries:j,onSave:m}){const c=L==="repo",[g,u]=o.useState(""),[C,f]=o.useState(""),[p,v]=o.useState(""),[y,N]=o.useState(""),[D,T]=o.useState(""),[s,l]=o.useState([]),[x,V]=o.useState(!1),t=s.filter(a=>c?!0:a.secret_type==="docker"),F=async()=>{try{const a=await ce.list({page_size:100});l(a?.list||[])}catch{}};o.useEffect(()=>{if(F(),n)if(c){const a=h.find(R=>R.id===n);a&&(u(a.name),f(""),v(a.url),T(a.credential_id||""))}else{const a=j.find(R=>R.id===n);a&&(u(a.name),f(""),v(a.registry_url),N(a.namespace||""),T(a.credential_id||""))}else u(""),f(""),v(""),N(""),T("")},[n,S,c]);const $=async()=>{if(!g.trim()||!p.trim()){r.error("请填写名称和地址");return}V(!0);try{const a=D?Number(D):null,R=c?{name:g.trim(),description:C.trim(),url:p.trim(),credential_id:a}:{name:g.trim(),description:C.trim(),registry_url:p.trim(),namespace:y.trim(),credential_id:a};n?(c?await i.updateRepo(n,R):await i.updateRegistry(n,R),r.success("已更新")):(c?await i.createRepo(R):await i.createRegistry(R),r.success("已创建")),b(!1),m()}catch{r.error("保存失败")}finally{V(!1)}},se=c?Y:Z;return e.jsx(A,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:97:5",open:S,onOpenChange:b,children:e.jsxs(H,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:98:7",className:"sm:max-w-[480px] bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:[e.jsx(J,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:99:9",children:e.jsxs(K,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:100:11",className:"text-[var(--dg-text-primary)] flex items-center gap-2",children:[e.jsx(se,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:101:13",className:"h-5 w-5 text-[var(--dg-blue)]"}),n?"编辑":"新增",c?" Git 仓库":" 镜像仓库"]})}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:105:9",className:"space-y-4 py-2",children:[e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:106:11",className:"space-y-1",children:[e.jsx(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:106:38",children:"名称 *"}),e.jsx(z,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:107:13",value:g,onChange:a=>u(a.target.value),placeholder:c?"如:GitLab CE":"如:Harbor",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:108:11",className:"space-y-1",children:[e.jsx(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:108:38",children:c?"仓库 URL *":"Registry URL *"}),e.jsx(z,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:109:13",value:p,onChange:a=>v(a.target.value),placeholder:c?"http://10.10.10.72:9000/group/repo.git":"http://10.10.10.72",className:"font-mono text-sm bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),!c&&e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:110:23",className:"space-y-1",children:[e.jsx(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:110:50",children:"默认命名空间"}),e.jsx(z,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:111:13",value:y,onChange:a=>N(a.target.value),placeholder:"如:aiops",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:114:11",className:"space-y-1",children:[e.jsxs(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:115:13",children:["关联凭证 ",e.jsx("span",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:115:25",className:"text-xs text-[var(--dg-text-secondary)] opacity-70",children:"(认证由凭据管理统一配置)"})]}),e.jsxs(M,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:116:13",value:String(D),onValueChange:a=>T(a==="__none"?"":a),children:[e.jsx(Q,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:117:15",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:e.jsx(W,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:118:17",placeholder:c?"选择凭据(API/密码Line truncated
@@ -1 +0,0 @@
import{r as o,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as D,a as g}from"./card-BIfzBCEy.js";import{f as Ne,B as a,u as ve,t as c}from"./index-Dungj95X.js";import{I as h}from"./input-CXoUQQLm.js";import{B as m}from"./badge-CGJlVD3L.js";import{S as N,a as v,b as f,c as w,d as r}from"./select-CiTqGGhE.js";import{L as i}from"./label-CMpUoC87.js";import{p as fe}from"./pipeline-DO4lDm_n.js";import{d as x}from"./config-BrfI0oO-.js";import{L as T,j as ae,P as le,J as b,a8 as pe,$ as ne,w as we,X as de,T as be,a3 as re,V as Se}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function Je(){const[p,xe]=o.useState([]),[me,F]=o.useState(!0),[S,A]=o.useState(!1),[y,ie]=o.useState([]),[n,k]=o.useState(null),[J,ye]=o.useState([]),[I,_]=o.useState([]),[l,he]=o.useState(""),[j,M]=o.useState(""),[G,X]=o.useState(!1),[q,z]=o.useState(!1),[P,H]=o.useState(""),[E,K]=o.useState(""),[C,O]=o.useState(""),[Q,W]=o.useState("editor"),[Y,Z]=o.useState(""),[Ce,U]=o.useState(null),[$,ee]=o.useState(""),[se,te]=o.useState(""),Re=Ne(),R=async()=>{F(!0);try{const[s,t,d]=await Promise.all([x.getItemRoles(),fe.getPipelines({page_size:200}),ve.getUsers({page_size:500})]);xe(Array.isArray(s)?s:s?.list||s?.data||[]),ie(Array.isArray(t)?t:t?.list||t?.data||[]);const u=Array.isArray(d)?d:d?.list||d?.data||[];ye(u)}catch{}finally{F(!1)}};o.useEffect(()=>{R()},[]);const L=async()=>{if(!l){_([]);return}try{const s=await x.getUserItemRoles(Number(l));_(Array.isArray(s)?s:s?.data||s?.list||[])}catch{_([])}};o.useEffect(()=>{L()},[l]);const B=o.useMemo(()=>{const s={};return p.forEach(t=>{try{const d=new RegExp(t.pattern);s[t.id]=y.filter(u=>d.test(u.code)).map(u=>u.code)}catch{s[t.id]=[]}}),s},[p,y]),oe=(n?p.find(s=>s.id===n):null)?B[n]||[]:[],ue=async()=>{if(!P.trim()||!E.trim()||!C.trim()){c.error("名称、代码、正则表达式不能为空");return}A(!0);try{await x.createItemRole({name:P.trim(),code:E.trim(),pattern:C.trim(),role:Q,description:Y}),c.success("已创建"),z(!1),H(""),K(""),O(""),W("editor"),Z(""),R()}catch(s){c.error(s?.message||"创建失败")}finally{A(!1)}},Ae=async s=>{if(!$.trim()){c.error("正则不能为空");return}A(!0);try{await x.updateItemRole(s,{pattern:$,role:se}),c.success("已更新"),U(null),R()}catch(t){c.error(t?.message||"更新失败")}finally{A(!1)}},je=async s=>{if(await Re({title:"删除角色",description:`确定删除「${s.name}」?匹配 ${B[s.id]?.length||0} 条流水线`,variant:"destructive"}))try{await x.deleteItemRole(s.id),c.success("已删除"),R()}catch{c.error("删除失败")}},Be=async s=>{try{await x.updateItemRole(s.id,{status:s.status?0:1}),c.success(s.status?"已禁用":"已启用"),R()}catch{c.error("操作失败")}},De=async()=>{if(!l||!j){c.error("请选择用户和角色");return}X(!0);try{await x.assignItemRole(Number(l),{user_id:Number(l),item_role_id:Number(j)}),c.success("已分配"),M(""),L()}catch(s){c.error(s?.message||"分配失败")}finally{X(!1)}},ge=async s=>{try{await x.removeItemRole(Number(l),s),c.success("已撤销"),L()}catch{c.error("撤销失败")}},ce=s=>s==="owner"?"bg-amber-500/20 text-amber-400 border-amber-500/30":s==="editor"?"bg-blue-500/20 text-blue-400 border-blue-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30",V=J.find(s=>String(s.id)===l);return me?e.jsx("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:168:23",className:"flex items-center justify-center py-20",children:e.jsx(T,{"code-path":"src/components/deploy/DeployRBAC.tsx:168:79",className:"w-6 h-6 animate-spin"})}):e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:171:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:173:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:174:9",children:[e.jsxs("h1",{"code-path":"src/components/deploy/DeployRBAC.tsx:175:11",className:"text-xl font-bold flex items-center gap-2 text-[var(--dg-text-primary)]",children:[e.jsx(ae,{"code-path":"src/components/deploy/DeployRBAC.tsx:176:13",className:"w-5 h-5 text-purple-500"}),"发布权限"]}),e.jsx("p",{"code-path":"src/components/deploy/DeployRBAC.tsx:178:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"Jenkins-style Role Strategy — 按流水线 code 正则匹配分配角色"})]}),e.jsxs(a,{"code-path":"src/components/deploy/DeployRBAC.tsx:182:9",onClick:()=>z(!0),disabled:q,children:[e.jsx(le,{"code-path":"src/components/deploy/DeployRBAC.tsx:183:11",className:"w-4 h-4 mr-1"}),"新建角色"]})]}),e.jsx(D,{"code-path":"src/components/deploy/DeployRBAC.tsx:188:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(g,{"code-path":"src/components/deploy/DeployRBAC.tsx:189:9",className:"p-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:190:11",className:"flex items-center gap-2 mb-3",children:[e.jsx(b,{"code-path":"src/components/deploy/DeployRBAC.tsx:191:13",claLine truncated
@@ -1,27 +0,0 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PodFileBrowser-B-U8iHmY.js","assets/vendor-codemirror-B1SGo4xl.js","assets/index-Dungj95X.js","assets/vendor-icons-DmqcWdzX.js","assets/index-GY9Szy-F.css","assets/use-toast-DNZLibQY.js","assets/index-drGq01ok.js","assets/k8s-yaml-utils-4KZB_Bq_.js","assets/select-CiTqGGhE.js","assets/index-5FEebgvX.js","assets/vendor-xterm-20M9KZE1.js","assets/vendor-xterm-DXOU9pbP.css","assets/badge-CGJlVD3L.js"])))=>i.map(i=>d[i]);
import{j as e,r as d}from"./vendor-codemirror-B1SGo4xl.js";import{B as v,ab as Os,ac as $s,ad as _s,ag as bt,f as dt,r as Ls,u as zs,L as yt,s as Ws,o as is,i as ps,ah as Gs,g as Vs}from"./index-Dungj95X.js";import{C as U,a as Y,b as he,c as ue}from"./card-BIfzBCEy.js";import{B as ae}from"./badge-CGJlVD3L.js";import{k as K}from"./index-drGq01ok.js";import{u as Me}from"./use-toast-DNZLibQY.js";import{c as vt,m as Fs,h as Us,p as ms,i as Gt,Y as kt,P as Ys,a as qs}from"./PodFileBrowser-B-U8iHmY.js";import{I as f}from"./input-CXoUQQLm.js";import{e as Vt,a as Ft,f as Pt,S as Ce,s as Ks}from"./k8s-yaml-utils-4KZB_Bq_.js";import{E as Js,n as Xs}from"./EventTable-BaH7H8dT.js";import{Q as xs,f as hs,r as us,H as bs,bb as Qs,F as At,o as Zs,T as be,L as ve,N as Ae,E as en,A as ys,b as vs,n as tn,k as Ue,P as te,aw as sn,s as Tt,bc as nn,aO as ks,bd as gt,$ as it,g as on,be as an,a4 as gs,j as js,as as rn,am as fs,aj as cn,z as Ns,R as Ye,D as tt,b4 as ln,h as Mt,aY as dn,aX as pn,G as mn,M as xn,p as wt,y as Ct,d as Ut,J as jt,X as Ss,ae as Yt,l as ws,a as hn,m as qt,aI as Kt,bf as un,ao as bn}from"./vendor-icons-DmqcWdzX.js";import{T as Ge,a as Ve,b as Ee,c as ce,d as Fe,e as le}from"./table-B2F10oba.js";import{L as H}from"./label-CMpUoC87.js";import{T as st}from"./textarea-BxfjmLq5.js";import{S as nt,a as ot,b as at,c as rt,d as fe}from"./select-CiTqGGhE.js";import{S as Ht}from"./switch-Bxiq4EHp.js";import{R as Cs,c as yn}from"./ResourceVisualEditor-BN2gGuH7.js";import{C as Jt}from"./code-snippet-block-E9P2jHS4.js";import"./vendor-xterm-20M9KZE1.js";import"./index-5FEebgvX.js";const vn=t=>Array.isArray(t)?t:t?.list||t?.items||t?.data||[];function kn(t,s){return Object.keys(s).length===0?!1:Object.entries(s).every(([a,o])=>t[a]===o)}function gn(t,s,a){const o=new Set;for(const n of a){const c=n.name||n.metadata?.name||"";if(!c)continue;const r=n.spec?.selector||n.selector||{};(c===t||kn(s,r))&&o.add(c)}return[...o].sort()}async function jn(t,s,a){const o=await K.getResourceYaml(t,s,"deployments",a),{manifest:n}=await vt(o),c=n?.spec?.selector?.matchLabels||n?.spec?.template?.metadata?.labels||{},r=await K.getNamespaceServices(t,s).catch(()=>[]),i=gn(a,c,vn(r)),k=[];if(n)k.push(await Fs(n));else{const{yaml:l}=await vt(o);l.trim()&&k.push(l)}for(const l of i)try{const x=await K.getResourceYaml(t,s,"services",l),{yaml:S}=await vt(x);S.trim()&&k.push(S)}catch{}return k.join(`
---
`)}async function fn(t,s,a){const{manifests:o}=await Us(a);if(o.length===0)throw new Error("YAML 内容为空或解析失败");for(const n of o){const c=String(n.kind||"").toLowerCase(),r=String(n.metadata?.name||"").trim();if(!c||!r)throw new Error("每个 YAML 文档必须包含 kind 和 metadata.name");const i=await ms(n);if(c==="deployment"){await K.updateResourceYaml(t,s,"deployments",r,i);continue}if(c==="service"){await K.applyYAML(t,i);continue}throw new Error(`不支持的资源类型: ${n.kind}(仅支持 Deployment / Service)`)}}function Nn(t){const s=t.conditions||t.pod_conditions||[],a=n=>s.find(c=>(c.type||c.Type)===n),o=n=>n?.lastTransitionTime||n?.LastTransitionTime||n?.last_transition_time;return{scheduled:o(a("PodScheduled")||{}),initialized:o(a("Initialized")||{}),containersReady:o(a("ContainersReady")||{}),ready:o(a("Ready")||{}),startTime:t.start_time||t.startTime}}function Sn(t){const s=Nn(t);return[{label:"已调度",ts:s.scheduled,color:Ce.blue},{label:"已初始化",ts:s.initialized,color:Ce.orange},{label:"容器已就绪",ts:s.containersReady,color:Ce.green},{label:"容器组已就绪",ts:s.ready,color:Ce.green}]}function Re({label:t,value:s}){return e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:43:5",children:[e.jsx("p",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:44:7",className:"text-xs text-[var(--dg-text-muted)] mb-1",children:t}),e.jsx("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:45:7",className:"text-sm text-[var(--dg-text-primary)]",children:s})]})}function Es({pod:t}){const s=Sn(t),a=Vt(s[0]?.ts,s[s.length-1]?.ts);return e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:92:5",className:"rounded-lg bg-[var(--dg-bg-tertiary)]/60 px-4 py-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:93:7",className:"flex items-center justify-between mb-3",children:[e.jsx("span",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:94:9",className:"text-xs text-[var(--dg-text-muted)]",children:"启动时间线"}),a!=null&&e.jsxs("span",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:96:11",className:"text-[11px] text-[var(--dg-text-muted)]",children:["总耗时 ",e.jsx("span",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:97:17",className:"font-mono text-[var(--dg-text-secondary)]",children:Ft(a)})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:101:7",className:"flex items-start gap-0 overflow-x-auto",children:s.map((o,n)=>{const c=s[n-1],r=Vt(c?.ts,o.ts),i=!!o.ts;return e.jsxs(d.Fragment,{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:107:13",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:108:15",className:"flex flex-col min-w-[108px]",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:109:17",className:"flex items-center gap-2",children:[e.jsx("span",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:110:19",className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-[10px] font-semibold",style:{background:i?`${o.color}22`:"var(--dg-bg-secondary)",color:i?o.color:"var(--dg-text-muted)",border:`1px solid ${i?`${o.color}55`:"var(--dg-border)"}`},children:n+1}),e.jsx("span",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:120:19",className:"text-xs font-medium",style:{color:i?o.color:"var(--dg-text-muted)"},children:o.label})]}),e.jsx("span",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:124:17",className:"mt-1.5 pl-7 text-[11px] font-mono text-[var(--dg-text-muted)]",children:o.ts?Pt(o.ts):"—"})]}),n<s.length-1&&e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:129:17",className:"flex flex-col items-center justify-center px-1 pt-2.5 min-w-[48px]",children:[e.jsx("div",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:130:19",className:"h-px w-full",style:{background:i&&s[n+1]?.ts?o.color:"var(--dg-border)"}}),e.jsx("span",{"code-path":"src/components/kubernetes/deployment-view/helpers.tsx:134:19",className:"mt-1 text-[10px] text-[var(--dg-text-muted)]",children:r!=null?Ft(r):""})]})]},o.label)})})]})}function wn({clusterCode:t,pods:s,onShowPodLogs:a,onShowPodTerminal:o,onShowPodYaml:n,onShowPodFileBrowser:c,onDeletePod:r,expandedPod:i,setExpandedPod:k}){return s.length===0?e.jsx("div",{"code-path":"src/components/kubernetes/deployment-view/PodsTab.tsx:24:12",className:"text-center text-[var(--dg-text-muted)] py-12",children:"暂无容器组"}):e.jsx(U,{"code-path":"src/components/kubernetes/deployment-view/PodsTab.tsx:28:5",className:"dg-card overflow-hidden",children:e.jsxs(Y,{"code-path":"src/components/kubernetes/deployment-view/PodsTab.tsx:29:7",className:"p-0 overflow-x-auto",children:[e.jsxs("div",{"c Line truncated
`):n.exec?.command||"",initialDelaySeconds:n.initialDelaySeconds,periodSeconds:n.periodSeconds,timeoutSeconds:n.timeoutSeconds,successThreshold:n.successThreshold,failureThreshold:n.failureThreshold}},a=n=>{if(!n)return{type:"none"};let c="none";return n.exec?c="exec":n.httpGet?c="httpGet":n.tcpSocket&&(c="tcpSocket"),{type:c,execCommand:Array.isArray(n.exec?.command)?n.exec.command.join(`
`):"",httpPath:n.httpGet?.path||"",httpPort:n.httpGet?.port??"",tcpPort:n.tcpSocket?.port??""}},o=t.securityContext;return{name:t.name||"",image:t.image||"",imagePullPolicy:t.imagePullPolicy||"",command:Array.isArray(t.command)?t.command:[],args:Array.isArray(t.args)?t.args:[],workingDir:t.workingDir||"",env:(Array.isArray(t.env)?t.env:[]).map(n=>({name:n.name||"",value:n.value??""})),ports:(Array.isArray(t.ports)?t.ports:[]).map(n=>({name:n.name||"",containerPort:n.containerPort??"",protocol:n.protocol||"TCP"})),resources:{requests:t.resources?.requests||{},limits:t.resources?.limits||{}},livenessProbe:s(t.livenessProbe),readinessProbe:s(t.readinessProbe),startupProbe:s(t.startupProbe),lifecycle:t.lifecycle?{postStart:t.lifecycle.postStart?a(t.lifecycle.postStart):void 0,preStop:t.lifecycle.preStop?a(t.lifecycle.preStop):void 0}:null,securityContext:o?{runAsUser:o.runAsUser,runAsGroup:o.runAsGroup,runAsNonRoot:o.runAsNonRoot,privileged:o.privileged,readOnlyRootFilesystem:o.readOnlyRootFilesystem,allowPrivilegeEscalation:o.allowPrivilegeEscalation,capabilitiesAdd:o.capabilities?.add||[],capabilitiesDrop:o.capabilities?.drop||[]}:null,volumeMounts:(Array.isArray(t.volumeMounts)?t.volumeMounts:[]).map(n=>({name:n.name||"",mountPath:n.mountPath||"",subPath:n.subPath||"",readOnly:n.readOnly||!1}))}}function Qt(t=""){return{name:t,image:"",imagePullPolicy:"IfNotPresent",command:[],args:[],workingDir:"",env:[],ports:[],resources:{},livenessProbe:null,readinessProbe:null,startupProbe:null,lifecycle:null,securityContext:null,volumeMounts:[]}}function ft(t){if(!t||t.type==="none"||!t.type)return;const s={};if(t.type==="httpGet")s.httpGet={},t.httpPath&&(s.httpGet.path=t.httpPath),t.httpPort!==""&&t.httpPort!=null&&(s.httpGet.port=typeof t.httpPort=="number"?t.httpPort:Number(t.httpPort)),t.httpHost&&(s.httpGet.host=t.httpHost);else if(t.type==="tcpSocket")s.tcpSocket={},t.tcpPort!==""&&t.tcpPort!=null&&(s.tcpSocket.port=typeof t.tcpPort=="number"?t.tcpPort:Number(t.tcpPort));else if(t.type==="exec"){const a=(t.execCommand||"").split(`
`).map(o=>o.trim()).filter(Boolean);a.length&&(s.exec={command:a})}return t.initialDelaySeconds!=null&&(s.initialDelaySeconds=t.initialDelaySeconds),t.periodSeconds!=null&&(s.periodSeconds=t.periodSeconds),t.timeoutSeconds!=null&&(s.timeoutSeconds=t.timeoutSeconds),t.successThreshold!=null&&(s.successThreshold=t.successThreshold),t.failureThreshold!=null&&(s.failureThreshold=t.failureThreshold),Object.keys(s).length>0?s:void 0}function Zt(t){if(!(!t||t.type==="none"||!t.type)){if(t.type==="exec"){const s=(t.execCommand||"").split(`
`).map(a=>a.trim()).filter(Boolean);return s.length?{exec:{command:s}}:void 0}if(t.type==="httpGet"){const s={httpGet:{}};return t.httpPath&&(s.httpGet.path=t.httpPath),t.httpPort!==""&&t.httpPort!=null&&(s.httpGet.port=Number(t.httpPort)),s}if(t.type==="tcpSocket"){const s={tcpSocket:{}};return t.tcpPort!==""&&t.tcpPort!=null&&(s.tcpSocket.port=Number(t.tcpPort)),s}}}function es(t){const s={name:t.name};t.image&&(s.image=t.image),t.imagePullPolicy&&(s.imagePullPolicy=t.imagePullPolicy),t.workingDir&&(s.workingDir=t.workingDir),t.command.length>0&&(s.command=t.command),t.args.length>0&&(s.args=t.args),t.env.length>0&&(s.env=t.env.filter(l=>l.name.trim()).map(l=>{const x={name:l.name};return l.value!=null&&(x.value=l.value),x})),t.ports.length>0&&(s.ports=t.ports.filter(l=>l.containerPort!=="").map(l=>{const x={containerPort:typeof l.containerPort=="number"?l.containerPort:Number(l.containerPort)};return l.name&&(x.name=l.name),l.protocol&&(x.protocol=l.protocol),x}));const a=t.resources.requests,o=t.resources.limits,n=a&&Object.values(a).some(l=>l&&l.trim()),c=o&&Object.values(o).some(l=>l&&l.trim());(n||c)&&(s.resources={},n&&(s.resources.requests={},a.cpu?.trim()&&(s.resources.requests.cpu=a.cpu),a.memory?.trim()&&(s.resources.requests.memory=a.memory)),c&&(s.resources.limits={},o.cpu?.trim()&&(s.resources.limits.cpu=o.cpu),o.memory?.trim()&&(s.resources.limits.memory=o.memory)));const r=ft(t.livenessProbe);r&&(s.livenessProbe=r);const i=ft(t.readinessProbe);i&&(s.readinessProbe=i);const k=ft(t.startupProbe);if(k&&(s.startupProbe=k),t.lifecycle){const l={},x=Zt(t.lifecycle.postStart);x&&(l.postStart=x);const S=Zt(t.lifecycle.preStop);S&&(l.preStop=S),Object.keys(l).length>0&&(s.lifecycle=l)}if(t.securityContext){const l=t.securityContext,x={};l.runAsUser!==""&&l.runAsUser!=null&&(x.runAsUser=Number(l.runAsUser)),l.runAsGroup!==""&&l.runAsGroup!=null&&(x.runAsGroup=Number(l.runAsGroup)),l.runAsNonRoot!=null&&(x.runAsNonRoot=l.runAsNonRoot),l.privileged!=null&&(x.privileged=l.privileged),l.readOnlyRootFilesystem!=null&&(x.readOnlyRootFilesystem=l.readOnlyRootFilesystem),l.allowPrivilegeEscalation!=null&&(x.allowPrivilegeEscalation=l.allowPrivilegeEscalation);const S=(l.capabilitiesAdd||[]).filter(Boolean),C=(l.capabilitiesDrop||[]).filter(Boolean);(S.length||C.length)&&(x.capabilities={},S.length&&(x.capabilities.add=S),C.length&&(x.capabilities.drop=C)),Object.keys(x).length>0&&(s.securityContext=x)}return t.volumeMounts.length>0&&(s.volumeMounts=t.volumeMounts.filter(l=>l.name.trim()&&l.mountPath.trim()).map(l=>{const x={name:l.name,mountPath:l.mountPath};return l.subPath&&(x.subPath=l.subPath),l.readOnly&&(x.readOnly=!0),x})),s}function ts(t){return t.join(`
`)}function ss(t){return t.split(`
`).map(s=>s.trim()).filter(Boolean)}function Mn({container:t,onUpdate:s}){const a=t,o="flex items-center gap-1.5 text-xs font-semibold text-slate-300 mb-2";return e.jsxs(e.Fragment,{children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:36:7",className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:37:9",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:38:11",className:"text-slate-400 text-xs",children:"容器名称"}),e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:39:11",value:a.name,onChange:n=>s({name:n.target.value}),placeholder:"my-app",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:43:9",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:44:11",className:"text-slate-400 text-xs",children:"容器镜像"}),e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:45:11",value:a.image,onChange:n=>s({image:n.target.value}),placeholder:"nginx:1.25",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:49:9",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:50:11",className:"text-slate-400 text-xs",children:"镜像拉取策略"}),e.jsxs(nt,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:51:11",value:a.imagePullPolicy||"__none",onValueChange:n=>s({imagePullPolicy:n==="__none"?"":n}),children:[e.jsx(ot,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:52:13",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 text-xs h-8",children:e.jsx(at,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:53:15"})}),e.jsxs(rt,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:55:13",className:"bg-slate-900 border-slate-700",children:[e.jsx(fe,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:56:15",value:"__none",className:"text-slate-400",children:"不设置(默认 IfNotPresent)"}),e.jsx(fe,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:57:15",value:"Always",className:"text-slate-200",children:"Always"}),e.jsx(fe,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:58:15",value:"IfNotPresent",className:"text-slate-200",children:"IfNotPresent"}),e.jsx(fe,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:59:15",value:"Never",className:"text-slate-200",children:"Never"})]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:63:9",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:64:11",className:"text-slate-400 text-xs",children:"工作目录 (workingDir)"}),e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:65:11",value:a.workingDir||"",onChange:n=>s({workingDir:n.target.value}),placeholder:"/app",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:72:7",className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:73:9",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:74:11",className:"text-slate-400 text-xs",children:"启动命令 (command) — 每行一个"}),e.jsx(st,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:75:11",value:ts(a.command),placeholder:`/bin/sh
-c`,onChange:n=>s({command:ss(n.target.value)}),className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs min-h-[60px]"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:79:9",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:80:11",className:"text-slate-400 text-xs",children:"启动参数 (args) — 每行一个"}),e.jsx(st,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:81:11",value:ts(a.args),placeholder:`--config=/etc/app.yaml
--debug`,onChange:n=>s({args:ss(n.target.value)}),className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs min-h-[60px]"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:88:7",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:89:9",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:90:11",className:o,children:[e.jsx(us,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:90:39",className:"h-3.5 w-3.5 text-cyan-400"})," 环境变量"]}),e.jsxs(v,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:91:11",size:"sm",variant:"outline",className:"h-6 border-slate-700 text-slate-300 text-[11px]",onClick:()=>s({env:[...a.env,{name:"",value:""}]}),children:[e.jsx(te,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:93:13",className:"h-3 w-3 mr-1"}),"新增"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:96:9",className:"space-y-1.5",children:[a.env.map((n,c)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:98:13",className:"grid grid-cols-[1fr_1.4fr_auto] gap-2",children:[e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:99:15",value:n.name,placeholder:"KEY",onChange:r=>{const i=[...a.env];i[c]={...n,name:r.target.value},s({env:i})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:102:15",value:n.value||"",placeholder:"value",onChange:r=>{const i=[...a.env];i[c]={...n,value:r.target.value},s({env:i})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(v,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:105:15",variant:"ghost",size:"icon",className:"h-8 w-8 text-red-400",onClick:()=>s({env:a.env.filter((r,i)=>i!==c)}),children:e.jsx(be,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:107:17",className:"h-3.5 w-3.5"})})]},c)),a.env.length===0&&e.jsx("p",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:111:34",className:"text-[11px] text-slate-600",children:"无环境变量"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:116:7",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:117:9",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:118:11",className:o,children:[e.jsx(Ae,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:118:39",className:"h-3.5 w-3.5 text-indigo-400"})," 端口"]}),e.jsxs(v,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:119:11",size:"sm",variant:"outline",className:"h-6 border-slate-700 text-slate-300 text-[11px]",onClick:()=>s({ports:[...a.ports,{name:"",containerPort:"",protocol:"TCP"}]}),children:[e.jsx(te,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:121:13",className:"h-3 w-3 mr-1"}),"新增"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:124:9",className:"space-y-1.5",children:[a.ports.map((n,c)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:126:13",className:"grid grid-cols-[1fr_1fr_100px_auto] gap-2",children:[e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:127:15",value:n.name||"",placeholder:"http",onChange:r=>{const i=[...a.ports];i[c]={...n,name:r.target.value},s({ports:i})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:130:15",type:"number",value:n.containerPort,placeholder:"8080",onChange:r=>{const i=[...a.ports];i[c]={...n,containerPort:r.target.value},s({ports:i})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsxs(nt,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:133:15",value:n.protocol||"TCP",onValueChange:r=>{const i=[...a.ports];i[c]={...n,protocol:r},s({ports:i})},children:[e.jsx(ot,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:134:17",className:"bg-slate-800 border-slate-700 text-slate-200 text-xs h-8",children:e.jsx(at,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:135:19"})}),e.jsxs(rt,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:137:17",className:"bg-slate-900 border-slate-700",children:[e.jsx(fe,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.ts Line truncated
114.114.114.114`,rows:3,className:"w-full mt-1 bg-slate-800 border border-slate-700 rounded text-xs text-slate-300 font-mono p-2 resize-y"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:74:13",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:75:15",className:"text-slate-500 text-xs",children:"searches(搜索域,每行一个)"}),e.jsx("textarea",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:76:15",value:a,onChange:b=>o(b.target.value),placeholder:`svc.cluster.local
cluster.local`,rows:3,className:"w-full mt-1 bg-slate-800 border border-slate-700 rounded text-xs text-slate-300 font-mono p-2 resize-y"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:85:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:86:13",className:"flex items-center justify-between mb-1",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:87:15",className:"text-slate-400 text-xs",children:"options(DNS 选项)"}),e.jsxs(v,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:88:15",size:"sm",variant:"ghost",className:"h-6 text-xs text-slate-400",onClick:k,children:[e.jsx(te,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:89:17",className:"h-3 w-3 mr-1"}),"添加"]})]}),n.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:93:15",className:"text-xs text-slate-600 italic",children:"未配置"}):n.map((b,w)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:96:17",className:"flex items-center gap-2 mb-1.5",children:[e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:97:19",value:b.name,onChange:P=>l(w,{name:P.target.value}),placeholder:"ndots",className:"flex-1 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx("span",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:103:19",className:"text-slate-600",children:":"}),e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:104:19",value:b.value,onChange:P=>l(w,{value:P.target.value}),placeholder:"5(可留空)",className:"flex-1 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx(v,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:110:19",size:"icon",variant:"ghost",className:"h-6 w-6 text-red-400",onClick:()=>x(w),children:e.jsx(be,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:111:21",className:"h-3 w-3"})})]},w))]})]})]}),e.jsxs(U,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:120:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(he,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:121:9",className:"pb-3",children:e.jsxs(ue,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:122:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(xn,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:123:13",className:"h-4 w-4 text-amber-400"}),"主机别名 (hostAliases)"]})}),e.jsxs(Y,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:126:9",className:"pt-0 space-y-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:127:11",className:"flex items-center justify-between mb-1",children:[e.jsx(H,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:128:13",className:"text-slate-400 text-xs",children:"IP → 主机名映射(注入 Pod 的 /etc/hosts)"}),e.jsxs(v,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:129:13",size:"sm",variant:"ghost",className:"h-6 text-xs text-slate-400",onClick:S,children:[e.jsx(te,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:130:15",className:"h-3 w-3 mr-1"}),"添加"]})]}),r.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:134:13",className:"text-xs text-slate-600 italic",children:"未配置"}):r.map((b,w)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:137:15",className:"flex items-center gap-2",children:[e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:138:17",value:b.ip,onChange:P=>C(w,{ip:P.target.value}),placeholder:"10.10.10.72",className:"w-40 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx("span",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:144:17",className:"text-slate-600",children:"→"}),e.jsx(f,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:145:17",value:b.hostnames,onChange:P=>C(w,{hostnames:P.target.value}),placeholder:"gitlab.local, registry.local",className:"flex-1 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx(v,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:151:17",size:"icon",variant:"ghost",className:"h-6 w-6 text-red-400",onClick:()=>y(w),children:e.jsx(be,{"code-path":"src/compone Line truncated
`):""),$t(Array.isArray(oe.searches)?oe.searches.join(`
`):"");const ht=Array.isArray(oe.options)?oe.options:[];Lt(ht.map(pe=>({name:pe.name||"",value:pe.value||""}))),x(!1)},[o]);const Ts=()=>ye(D=>[...D,{key:"",value:""}]),Ms=D=>ye(T=>T.filter((G,ne)=>ne!==D)),Hs=(D,T)=>ye(G=>G.map((ne,re)=>re===D?{...ne,...T}:ne)),Is=async()=>{k(!0);try{const D=JSON.parse(JSON.stringify(S));D.spec=D.spec||{},D.spec.template=D.spec.template||{},D.spec.template.spec=D.spec.template.spec||{};const T=D.spec.template.spec;if(D.spec.strategy={type:y},y==="RollingUpdate"&&(D.spec.strategy.rollingUpdate={maxSurge:w,maxUnavailable:I}),F&&(D.spec.revisionHistoryLimit=Number(F)),X&&(D.spec.progressDeadlineSeconds=Number(X)),W==="nodeName"&&$.trim())T.nodeName=$.trim(),delete T.nodeSelector,T.affinity&&delete T.affinity.nodeAffinity;else if(W==="nodeSelector"){const z={};for(const{key:oe,value:ht}of me){const pe=oe.trim();pe&&(z[pe]=ht)}Object.keys(z).length>0?T.nodeSelector=z:delete T.nodeSelector,T.nodeName&&delete T.nodeName,T.affinity&&delete T.affinity.nodeAffinity}else if(W==="nodeAffinity"){const z=me.filter(oe=>oe.key.trim()).map(oe=>({key:oe.key.trim(),operator:"In",values:[oe.value]}));z.length>0?(T.affinity=T.affinity||{},T.affinity.nodeAffinity={requiredDuringSchedulingIgnoredDuringExecution:{nodeSelectorTerms:[{matchExpressions:z}]}}):T.affinity&&delete T.affinity.nodeAffinity,delete T.nodeSelector,T.nodeName&&delete T.nodeName}const G=p.filter(z=>z.key||z.operator==="Exists").map(z=>{const oe={};return z.key&&(oe.key=z.key),z.operator&&(oe.operator=z.operator),z.value&&z.operator!=="Exists"&&(oe.value=z.value),z.effect&&(oe.effect=z.effect),z.tolerationSeconds&&z.effect==="NoExecute"&&(oe.tolerationSeconds=Number(z.tolerationSeconds)),oe});G.length>0?T.tolerations=G:delete T.tolerations,u&&(T.dnsPolicy=u),L&&(T.restartPolicy=L),g&&(T.schedulerName=g),O&&(T.terminationGracePeriodSeconds=Number(O)),se&&(T.serviceAccountName=se);const ne={};de&&(ne.fsGroup=Number(de)),Se&&(ne.runAsUser=Number(Se)),$e&&(ne.runAsGroup=Number($e)),Be&&(ne.runAsNonRoot=!0),Object.keys(ne).length>0?T.securityContext=ne:delete T.securityContext,E?T.hostNetwork=!0:delete T.hostNetwork,je?T.hostIPC=!0:delete T.hostIPC,Te?T.hostPID=!0:delete T.hostPID,qe?T.shareProcessNamespace=!0:delete T.shareProcessNamespace;const re=Ke.filter(z=>z.ip.trim()).map(z=>({ip:z.ip.trim(),hostnames:z.hostnames.split(/[,\s]+/).map(oe=>oe.trim()).filter(Boolean)})).filter(z=>z.hostnames.length>0);re.length>0?T.hostAliases=re:delete T.hostAliases;const ke={},ze=Bt.split(`
`).map(z=>z.trim()).filter(Boolean);ze.length>0&&(ke.nameservers=ze);const Je=Ot.split(`
`).map(z=>z.trim()).filter(Boolean);Je.length>0&&(ke.searches=Je);const we=_t.filter(z=>z.name.trim()).map(z=>{const oe={name:z.name.trim()};return z.value.trim()&&(oe.value=z.value.trim()),oe});we.length>0&&(ke.options=we),Object.keys(ke).length>0?T.dnsConfig=ke:delete T.dnsConfig,await pt(t,s,a,D),r({title:"高级设置已保存",description:`${a} 更新已提交`}),n(D)}catch(D){r({title:"保存失败",description:D?.message||String(D),variant:"destructive"})}finally{k(!1)}};return l?e.jsx(U,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:323:7",className:"bg-slate-900 border-slate-800",children:e.jsxs(Y,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:324:9",className:"p-12 text-center",children:[e.jsx(ve,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:325:11",className:"h-6 w-6 animate-spin mx-auto text-slate-500"}),e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:326:11",className:"text-slate-500 mt-3 text-sm",children:"加载中..."})]})}):o?e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:343:5",className:"space-y-4",children:[e.jsxs(U,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:345:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(he,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:346:9",className:"pb-3",children:e.jsxs(ue,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:347:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(Ye,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:348:13",className:"h-4 w-4 text-blue-400"}),"更新策略 (Strategy)"]})}),e.jsxs(Y,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:351:9",className:"pt-0 space-y-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:352:11",className:"flex items-center gap-4",children:[e.jsxs("label",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:353:13",className:"flex items-center gap-1.5 text-xs text-slate-300 cursor-pointer",children:[e.jsx("input",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:354:15",type:"radio",checked:y==="RollingUpdate",onChange:()=>b("RollingUpdate"),className:"accent-blue-500"}),"RollingUpdate(滚动更新)"]}),e.jsxs("label",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:358:13",className:"flex items-center gap-1.5 text-xs text-slate-300 cursor-pointer",children:[e.jsx("input",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:359:15",type:"radio",checked:y==="Recreate",onChange:()=>b("Recreate"),className:"accent-blue-500"}),"Recreate(重建)"]})]}),y==="RollingUpdate"&&e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:365:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:366:15",children:[e.jsx(H,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:367:17",className:"text-slate-500 text-xs",children:"maxSurge(整数或百分比,超出期望副本数)"}),e.jsx(f,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:368:17",value:w,onChange:D=>P(D.target.value),placeholder:"25%",className:"h-8 mt-1 bg-slate-800 border-slate-700 text-slate-200 text-sm font-mono"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:371:15",children:[e.jsx(H,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:372:17",className:"text-slate-500 text-xs",children:"maxUnavailable(整数或百分比,不可用上限)"}),e.jsx(f,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:373:17",value:I,onChange:D=>M(D.target.value),placeholder:"25%",className:"h-8 mt-1 bg-slate-800 border-slate-700 text-slate-200 text-sm font-mono"})]})]})]})]}),e.jsxs(U,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:382:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(he,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:383:9",className:"pb-3",children:e.jsxs(ue,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:384:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(vs,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:385:13",className:"h-4 w-4 text-amber-400"}),"历史版本 & 进度"]})}),e.jsxs(Y,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:388:9",className:"pt-0 grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:389:11",children:[e.jsx(H,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:390:13",className:"text-slate-500 text-xs",children:"revisionHistoryLimit(保留 RS 历史)"}),e.jsx(f,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:391:13",type:"numbe Line truncated
bg-slate-800 border border-slate-700 text-slate-300 hover:border-blue-500/50 hover:text-blue-300 transition-colors`,children:[e.jsx(gs,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:424:23",className:"h-2.5 w-2.5"}),p.label,e.jsxs("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:426:23",className:"text-slate-500 text-[9px]",children:[p.protocol," ",p.port,":",p.targetPort]})]},p.name))})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:433:15",className:"space-y-2",children:[e.jsxs(H,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:434:17",className:"text-slate-500 text-[11px]",children:["端口配置 ",e.jsxs("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:435:24",className:"text-slate-600",children:["(",V.ports.length," 个端口)"]})]}),V.ports.map((p,h)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:438:19",className:"flex items-center gap-1.5 p-2 rounded bg-slate-800/50 border border-slate-700/50",children:[e.jsx(f,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:440:21",value:p.name,onChange:u=>$(h,"name",u.target.value),placeholder:"http",className:"h-7 w-[72px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsxs("select",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:444:21",value:p.protocol,onChange:u=>$(h,"protocol",u.target.value),className:"h-7 bg-slate-800 border border-slate-700 rounded text-xs text-slate-300 px-1.5 w-16",children:[e.jsx("option",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:446:23",value:"TCP",children:"TCP"}),e.jsx("option",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:447:23",value:"UDP",children:"UDP"})]}),e.jsx(f,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:450:21",value:p.port,onChange:u=>$(h,"port",u.target.value),type:"number",placeholder:"port",className:"h-7 w-[72px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:453:21",className:"text-slate-600 text-[10px]",children:"→"}),e.jsx(f,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:454:21",value:p.targetPort,onChange:u=>$(h,"targetPort",u.target.value),type:"number",placeholder:"targetPort",className:"h-7 w-[72px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),V.type==="NodePort"&&e.jsx(f,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:459:23",value:p.nodePort,onChange:u=>$(h,"nodePort",u.target.value),type:"number",placeholder:"30000-32767",className:"h-7 w-[80px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:464:21",size:"icon",variant:"ghost",className:"h-6 w-6 text-slate-500 hover:text-red-400",onClick:()=>Z(h),disabled:V.ports.length<=1,children:e.jsx(Tt,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:466:23",className:"h-3 w-3"})})]},h)),e.jsxs(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:471:17",size:"sm",variant:"outline",className:"h-7 w-full border-dashed border-slate-700 text-slate-400 text-xs",onClick:()=>Q(),children:[e.jsx(te,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:473:19",className:"h-3 w-3 mr-1"}),"添加自定义端口"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:478:15",className:"text-[10px] text-slate-500 border-t border-slate-700/50 pt-2",children:[e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:479:17",className:"text-slate-600",children:"selector (自动检测): "}),Object.keys(b).length>0?Object.entries(b).map(([p,h])=>e.jsxs("code",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:482:21",className:"bg-slate-800 px-1 py-0.5 rounded text-slate-400 ml-1",children:[p,"=",h]},p)):e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:485:19",className:"text-slate-600 italic",children:"未检测到"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:489:15",className:"flex justify-end gap-2 pt-1",children:[e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:490:17",size:"sm",variant:"ghost",className:"h-7 text-xs text-slate-400",onClick:()=>F(null),children:"取消"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:491:17",size:"sm",className:"h-7 bg-blue-600 hover:bg-blue-700 text-xs",onClick:ye,children:"创建"})]})]})]})]}),e.jsxs(U,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:499:7",className:"bg-slate-900 border-slate-800",children:[e.jsxs(he,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:500:9",className:"pb-3",children:[e.jsxs("div",{"code-path":"src/components/kube Line truncated
-H 'X-AIOps-Access-Key: ${C}' \\
-H 'Content-Type: application/json' \\
-d '${P}'`:`curl -X POST '${b}' \\
-H 'X-AIOps-Access-Key: <个人中心生成的访问密钥>' \\
-H 'Content-Type: application/json' \\
-d '${P}'`,M=C?`curl -X POST '${w}' \\
-H 'X-AIOps-Access-Key: ${C}'`:`curl -X POST '${w}' \\
-H 'X-AIOps-Access-Key: <个人中心生成的访问密钥>'`,F=!!C&&!x;return e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:82:5",className:"space-y-4",children:[e.jsx("div",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:83:7",className:"rounded-md bg-[var(--dg-bg-tertiary)]/50 px-3 py-2 text-xs text-[var(--dg-text-muted)] leading-relaxed",children:r?e.jsxs("span",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:85:11",className:"inline-flex items-center gap-1.5",children:[e.jsx(ve,{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:86:13",className:"h-3 w-3 animate-spin"}),"正在读取 API 密钥…"]}):x?e.jsxs(e.Fragment,{children:["访问凭证已过期,请前往",e.jsx(yt,{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:91:13",to:"/profile",className:"text-[var(--dg-blue)] hover:underline mx-1",children:"个人中心"}),"调整有效期或轮换凭证后再复制 curl。"]}):C?e.jsx(e.Fragment,{children:"已填入本机保存的访问凭证,复制 curl 后可直接在终端执行触发更新。"}):k?e.jsxs(e.Fragment,{children:["已检测到访问凭证,但本机未缓存明文。请前往",e.jsx(yt,{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:99:13",to:"/profile",className:"text-[var(--dg-blue)] hover:underline mx-1",children:"个人中心"}),"轮换凭证一次,之后 curl 将自动填入。"]}):e.jsxs(e.Fragment,{children:["请先在",e.jsx(yt,{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:105:13",to:"/profile",className:"text-[var(--dg-blue)] hover:underline mx-1",children:"个人中心"}),"签发 CI/CD 访问凭证,curl 将自动填入。"]})}),e.jsx(Jt,{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:111:7",label:"更新镜像",code:I,copyLabel:"curl 已复制,可直接粘贴到终端执行",copyDisabled:!F,copyDisabledTitle:"请先在个人中心签发访问凭证"}),e.jsx(Jt,{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:118:7",label:"滚动重启",code:M,copyLabel:"curl 已复制,可直接粘贴到终端执行",copyDisabled:!F,copyDisabledTitle:"请先在个人中心签发访问凭证"}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:126:7",className:"text-xs text-[var(--dg-text-muted)] space-y-1",children:[e.jsxs("p",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:127:9",children:["• 示例镜像:",e.jsx("code",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:127:19",className:"text-[var(--dg-text-secondary)]",children:o||"—"}),n?e.jsxs(e.Fragment,{children:[" · 容器 ",e.jsx("code",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:128:36",className:"text-[var(--dg-text-secondary)]",children:n})]}):null]}),e.jsx("p",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:130:9",children:"• 使用长期 API 密钥,不会随登录 JWT 过期"}),e.jsxs("p",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:131:9",children:["• 修改 ",e.jsx("code",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:131:17",className:"text-[var(--dg-text-secondary)]",children:"image"})," 字段后执行 curl 即可触发滚动更新"]}),e.jsxs("p",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:132:9",children:["• 也可用 ",e.jsx("code",{"code-path":"src/components/kubernetes/deployment-workload/CICDWebhookContent.tsx:132:18",className:"text-[var(--dg-text-secondary)]",children:"Authorization: Bearer <密钥>"})]})]})]})}function lt({title:t,children:s,onClose:a,size:o="default"}){const n=o==="xl"?"w-[780px]":o==="lg"?"w-[680px]":"w-[460px]";return e.jsx("div",{"code-path":"src/components/kubernetes/deployment-workload/ModalShell.tsx:18:5",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4",onClick:a,children:e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-workload/ModalShell.tsx:19:7",className:`bg-slate-900 border border-slate-700 rounded-xl ${n} max-w-[92vw] max-h-[85vh] flex flex-col shadow-2xl`,onClick:c=>c.stopPropagation(),children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-workload/ModalShell.tsx:23:9",className:"flex items-center justify-between gap-3 px-6 pt-6 pb-4 shrink-0",children:[e.jsx("h2",{"code-path":"src/components/kubernetes/deployment-workload/ModalShell.tsx:24:11",className:"text-base font-bold text-slate-100 truncate min-w-0",title:t,children:t}),e.jsx(v,{"code-path":"src/components/kubernetes/deployment-workload/ModalShell.tsx:25:11",variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 text-s Line truncated
@@ -1 +0,0 @@
import{r as n,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{B as m,D as U,a as A,b as H,c as X,d as q,e as J}from"./index-Dungj95X.js";import{I as l}from"./input-CXoUQQLm.js";import{L as d}from"./label-CMpUoC87.js";import{C as j,a as M}from"./card-BIfzBCEy.js";import{B as h}from"./badge-CGJlVD3L.js";import{c as u}from"./account--x8iUlBA.js";import{R as E,P as L,S as K,G as k,C as P,a as V,b as W,c as O,T as Y,L as Z}from"./vendor-icons-DmqcWdzX.js";function le(){const[i,b]=n.useState([]),[N,v]=n.useState(!0),[g,B]=n.useState(""),[D,F]=n.useState("all"),[I,p]=n.useState(!1),[f,_]=n.useState(!1),[r,y]=n.useState(null),[a,t]=n.useState({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""}),T=()=>{y(null),t({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""})},R=()=>{T(),p(!0)},$=s=>{y(s);const c=o=>o?o.substring(0,10):"";t({name:s.name||"",registrar:s.registrar||"",status:s.status||"active",expire_date:c(s.expire_date||""),dns_provider:s.dns_provider||s.dnsProvider||"",record_count:String(s.record_count??s.recordCount??""),ssl_enabled:s.ssl_enabled??s.sslEnabled??!1,ssl_expire_date:c(s.ssl_expire_date||"")}),p(!0)},z=async()=>{if(a.name.trim())try{_(!0);const s={name:a.name.trim(),registrar:a.registrar.trim(),status:a.status,expire_date:a.expire_date,dns_provider:a.dns_provider.trim(),record_count:Number(a.record_count)||0,ssl_enabled:a.ssl_enabled,ssl_expire_date:a.ssl_expire_date};r?await u.updateDomain(r.id,s):await u.createDomain(s),p(!1),x()}catch(s){console.error(r?"更新域名失败:":"创建域名失败:",s)}finally{_(!1)}},x=async()=>{try{v(!0);const s=await u.getDomains();b(s?.list||[])}catch(s){console.error("加载域名列表失败:",s),b([])}finally{v(!1)}};n.useEffect(()=>{x()},[]);const G=async s=>{try{await u.deleteDomain(s),x()}catch(c){console.error("删除域名失败:",c)}},w=i.filter(s=>{const c=(s.name||"").toLowerCase().includes(g.toLowerCase())||(s.registrar||"").toLowerCase().includes(g.toLowerCase()),o=D==="all"||s.status===D;return c&&o});i.length,i.filter(s=>s.status==="active").length,i.filter(s=>s.status==="expired").length,i.filter(s=>s.status==="pending").length,i.filter(s=>s.ssl_enabled||s.sslEnabled).length;const Q=s=>s?Math.ceil((new Date(s).getTime()-Date.now())/(1e3*60*60*24)):1/0;return e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:163:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:165:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:166:9",children:[e.jsx("h1",{"code-path":"src/components/cloud/DomainManager.tsx:167:11",className:"text-2xl font-bold text-slate-100",children:"域名管理"}),e.jsx("p",{"code-path":"src/components/cloud/DomainManager.tsx:168:11",className:"text-slate-400 mt-1",children:"管理域名注册信息和DNS解析记录"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:170:9",className:"flex items-center gap-2",children:[e.jsxs(m,{"code-path":"src/components/cloud/DomainManager.tsx:171:11",variant:"outline",onClick:x,className:"border-slate-700 text-slate-300",children:[e.jsx(E,{"code-path":"src/components/cloud/DomainManager.tsx:172:13",className:`h-4 w-4 mr-2 ${N?"animate-spin":""}`}),"刷新"]}),e.jsxs(m,{"code-path":"src/components/cloud/DomainManager.tsx:175:11",className:"bg-blue-600 hover:bg-blue-700",onClick:R,children:[e.jsx(L,{"code-path":"src/components/cloud/DomainManager.tsx:176:13",className:"h-4 w-4 mr-2"}),"添加域名"]})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:183:7",className:"flex items-center gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:184:9",className:"relative flex-1 max-w-md",children:[e.jsx(K,{"code-path":"src/components/cloud/DomainManager.tsx:185:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:186:11",placeholder:"搜索域名...",value:g,onChange:s=>B(s.target.value),className:"pl-10 bg-slate-800 border-slate-700 text-slate-100"})]}),e.jsxs("select",{"code-path":"src/components/cloud/DomainManager.tsx:193:9",value:D,onChange:s=>F(s.target.value),className:"px-3 py-2 bg-slate-800 border border-slate-700 rounded-md text-slate-100 text-sm",children:[e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:198:11",value:"all",children:"全部状态"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:199:11",value:"active",children:"正常"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:200:11",value:"expired",children:"已过期"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:201:11",value:"pending",children:"待审核"})]})]}),N?e.jsx(j,{"code-path":"src/components/cloud/DomaiLine truncated
@@ -1 +0,0 @@
import{r as k,j as t}from"./vendor-codemirror-B1SGo4xl.js";import{B as f}from"./badge-CGJlVD3L.js";import{T as N,a as y,b as p,c as o,d as $,e as r}from"./table-B2F10oba.js";import{f as _,a as K,e as C}from"./k8s-yaml-utils-4KZB_Bq_.js";import{L as S}from"./vendor-icons-DmqcWdzX.js";function z(e){const a=e.object_kind||e.objectKind||"",n=e.object_name||e.objectName||"",c=e.object||(a&&n?`${a}/${n}`:"")||"",d=e.first_time||e.firstTime||e.first_timestamp||e.firstTimestamp||"",i=e.last_time||e.lastTime||e.last_timestamp||e.lastTimestamp||"",x=e.event_time||e.eventTime||"",b=Number(e.count)>0?Number(e.count):1,l=e.source||e.source_component||e.sourceComponent||(e.source?.component?`${e.source.component}${e.source.host?`@${e.source.host}`:""}`:"")||"-";return{name:e.name||"",namespace:e.namespace||"",type:e.type||"Normal",reason:e.reason||"-",message:e.message||"-",object:c||"-",objectKind:a,objectName:n,source:l,count:b,firstTime:d||x,lastTime:i||x,eventTime:x}}function B(e){if(!e)return"";const a=Date.now()-new Date(e).getTime();if(a<0)return"";const n=Math.floor(a/6e4);if(n<1)return"刚刚";if(n<60)return`${n}分钟前`;const c=Math.floor(n/60);return c<24?`${c}小时前`:`${Math.floor(c/24)}天前`}function D(e,a,n){if(n<=1)return"-";const c=K(C(e,a));return c==="-"?`×${n}`:`${c} · ×${n}`}function j(e){return{absolute:_(e),relative:B(e)}}function q({events:e,loading:a=!1,emptyText:n="暂无事件",maxRows:c,showNamespace:d=!1}){const[i,x]=k.useState(null),b=a===!0||a==="events",l=c?e.slice(0,c):e,v=d?10:9;return t.jsxs("div",{"code-path":"src/components/kubernetes/EventTable.tsx:35:5",className:"overflow-x-auto",children:[t.jsxs(N,{"code-path":"src/components/kubernetes/EventTable.tsx:36:7",children:[t.jsx(y,{"code-path":"src/components/kubernetes/EventTable.tsx:37:9",children:t.jsxs(p,{"code-path":"src/components/kubernetes/EventTable.tsx:38:11",className:"border-[var(--dg-border)] hover:bg-transparent",children:[t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:39:13",className:"text-[var(--dg-text-muted)] w-[148px]",children:"最后时间"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:40:13",className:"text-[var(--dg-text-muted)] w-[148px]",children:"首次时间"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:41:13",className:"text-[var(--dg-text-muted)] w-16 text-center",children:"次数"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:42:13",className:"text-[var(--dg-text-muted)] w-20",children:"重复"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:43:13",className:"text-[var(--dg-text-muted)] w-20",children:"类型"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:44:13",className:"text-[var(--dg-text-muted)] w-28",children:"原因"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:45:13",className:"text-[var(--dg-text-muted)] min-w-[120px]",children:"对象"}),d&&t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:46:31",className:"text-[var(--dg-text-muted)] w-24",children:"命名空间"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:47:13",className:"text-[var(--dg-text-muted)] w-28",children:"来源"}),t.jsx(o,{"code-path":"src/components/kubernetes/EventTable.tsx:48:13",className:"text-[var(--dg-text-muted)] min-w-[200px]",children:"消息"})]})}),t.jsx($,{"code-path":"src/components/kubernetes/EventTable.tsx:51:9",children:b?t.jsx(p,{"code-path":"src/components/kubernetes/EventTable.tsx:53:13",children:t.jsx(r,{"code-path":"src/components/kubernetes/EventTable.tsx:54:15",colSpan:v,className:"text-center py-10",children:t.jsx(S,{"code-path":"src/components/kubernetes/EventTable.tsx:55:17",className:"h-5 w-5 animate-spin mx-auto text-[var(--dg-text-muted)]"})})}):l.length===0?t.jsx(p,{"code-path":"src/components/kubernetes/EventTable.tsx:59:13",children:t.jsx(r,{"code-path":"src/components/kubernetes/EventTable.tsx:60:15",colSpan:v,className:"text-center text-[var(--dg-text-muted)] py-10",children:n})}):l.map((s,g)=>{const u=`${s.name||s.object}-${g}`,m=i===u,E=s.type==="Warning",h=j(s.lastTime),T=j(s.firstTime);return t.jsxs(p,{"code-path":"src/components/kubernetes/EventTable.tsx:69:15",className:`border-[var(--dg-border)] cursor-pointer hover:bg-[var(--dg-bg-tertiary)]/40 ${m?"bg-[var(--dg-bg-tertiary)]/30":""}`,onClick:()=>x(m?null:u),children:[t.jsxs(r,{"code-path":"src/components/kubernetes/EventTable.tsx:74:17",className:"text-xs text-[var(--dg-text-muted)]",children:[t.jsx("div",{"code-path":"src/components/kubernetes/EventTable.tsx:75:19",children:h.absolute}),t.jsx("div",{"code-path":"src/components/kubernetes/EventTable.tsx:76:19",className:"text-[10px]",children:h.relative})]}),t.jsxs(r,{"code-path":"src/components/kubernetes/EventTable.tsx:78:17",className:"text-xs text-[var(--dg-text-muted)]",children:[t.jsx("div",{"code-path":"src/components/kubernetes/EventTable.tsx:79:19",children:T.absolute}),t.jsx("div",{"code-path":"src/componentsLine truncated
@@ -1 +0,0 @@
import{r as t,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as S,a as C}from"./card-BIfzBCEy.js";import{g as Q,i as Y,L,B as Z}from"./index-Dungj95X.js";import{S as j,a as P,b as N,c as f,d}from"./select-CiTqGGhE.js";import{k as y}from"./index-drGq01ok.js";import{n as ee,f as se,E as te}from"./EventTable-BaH7H8dT.js";import{f as z,t as ne,R as ae,X as F,l as ce}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";import"./badge-CGJlVD3L.js";import"./table-B2F10oba.js";import"./k8s-yaml-utils-4KZB_Bq_.js";function M({title:g,items:x,selected:m,onSelect:b,emptyText:l}){const k=Math.max(...x.map(o=>o.count),1);return e.jsx(S,{"code-path":"src/components/kubernetes/EventsPage.tsx:28:5",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(C,{"code-path":"src/components/kubernetes/EventsPage.tsx:29:7",className:"p-4",children:[e.jsx("h3",{"code-path":"src/components/kubernetes/EventsPage.tsx:30:9",className:"text-sm font-medium text-[var(--dg-text-primary)] mb-3",children:g}),x.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/EventsPage.tsx:32:11",className:"text-xs text-[var(--dg-text-muted)] py-6 text-center",children:l||"暂无数据"}):e.jsx("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:34:11",className:"space-y-1.5 max-h-[220px] overflow-y-auto pr-1",children:x.map(o=>{const h=m===o.name;return e.jsxs("button",{"code-path":"src/components/kubernetes/EventsPage.tsx:38:17",type:"button",className:`w-full flex items-center gap-2 rounded px-2 py-1.5 text-left transition-colors ${h?"bg-[var(--dg-bg-tertiary)]":"hover:bg-[var(--dg-bg-tertiary)]/60"}`,onClick:()=>b?.(h?"":o.name),children:[e.jsx("span",{"code-path":"src/components/kubernetes/EventsPage.tsx:46:19",className:"w-[88px] shrink-0 truncate text-xs text-[var(--dg-text-secondary)]",title:o.name,children:o.name}),e.jsx("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:49:19",className:"flex-1 h-1.5 rounded-full bg-[var(--dg-bg-tertiary)] overflow-hidden",children:e.jsx("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:50:21",className:`h-full rounded-full ${h?"bg-[var(--dg-accent)]":"bg-[var(--dg-text-muted)]/50"}`,style:{width:`${o.count/k*100}%`}})}),e.jsx("span",{"code-path":"src/components/kubernetes/EventsPage.tsx:55:19",className:"w-8 text-right text-xs tabular-nums text-[var(--dg-text-muted)]",children:o.count})]},o.name)})})]})})}function w({label:g,value:x,hint:m}){return e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:68:5",className:"px-4 py-3 border-r border-[var(--dg-border)] last:border-r-0",children:[e.jsx("p",{"code-path":"src/components/kubernetes/EventsPage.tsx:69:7",className:"text-xs text-[var(--dg-text-muted)]",children:g}),e.jsx("p",{"code-path":"src/components/kubernetes/EventsPage.tsx:70:7",className:"text-xl font-semibold tabular-nums text-[var(--dg-text-primary)] mt-0.5",children:x}),m&&e.jsx("p",{"code-path":"src/components/kubernetes/EventsPage.tsx:71:16",className:"text-[10px] text-[var(--dg-text-muted)] mt-0.5",children:m})]})}function ve(){const{clusterCode:g}=Q(),x=Y(),[m,b]=t.useState(!1),[l,k]=t.useState([]),[o,h]=t.useState([]),[U,X]=t.useState([]),[u,q]=t.useState("all"),[E,G]=t.useState("all"),[v,H]=t.useState("0"),[a,W]=t.useState(g||""),[r,D]=t.useState(null),[i,R]=t.useState(""),[p,T]=t.useState("");t.useEffect(()=>{y.getClusters().then(s=>{const c=s?.list||[];if(h(c),!a&&c.length>0){const n=c[0].code||String(c[0].id);W(n),x(`/kubernetes/${n}/events`,{replace:!0})}}).catch(()=>{})},[]),t.useEffect(()=>{a&&y.getNamespaces(a).then(s=>{X(Array.isArray(s)?s:s?.list||s?.data||[])}).catch(()=>{})},[a]);const _=t.useCallback(async()=>{if(a){b(!0);try{const s=u==="all"?void 0:u,c=E==="all"?void 0:E,n=await y.getEvents(a,s,c);k(Array.isArray(n)?n:n?.list||[])}catch{k([])}finally{b(!1)}}},[a,u,E]),$=t.useCallback(async()=>{if(a)try{const s=u==="all"?void 0:u,c=parseInt(v)||void 0,n=await y.getEventsSummary(a,s,c);D(n||null)}catch{D(null)}},[a,u,v]);t.useEffect(()=>{_()},[_]),t.useEffect(()=>{$()},[$]);const V=t.useMemo(()=>{let s=l.map(n=>ee(n));const c=parseInt(v,10);if(c>0){const n=Date.now()-c*3600*1e3;s=s.filter(I=>!I.lastTime||new Date(I.lastTime).getTime()>=n)}return i&&(s=s.filter(n=>n.reason===i)),p&&(s=s.filter(n=>n.objectKind===p||n.object.startsWith(`${p}/`))),s},[l,i,p,v]),J=t.useMemo(()=>l.filter(s=>s.type==="Warning").length,[l]),O=t.useMemo(()=>l.filter(s=>s.type==="Normal").length,[l]),A=t.useMemo(()=>(r?.by_reason||[]).map(s=>({name:s.reason||"Unknown",count:s.count})),[r]),K=t.useMemo(()=>(r?.by_namespace||[]).map(s=>({name:s.namespace||"<cluster>",count:s.count})),[r]),B=t.useMemo(()=>(r?.by_kind||[]).map(s=>({name:s.kind||"Unknown",count:s.count})),[r]);return e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:167:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:168:7",className:"flex items-center gap-2 text-sm text-[var(--dgLine truncated
@@ -1,3 +0,0 @@
import{j as a,r as o}from"./vendor-codemirror-B1SGo4xl.js";import{B as D,o as za,D as oa,a as ra,b as na,c as da,d as ka,t as u,f as Ja,i as Qa,e as Na}from"./index-Dungj95X.js";import{I as X}from"./input-CXoUQQLm.js";import{B as O}from"./badge-CGJlVD3L.js";import{C as U,b as ya,c as Ga,a as H}from"./card-BIfzBCEy.js";import{S as xa,a as pa,b as ba,c as ua,d as B}from"./select-CiTqGGhE.js";import{L}from"./label-CMpUoC87.js";import{s as Wa}from"./server-P3fi-cmJ.js";import{d as ga}from"./grafana-DTc3taUi.js";import{z as Xa,p as as}from"./datasource-DsDBrwno.js";import{a as fa}from"./agent-CZzlLHxR.js";import{aa as ss,A as Y,R as ca,L as aa,l as va,h as Q,aR as _a,aN as $a,W as Za,Y as Fa,k as es,a4 as ta,g as Ta,r as ja,w as ts,az as os,j as rs,v as ns,p as ds,z as cs,at as hs,au as ms,_ as Ia,ao as is,aH as Pa,T as ls,I as xs,aS as ps,u as Ba,D as Oa,E as Ma,P as Aa}from"./vendor-icons-DmqcWdzX.js";import{z as bs,p as Sa}from"./metrics-DW1ylkmD.js";import{S as Ea}from"./stat-strip-BSQFwFzG.js";import{T as Ua,a as Ha,b as R,c as K}from"./tabs-D87nAyJR.js";import{C as Da}from"./checkbox-Bu55mX0G.js";import"./index-5FEebgvX.js";function us(s){const e=[];for(let c=0;c<24;c++)e.push({time:new Date(Date.now()-(24-c)*36e5).toLocaleTimeString(),value:Math.random()*100});return e}function gs({panel:s}){const r=us();switch(s.type){case"stat":return a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:24:9",className:"flex flex-col items-center justify-center h-full",children:[a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:25:11",className:"text-4xl font-bold text-blue-500",children:Math.floor(Math.random()*1e3)}),a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:26:11",className:"text-sm text-muted-foreground mt-2",children:s.options?.unit||"requests/s"}),a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:27:11",className:"flex items-center gap-1 mt-2 text-green-500 text-sm",children:[a.jsx(ss,{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:28:13",className:"w-4 h-4"}),a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:29:13",children:"+12.5%"})]})]});case"gauge":return a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:35:9",className:"flex flex-col items-center justify-center h-full",children:[a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:36:11",className:"relative w-24 h-24",children:[a.jsxs("svg",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:37:13",className:"w-full h-full",viewBox:"0 0 100 100",children:[a.jsx("circle",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:38:15",cx:"50",cy:"50",r:"40",fill:"none",stroke:"#e5e7eb",strokeWidth:"10"}),a.jsx("circle",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:39:15",cx:"50",cy:"50",r:"40",fill:"none",stroke:"#3b82f6",strokeWidth:"10",strokeDasharray:`${Math.random()*251} 251`,transform:"rotate(-90 50 50)"})]}),a.jsx("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:50:13",className:"absolute inset-0 flex items-center justify-center",children:a.jsxs("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:51:15",className:"text-xl font-bold",children:[Math.floor(Math.random()*100),"%"]})})]}),a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:54:11",className:"text-sm text-muted-foreground mt-2",children:"CPU使用率"})]});default:return a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:60:9",className:"h-full flex flex-col",children:[a.jsx("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:61:11",className:"flex-1 flex items-end gap-1 px-2",children:r.map((e,c)=>a.jsx("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:63:15",className:"flex-1 bg-blue-500 rounded-t",style:{height:`${e.value}%`,opacity:.3+c/r.length*.7}},c))}),a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:70:11",className:"flex justify-between text-xs text-muted-foreground px-2 pt-2",children:[a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:71:13",children:r[0].time}),a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:72:13",children:r[r.length-1].time})]})]})}}const fs=({dsUrl:s,dsUsername:r,dsPassword:e})=>{const[c,i]=o.useState(!1),[x,b]=o.useState(!1),[g,N]=o.useState([]),[w,m]=o.useState(""),[P,y]=o.useState(""),[z,v]=o.useState("cpu_usage"),[h,A]=o.useState("desc");o.useEffect(()=>{s&&r&&e&&W(s,r,e)},[s,r,e]);const W=async(n,l,S)=>{b(!0),y("");try{const j=await bs.connect(n,l,S);N(j.hosts||[]),m(j.version||""),i(!0)}catch(j){i(!1),y(j.message||"连接失败")}finally{b(!1)}},Z=()=>{s&&r&&e&&W(s,r,e)Line truncated
...
-----END OPENSSH PRIVATE KEY-----`,rows:3,className:"w-full mt-1 bg-slate-900 border border-slate-700 text-slate-200 font-mono text-xs p-2 rounded-md resize-none"})]})]}),a.jsx("p",{"code-path":"src/components/agent/AgentWizard.tsx:342:17",className:"text-sm text-slate-400 mb-4",children:"通过 SSH 远程连接到目标主机,自动下载并安装 Agent,完成后立即启动运行。"}),a.jsx(D,{"code-path":"src/components/agent/AgentWizard.tsx:345:17",onClick:I,disabled:y,className:"w-full bg-blue-600 hover:bg-blue-700 text-white",children:y?a.jsxs(a.Fragment,{children:[a.jsx(aa,{"code-path":"src/components/agent/AgentWizard.tsx:352:23",className:"h-4 w-4 mr-2 animate-spin"}),"SSH 连接中,正在安装..."]}):a.jsxs(a.Fragment,{children:[a.jsx(ta,{"code-path":"src/components/agent/AgentWizard.tsx:357:23",className:"h-4 w-4 mr-2"}),n?"连接并安装 Agent(凭据将自动保存)":"一键安装 Agent"]})})]}),a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:363:15",className:"flex items-start gap-2 text-xs text-slate-500",children:[a.jsx(ja,{"code-path":"src/components/agent/AgentWizard.tsx:364:17",className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),a.jsxs("span",{"code-path":"src/components/agent/AgentWizard.tsx:365:17",children:["系统将通过 SSH 连接 ",e.ip,",执行安装脚本。请确保服务器 SSH 凭据已正确配置(编辑服务器可修改密码/密钥)。"]})]})]}),a.jsxs(K,{"code-path":"src/components/agent/AgentWizard.tsx:373:11",value:"manual",className:"mt-4 space-y-4",children:[a.jsx("div",{"code-path":"src/components/agent/AgentWizard.tsx:374:13",className:"max-h-[420px] overflow-y-auto space-y-3 pr-1",children:ha.map(d=>a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:376:17",className:"rounded-lg bg-slate-950 border border-slate-800 overflow-hidden",children:[a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:377:19",className:"flex items-center gap-2 px-4 py-2.5 bg-slate-800/50",children:[a.jsx(d.icon,{"code-path":"src/components/agent/AgentWizard.tsx:378:21",className:"h-4 w-4 text-blue-400"}),a.jsx("span",{"code-path":"src/components/agent/AgentWizard.tsx:379:21",className:"text-sm font-medium text-slate-200",children:d.title})]}),a.jsx("div",{"code-path":"src/components/agent/AgentWizard.tsx:381:19",className:"p-3 space-y-1",children:d.commands.map((_,sa)=>a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:383:23",className:"flex items-start gap-2",children:[a.jsx("span",{"code-path":"src/components/agent/AgentWizard.tsx:384:25",className:"text-slate-600 font-mono text-xs select-none mt-0.5",children:"$"}),a.jsx("code",{"code-path":"src/components/agent/AgentWizard.tsx:385:25",className:"text-xs text-slate-300 font-mono whitespace-pre-wrap break-all flex-1",children:_})]},sa))})]},d.title))}),a.jsx("p",{"code-path":"src/components/agent/AgentWizard.tsx:394:13",className:"text-xs text-slate-500",children:"完成上述步骤后,Agent 将作为 systemd 服务运行并自动上报指标。"})]})]})]})})}const zs=[{id:"agent",label:"Agent 主机",icon:a.jsx(Q,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:51:43",className:"w-3.5 h-3.5"})},{id:"zabbix",label:"Zabbix",icon:a.jsx(Y,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:52:42",className:"w-3.5 h-3.5"})},{id:"prometheus",label:"Prometheus",icon:a.jsx(Y,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:53:50",className:"w-3.5 h-3.5"})},{id:"dashboard",label:"自定义",icon:a.jsx(Ia,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:54:42",className:"w-3.5 h-3.5"})}],ks=()=>{const s=Ja(),r=Qa(),[e,c]=o.useState([]),[i,x]=o.useState(!0),[b,g]=o.useState("cpu_usage"),[N,w]=o.useState("desc"),[m,P]=o.useState(1),[y,z]=o.useState(10),[v,h]=o.useState(new Set),[A,W]=o.useState(!1),[Z,F]=o.useState(null),[T,$]=o.useState(!1),[p,f]=o.useState("install"),[n,l]=o.useState(!1),[S,j]=o.useState(!1),[ha,I]=o.useState(new Set),[d,_]=o.useState(!1),sa=async()=>{if(await s({title:"批量卸载 Agent",description:`确定卸载选中的 ${ea.length} 台主机的 AIOps Agent?卸载将在后台异步执行。`,confirmText:"卸载",variant:"destructive"})){_(!0),I(new Set(ea));try{await fa.batchUninstall(ea),u.success(`已提交:批量卸载 ${ea.length} 台主机的 Agent,后台执行中,30秒后自动刷新`),h(new Set),setTimeout(()=>{q(),I(new Set)},3e4)}catch{u.error("提交失败"),I(new Set)}finally{_(!1)}}},wa=Math.max(1,Math.ceil(e.length/y)),q=async()=>{try{c(As(await fa.getLatest()))}catch{}finally{x(!1)}};o.useEffect(()=>{q();const t=setInterval(q,3e4);return()=>clearInterval(t)},[]);const La=t=>{b===t?w(C=>C==="asc"?"desc":"asc"):(g(t),w("desc"))},Ra=[...e].sort((t,C)=>{let G=t[b]??"",k=C[b]??"";return b==="agent_status"&&(G=t.agent_status||"",k=C.agent_status||""),typeof G=="number"?N==="asc"?G-k:k-G:N==="asc"?String(G).localeCompare(String(k)):String(k).localeCompare(String(G))}).slice( Line truncated
@@ -1 +0,0 @@
import{j as t,r as H}from"./vendor-codemirror-B1SGo4xl.js";import{f as Et,J as Mt,B as L,D as wt,a as Pt,b as Ct,c as kt,d as Dt,e as Tt,t as qt,av as Kt}from"./index-Dungj95X.js";import{a as B}from"./agent-CZzlLHxR.js";import{u as ct,q as K,b as pt}from"./unwrap-DPwG25JA.js";import{C,a as k}from"./card-BIfzBCEy.js";import{S as ft,a as yt,b as Nt,c as Ht,d as et}from"./select-CiTqGGhE.js";import{c as q,T as Ot,a as Rt,b as Gt}from"./tabs-D87nAyJR.js";import{B as Q}from"./badge-CGJlVD3L.js";import{R as mt,A as gt,C as ut,X as bt,Y as jt,T as vt,a as at,B as Lt}from"./AreaChart-yrR-Mxho.js";import{N as st,R as Ft,P as Wt,y as zt,a as ht,b as ot,aJ as Ut,T as Vt,A as $t,H as W,L as Qt,h as V,_ as Xt,b2 as _t,I as Jt,b3 as Yt,g as Zt,b4 as lt}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function te(){return ct({queryKey:K.hostMonitor.hosts(),queryFn:async()=>{const e=await B.getLatest();return pt(e)},staleTime:3e4})}function ee(e,a){return ct({queryKey:K.hostMonitor.history(e,a),queryFn:async()=>{if(!e)return[];const i=await B.getHistory(e,a);return pt(i)},enabled:!!e,staleTime:3e4})}function se(e){return ct({queryKey:K.hostMonitor.probes(e),queryFn:async()=>{if(!e)return[];const a=await B.getHealthProbes({hostname:e});return pt(a)},enabled:!!e})}function oe(e){return ct({queryKey:K.hostMonitor.portPolicy(e),queryFn:async()=>{if(!e)return{port_filter_mode:"whitelist",port_whitelist:[]};const a=await B.getPortPolicy(e);return{port_filter_mode:a?.data?.port_filter_mode||"blacklist",port_whitelist:a?.data?.port_whitelist||[]}},enabled:!!e})}const xt=[{label:"1小时",hours:1,window:60,buckets:60},{label:"6小时",hours:6,window:300,buckets:72},{label:"12小时",hours:12,window:600,buckets:72},{label:"1天",hours:24,window:1800,buckets:96},{label:"3天",hours:72,window:3600,buckets:72},{label:"7天",hours:168,window:10800,buckets:56},{label:"14天",hours:336,window:21600,buckets:48}],St=(e="")=>({name:"",hostname:e,probe_type:"http_get",http_url:"",http_method:"GET",http_expect_code:200,http_expect_body:"",tcp_host:"localhost",tcp_port:3306,exec_command:"",timeout:10,interval:60,description:""});function j(e,a,i){if(!e||e.length===0)return[];const l=Math.max(1,Math.ceil(e.length/i)),p=[];for(let n=0;n<e.length;n+=l){const c=e.slice(n,n+l),d=a.slice(n,n+l),s=c.reduce((M,F)=>M+F,0)/c.length,x=Math.max(...c),N=Math.min(...c),D=d[Math.floor(d.length/2)]||0;p.push({time:new Date(D*1e3).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}),timestamp:D,avg:Number(s.toFixed(2)),max:Number(x.toFixed(2)),min:Number(N.toFixed(2)),count:c.length})}return p.slice(-i)}function v(e){if(!e)return{};if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return{}}}function rt(e){return e>=1024*1024*1024?`${(e/1024/1024/1024).toFixed(1)} GB/s`:e>=1024*1024?`${(e/1024/1024).toFixed(1)} MB/s`:e>=1024?`${(e/1024).toFixed(1)} KB/s`:`${e.toFixed(1)} B/s`}function ae(e,a){const i=[],l=[],p=[],n=[],c=[],d=[],m=[],s=[],x=[],N=[],D=[],M=[],F=[],o=[],E=[],X=[],z=[],$=[],J=[],w=[],g=[];for(const h of e){const it=h.report_time?new Date(h.report_time).getTime()/1e3:h.created_at?new Date(h.created_at).getTime()/1e3:0;g.push(it),i.push(h.cpu_usage||0),o.push(h.cpu_iowait||0),l.push(h.mem_usage||0),E.push(h.mem_available||0),p.push(h.load1||0),n.push(h.disk_usage||0);const O=v(h.disk_info);if(Array.isArray(O)&&O.length>0){const u=O.find(f=>f.mount==="/")||O[0];w.push(u?.inode_usage_pct||0)}else w.push(0);const _=v(h.net_info);c.push(_.tcp_established||0),d.push(_.tcp_time_wait||0),m.push(_.tcp_close_wait||0),z.push((_.tcp_established||0)+(_.tcp_time_wait||0)+(_.tcp_close_wait||0)),s.push(_.net_rx_bps||0),x.push(_.net_tx_bps||0),$.push(_.net_rx_errors||0),J.push(_.net_tx_errors||0);const U=v(h.disk_io_info);N.push(U.read_bps||0),D.push(U.write_bps||0),X.push(U.util||0);const P=v(h.swap_info);M.push(P?.usage_percent||0);const b=v(h.fd_info);F.push(b?.usage_pct||0)}return{cpu:j(i,g,a.buckets),mem:j(l,g,a.buckets),load1:j(p,g,a.buckets),disk:j(n,g,a.buckets),tcpEst:j(c,g,a.buckets),tcpTW:j(d,g,a.buckets),tcpCW:j(m,g,a.buckets),rx:j(s.map(h=>h/1024),g,a.buckets),tx:j(x.map(h=>h/1024),g,a.buckets),ioRead:j(N.map(h=>h/1024),g,a.buckets),ioWrite:j(D.map(h=>h/1024),g,a.buckets),swap:j(M,g,a.buckets),fd:j(F,g,a.buckets),iowait:j(o,g,a.buckets),memAvail:j(E,g,a.buckets),ioUtil:j(X,g,a.buckets),connTotal:j(z,g,a.buckets),rxErr:j($,g,a.buckets),txErr:j(J,g,a.buckets),inode:j(w,g,a.buckets)}}function re(e,a,i,l,p,n,c="--"){return e?n==="cpu"?e.cpu_usage!=null?`${e.cpu_usage.toFixed(1)}%`:c:n==="mem"?e.mem_usage!=null?`${e.mem_usage.toFixed(1)}%`:c:n==="disk"?e.disk_usage!=null?`${e.disk_usage.toFixed(1)}%`:c:n==="load1"?e.load1!=null?String(e.load1):c:n==="tcp"?a.tcp_established!=null?String(a.tcp_established):c:n==="tw"?a.tcp_time_wait!=null?String(a.tcp_time_wait):c:n==="rx"?a.net_rx_bps!=null?`${(a.net_rx_bps/1024).toFixed(1)} KB/s`:c:n==="tx"?a.net_tx_bps!=null?`${(a.net_tx_bps/1024).toFixed(1)} KB/s`:c:n==="ioR"?i.read_bps!=nuLine truncated
@@ -1 +0,0 @@
import{r as n,j as s}from"./vendor-codemirror-B1SGo4xl.js";import{i as a}from"./index-Dungj95X.js";import{k as i}from"./index-drGq01ok.js";import{L as u}from"./vendor-icons-DmqcWdzX.js";function x({target:r}){const e=a();return n.useEffect(()=>{i.getClusters().then(c=>{const t=c?.list||[];if(t.length>0){const o=t[0].code||String(t[0].id);e(`/kubernetes/${o}/${r}`,{replace:!0})}else e("/kubernetes",{replace:!0})}).catch(()=>e("/kubernetes",{replace:!0}))},[e,r]),s.jsxs("div",{"code-path":"src/components/kubernetes/K8sShortcutRedirect.tsx:31:5",className:"flex flex-col items-center justify-center py-24 text-slate-500 gap-2",children:[s.jsx(u,{"code-path":"src/components/kubernetes/K8sShortcutRedirect.tsx:32:7",className:"h-6 w-6 animate-spin"}),s.jsx("span",{"code-path":"src/components/kubernetes/K8sShortcutRedirect.tsx:33:7",className:"text-sm",children:"正在跳转..."})]})}export{x as default};
@@ -1,10 +0,0 @@
import{r,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{B as T,Q as oe,N as Pe,y as Te,w as le,R as Me,x as q,z as Y,T as Ee,A as X,P as Ae,C as Ie,m as M,D as ue,a as de,b as Fe,c as ie,d as xe,e as Ge,t as I,o as Le,ab as Oe,ac as ze,ad as Be,ae as Ue,af as ee,ag as F}from"./index-Dungj95X.js";import{C as G,b as W,c as $,d as pe,a as L}from"./card-BIfzBCEy.js";import{I as z}from"./input-CXoUQQLm.js";import{B as y}from"./badge-CGJlVD3L.js";import{k as w}from"./index-drGq01ok.js";import{T as We,a as $e,b as E,c as A}from"./tabs-D87nAyJR.js";import{i as me,a as be,R as V,aK as Ve,r as qe,L as he,at as He,au as Xe,X as Ye,P as Je,S as Qe,aP as Ze,x as et,p as tt,k as st,v as te,T as rt,l as nt,y as at}from"./vendor-icons-DmqcWdzX.js";import{R as ct,A as ot,C as lt,X as ut,Y as dt,T as it,a as se}from"./AreaChart-yrR-Mxho.js";import{T as re}from"./textarea-BxfjmLq5.js";import{L as P}from"./label-CMpUoC87.js";import{u as xt}from"./index-5FEebgvX.js";import{x as pt,a as mt}from"./vendor-xterm-20M9KZE1.js";function bt({cluster:a,onClose:p}){const[n,g]=r.useState([]),[s,l]=r.useState([]),[x,j]=r.useState([]),[k,C]=r.useState([]),[b,f]=r.useState([]),h=r.useMemo(()=>{if(!n||n.length===0)return{cpuPct:0,memPct:0};let t=0,u=0,v=0;for(const K of n){const o=K.cpu||0,i=K.cpu_usage_m?parseFloat(String(K.cpu_usage_m).replace("m","")):0,N=o>0?i/1e3/o*100:0,S=K.memory_mb||0,O=K.mem_usage_mi?parseFloat(String(K.mem_usage_mi).replace("Mi","").replace("Ki","")):0,B=K.mem_usage_mi?.includes?.("Ki")?O/1024:K.mem_usage_mi?.includes?.("Gi")?O*1024:O,U=S>0?B/S*100:0;(N>0||U>0)&&(t+=N,u+=U,v++)}return{cpuPct:v>0?t/v:0,memPct:v>0?u/v:0}},[n]),m=r.useMemo(()=>{const t=Math.max(0,Math.min(100,Number(h.cpuPct.toFixed(1)))),u=Math.max(0,Math.min(100,Number(h.memPct.toFixed(1))));return[{time:"10m前",cpu:Math.max(0,t*.72),memory:Math.max(0,u*.78)},{time:"7m前",cpu:Math.max(0,t*.82),memory:Math.max(0,u*.85)},{time:"4m前",cpu:Math.max(0,t*.9),memory:Math.max(0,u*.93)},{time:"2m前",cpu:Math.max(0,t*.96),memory:Math.max(0,u*.97)},{time:"现在",cpu:t,memory:u}]},[h]),d=async t=>{try{const[u,v,K,o,i]=await Promise.all([w.getNodes(t).catch(()=>[]),w.getPods(t).catch(()=>[]),w.getDeployments(t).catch(()=>[]),w.getServices(t).catch(()=>[]),w.getIngresses(t).catch(()=>[])]),N=S=>Array.isArray(S)?S:S?.list||[];g(N(u)),l(N(v)),j(N(K)),C(N(o)),f(N(i))}catch(u){console.error("加载集群详情失败:",u)}};return r.useEffect(()=>{a?.id&&d(a.id)},[a?.id]),e.jsxs(G,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:98:5",className:"bg-slate-900 border-slate-800",children:[e.jsx(W,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:99:7",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:100:9",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:101:11",className:"flex items-center gap-3",children:[e.jsx(me,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:102:13",className:"h-6 w-6 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:103:13",children:[e.jsx($,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:104:15",className:"text-slate-100",children:a.name}),e.jsxs(pe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:105:15",className:"text-slate-500",children:[a.version," · ",a.node_count||0," 节点 · 创建于"," ",a.created_at?new Date(a.created_at).toLocaleDateString():"-"]})]})]}),e.jsxs(T,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:111:11",variant:"ghost",size:"sm",className:"text-slate-400 hover:text-slate-100",onClick:p,children:[e.jsx(be,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:117:13",className:"h-4 w-4 mr-2"}),"关闭"]})]})}),e.jsx(L,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:122:7",children:e.jsxs(We,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:123:9",defaultValue:"overview",className:"w-full",children:[e.jsxs($e,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:124:11",className:"bg-slate-800 border border-slate-700 flex-wrap h-auto",children:[e.jsx(E,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:125:13",value:"overview",className:"data-[state=active]:bg-slate-700",children:"概览"}),e.jsxs(E,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:128:13",value:"nodes",className:"data-[state=active]:bg-slate-700",children:["节点 (",n.length,")"]}),e.jsxs(E,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:131:13",value:"pods",className:"data-[state=active]:bg-slate-700",children:["Pod (",s.length,")"]}),e.jsxs(E,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:134:13",value:"deployments",className:"data-[state=active]:bg-slate-700",children:["Deployment (",x.length,")"]}),e.jsxs(E,{"coLine truncated
kind: Config
clusters:
- cluster:
server: https://10.0.0.1:6443
...`,rows:10,className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)] font-mono text-xs"}),!b&&e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:244:17",className:"text-xs text-[var(--dg-text-muted)]",children:"粘贴 kubeconfig 内容后将自动解析 API Server 地址"})]})]}),e.jsxs(Ge,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:251:9",children:[e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:252:11",variant:"outline",onClick:()=>{p(!1)},className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",children:"取消"}),e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:259:11",onClick:v,disabled:K,className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",children:x?"保存中...":n?"保存":"添加"})]})]})})}function Rt({open:a,onOpenChange:p,clusterId:n,clusterName:g}){const s=r.useRef(null),l=r.useRef(null),x=r.useRef(null),j=r.useRef(null),[k,C]=r.useState(!1),[b,f]=r.useState(!1),[h,m]=r.useState("");return r.useEffect(()=>{a||f(!1)},[a]),r.useEffect(()=>{if(!a||!n)return;const d=new pt.Terminal({cursorBlink:!0,fontSize:14,fontFamily:'Menlo, Monaco, "Courier New", monospace',allowProposedApi:!0,theme:{background:"#0f172a",foreground:"#e2e8f0",cursor:"#38bdf8",selectionBackground:"#1e40af",black:"#1e293b",red:"#ef4444",green:"#10b981",yellow:"#f59e0b",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e2e8f0",brightBlack:"#475569",brightRed:"#f87171",brightGreen:"#34d399",brightYellow:"#fbbf24",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#f8fafc"}}),t=new mt.FitAddon;d.loadAddon(t),l.current=d,j.current=t;const v=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,K=Le.getState().token||"",o=`${v.replace(/^http/,"ws").replace("/api/v1","")}/ws/kubectl?token=${encodeURIComponent(K)}&id=${n}`,i=new WebSocket(o);return x.current=i,d.onData(N=>{i.readyState===WebSocket.OPEN&&i.send(JSON.stringify({status:0,data:N}))}),i.onmessage=N=>{try{const S=JSON.parse(N.data);S.status===0&&typeof S.data=="string"&&d.write(S.data)}catch{typeof N.data=="string"&&d.write(N.data)}},i.onopen=()=>{C(!0),m(""),s.current&&(d.open(s.current),requestAnimationFrame(()=>{try{t.fit()}catch{}}),setTimeout(()=>{try{d.focus()}catch{}},150))},i.onclose=()=>{C(!1),d.write(`\r
\x1B[31m[连接已断开]\x1B[0m\r
`)},i.onerror=()=>{m("WebSocket 连接失败"),d.write(`\r
\x1B[31m[连接发生错误]\x1B[0m\r
`)},()=>{try{(i.readyState===WebSocket.OPEN||i.readyState===WebSocket.CONNECTING)&&i.close(),d.dispose()}catch{}l.current=null,x.current=null,C(!1)}},[a,n]),r.useEffect(()=>{if(!a)return;const d=s.current;if(!d)return;let t;const u=new ResizeObserver(()=>{clearTimeout(t),t=setTimeout(()=>{if(j.current&&l.current&&x.current)try{j.current.fit(),l.current.focus();const{cols:v,rows:K}=l.current;x.current.readyState===WebSocket.OPEN&&x.current.send(JSON.stringify({status:1,cols:v,rows:K}))}catch{}},60)});return u.observe(d),()=>{clearTimeout(t),u.disconnect()}},[a]),e.jsx(ue,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:161:5",open:a,onOpenChange:p,children:e.jsxs(de,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:162:7",showCloseButton:!1,onOpenAutoFocus:d=>d.preventDefault(),className:M("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",b?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:b?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"900px",width:"90vw"},children:[e.jsxs(ie,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:174:9",className:"sr-only",children:["kubectl — ",g]}),e.jsx(xe,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:175:9",className:"sr-only",children:"Kubernetes 集群命令行终端"}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:178:9",className:"flex items-center justify-between px-4 py-2 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:179:11",className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:180:13",className:M("w-2 h-2 rounded-full",k?"bg-emerald-400":h?"bg-red-400":"bg-yellow-400")}),e.jsx(qe,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:181:13",className:"h-4 w-4 text-blue-400"}),e.jsxs("span",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:182:13",className:"text-[var(--dg-text-primary)] font-medium",children:["kubectl — ",g]}),!k&&!h&&e.jsx(he,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:183:38",className:"h-3 w-3 animate-spin text-[var(--dg-text-muted)]"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:185:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:186:13",onClick:()=>f(!b),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:b?e.jsx(He,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:190:29",className:"h-4 w-4"}):e.jsx(Xe,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:190:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:192:13",onClick:()=>p(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(Ye,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:196:15",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:202:9",ref:s,className:"bg-[#0f172a]",style:{height:b?"calc(100vh - 49px)":"480px"}})]})})}function Wt(){const[a,p]=r.useState([]),[n,g]=r.useState(!0),[s,l]=r.useState(null),[x,j]=r.useState(""),[k,C]=r.useState(!1),[b,f]=r.useState(null),[h,m]=r.useState(null),[d,t]=r.useState(!1),[u,v]=r.useState(null),[K,o]=r.useState(!1),i=async()=>{try{g(!0);const c=await w.getClusters();p(c?.list||[])}catch(c){console.error("加载集群列表失败:",c),p([])}finally{g(!1)}};r.useEffect(()=>{i()},[]);const[,N]=r.useState(null),S=()=>{i().then(()=>{b||setTimeout(async()=>{const D=(await w.getClusters())?.list||[];D.length>0&&B(D[D.length-1].id,!0)},500)})},O=async c=>{try{await w.deleteCluster(c),i()}catch(D){console.error("删除集群失败:",D)}},B=async(c,D)=>{try{D||I.info("正在同步集群资源...");const R=await w.syncCluster(c);D||I.success(R?.message||"同步完成"),i()}catch(R){D||I.error(R?.message||"同步失败")}},U=async()=>{if(!u)return;const c=u.code||String(u.id);try{o(!0),I.info(`正在导出 ${u.name} 所有命名空间的资源...`),await w.exportAllResources(c),I.success("导出完成,已开始下载"),v(null)}catch(D){I.error(D?.message||"导出失败")}finally{o(!1)}},Q=a.filter(c=>(c.name||"").toLowerCase().includes(x.toLowerCase())||(c.version||"").includes(x)),_e=c=>{switch(c){case"healthy":return e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:138:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(at,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:139:13",className:"h-3 w-3 mr-1"}),"健康"]});case"warning":return e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:145:11",variant:"outline",className:"border-amber-500/30 text-ambe Line truncated
@@ -1 +0,0 @@
import{r as t,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as F,a as I}from"./card-BIfzBCEy.js";import{B as A}from"./index-Dungj95X.js";import{I as P}from"./input-CXoUQQLm.js";import{B as l}from"./badge-CGJlVD3L.js";import{S as w,a as y,b as C,c as S,d as x}from"./select-CiTqGGhE.js";import{T as V,a as H,b as u,c as o,d as U,e as n}from"./table-B2F10oba.js";import{k as B}from"./index-drGq01ok.js";import{L as T,R as W,S as z,h as G}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function te(){const[$,h]=t.useState([]),[c,i]=t.useState(""),[R,N]=t.useState([]),[b,k]=t.useState(!1),[j,M]=t.useState(""),[p,L]=t.useState("all"),K=t.useCallback(async()=>{try{const r=(await B.getClusters())?.list||[];h(r),r.length>0&&!c&&i(String(r[0].id))}catch{h([])}},[]);t.useEffect(()=>{K()},[K]);const m=t.useCallback(async()=>{if(c){k(!0);try{const s=await B.getNodes(c);N(Array.isArray(s)?s:s?.list||[])}catch{N([])}finally{k(!1)}}},[c]);t.useEffect(()=>{m()},[m]);const g=R.filter(s=>(s.name||"").toLowerCase().includes(j.toLowerCase())&&(p==="all"||s.role===p)),_=s=>s==="master"?e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:53:9",className:"bg-blue-500/20 text-blue-400 border-blue-500/30",children:"Master"}):e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:54:9",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:"Worker"}),E=s=>s==="Ready"?e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:58:9",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:s}):e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:59:9",variant:"destructive",children:s||"Unknown"});return e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:62:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:63:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:64:9",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:65:11",className:"text-2xl font-bold text-slate-100",children:"节点管理"}),e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:66:11",className:"text-sm text-slate-500 mt-1",children:"Kubernetes 集群工作节点状态与资源"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:68:9",className:"flex items-center gap-2",children:[e.jsxs(w,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:69:11",value:c,onValueChange:i,children:[e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:70:13",className:"w-48 h-9 bg-slate-800/50 border-slate-700 text-slate-200",children:e.jsx(C,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:71:15",placeholder:"选择集群"})}),e.jsx(S,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:73:13",className:"bg-slate-800 border-slate-700",children:$.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:75:17",value:String(s.id),children:s.name},s.id))})]}),e.jsx(A,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:79:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:m,disabled:b,children:b?e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:80:24",className:"h-4 w-4 animate-spin"}):e.jsx(W,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:80:71",className:"h-4 w-4"})})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:85:7",className:"flex items-center gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:86:9",className:"relative w-56",children:[e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:87:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:88:11",placeholder:"搜索节点...",value:j,onChange:s=>M(s.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200"})]}),e.jsxs(w,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:90:9",value:p,onValueChange:L,children:[e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:91:11",className:"w-32 h-9 bg-slate-800/50 border-slate-700 text-slate-200",children:e.jsx(C,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:92:13"})}),e.jsxs(S,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:94:11",className:"bg-slate-800 border-slate-700",children:[e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:95:13",value:"all",children:"全部角色"}),e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:96:13",value:"master",children:"Master"}),e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:97:13",value:"worker",children:"Worker"})]})]})]}),e.jsx(F,{"code-path":"src/components/kuberneLine truncated
@@ -1 +0,0 @@
import{r as t,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{D as X,a as Y,b as Z,c as ee,d as te,e as oe,B as b,f as le,g as ie,aw as me}from"./index-Dungj95X.js";import{I as k}from"./input-CXoUQQLm.js";import{L as g}from"./label-CMpUoC87.js";import{T as K}from"./textarea-BxfjmLq5.js";import{S as $,a as z,b as B,c as q,d as O}from"./select-CiTqGGhE.js";import{u as _}from"./use-toast-DNZLibQY.js";import{l as T}from"./log-center-ELxahGiS.js";import{S as M}from"./switch-Bxiq4EHp.js";import{L as F,aW as de,P as U,R as W,z as se,d as ge,T as xe,b5 as pe,aD as he,I as ue,a7 as ve}from"./vendor-icons-DmqcWdzX.js";import{B as R}from"./badge-CGJlVD3L.js";import{C as G,a as J}from"./card-BIfzBCEy.js";import{a as I}from"./alert-v1WaPeEX.js";import{A as ye}from"./AlertRuleDialog-BmYLySxp.js";import"./index-5FEebgvX.js";const re=t.createContext(null);function Le({children:r}){const[s,o]=t.useState(null),n=t.useCallback(i=>o(i),[]);return e.jsx(re.Provider,{"code-path":"src/components/monitor/log-center/LogQueryContext.tsx:16:5",value:{context:s,setContext:n},children:r})}function H(){const r=t.useContext(re);if(!r)throw new Error("useLogQueryContext must be used within LogQueryProvider");return r}function ne({open:r,onOpenChange:s,engine:o,editing:n,onSaved:i}){const{toast:x}=_(),[d,j]=t.useState(""),[p,v]=t.useState(""),[h,D]=t.useState("logstash-*"),[y,Q]=t.useState(!1),[P,c]=t.useState(""),[f,u]=t.useState(""),[m,C]=t.useState(!1),[A,l]=t.useState(!1),[S,a]=t.useState(!1),[N,E]=t.useState(!1);t.useEffect(()=>{r&&(n?(j(n.name),v(n.url),D(n.default_index||"logstash-*"),Q(!!n.basic_auth),c(n.basic_auth_user||""),u(""),C(!!n.skip_tls_verify),l(!!n.is_default)):(j(o==="loki"?"Loki":"Elasticsearch"),v(o==="loki"?"http://localhost:3100":"http://localhost:9200"),D("logstash-*"),Q(!1),c(""),u(""),C(!1),l(!1)))},[r,n,o]);const w=()=>({name:d.trim(),type:o,url:p.trim(),basic_auth:y,basic_auth_user:P,basic_auth_pass:f,skip_tls_verify:m,default_index:o==="elasticsearch"?h:void 0,is_default:A}),V=async()=>{E(!0);try{await T.testDatasource(w()),x({title:"连接成功"})}catch(L){x({title:"连接失败",description:L?.message||String(L),variant:"destructive"})}finally{E(!1)}},ce=async()=>{if(!(!d.trim()||!p.trim())){a(!0);try{n?await T.updateDatasource(n.id,w()):await T.createDatasource(w()),x({title:"已保存"}),s(!1),i()}catch(L){x({title:"保存失败",description:L?.message||String(L),variant:"destructive"})}finally{a(!1)}}};return e.jsx(X,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:103:5",open:r,onOpenChange:s,children:e.jsxs(Y,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:104:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] max-w-md max-h-[85vh] overflow-y-auto",children:[e.jsxs(Z,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:105:9",children:[e.jsxs(ee,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:106:11",className:"text-[var(--dg-text-primary)]",children:[n?"编辑":"添加",o==="loki"?" Loki":" Elasticsearch"," 数据源"]}),e.jsx(te,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:109:11",className:"text-[var(--dg-text-muted)]",children:"仅保存连接信息,日志本体存储在您的 Loki / ES 集群"})]}),e.jsxs("div",{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:113:9",className:"space-y-3 py-1",children:[e.jsxs("div",{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:114:11",children:[e.jsx(g,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:115:13",className:"text-xs text-[var(--dg-text-muted)]",children:"名称"}),e.jsx(k,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:116:13",value:d,onChange:L=>j(L.target.value),className:"mt-1 h-9 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"})]}),e.jsxs("div",{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:118:11",children:[e.jsx(g,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:119:13",className:"text-xs text-[var(--dg-text-muted)]",children:"地址"}),e.jsx(k,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:120:13",value:p,onChange:L=>v(L.target.value),placeholder:"http://host:port",className:"mt-1 h-9 font-mono text-xs bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"})]}),o==="elasticsearch"&&e.jsxs("div",{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:123:13",children:[e.jsx(g,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:124:15",className:"text-xs text-[var(--dg-text-muted)]",children:"默认索引"}),e.jsx(k,{"code-path":"src/components/monitor/log-center/LogDatasourceDialog.tsx:125:15",value:h,onChange:L=>D(L.target.value),className:"mt-1 h-9 font-mono text-xs bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"})]}),e.jsxs("div",{"code-path":"src/components/monitor/log-center/LogDatasourceDiaLine truncated
@@ -1 +0,0 @@
import{r as n,j as s}from"./vendor-codemirror-B1SGo4xl.js";import{C as N,a as v}from"./card-BIfzBCEy.js";import{B as h}from"./index-Dungj95X.js";import{I as _}from"./input-CXoUQQLm.js";import{B as i}from"./badge-CGJlVD3L.js";import{T as y,a as C,b as L,c as o,d as w,e as c}from"./table-B2F10oba.js";import{l as S}from"./terminal-D5kNzib0.js";import{S as k,R as B,Z as I,G as A,_ as R}from"./vendor-icons-DmqcWdzX.js";function z(a){return{id:a.id??0,username:a.username??"",login_type:a.login_type??"password",ip:a.ip??"",location:a.location??"",browser:a.browser??"",os:a.os??"",user_agent:a.user_agent??a.userAgent??"",status:a.status==="failed"||a.status==="fail"?"fail":"success",fail_reason:a.fail_reason??a.message??"",login_at:a.login_at??a.created_at??"",created_at:a.created_at??a.login_at??""}}function M(){const[a,g]=n.useState([]),[b,d]=n.useState(!0),[p,m]=n.useState(""),[r,u]=n.useState(""),l=n.useCallback(async()=>{d(!0);try{const e={page:1,page_size:100};r&&(e.status=r==="fail"?"failed":r);const f=(await S.list(e))?.list??[];g(f.map(z))}catch{g([])}finally{d(!1)}},[r]);n.useEffect(()=>{l()},[l]);const x=a.filter(e=>{const t=p.toLowerCase();return!t||(e.username||"").toLowerCase().includes(t)||(e.ip||"").toLowerCase().includes(t)||(e.location||"").toLowerCase().includes(t)||(e.user_agent||"").toLowerCase().includes(t)}),T=(e,t)=>e==="success"?s.jsx(i,{"code-path":"src/pages/LoginLogsTab.tsx:89:7",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:"成功"}):s.jsx(i,{"code-path":"src/pages/LoginLogsTab.tsx:93:7",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",title:t||void 0,children:t||"失败"}),j=e=>{switch(e){case"password":return"密码登录";case"ldap":return"LDAP";case"token":return"Token";case"oauth":return"OAuth";default:return e||"密码登录"}};return s.jsxs("div",{"code-path":"src/pages/LoginLogsTab.tsx:114:5",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/pages/LoginLogsTab.tsx:116:7",className:"flex items-center gap-3 flex-wrap",children:[s.jsxs("div",{"code-path":"src/pages/LoginLogsTab.tsx:117:9",className:"relative w-64",children:[s.jsx(k,{"code-path":"src/pages/LoginLogsTab.tsx:118:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),s.jsx(_,{"code-path":"src/pages/LoginLogsTab.tsx:119:11",placeholder:"搜索用户/IP/归属地...",value:p,onChange:e=>m(e.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]}),s.jsx("div",{"code-path":"src/pages/LoginLogsTab.tsx:127:9",className:"flex items-center gap-1",children:[{value:"",label:"全部"},{value:"success",label:"成功"},{value:"fail",label:"失败"}].map(({value:e,label:t})=>s.jsx(h,{"code-path":"src/pages/LoginLogsTab.tsx:133:13",variant:r===e?"default":"outline",size:"sm",className:r===e?"h-8 bg-blue-600 hover:bg-blue-700 text-white":"h-8 border-slate-700 text-slate-400 hover:text-slate-100 hover:bg-slate-800",onClick:()=>u(e),children:t},e||"all"))}),s.jsxs(h,{"code-path":"src/pages/LoginLogsTab.tsx:149:9",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:l,children:[s.jsx(B,{"code-path":"src/pages/LoginLogsTab.tsx:154:11",className:"h-4 w-4 mr-2"}),"刷新"]})]}),s.jsx(N,{"code-path":"src/pages/LoginLogsTab.tsx:160:7",className:"bg-slate-900 border-slate-800",children:s.jsx(v,{"code-path":"src/pages/LoginLogsTab.tsx:161:9",className:"p-0",children:s.jsx("div",{"code-path":"src/pages/LoginLogsTab.tsx:162:11",className:"border-t border-slate-800",children:b?s.jsx("div",{"code-path":"src/pages/LoginLogsTab.tsx:164:15",className:"flex items-center justify-center py-16",children:s.jsx("div",{"code-path":"src/pages/LoginLogsTab.tsx:165:17",className:"w-8 h-8 border-2 border-blue-500 border-t-transparent rounded-full animate-spin"})}):x.length===0?s.jsxs("div",{"code-path":"src/pages/LoginLogsTab.tsx:168:15",className:"flex flex-col items-center justify-center py-16 text-slate-500",children:[s.jsx(I,{"code-path":"src/pages/LoginLogsTab.tsx:169:17",className:"h-8 w-8 mb-3 opacity-40"}),s.jsx("p",{"code-path":"src/pages/LoginLogsTab.tsx:170:17",className:"text-sm",children:"暂无登录日志"})]}):s.jsxs(y,{"code-path":"src/pages/LoginLogsTab.tsx:173:15",children:[s.jsx(C,{"code-path":"src/pages/LoginLogsTab.tsx:174:17",children:s.jsxs(L,{"code-path":"src/pages/LoginLogsTab.tsx:175:19",className:"border-slate-800 hover:bg-transparent",children:[s.jsx(o,{"code-path":"src/pages/LoginLogsTab.tsx:176:21",className:"text-slate-400",children:"登录时间"}),s.jsx(o,{"code-path":"src/pages/LoginLogsTab.tsx:177:21",className:"text-slate-400",children:"用户"}),s.jsx(o,{"code-path":"src/pages/LoginLogsTab.tsx:178:21",className:"text-slate-400",children:"登录方式"}),s.jsx(o,{"code-path":"src/pages/LoginLogsTab.tsx:179:21",className:"text-slate-400",children:"IP"}),s.jsx(o,{"code-path":"src/pages/LoginLogsTab.Line truncated
@@ -1 +0,0 @@
import{r as l,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as u,a as b}from"./card-BIfzBCEy.js";import{S as I,a as z,b as P,c as B,d as V}from"./select-CiTqGGhE.js";import{B as q}from"./index-Dungj95X.js";import{I as F}from"./input-CXoUQQLm.js";import{m as M}from"./metrics-DW1ylkmD.js";import{S as H,af as K,u as G,A as y,P as Q,D as U,N as W,H as v,g as J}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";const N={cpu:{label:"CPU",icon:e.jsx(J,{"code-path":"src/pages/MetricsExplorer.tsx:35:30",className:"h-4 w-4"})},memory:{label:"内存",icon:e.jsx(v,{"code-path":"src/pages/MetricsExplorer.tsx:36:32",className:"h-4 w-4"})},disk:{label:"磁盘",icon:e.jsx(v,{"code-path":"src/pages/MetricsExplorer.tsx:37:30",className:"h-4 w-4"})},network:{label:"网络",icon:e.jsx(W,{"code-path":"src/pages/MetricsExplorer.tsx:38:33",className:"h-4 w-4"})},middleware:{label:"中间件",icon:e.jsx(U,{"code-path":"src/pages/MetricsExplorer.tsx:39:37",className:"h-4 w-4"})},device:{label:"设备",icon:e.jsx(y,{"code-path":"src/pages/MetricsExplorer.tsx:40:32",className:"h-4 w-4"})}};function ce(){const[n,w]=l.useState([]),[j,S]=l.useState([]),[x,C]=l.useState(""),[o,E]=l.useState([]),[k,f]=l.useState([]),[T,O]=l.useState(!0),[m,_]=l.useState(""),A=l.useCallback(async()=>{try{const s=await M.getTargets({page_size:200});w(s?.list||[])}catch{}finally{O(!1)}},[]),D=l.useCallback(async()=>{try{const s=await M.getNames();S(s||[])}catch{}},[]);l.useEffect(()=>{A(),D()},[]),l.useEffect(()=>{if(!x||o.length===0||!n.find(c=>String(c.id)===x))return;const t=Math.floor(Date.now()/1e3),r=t-3600;Promise.all(o.map(c=>M.query({target_id:x,metric_name:c,from:String(r),to:String(t),limit:200}).then(a=>Array.isArray(a)?a:[]).catch(()=>[]))).then(c=>{f(c.flat())})},[x,o,n]);const L=m?j.filter(s=>s.toLowerCase().includes(m.toLowerCase())):j,g=n.find(s=>String(s.id)===x),R=L.reduce((s,t)=>{const r=t.split("_")[0]||"other";return s[r]||(s[r]=[]),s[r].push(t),s},{}),d={};k.forEach(s=>{d[s.timestamp]||(d[s.timestamp]={}),d[s.timestamp][s.metric_name]=s.value});const p=Object.keys(d).map(Number).sort((s,t)=>s-t),$=Math.max(1,...Object.values(d).flatMap(s=>Object.values(s))),h=["#3b82f6","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899","#06b6d4","#f97316"];return e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:119:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:121:7",className:"flex items-center gap-4 flex-wrap",children:[e.jsxs(I,{"code-path":"src/pages/MetricsExplorer.tsx:122:9",value:x,onValueChange:C,children:[e.jsx(z,{"code-path":"src/pages/MetricsExplorer.tsx:123:11",className:"w-64 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(P,{"code-path":"src/pages/MetricsExplorer.tsx:124:13",placeholder:T?"加载中...":"选择监控目标..."})}),e.jsx(B,{"code-path":"src/pages/MetricsExplorer.tsx:126:11",className:"bg-slate-800 border-slate-700 text-slate-200 max-h-80",children:n.map(s=>e.jsx(V,{"code-path":"src/pages/MetricsExplorer.tsx:128:15",value:String(s.id),children:e.jsxs("span",{"code-path":"src/pages/MetricsExplorer.tsx:129:17",className:"flex items-center gap-2",children:[e.jsx("span",{"code-path":"src/pages/MetricsExplorer.tsx:130:19",className:`inline-block w-1.5 h-1.5 rounded-full ${s.status==="online"?"bg-emerald-400":"bg-slate-500"}`}),s.name," (",s.ip||s.type,")"]})},s.id))})]}),e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:138:9",className:"relative flex-1 max-w-sm",children:[e.jsx(H,{"code-path":"src/pages/MetricsExplorer.tsx:139:11",className:"absolute left-2.5 top-2 h-4 w-4 text-slate-500"}),e.jsx(F,{"code-path":"src/pages/MetricsExplorer.tsx:140:11",className:"pl-8 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",placeholder:"搜索指标...",value:m,onChange:s=>_(s.target.value)})]}),e.jsx(q,{"code-path":"src/pages/MetricsExplorer.tsx:147:9",variant:"ghost",size:"sm",onClick:()=>{E([]),f([])},children:"清除"})]}),x?e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:160:9",className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[e.jsx(u,{"code-path":"src/pages/MetricsExplorer.tsx:162:11",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] lg:col-span-1",children:e.jsxs(b,{"code-path":"src/pages/MetricsExplorer.tsx:163:13",className:"p-4",children:[e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:164:15",className:"flex items-center gap-2 mb-3",children:[e.jsx(G,{"code-path":"src/pages/MetricsExplorer.tsx:165:17",className:"h-4 w-4 text-[var(--dg-text-muted)]"}),e.jsx("h3",{"code-path":"src/pages/MetricsExplorer.tsx:166:17",className:"text-sm font-medium text-[var(--dg-text-primary)]",children:"指标列表"}),e.jsxs("span",{"code-path":"src/pages/MetricsExplorer.tsx:167:17",className:"text-xs text-[var(--dg-text-muted)] ml-auto",children:[o.length," 已选"]})]}),e.jsx("div",{"code-path":"src/pages/MetricsExplorer.tsx:169:15",className:"space-y-4 max-h-[60vh] overflow-y-auto",children:OLine truncated
@@ -1 +0,0 @@
import{r as i,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{D as K,j as ue,B as w,a as X,b as W,c as Y,d as Z,e as J,f as Ne,t as C,m as ve}from"./index-Dungj95X.js";import{HostMonitor as je}from"./HostMonitor-C6-o-ZDP.js";import{C as h,a as M}from"./card-BIfzBCEy.js";import{B as u}from"./badge-CGJlVD3L.js";import{m as be,s as $}from"./metrics-DW1ylkmD.js";import{L as O,A as R,D as B,h as ee,aK as Se,aL as z,H as ye,aM as te,P as se,T as ae,G as I,aN as fe,R as we,b as Pe,a as Ce,C as _e,g as Te}from"./vendor-icons-DmqcWdzX.js";import{I as y}from"./input-CXoUQQLm.js";import{L as j}from"./label-CMpUoC87.js";import{S as re,a as oe,b as ce,c as de,d as A}from"./select-CiTqGGhE.js";import{T as ie,a as ne,b as q,c as l,d as xe,e as p}from"./table-B2F10oba.js";import{S as De}from"./switch-Bxiq4EHp.js";import{s as L}from"./site-Cslo2fp0.js";import"./agent-CZzlLHxR.js";import"./unwrap-DPwG25JA.js";import"./tabs-D87nAyJR.js";import"./AreaChart-yrR-Mxho.js";import"./index-5FEebgvX.js";function Fe(t){return t==null||t===0?"--":t>1e9?`${(t/1e9).toFixed(1)} GB`:t>1e6?`${(t/1e6).toFixed(1)} MB`:t>1e3?`${(t/1e3).toFixed(1)} KB`:`${t} B`}function E(t){return t==null||Number.isNaN(t)?"--":`${(t*100).toFixed(1)}%`}function F(t,n=0){return t==null||Number.isNaN(t)?"--":t.toFixed(n)}function ke(t){switch(t){case"online":return"text-emerald-400";case"warning":return"text-amber-400";case"error":return"text-red-400";default:return"text-slate-500"}}function Le(t){switch(t){case"online":return"bg-emerald-400";case"warning":return"bg-amber-400";case"error":return"bg-red-400";default:return"bg-slate-500"}}function Ie(){const[t,n]=i.useState([]),[d,N]=i.useState(!0),[v,_]=i.useState(""),T=i.useCallback(async()=>{try{N(!0),_("");const r=await be.getTargets({type:"middleware",page_size:200});n(r?.list||[])}catch(r){_(r.message||"加载失败"),n([])}finally{N(!1)}},[]);i.useEffect(()=>{T()},[]);const b=t.filter(r=>r.type==="redis"||r.name?.toLowerCase().includes("redis")),o=t.filter(r=>r.type==="mysql"||r.name?.toLowerCase().includes("mysql")),x=b.find(r=>r.status==="online")||b[0],c=x?.latest_metrics||{},m=o.find(r=>r.status==="online")||o[0],S=m?.latest_metrics||{};return e.jsxs("div",{"code-path":"src/pages/MiddlewareMonitor.tsx:97:5",className:"space-y-6",children:[d&&e.jsxs("div",{"code-path":"src/pages/MiddlewareMonitor.tsx:99:9",className:"flex items-center justify-center py-12",children:[e.jsx(O,{"code-path":"src/pages/MiddlewareMonitor.tsx:100:11",className:"h-6 w-6 animate-spin text-slate-500 mr-2"}),e.jsx("span",{"code-path":"src/pages/MiddlewareMonitor.tsx:101:11",className:"text-sm text-[var(--dg-text-muted)]",children:"正在加载中间件指标..."})]}),v&&!d&&e.jsx(h,{"code-path":"src/pages/MiddlewareMonitor.tsx:106:9",className:"bg-[var(--dg-bg-secondary)] border-red-500/30",children:e.jsxs(M,{"code-path":"src/pages/MiddlewareMonitor.tsx:107:11",className:"p-6 text-center",children:[e.jsx(R,{"code-path":"src/pages/MiddlewareMonitor.tsx:108:13",className:"h-8 w-8 text-red-400 mx-auto mb-2"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:109:13",className:"text-sm text-red-400",children:v}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:110:13",className:"text-xs text-[var(--dg-text-muted)] mt-2",children:"请确认后端服务可用且已配置中间件采集"})]})}),!d&&!v&&t.length===0&&e.jsx(h,{"code-path":"src/pages/MiddlewareMonitor.tsx:116:9",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(M,{"code-path":"src/pages/MiddlewareMonitor.tsx:117:11",className:"p-12 text-center",children:[e.jsx(B,{"code-path":"src/pages/MiddlewareMonitor.tsx:118:13",className:"h-12 w-12 text-slate-600 mx-auto mb-4"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:119:13",className:"text-sm text-[var(--dg-text-muted)]",children:"暂无中间件监控目标"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:120:13",className:"text-xs text-[var(--dg-text-muted)] mt-2",children:"需在 Agent 配置 Redis / MySQL 连接信息后启用采集"})]})}),e.jsx(h,{"code-path":"src/pages/MiddlewareMonitor.tsx:126:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(M,{"code-path":"src/pages/MiddlewareMonitor.tsx:127:9",className:"p-4",children:[e.jsxs("div",{"code-path":"src/pages/MiddlewareMonitor.tsx:128:11",className:"flex items-center gap-2 mb-4",children:[e.jsx(B,{"code-path":"src/pages/MiddlewareMonitor.tsx:129:13",className:"h-4 w-4 text-red-400"}),e.jsx("h3",{"code-path":"src/pages/MiddlewareMonitor.tsx:130:13",className:"text-sm font-medium text-[var(--dg-text-primary)]",children:"Redis 监控"}),x&&e.jsxs(u,{"code-path":"src/pages/MiddlewareMonitor.tsx:132:15",variant:"outline",className:"ml-auto text-[10px] border-[var(--dg-border)] text-[var(--dg-text-muted)]",children:[x.name," (",x.ip,")"]})]}),x?e.jsxs("div",{"code-path":"src/pages/MiddlewareMonitor.tsx:140:13",className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[e.jsx(fLine truncated
@@ -1 +0,0 @@
import{r as n,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as p,a as l}from"./card-BIfzBCEy.js";import{g as Z,i as ee,L as A,B as m,D as L,j as se,a as O,b as B,c as E,e as R,t as q}from"./index-Dungj95X.js";import{B as H}from"./badge-CGJlVD3L.js";import{I as $}from"./input-CXoUQQLm.js";import{L as ae}from"./label-CMpUoC87.js";import{T as te,a as ne,b as i,c,d as ce,e as a}from"./table-B2F10oba.js";import{k as j}from"./index-drGq01ok.js";import{f as z,B as P,L as N,R as re,P as me,k as oe,A as pe,N as le,j as I,C as xe,l as Q,T as de}from"./vendor-icons-DmqcWdzX.js";const ge=new Set(["kube-system","kube-public","kube-node-lease","default","devops"]);function fe(){const{clusterCode:t}=Z(),F=ee(),[o,M]=n.useState([]),[u,f]=n.useState(!1),[b,J]=n.useState(""),[K,k]=n.useState(!1),[d,y]=n.useState(""),[v,w]=n.useState(!1),[g,h]=n.useState(null),[C,S]=n.useState(!1),x=n.useCallback(async()=>{if(t){f(!0);try{const s=await j.getNamespacesDetail(t);M(Array.isArray(s)?s:[])}catch{M([])}finally{f(!1)}}},[t]);n.useEffect(()=>{x()},[x]);const D=async()=>{if(!(!t||!d.trim())){w(!0);try{await j.createNamespace(t,d.trim()),y(""),k(!1),await x()}catch(s){q.error(s?.message||"创建失败")}finally{w(!1)}}},Y=async()=>{if(!(!t||!g)){S(!0);try{await j.deleteNamespace(t,g),h(null),await x()}catch(s){q.error(s?.message||"删除失败")}finally{S(!1)}}},T=o.filter(s=>!b||s.name.toLowerCase().includes(b.toLowerCase())),G=o.reduce((s,r)=>s+(r.resource_counts?.deployments||0),0),U=o.reduce((s,r)=>s+(r.resource_counts?.pods||0),0),V=o.reduce((s,r)=>s+(r.resource_counts?.services||0),0),W=o.filter(s=>s.has_resource_quota).length;return e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:109:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:111:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(A,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:112:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(z,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:113:9",className:"h-3 w-3"}),e.jsx(A,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:114:9",to:`/kubernetes/${t}`,className:"hover:text-slate-300 transition-colors",children:t}),e.jsx(z,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:115:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:116:9",className:"text-slate-300",children:"命名空间管理"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:120:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:121:9",children:[e.jsxs("h1",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:122:11",className:"text-2xl font-bold text-slate-100 flex items-center gap-2",children:[e.jsx(P,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:123:13",className:"h-6 w-6 text-emerald-400"}),"命名空间管理"]}),e.jsx("p",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:126:11",className:"text-sm text-slate-500 mt-1",children:"命名空间资源配额与生命周期管理"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:128:9",className:"flex items-center gap-2",children:[e.jsx(m,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:129:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:x,disabled:u,children:u?e.jsx(N,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:131:24",className:"h-4 w-4 animate-spin"}):e.jsx(re,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:131:71",className:"h-4 w-4"})}),e.jsxs(L,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:133:11",open:K,onOpenChange:k,children:[e.jsx(se,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:134:13",asChild:!0,children:e.jsxs(m,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:135:15",className:"bg-blue-600 hover:bg-blue-700",children:[e.jsx(me,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:136:17",className:"h-4 w-4 mr-1"}),"创建命名空间"]})}),e.jsxs(O,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:139:13",children:[e.jsx(B,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:140:15",children:e.jsx(E,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:141:17",children:"创建命名空间"})}),e.jsx("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:143:15",className:"space-y-4 py-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:144:17",className:"space-y-2",children:[e.jsx(ae,{"code-path":Line truncated
@@ -1 +0,0 @@
import{r,j as s}from"./vendor-codemirror-B1SGo4xl.js";import{g,L as l}from"./index-Dungj95X.js";import{k as o}from"./index-drGq01ok.js";import{f as i,i as h,B as b,k as N,b as f,N as u,F as k,j as w,A as j}from"./vendor-icons-DmqcWdzX.js";const P=[{type:"deployments",label:"Deployments",icon:b,desc:"工作负载副本管理"},{type:"pods",label:"Pods",icon:N,desc:"容器实例运行状态"},{type:"cronjobs",label:"CronJobs",icon:f,desc:"定时任务管理"},{type:"services",label:"Services",icon:u,desc:"服务发现与负载均衡"},{type:"ingresses",label:"Ingresses",icon:u,desc:"外部流量路由规则"},{type:"configmaps",label:"ConfigMaps",icon:k,desc:"配置字典"},{type:"secrets",label:"Secrets",icon:w,desc:"密钥与凭证"},{type:"hpas",label:"HPAs",icon:j,desc:"水平自动伸缩策略"}];function A(){const{clusterCode:t,namespace:a}=g(),[x,p]=r.useState({}),[v,m]=r.useState(!1),d=r.useCallback(async()=>{if(!(!t||!a)){m(!0);try{const e=await Promise.allSettled([o.getNamespaceDeployments(t,a),o.getNamespacePods(t,a),o.getNamespaceServices(t,a),o.getNamespaceIngresses(t,a),o.getNamespaceConfigMaps(t,a),o.getNamespaceSecrets(t,a),o.getHPAs(t,a),o.getCronJobs(t,a)]),c=n=>Array.isArray(n)?n:n?.list||n?.data||[];p({deployments:c(e[0].status==="fulfilled"?e[0].value:[]).length,pods:c(e[1].status==="fulfilled"?e[1].value:[]).length,services:c(e[2].status==="fulfilled"?e[2].value:[]).length,ingresses:c(e[3].status==="fulfilled"?e[3].value:[]).length,configmaps:c(e[4].status==="fulfilled"?e[4].value:[]).length,secrets:c(e[5].status==="fulfilled"?e[5].value:[]).length,hpas:c(e[6].status==="fulfilled"?e[6].value:[]).length,cronjobs:c(e[7].status==="fulfilled"?e[7].value:[]).length})}catch{p({})}finally{m(!1)}}},[t,a]);return r.useEffect(()=>{d()},[d]),s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:66:5",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:68:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[s.jsx(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:69:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:70:9",className:"h-3 w-3"}),s.jsx(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:71:9",to:`/kubernetes/${t}`,className:"hover:text-slate-300 transition-colors",children:t}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:72:9",className:"h-3 w-3"}),s.jsx("span",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:73:9",className:"text-slate-300",children:a})]}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:77:7",className:"flex items-center justify-between",children:s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:78:9",children:[s.jsxs("h1",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:79:11",className:"text-2xl font-bold text-slate-100 flex items-center gap-2",children:[s.jsx(h,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:80:13",className:"h-6 w-6 text-blue-400"}),a]}),s.jsx("p",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:83:11",className:"text-sm text-slate-500 mt-1",children:"命名空间概览"})]})}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:88:7",className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:P.map(e=>s.jsxs(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:90:11",to:`/kubernetes/${t}/namespace/${a}/${e.type}`,className:"bg-slate-900 border border-slate-800 rounded-lg p-4 hover:border-slate-600 hover:bg-slate-800/50 transition-all group",children:[s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:94:13",className:"flex items-center justify-between mb-2",children:[s.jsx(e.icon,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:95:15",className:"h-5 w-5 text-slate-500 group-hover:text-blue-400 transition-colors"}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:96:15",className:"h-4 w-4 text-slate-600 group-hover:text-slate-400 transition-colors"})]}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:98:13",className:"text-lg font-bold text-slate-100",children:v?"-":x[e.type]??0}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:99:13",className:"text-sm text-slate-500",children:e.label}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:100:13",className:"text-xs text-slate-600 mt-1",children:e.desc})]},e.type))})]})}export{A as default};
@@ -1 +0,0 @@
import{r as x,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as xe,a as ue}from"./card-BIfzBCEy.js";import{B as p,g as ie,k as de,i as he,L as I}from"./index-Dungj95X.js";import{I as ge}from"./input-CXoUQQLm.js";import{B as m}from"./badge-CGJlVD3L.js";import{S as X,a as G,b as K,c as q,d as Q}from"./select-CiTqGGhE.js";import{T as be,a as Ne,b as u,c as ke,d as Pe,e as t}from"./table-B2F10oba.js";import{M as je,b as Re,Y as ve,P as we,a as fe}from"./PodFileBrowser-B-U8iHmY.js";import{R as Ce}from"./ResourceVisualEditor-BN2gGuH7.js";import{u as ee}from"./use-toast-DNZLibQY.js";import{k as l}from"./index-drGq01ok.js";import{ah as T,X as Se,L as M,j as C,B as S,b as ye,A as Ye,F as _e,N as W,k as $e,f as A,R as De,v as L,P as Ie,S as Ae,o as j,d as B,r as Le,H as Ee}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";import"./k8s-yaml-utils-4KZB_Bq_.js";import"./vendor-xterm-20M9KZE1.js";import"./label-CMpUoC87.js";import"./textarea-BxfjmLq5.js";function Te({clusterCode:s,onClose:a,onApplied:o}){const{toast:r}=ee(),[h,n]=x.useState(""),[d,g]=x.useState(!1),R=async()=>{if(!h.trim()){r({title:"请输入 YAML",variant:"destructive"});return}g(!0);try{await l.applyYAML(s,h),r({title:"导入成功",description:"YAML 已应用到集群"}),o?.(),a()}catch(N){r({title:"导入失败",description:N.message,variant:"destructive"})}finally{g(!1)}};return e.jsx(je,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:39:5",onClose:a,children:e.jsxs("div",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:40:7",className:"bg-[var(--dg-bg-primary)] border border-[var(--dg-border)] rounded-xl w-[92vw] max-w-4xl h-[85vh] flex flex-col shadow-2xl",onClick:N=>N.stopPropagation(),children:[e.jsxs("div",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:44:9",className:"flex items-center justify-between p-4 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:45:11",className:"flex items-center gap-2",children:[e.jsx(T,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:46:13",className:"h-5 w-5 text-[var(--dg-text-muted)]"}),e.jsxs("div",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:47:13",children:[e.jsx("h2",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:48:15",className:"text-lg font-bold text-[var(--dg-text-primary)]",children:"导入 YAML"}),e.jsx("p",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:49:15",className:"text-xs text-[var(--dg-text-muted)]",children:"支持多文档(--- 分隔),适用于新建或更新资源"})]})]}),e.jsx(p,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:52:11",variant:"ghost",size:"icon",className:"h-8 w-8",onClick:a,children:e.jsx(Se,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:52:85",className:"h-4 w-4"})})]}),e.jsx("div",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:54:9",className:"flex-1 min-h-0 flex flex-col overflow-hidden p-4",children:e.jsx(Re,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:55:11",value:h,fill:!0,fontSize:"12px",onChange:n})}),e.jsxs("div",{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:62:9",className:"flex justify-end gap-2 p-4 border-t border-[var(--dg-border)] shrink-0",children:[e.jsx(p,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:63:11",variant:"outline",onClick:a,children:"取消"}),e.jsxs(p,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:64:11",className:"bg-blue-600 hover:bg-blue-700",onClick:R,disabled:d,children:[d?e.jsx(M,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:65:25",className:"h-4 w-4 animate-spin mr-1"}):e.jsx(T,{"code-path":"src/components/kubernetes/YamlImportDialog.tsx:65:77",className:"h-4 w-4 mr-1"}),"应用"]})]})]})})}const Z=["services","ingresses","configmaps","secrets","pvcs"],Me=["deployments"],Be=["services","ingresses","configmaps","secrets"],ze=["services","ingresses","configmaps","secrets","pvcs"],P=({name:s,opts:a})=>e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceResourcePage.tsx:42:3",className:"flex items-center gap-0.5",children:[e.jsxs(p,{"code-path":"src/components/kubernetes/NamespaceResourcePage.tsx:43:5",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-emerald-400 hover:text-emerald-300",title:"可视化编辑",onClick:()=>a.onEdit?.(s),children:[e.jsx(B,{"code-path":"src/components/kubernetes/NamespaceResourcePage.tsx:44:43",className:"h-3.5 w-3.5 mr-1"}),"编辑"]}),e.jsxs(p,{"code-path":"src/components/kubernetes/NamespaceResourcePage.tsx:45:5",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-slate-400 hover:text-slate-300",title:"YAML",onClick:()=>a.onYaml?.(s),children:[e.jsx(j,{"code-path":"src/components/kubernetes/NamespaceResourcePage.tsx:46:43",className:"h-3.5 w-3.5 mr-1"}),"YAML"]})]}),E={deployments:{title:"Deployments",subtitle:"Deployment 工作负载运行状态",icon:S,columns:["名称","命名空Line truncated
@@ -1 +0,0 @@
import{r as p,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as c,a as o}from"./card-BIfzBCEy.js";import{g as R,i as M,L as g,B as q}from"./index-Dungj95X.js";import{B as l}from"./badge-CGJlVD3L.js";import{T as B,a as L,b as k,c as n,d as S,e as r}from"./table-B2F10oba.js";import{k as F}from"./index-drGq01ok.js";import{f as j,h as U,L as P,R as A,l as D,I as E,A as I,C as f,N as z,k as H}from"./vendor-icons-DmqcWdzX.js";function X(){const{clusterCode:d,nodeName:i}=R();M();const[s,N]=p.useState(null),[h,u]=p.useState(!1),b=p.useCallback(async()=>{if(!(!d||!i)){u(!0);try{const t=await F.getNodeDetail(d,i);N(t)}catch{N(null)}finally{u(!1)}}},[d,i]);p.useEffect(()=>{b()},[b]);const x=({label:t,used:a,total:v,unit:w,pct:C,color:$})=>{const m=Math.min(Math.max(C||0,0),100),T=m>80?"bg-red-500":m>60?"bg-amber-500":"bg-emerald-500";return e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:53:7",className:"space-y-1.5",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:54:9",className:"flex items-center justify-between text-xs",children:[e.jsx("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:55:11",className:"text-slate-400",children:t}),e.jsxs("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:56:11",className:"text-slate-300 font-medium",children:[a," / ",v," ",w]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:60:9",className:"flex items-center gap-2",children:[e.jsx("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:61:11",className:"flex-1 h-2 rounded-full bg-slate-700/50 overflow-hidden",children:e.jsx("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:62:13",className:`h-full rounded-full ${T} transition-all duration-500`,style:{width:`${m}%`}})}),e.jsxs("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:64:11",className:`text-xs font-semibold min-w-[40px] text-right ${$}`,children:[m.toFixed(0),"%"]})]})]})},_=(t,a)=>a==="True"?t==="Ready"?"bg-emerald-500/20 text-emerald-400":"bg-red-500/20 text-red-400":"bg-slate-500/20 text-slate-400",y=t=>t==="NoSchedule"?"bg-red-500/20 text-red-400 border-red-500/30":t==="NoExecute"?"bg-red-600/20 text-red-300 border-red-600/30":t==="PreferNoSchedule"?"bg-amber-500/20 text-amber-400 border-amber-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30";return e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:89:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:91:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(g,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:92:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(j,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:93:9",className:"h-3 w-3"}),e.jsx(g,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:94:9",to:`/kubernetes/${d}`,className:"hover:text-slate-300 transition-colors",children:d}),e.jsx(j,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:95:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:96:9",className:"text-slate-300",children:i})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:100:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:101:9",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:102:11",className:"flex items-center justify-center w-12 h-12 rounded-xl bg-slate-800 border border-slate-700",children:e.jsx(U,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:103:13",className:"h-6 w-6 text-blue-400"})}),e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:105:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:106:13",className:"flex items-center gap-2",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:107:15",className:"text-2xl font-bold text-slate-100",children:i}),e.jsx(l,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:108:15",className:s?.role==="master"?"bg-blue-500/20 text-blue-400 border-blue-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30",children:s?.role||"worker"}),e.jsx(l,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:111:15",className:s?.status==="Ready"?"bg-emerald-500/20 text-emerald-400":"bg-red-500/20 text-red-400",children:s?.status||"Unknown"})]}),e.jsxs("p",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:115:13",className:"text-sm text-slate-500 mt-0.5",children:[s?.internal_ip&&`${s.internal_ip}`,s?.hostname&&` · ${s.hostname}`]})]})]}),e.jsx(q,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:121:9",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-Line truncated
@@ -1 +0,0 @@
import{r as i,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as P,a as E}from"./card-BIfzBCEy.js";import{g as Qe,f as Xe,t as m,B as p,D as Ye,a as Ze,b as qe,c as es}from"./index-Dungj95X.js";import{I as u}from"./input-CXoUQQLm.js";import{B as j}from"./badge-CGJlVD3L.js";import{T as ss,a as ts,b as C,c as k}from"./tabs-D87nAyJR.js";import{S as $,a as O,b as V,c as B,d as h}from"./select-CiTqGGhE.js";import{T as os}from"./textarea-BxfjmLq5.js";import{S as G}from"./switch-Bxiq4EHp.js";import{L as y}from"./label-CMpUoC87.js";import{p as g}from"./pipeline-DO4lDm_n.js";import{d as ns}from"./config-BrfI0oO-.js";import{L as H,J as R,$ as cs,z as ds,j as je,P as D,Q as Pe,f as Ee,O as is,T as S,b as ue,a0 as ve,a1 as Ne,w as rs,X as as,a2 as be,F as ps,a3 as ls,V as xs,k as ms,o as hs,r as ys,a4 as gs,a5 as js,h as Ps,a6 as fe,a7 as Es}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";const us={source:"拉取代码",build:"构建",deploy:"部署",test:"测试",custom:"自定义"},we={GitBranch:R,Wrench:fe,Server:Ps,FlaskConical:js,Zap:gs,Terminal:ys,FileCode:hs,Container:ms};function vs(){return`tsk-${Date.now()}-${Math.random().toString(36).slice(2,7)}`}function Ce(r){if(!r)return"-";if(r<60)return`${r}s`;const d=Math.floor(r/60),c=r%60;return c>0?`${d}分${c}秒`:`${d}分`}function Ns({task:r,selected:d,onSelect:c,onDelete:v}){const a=we[r.icon]||fe;return e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:76:5",onClick:c,className:`flex items-center gap-3 p-3 rounded-md border cursor-pointer transition-all group ${d?"border-blue-500 bg-blue-500/10":"border-[var(--dg-border)] hover:border-slate-400 bg-[var(--dg-bg-secondary)]"}`,children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:82:7",className:`p-1.5 rounded ${d?"bg-blue-100":"bg-slate-100 dark:bg-slate-800"}`,children:e.jsx(a,{"code-path":"src/components/deploy/PipelineEditor.tsx:83:9",className:`w-4 h-4 ${d?"text-blue-600":"text-[var(--dg-text-secondary)]"}`})}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:85:7",className:"flex-1 min-w-0",children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:86:9",className:"text-sm font-medium text-[var(--dg-text-primary)] truncate",children:r.name}),e.jsx("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:87:9",className:"text-xs text-[var(--dg-text-secondary)]",children:r.type})]}),e.jsx(p,{"code-path":"src/components/deploy/PipelineEditor.tsx:89:7",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100",onClick:x=>{x.stopPropagation(),v()},children:e.jsx(S,{"code-path":"src/components/deploy/PipelineEditor.tsx:90:9",className:"w-3.5 h-3.5 text-red-500"})})]})}function bs({task:r,onUpdate:d}){return r?e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:100:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:101:7",className:"space-y-1",children:[e.jsx(y,{"code-path":"src/components/deploy/PipelineEditor.tsx:101:34",className:"text-xs",children:"任务名称"}),e.jsx(u,{"code-path":"src/components/deploy/PipelineEditor.tsx:101:73",value:r.name,onChange:c=>d({...r,name:c.target.value}),className:"h-8 text-sm"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:102:7",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:103:9",className:"space-y-1",children:[e.jsx(y,{"code-path":"src/components/deploy/PipelineEditor.tsx:103:36",className:"text-xs",children:"类型"}),e.jsxs($,{"code-path":"src/components/deploy/PipelineEditor.tsx:104:11",value:r.type,onValueChange:c=>d({...r,type:c}),children:[e.jsx(O,{"code-path":"src/components/deploy/PipelineEditor.tsx:104:89",className:"h-8 text-sm",children:e.jsx(V,{"code-path":"src/components/deploy/PipelineEditor.tsx:104:128"})}),e.jsxs(B,{"code-path":"src/components/deploy/PipelineEditor.tsx:105:13",children:[e.jsx(h,{"code-path":"src/components/deploy/PipelineEditor.tsx:105:28",value:"build",children:"构建"}),e.jsx(h,{"code-path":"src/components/deploy/PipelineEditor.tsx:105:69",value:"deploy",children:"部署"}),e.jsx(h,{"code-path":"src/components/deploy/PipelineEditor.tsx:105:111",value:"test",children:"测试"}),e.jsx(h,{"code-path":"src/components/deploy/PipelineEditor.tsx:105:151",value:"custom",children:"自定义"})]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:107:9",className:"space-y-1",children:[e.jsx(y,{"code-path":"src/components/deploy/PipelineEditor.tsx:107:36",className:"text-xs",children:"图标"}),e.jsxs($,{"code-path":"src/components/deploy/PipelineEditor.tsx:108:11",value:r.icon,onValueChange:c=>d({...r,icon:c}),children:[e.jsx(O,{"code-path":"src/components/deploy/PipelineEditor.tsx:108:89",className:"h-8 text-sm",children:e.jsx(V,{"code-path":"src/components/deploy/PipelineEditor.tsx:108:128"})}),e.jsx(B,{"code-path":"src/components/deploy/PiLine truncated
@@ -1 +0,0 @@
import{j as e,r as o}from"./vendor-codemirror-B1SGo4xl.js";import{J as Ge,B as v,D as Me,a as Ee,b as Be,c as Te,t as N,i as Oe,f as Qe}from"./index-Dungj95X.js";import{I as f}from"./input-CXoUQQLm.js";import{p as L}from"./pipeline-DO4lDm_n.js";import{u as Ve,q as We,b as Je}from"./unwrap-DPwG25JA.js";import{u as ce}from"./useMutation-BkCR1EeO.js";import{C as Ke,a as Ie}from"./card-BIfzBCEy.js";import{B as D}from"./badge-CGJlVD3L.js";import{L as H,a as Y,y as ae,J as U,ad as He,k as ie,ao as Z,ax as Le,a2 as de,F as _e,b as ee,ae as I,aT as Ue,N as he,h as ye,G as ue,z as Xe,aw as Ye,Q as Ze,f as me,T as Fe,q as ea,P as xe,S as aa,aU as na,ac as sa,aV as ta}from"./vendor-icons-DmqcWdzX.js";import{T as oa}from"./textarea-BxfjmLq5.js";import{L as h}from"./label-CMpUoC87.js";import{S as se,a as te,b as oe,c as re,d as T}from"./select-CiTqGGhE.js";import{d as ra}from"./config-BrfI0oO-.js";import{c as la}from"./credential-Cu8tj7EE.js";import"./index-5FEebgvX.js";function ia(n={page:1,page_size:100}){return Ve({queryKey:We.pipelines(n),queryFn:async()=>{const p=await L.getPipelines(n);return Je(p)},staleTime:2e4})}function pa(){const n=Ge(),p=()=>n.invalidateQueries({queryKey:["pipelines"]}),P=ce({mutationFn:d=>L.triggerByCode(d),onSuccess:p}),b=ce({mutationFn:d=>L.deletePipeline(d),onSuccess:p}),j=ce({mutationFn:({code:d,runId:y})=>L.stopRunByCode(d,y)});return{triggerMutation:P,deleteMutation:b,stopRunMutation:j,invalidate:p}}function ca(n){return n.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||`pipeline-${Date.now()}`}function da(n){switch(n){case"success":return e.jsxs(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:50:9",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(ae,{"code-path":"src/components/deploy/pipeline-helpers.tsx:51:11",className:"h-3 w-3 mr-1"}),"成功"]});case"failed":return e.jsxs(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:57:9",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(Y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:58:11",className:"h-3 w-3 mr-1"}),"失败"]});case"running":return e.jsxs(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:64:9",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10 animate-pulse",children:[e.jsx(H,{"code-path":"src/components/deploy/pipeline-helpers.tsx:65:11",className:"h-3 w-3 mr-1 animate-spin"}),"运行中"]});default:return e.jsx(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:71:9",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",children:"从未运行"})}}const le=[{key:"checkout",label:"代码检出",icon:U,color:"#6366F1",order:1,needs:["repo"],desc:"从 Git 仓库拉取代码"},{key:"build",label:"构建",icon:He,color:"#F59E0B",order:2,needs:[],desc:"编译/打包项目"},{key:"test",label:"测试",icon:ae,color:"#10B981",order:3,needs:[],desc:"运行单元/集成测试"},{key:"image",label:"镜像打包",icon:ie,color:"#06B6D4",order:4,needs:["registry"],desc:"Docker 构建 & 推送"},{key:"deploy",label:"部署",icon:Z,color:"#EF4444",order:5,needs:[],desc:"部署到目标环境"},{key:"verify",label:"验证",icon:Le,color:"#3B82F6",order:6,needs:[],desc:"部署后健康检查"}].sort((n,p)=>n.order-p.order);function ge(n){if(!n)return"-";if(n<60)return`${n}s`;const p=Math.floor(n/60),P=n%60;return P>0?`${p}分${P}秒`:`${p}分`}function ma(n){if(!n)return[];try{const p=typeof n=="string"?JSON.parse(n):n;return Array.isArray(p)?p:[]}catch{return[]}}function xa({pipeline:n}){const[p,P]=o.useState(null),[b,j]=o.useState(!1),d=n.code||n.id,y=async()=>{if(d){j(!0);try{const i=await L.getQueue(d);P(i?.data||i)}catch{P(null)}finally{j(!1)}}};o.useEffect(()=>{y();const i=setInterval(y,1e4);return()=>clearInterval(i)},[d]);const M=async i=>{try{await L.removeFromQueue(d,i),N.success("已取消"),y()}catch{N.error("取消失败")}},w=p?.running||0,u=p?.queued||0,C=p?.queue_ids||[],R=n.max_executors||2,t=p?.pending_runs||[];return b&&!p||w===0&&u===0?null:e.jsxs("div",{"code-path":"src/components/deploy/pipeline-manager/PipelineRunPanel.tsx:69:5",className:"px-4 py-2 space-y-2",children:[e.jsxs("div",{"code-path":"src/components/deploy/pipeline-manager/PipelineRunPanel.tsx:70:7",className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{"code-path":"src/components/deploy/pipeline-manager/PipelineRunPanel.tsx:71:9",className:"text-[var(--dg-text-secondary)]",children:"构建执行状态"}),e.jsxs("span",{"code-path":"src/components/deploy/pipeline-manager/PipelineRunPanel.tsx:72:9",className:"font-bold text-[var(--dg-text-primary)]",children:[w,"/",R]}),u>0&&e.jsxs("span",{"code-path":"src/components/deploy/pipeline-manager/PipelineRunPanel.tsx:74:11",className:"text-[var(--dg-text-secondary)] ml-2",children:["构建队列 ",e.jsxs("span",{"code-path":"src/components/deploy/pipeline-manager/PLine truncated
@@ -1,3 +0,0 @@
import{r as n,j as e,R as me}from"./vendor-codemirror-B1SGo4xl.js";import{D as he,a as ue,m as ge,c as ye,d as be,o as fe,g as De,t as S,B as E}from"./index-Dungj95X.js";import{B as A}from"./badge-CGJlVD3L.js";import{C as je,b as ve,c as Ne,a as we}from"./card-BIfzBCEy.js";import{p as C}from"./pipeline-DO4lDm_n.js";import{as as J,at as Re,au as Pe,X as Be,av as Fe,f as ee,m as ke,F as Se,v as Ce,aw as Z,T as $e,R as ze,z as _e,J as Ee,ad as Ae,C as T,k as Le,ao as Te,ax as Ie,L as $,ab as Oe,b as te,a as G,U as Ue,ay as Me}from"./vendor-icons-DmqcWdzX.js";function We(s){return s===0?"-":s<1024?s+" B":s<1024*1024?(s/1024).toFixed(1)+" KB":(s/(1024*1024)).toFixed(1)+" MB"}function Je({open:s,onOpenChange:o,runId:u,buildNumber:c}){const[x,a]=n.useState(null),[P,B]=n.useState(!1),[v,L]=n.useState(""),[N,i]=n.useState(""),[w,z]=n.useState(!1),F=async r=>{if(u){B(!0),L("");try{const m=await C.listRunFiles(u,r||void 0);a(m),i(m?.current||"")}catch(m){L(m?.message||"加载失败"),a(null)}finally{B(!1)}}};n.useEffect(()=>{s&&u&&(i(""),F(""))},[s,u]);const y=async r=>{const m=fe.getState().token||"",b=`${location.protocol}//${location.host}/api/v1/pipelines/runs/${u}/files/download?path=${encodeURIComponent(r.path)}&token=${encodeURIComponent(m)}`;window.open(b,"_blank")},R=N?N.split("/").filter(Boolean):[],I=[""].concat(R.map((r,m)=>"/"+R.slice(0,m+1).join("/")));return e.jsx(he,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:104:5",open:s,onOpenChange:o,children:e.jsxs(ue,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:105:7",showCloseButton:!1,className:ge("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",w?"!max-w-none !w-screen !h-screen !rounded-none":""),style:w?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"700px",width:"85vw"},children:[e.jsxs(ye,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:116:9",className:"sr-only",children:["文件浏览器 #",c]}),e.jsx(be,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:117:9",className:"sr-only",children:"流水线构建目录文件浏览"}),e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:120:9",className:"flex items-center justify-between px-4 py-2.5 border-b border-[var(--dg-border)] shrink-0",children:[e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:121:11",className:"flex items-center gap-2 min-w-0",children:[e.jsx(J,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:122:13",className:"h-4 w-4 text-[var(--dg-text-secondary)] shrink-0"}),e.jsxs("span",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:123:13",className:"text-[var(--dg-text-primary)] font-medium text-sm",children:["#",c," 工作区文件"]})]}),e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:127:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:128:13",onClick:()=>z(!w),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:w?e.jsx(Re,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:132:29",className:"h-4 w-4"}):e.jsx(Pe,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:132:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:134:13",onClick:()=>o(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(Be,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:138:15",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:144:9",className:"flex items-center gap-0.5 px-4 py-2 text-xs border-b border-[var(--dg-border)] bg-[var(--dg-bg-primary)] overflow-x-auto shrink-0",children:I.map((r,m)=>e.jsx("span",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:146:13",className:"flex items-center gap-0.5",children:m===0?e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:148:17",onClick:()=>F(""),className:"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] p-0.5",children:e.jsx(Fe,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:152:19",className:"h-3.5 w-3.5"})}):e.jsxs(e.Fragment,{children:[e.jsx(ee,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:156:19",className:"h-3 w-3 text-[var(--dg-text-muted)] shrink-0"}),e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:157:19",onClick:()=>F(r),className:"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] truncate max-w-[120px]",children:R[m-1]})]})},r))}),e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:170:9",className:"overflow-y-auto",style:{height:w?"calc(100vh - 110px)":"420px"},children:[P&&e.jsx("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:172:13",className:"flex items-center justify-center h-full text-[var(--dg-text-muted)] text-sm",children:"加载中..."})Line truncated
${g?"ring-1 ring-offset-0 scale-[1.02]":"hover:brightness-110"}`,style:{backgroundColor:U,borderColor:M,color:D,borderRadius:xe},children:[pe,e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:394:17",children:t.label})]}),!Y&&e.jsx("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:397:17",className:"flex items-center justify-center w-5 h-5 -mx-px z-10",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:398:19",className:"h-3.5 w-3.5",style:{color:D+"99"}})})]},t.key)}),a&&e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:405:11",className:"ml-auto text-[10px] text-[var(--dg-text-secondary)] opacity-40 shrink-0 pl-3 whitespace-nowrap",children:i?j.find(t=>t.key===i)?.label:"全阶段"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:412:7",className:"flex-1 flex flex-col min-h-0",children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:414:9",className:"rounded-md border border-[var(--dg-border)] overflow-hidden mb-4",children:L&&c.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:416:13",className:"text-center py-12",children:[e.jsx($,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:417:15",className:"w-6 h-6 animate-spin mx-auto mb-2 text-[var(--dg-text-muted)]"}),"加载中..."]}):c.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:421:13",className:"text-center py-12 border border-dashed border-[var(--dg-border)] rounded-lg m-4",children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:422:15",className:"w-10 h-10 mx-auto mb-3 text-[var(--dg-text-muted)]"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:423:15",className:"text-[var(--dg-text-secondary)]",children:'暂无执行记录,点击"立即执行"触发构建'})]}):e.jsxs("table",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:426:13",className:"w-full text-sm",children:[e.jsx("thead",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:427:15",className:"bg-[var(--dg-bg-tertiary)] border-b border-[var(--dg-border)]",children:e.jsxs("tr",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:428:17",children:[e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:429:19",className:"px-2 py-2.5 w-10",children:e.jsx("input",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:430:21",type:"checkbox",checked:y.size===c.length&&c.length>0,onChange:de,className:"rounded"})}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:433:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)] w-16",children:"构建"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:434:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)] w-20",children:"状态"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:435:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)]",children:"触发方式"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:436:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)]",children:"用户"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:437:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)]",children:"耗时"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:438:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)] hidden md:table-cell",children:"时间"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:439:19",className:"px-3 py-2.5 text-right font-medium text-[var(--dg-text-secondary)] w-32",children:"操作"})]})}),e.jsx("tbody",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:442:15",children:c.map(t=>{const d=He[t.status]||te;return e.jsxs("tr",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:446:21",className:`border-b border-[var(--dg-border)] cursor-pointer transition-colors
${a?.id===t.id?"bg-[var(--dg-blue)]/10":"hover:bg-[var(--dg-bg-tertiary)]/50"}`,onClick:()=>{P(t)},children:[e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:450:23",className:"px-2 py-2.5",onClick:l=>l.stopPropagation(),children:e.jsx("input",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:451:25",type:"checkbox",checked:y.has(t.id),onChange:()=>ie(t.id),className:"rounded"})}),e.jsxs("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:454:23",className:"px-3 py-2.5 font-mono font-semibold text-[var(--dg-text-primary)]",children:["#",t.build_number]}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:457:23",className:"px-3 py-2.5",children:e.jsxs(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:458:25",className:`text-xs ${Ge[t.status]||""} flex items-center gap-1 w-fit`,children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:459:27",className:`w-3 h-3 ${t.status==="running"?"animate-spin":""}`}),t.status==="success"?"成功":t.status==="failed"?"失败":t.status==="running"?"执行中":t.status==="cancelled"?"已取消":"待执行"]})}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:467:23",className:"px-3 py-2.5",children:e.jsx(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:468:25",variant:"outline",className:"text-xs",children:K(t)})}),e.jsxs("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:470:23",className:"px-3 py-2.5 text-[var(--dg-text-secondary)] flex items-center gap-1",children:[e.jsx(Ue,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:471:25",className:"w-3 h-3"}),t.triggered_by||"admin"]}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:474:23",className:"px-3 py-2.5 text-[var(--dg-text-secondary)] font-mono text-xs",children:t.status==="running"?e.jsxs("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:476:27",className:"flex items-center gap-1 text-blue-400",children:[e.jsx($,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:477:29",className:"w-3 h-3 animate-spin"}),"执行中..."]}):Xe(t.duration)}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:481:23",className:"px-3 py-2.5 text-[var(--dg-text-muted)] text-xs hidden md:table-cell",children:qe(t.created_at)}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:484:23",className:"px-3 py-2.5 text-right",onClick:l=>l.stopPropagation(),children:e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:485:25",className:"flex justify-end gap-1",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:486:27",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>P(t),children:"日志"}),e.jsxs(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:490:27",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>{oe({id:t.id,buildNumber:t.build_number}),H(!0)},children:[e.jsx(J,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:492:29",className:"w-3.5 h-3.5 mr-1"}),"浏览"]}),t.status==="running"&&e.jsx(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:495:29",variant:"ghost",size:"icon",className:"h-7 w-7 text-red-500",onClick:()=>ce(t.id),children:e.jsx(Me,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:497:31",className:"w-3.5 h-3.5"})})]})})]},t.id)})})]})}),a&&e.jsxs(je,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:512:11",className:"flex-1 flex flex-col min-h-0 border-[var(--dg-border)] bg-[var(--dg-bg-secondary)]",children:[e.jsxs(ve,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:513:13",className:"py-3 px-4 flex flex-row items-center justify-between border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:514:15",className:"flex items-center gap-3",children:[e.jsxs(Ne,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:515:17",className:"text-sm font-mono",children:[o?.name||`#${s}`," #",a.build_number]}),a.status==="running"&&e.jsxs(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:519:19",className:"bg-blue-500/20 text-blue-400 border-blue-500/30 text-xs",children:[e.jsx($,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:520:21",className:"w-3 h-3 animate-spin mr-1"}),"实时"]}),i&&e.jsx(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:524:19",className:"text-xs border-[var(--dg-border)]",variant:"outline",children:j.find(t=>t.key===i)?.label||i})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:529:15",className:"flex items-center gap-2 text-xs text-[var(--dg-text-muted)]",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:530:17",children:["触发: ",K(a)," (",a.triggered_by||"admin",")"]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:531:17",className:"opacity-40",children:"|"}),e.jsxs("span",{"code-path Line truncated
@@ -1 +0,0 @@
import{r as t,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{B as d,D as k,a as L,b as E,c as I,d as T,e as B}from"./index-Dungj95X.js";import{I as m}from"./input-CXoUQQLm.js";import{L as r}from"./label-CMpUoC87.js";import{B as j}from"./badge-CGJlVD3L.js";import{S as P,a as M,b as v,c as b,d as o}from"./select-CiTqGGhE.js";import{p as x}from"./platform-BwZ5CngP.js";import{S as K,P as U,L as O,e as V,E as W,d as Y,T as Z,C as $,a as ee}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";const ae={public:"公有云",private:"私有云",hybrid:"混合云"},se={public:"text-blue-400",private:"text-purple-400",hybrid:"text-cyan-400"};function ie(){const[F,N]=t.useState([]),[Q,y]=t.useState(!0),[h,A]=t.useState(""),[u,H]=t.useState("all"),[R,l]=t.useState(!1),[n,w]=t.useState(null),[C,S]=t.useState(!1),[s,c]=t.useState({name:"",code:"",type:"public",status:"active",website:"",description:""}),p=t.useCallback(async()=>{y(!0);try{const f=(await x.list())?.list||[];N(f)}catch{N([])}finally{y(!1)}},[]);t.useEffect(()=>{p()},[p]);const D=F.filter(a=>{const f=a.name?.toLowerCase().includes(h.toLowerCase())||a.code?.toLowerCase().includes(h.toLowerCase()),J=u==="all"||a.type===u;return f&&J}),X=()=>{w(null),c({name:"",code:"",type:"public",status:"active",website:"",description:""}),l(!0)},_=a=>{w(a),c({name:a.name||"",code:a.code||"",type:a.type||"public",status:a.status||"active",website:a.website||"",description:a.description||""}),l(!0)},q=async()=>{if(!(!s.name.trim()||!s.code.trim())){S(!0);try{n?await x.update(n.id,s):await x.create(s),l(!1),p()}catch{}finally{S(!1)}}},[g,i]=t.useState(null),z=a=>i(a),G=async()=>{g!==null&&(await x.delete(g),i(null),p())};return e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:125:5",className:"p-6 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:127:7",className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:128:9",className:"flex items-center gap-3 flex-1",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:129:11",className:"relative w-72",children:[e.jsx(K,{"code-path":"src/components/cloud/PlatformManager.tsx:130:13",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(m,{"code-path":"src/components/cloud/PlatformManager.tsx:131:13",placeholder:"搜索平台名称或编码...",value:h,onChange:a=>A(a.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700"})]}),e.jsxs(P,{"code-path":"src/components/cloud/PlatformManager.tsx:138:11",value:u,onValueChange:H,children:[e.jsx(M,{"code-path":"src/components/cloud/PlatformManager.tsx:139:13",className:"w-32 h-9 bg-slate-800/50 border-slate-700",children:e.jsx(v,{"code-path":"src/components/cloud/PlatformManager.tsx:140:15"})}),e.jsxs(b,{"code-path":"src/components/cloud/PlatformManager.tsx:142:13",children:[e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:143:15",value:"all",children:"全部类型"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:144:15",value:"public",children:"公有云"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:145:15",value:"private",children:"私有云"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:146:15",value:"hybrid",children:"混合云"})]})]})]}),e.jsxs(d,{"code-path":"src/components/cloud/PlatformManager.tsx:150:9",onClick:X,className:"gap-2",children:[e.jsx(U,{"code-path":"src/components/cloud/PlatformManager.tsx:151:11",className:"h-4 w-4"}),"添加平台"]})]}),Q?e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:158:9",className:"flex justify-center py-20",children:e.jsx(O,{"code-path":"src/components/cloud/PlatformManager.tsx:159:11",className:"h-6 w-6 animate-spin text-slate-500"})}):D.length===0?e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:162:9",className:"text-center py-20 text-slate-500",children:[e.jsx(V,{"code-path":"src/components/cloud/PlatformManager.tsx:163:11",className:"h-12 w-12 mx-auto mb-3 opacity-40"}),e.jsx("p",{"code-path":"src/components/cloud/PlatformManager.tsx:164:11",children:"暂无云平台数据"})]}):e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:167:9",className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:D.map(a=>e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:169:13",className:"bg-slate-800/30 rounded-lg p-4 hover:bg-slate-800/50 transition-colors group",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:173:15",className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:174:17",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:175:19",className:"w-10 h-10 rounded-lg bg-blue-500/20 flex items-center justify-center",children:e.jsx(V,{"Line truncated
@@ -1,13 +0,0 @@
import{j as t,r as a,y as Pe,E as J,a as Ee,o as Ne}from"./vendor-codemirror-B1SGo4xl.js";import{$ as Se,ah as ue,B as Y,D as Te,a as Fe,m as re,c as Be,d as Ce}from"./index-Dungj95X.js";import{u as me}from"./use-toast-DNZLibQY.js";import{k as O,d as Ye}from"./index-drGq01ok.js";import{c as xe}from"./k8s-yaml-utils-4KZB_Bq_.js";import{w as Ae,az as Re,v as pe,d as Me,L as z,$ as De,X as I,r as Oe,ad as $e,am as _e,at as Le,au as Ve,H as ze,m as Ie,f as Ue,ah as We,R as He,aX as Je,aY as Ke}from"./vendor-icons-DmqcWdzX.js";import{S as oe,a as ne,b as ae,c as ce,d as le}from"./select-CiTqGGhE.js";import{x as Ge,a as Xe}from"./vendor-xterm-20M9KZE1.js";import{B as qe}from"./badge-CGJlVD3L.js";function Qe({onClose:e,children:s,zIndex:r=100}){return Se.createPortal(t.jsx("div",{"code-path":"src/components/ui/modal-overlay.tsx:13:5",className:"fixed inset-0 overflow-y-auto bg-black/60",style:{zIndex:r},onClick:e,children:t.jsx("div",{"code-path":"src/components/ui/modal-overlay.tsx:18:7",className:"flex min-h-full items-center justify-center p-4",children:s})}),document.body)}const Ze=new Set(["kubectl.kubernetes.io/last-applied-configuration","kubectl.kubernetes.io/change-cause","kubectl.kubernetes.io/restartedAt","deployment.kubernetes.io/revision","deployment.kubernetes.io/desired-replicas","deployment.kubernetes.io/max-replicas","control-plane.alpha.kubernetes.io/leader","autoscaling.alpha.kubernetes.io/conditions","kubernetes.io/config.hash","kubeadm.kubernetes.io/etcd.advertise-client-urls","pv.kubernetes.io/bind-completed","pv.kubernetes.io/bound-by-controller"]),et=["managedFields","resourceVersion","uid","creationTimestamp","generation","selfLink","deletionTimestamp","ownerReferences","finalizers","clusterName","generateName"],tt=new Set(["pod-template-hash","controller-revision-hash"]),st=["kube-api-access-","default-token-","kube-root-ca.crt"],rt=["/var/run/secrets/kubernetes.io/serviceaccount","/var/run/secrets/sa"],ot={dnsPolicy:"ClusterFirst",restartPolicy:"Always",schedulerName:"default-scheduler",terminationGracePeriodSeconds:30,enableServiceLinks:!0,serviceAccountName:"default",automountServiceAccountToken:!0,priority:0,preemptionPolicy:"PreemptLowerPriority"},nt={progressDeadlineSeconds:600,revisionHistoryLimit:10},at={terminationMessagePath:"/dev/termination-log",terminationMessagePolicy:"File",stdin:!1,tty:!1,stdinOnce:!1},ct={sessionAffinity:"None",externalTrafficPolicy:"Cluster",internalTrafficPolicy:"Cluster",ipFamilyPolicy:"SingleStack",allocateLoadBalancerNodePorts:!0},lt=["clusterIP","clusterIPs","ipFamilies","healthCheckNodePort"];function U(e){return Array.isArray(e)?e.length===0:e&&typeof e=="object"?Object.keys(e).length===0:!1}function it(e,s){return s===e||typeof s=="number"&&typeof e=="string"&&String(s)===e?!0:typeof s=="boolean"&&typeof e=="string"?s&&e==="true"||!s&&e==="false":!1}function K(e){if(!(!e||typeof e!="object")){for(const s of et)delete e[s];if(e.annotations){for(const s of Object.keys(e.annotations))Ze.has(s)&&delete e.annotations[s];Object.keys(e.annotations).length===0&&delete e.annotations}if(e.labels){for(const s of tt)delete e.labels[s];Object.keys(e.labels).length===0&&delete e.labels}}}function G(e){if(!e||typeof e!="object")return;if(Array.isArray(e)){for(let r=e.length-1;r>=0;r--)G(e[r]),U(e[r])&&e.splice(r,1);return}const s=e;for(const r of Object.keys(s)){const n=s[r];n&&typeof n=="object"&&G(n),U(n)&&delete s[r]}}function W(e,s){if(!(!e||typeof e!="object"))for(const[r,n]of Object.entries(s))r in e&&it(e[r],n)&&delete e[r]}function ie(e){return st.some(s=>e.startsWith(s)||e===s)}function dt(e){return rt.some(s=>e===s||e.startsWith(`${s}/`))}function ut(e){if(!e||typeof e!="object")return;const s=e.volumes;if(Array.isArray(s)){const r=new Set(s.filter(c=>c?.name&&ie(c.name)).map(c=>c.name));e.volumes=s.filter(c=>!c?.name||!ie(c.name)),e.volumes.length===0&&delete e.volumes;const n=c=>{if(Array.isArray(c))for(const m of c)Array.isArray(m.volumeMounts)&&(m.volumeMounts=m.volumeMounts.filter(j=>!(j?.name&&r.has(j.name)||j?.mountPath&&dt(String(j.mountPath)))),m.volumeMounts.length===0&&delete m.volumeMounts)};n(e.containers),n(e.initContainers),n(e.ephemeralContainers)}}function mt(e){if(!(!e||typeof e!="object")){if(W(e,at),e.imagePullPolicy){const s=String(e.image||"").split(":").pop()||"",n=!String(e.image||"").includes(":")||s==="latest"?"Always":"IfNotPresent";e.imagePullPolicy===n&&delete e.imagePullPolicy}e.resources&&U(e.resources)&&delete e.resources,e.securityContext&&U(e.securityContext)&&delete e.securityContext}}function fe(e){if(!(!e||typeof e!="object")){W(e,ot),"serviceAccount"in e&&delete e.serviceAccount,e.nodeName&&delete e.nodeName,ut(e);for(const s of["containers","initContainers","ephemeralContainers"]){const r=e[s];if(Array.isArray(r))for(const n of r)mt(n)}}}function xt(e){if(!e?.strategy||e.strategy.type!=="RollingUpdate")return;const s=e.strategy.rollingUpdate;if(!s||typeof s!="object")return;const r=s.maxUnavailable,n=s.maxSurge;Line truncated
---
`)}}async function be(e){const{manifests:s,yaml:r}=await Z(e);return{manifest:s[0]||null,yaml:r}}async function X(e){return Q(e)}async function we(e){const s=await H(e);if(s.length===0)return xe(e);if(s.length===1)return X(s[0]);const r=[];for(const n of s)r.push(await X(n));return r.join(`
---
`)}const At=Object.freeze(Object.defineProperty({__proto__:null,dumpManifest:he,manifestToEditableYaml:Q,parseEditableManifest:be,parseEditableManifests:Z,parseManifest:wt,parseManifests:H,prepareManifestForSave:X,prepareYamlForSave:we,stripRuntimeFields:q},Symbol.toStringTag,{value:"Module"})),kt={deployments:{label:"Deployment",exportFolder:"deployments",readOnly:!1,visualEdit:!1},pods:{label:"Pod",exportFolder:"pods",readOnly:!0,visualEdit:!1},services:{label:"Service",exportFolder:"services",readOnly:!1,visualEdit:!0},ingresses:{label:"Ingress",exportFolder:"ingresses",readOnly:!1,visualEdit:!0}};function ke(e){const s=e.replace(/\/$/,"").toLowerCase();return kt[s]??{label:s,exportFolder:s,readOnly:!1,visualEdit:!1}}function de(e,s,r){const n=ke(e);return`${s}-${n.exportFolder}-${r}.yaml`}function yt({editing:e,saving:s=!1,copied:r=!1,showRaw:n=!1,compact:c=!1,readOnly:m=!1,showRawToggle:j=!0,onCopy:w,onDownload:g,onEdit:d,onCancel:p,onSave:N,onToggleRaw:P}){const f=c?"h-7 text-xs":"h-8";return t.jsxs("div",{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:28:5",className:"flex items-center gap-2 flex-wrap",children:[t.jsxs(Y,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:29:7",variant:"outline",size:"sm",className:`${f} border-slate-700 text-slate-300`,onClick:w,children:[r?t.jsx(Ae,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:30:19",className:"h-3 w-3 mr-1 text-emerald-400"}):t.jsx(Re,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:30:73",className:"h-3 w-3 mr-1"}),r?"已复制":"复制"]}),g&&t.jsxs(Y,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:34:9",variant:"outline",size:"sm",className:`${f} border-slate-700 text-slate-300`,onClick:g,children:[t.jsx(pe,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:35:11",className:"h-3 w-3 mr-1"}),"下载"]}),!m&&(e?t.jsxs(t.Fragment,{children:[t.jsx(Y,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:45:13",variant:"outline",size:"sm",className:`${f} border-slate-700 text-slate-300`,onClick:p,children:"取消"}),t.jsxs(Y,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:46:13",size:"sm",className:`${f} bg-blue-600 hover:bg-blue-700`,onClick:N,disabled:s,children:[s?t.jsx(z,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:47:25",className:"h-3 w-3 animate-spin mr-1"}):t.jsx(De,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:47:77",className:"h-3 w-3 mr-1"}),"保存"]})]}):t.jsxs(Y,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:40:11",variant:"outline",size:"sm",className:`${f} border-slate-700 text-slate-300`,onClick:d,children:[t.jsx(Me,{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:41:13",className:"h-3 w-3 mr-1"}),"编辑"]})),j&&P&&t.jsx("button",{"code-path":"src/components/kubernetes/YamlEditorToolbar.tsx:54:9",type:"button",onClick:P,className:"text-[11px] text-slate-500 hover:text-slate-300 underline-offset-2 hover:underline",children:n?"精简视图":"原始 YAML"})]})}const gt=J.theme({"&":{height:"100%"},".cm-scroller":{overflow:"auto"}});function vt({value:e,onChange:s,editing:r=!0,fill:n=!1,height:c="480px",className:m="",fontSize:j="13px"}){const w=a.useRef(null),[g,d]=a.useState(400);a.useEffect(()=>{if(!n||!w.current)return;const f=w.current,y=()=>d(Math.max(200,f.clientHeight)),S=new ResizeObserver(y);return S.observe(f),y(),()=>S.disconnect()},[n]);const p=a.useMemo(()=>[Pe(),J.lineWrapping,gt,...r?[]:[J.editable.of(!1)]],[r]),N=n?`${g}px`:c,P=t.jsx(Ee,{"code-path":"src/components/kubernetes/YamlCodeMirror.tsx:57:5",value:e,height:N,theme:Ne,extensions:p,onChange:s,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:r,highlightActiveLineGutter:r,autocompletion:r,bracketMatching:!0,closeBrackets:r,indentOnInput:r},style:{fontSize:j}});return n?t.jsx("div",{"code-path":"src/components/kubernetes/YamlCodeMirror.tsx:79:7",ref:w,className:`flex-1 min-h-0 h-full overflow-hidden rounded-lg border border-slate-700 ${m}`,children:P}):t.jsx("div",{"code-path":"src/components/kubernetes/YamlCodeMirror.tsx:86:5",className:`overflow-auto rounded-lg border border-slate-700 ${m}`,children:P})}function Rt({clusterCode:e,namespace:s,resource:r,name:n,onClose:c,onSaved:m,autoEdit:j=!1,inline:w=!1,initialYaml:g,readOnly:d,loadYamlFn:p,saveYamlFn:N,resourceHint:P}){const{toast:f}=me(),y=ke(r),S=d??y.readOnly,[F,A]=a.useState(g||""),[v,D]=a.useState(""),[C,R]=a.useState(""),[M,T]=a.useState(!g),[_,L]=a.useState(!1),[i,B]=a.useState(j&&!S),[E,k]=a.useState(!1),[u,o]=a.useState(!1),l=a.useCallback(async x=>{const{yaml:$}=x.includes(`
---`)?await Z(x):await be(x);return D($),R($),$},[]),h=a.useCallback(async()=>{if(g){A(g),await l(g),T(!1);return}T(!0);try{const x=p?await p():await O.getResourceYaml(e,s,r,n);A(x),await l(x)}catch(x){f({title:"获取YAML失败",description:x.message,variant:"destructive"});const $=`# Error: ${x.message}`;A($),D($),R($)}finally{T(!1)}},[e,s,r,n,g,p,l,f]);a.useEffect(()=>{h()},[h]);const V=()=>{R(v),B(!0),o(!1)},b=async()=>{B(!1),await h()},ye=async()=>{L(!0);try{const x=await we(C);N?await N(x):await O.updateResourceYaml(e,s,r,n,x),f({title:"保存成功",description:N?"多文档 YAML 已应用":`${r}/${n} 已更新`}),B(!1),A(x),D(x),R(x),m?.()}catch(x){f({title:"保存失败",description:x?.message||String(x),variant:"destructive"})}finally{L(!1)}},ee=()=>i?C:u?F:v,ge=async()=>{await navigator.clipboard.writeText(ee()),k(!0),setTimeout(()=>k(!1),2e3)},ve=()=>{Ye(de(r,s,n),ee()),f({title:"已下载",description:de(r,s,n)})},je=i?C:u?F:v,te=t.jsx(yt,{"code-path":"src/components/kubernetes/YamlViewer.tsx:133:5",editing:i,saving:_,copied:E,showRaw:u,compact:w,readOnly:S,onCopy:ge,onDownload:ve,onEdit:V,onCancel:b,onSave:ye,onToggleRaw:()=>o(x=>!x)}),se=M?t.jsx("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:150:5",className:"flex items-center justify-center h-full min-h-[200px]",children:t.jsx(z,{"code-path":"src/components/kubernetes/YamlViewer.tsx:151:7",className:"h-6 w-6 animate-spin text-slate-500"})}):t.jsx(vt,{"code-path":"src/components/kubernetes/YamlViewer.tsx:154:5",value:je,editing:i,fill:!0,fontSize:w?"12px":"13px",onChange:x=>i&&R(x)});return w?t.jsxs("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:165:7",className:"flex flex-col gap-3 min-h-[400px] h-[calc(100vh-220px)] max-h-[720px]",children:[t.jsxs("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:166:9",className:"flex items-center justify-between gap-3 flex-wrap shrink-0",children:[t.jsxs("p",{"code-path":"src/components/kubernetes/YamlViewer.tsx:167:11",className:"text-xs text-slate-500",children:[t.jsxs("code",{"code-path":"src/components/kubernetes/YamlViewer.tsx:168:13",className:"text-slate-400",children:[r,"/",n]}),P?t.jsxs("span",{"code-path":"src/components/kubernetes/YamlViewer.tsx:169:29",className:"text-slate-600",children:[" · ",P]}):null," · ",s]}),te]}),t.jsx("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:174:9",className:"flex-1 min-h-0 flex flex-col overflow-hidden",children:se})]}):t.jsx(Qe,{"code-path":"src/components/kubernetes/YamlViewer.tsx:180:5",onClose:c,children:t.jsxs("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:181:7",className:"bg-slate-900 border border-slate-700 rounded-xl w-[92vw] max-w-5xl h-[85vh] flex flex-col shadow-2xl",onClick:x=>x.stopPropagation(),children:[t.jsxs("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:185:9",className:"flex items-center justify-between p-4 border-b border-slate-700 gap-3 shrink-0",children:[t.jsxs("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:186:11",className:"min-w-0 flex-1",children:[t.jsxs("h2",{"code-path":"src/components/kubernetes/YamlViewer.tsx:187:13",className:"text-lg font-bold text-slate-100 truncate",title:`${y.label} YAML — ${n}`,children:[y.label," YAML — ",n,S&&t.jsx("span",{"code-path":"src/components/kubernetes/YamlViewer.tsx:189:28",className:"ml-2 text-xs font-normal text-slate-500",children:"只读"})]}),t.jsxs("p",{"code-path":"src/components/kubernetes/YamlViewer.tsx:191:13",className:"text-xs text-slate-500 truncate",title:`${s} · ${e}`,children:[s," · ",e]})]}),t.jsxs("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:193:11",className:"flex items-center gap-2 shrink-0",children:[te,t.jsx(Y,{"code-path":"src/components/kubernetes/YamlViewer.tsx:195:13",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400",onClick:c,children:t.jsx(I,{"code-path":"src/components/kubernetes/YamlViewer.tsx:195:102",className:"h-4 w-4"})})]})]}),t.jsx("div",{"code-path":"src/components/kubernetes/YamlViewer.tsx:198:9",className:"flex-1 min-h-0 flex flex-col overflow-hidden p-4",children:se})]})})}const jt=[{value:"sh",label:"/bin/sh"},{value:"bash",label:"/bin/bash"}];function Mt({open:e,onOpenChange:s,clusterId:r,namespace:n,podName:c,containers:m=[],initialContainer:j}){const{toast:w}=me(),g=a.useRef(null),d=a.useRef(null),p=a.useRef(null),N=a.useRef(null),P=a.useRef(!1),f=a.useRef(!1),[y,S]=a.useState("idle"),[F,A]=a.useState(!1),[v,D]=a.useState(j||m[0]||""),[C,R]=a.useState("sh");a.useEffect(()=>{e||(A(!1),P.current=!1)},[e]),a.useEffect(()=>{e&&!v&&m.length>0&&D(j||m[0])},[e,m,j,v]);const M=a.useCallback(()=>{if(!d.current){console.error("[PodExec:connect] ABORT: termRef.current is null");return}const i=d.current;if(p.current){try{p.current.close()}catch{}p.current=null}S("connecting"),i.clear(),i.writeln(`\x1B[36m[正在连接 ${c}${v?"/"+v:""} shell=${C} ...]\x1B[0m`);const B=O.buildPodExecWsUrl(r,n,c,v||void 0,C),E=new WebSocket(B);p.current Line truncated
\x1B[33m⚠ bash 不可用,请切换 /bin/sh 后重连。\x1B[0m`),f.current=!0;return}i.write(o.includes("\x1B")?o:`\r
\x1B[31m${o}\x1B[0m\r
`)}}catch{typeof k.data=="string"&&i.write(k.data)}},E.onclose=k=>{S(u=>u==="error"?u:"closed"),f.current||i.write(`\r
\x1B[33m[连接已关闭]\x1B[0m\r
`)},E.onerror=k=>{console.error("[PodExec:connect] WS error event fired, readyState=",E.readyState,"type=",k.type),S("error"),i.write(`\r
\x1B[31m[连接发生错误]\x1B[0m\r
`)}},[r,n,c,v,C]);a.useEffect(()=>{if(!e)return;if(!r){console.error("[PodExec:initEffect] ABORT: clusterId is falsy:",r);return}if(!c){console.error("[PodExec:initEffect] ABORT: podName is falsy:",c);return}let i=!1,B=0;const E=performance.now(),k=()=>{if(i)return;const u=g.current;if(!u){B++,B<20?requestAnimationFrame(k):console.error("[PodExec:tryInit] FAILED: containerRef still null after 20 retries (",Math.round(performance.now()-E),"ms)");return}const o=new Ge.Terminal({cursorBlink:!0,fontSize:14,fontFamily:'Menlo, Monaco, "Courier New", monospace',allowProposedApi:!0,scrollback:5e3,theme:{background:"#0f172a",foreground:"#e2e8f0",cursor:"#38bdf8",selectionBackground:"#1e40af",black:"#1e293b",red:"#ef4444",green:"#10b981",yellow:"#f59e0b",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e2e8f0",brightBlack:"#475569",brightRed:"#f87171",brightGreen:"#34d399",brightYellow:"#fbbf24",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#f8fafc"}}),l=new Xe.FitAddon;o.loadAddon(l),d.current=o,N.current=l,o.onData(h=>{p.current&&p.current.readyState===WebSocket.OPEN?p.current.send(JSON.stringify({status:0,data:h})):console.warn("[PodExec:term] TX dropped — WS not open, readyState=",p.current?.readyState)}),o.open(u),requestAnimationFrame(()=>{try{l.fit()}catch{}}),P.current=!0,M()};return requestAnimationFrame(k),()=>{i=!0}},[e,r,c]),a.useEffect(()=>{if(!e){try{p.current?.close()}catch{}try{d.current?.dispose()}catch{}d.current=null,p.current=null,N.current=null,P.current=!1,S("idle")}},[e]),a.useEffect(()=>{e&&d.current&&P.current&&M()},[v,C]),a.useEffect(()=>{if(!e)return;const i=g.current;if(!i)return;let B;const E=new ResizeObserver(()=>{clearTimeout(B),B=setTimeout(()=>{if(N.current&&d.current)try{N.current.fit(),d.current.focus();const{cols:k,rows:u}=d.current;p.current?.readyState===WebSocket.OPEN&&p.current.send(JSON.stringify({status:1,cols:k,rows:u}))}catch{}},60)});return E.observe(i),()=>{clearTimeout(B),E.disconnect()}},[e,F]);const T=y==="connected"?"bg-emerald-400":y==="error"?"bg-red-400":y==="closed"?"bg-slate-500":"bg-amber-400",_=y==="connected"?"已连接":y==="connecting"?"连接中":y==="error"?"连接错误":y==="closed"?"已断开":"空闲",L=a.useCallback(()=>{try{d.current?.focus()}catch{}},[]);return t.jsx(Te,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:279:5",open:e,onOpenChange:s,children:t.jsxs(Fe,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:280:7",showCloseButton:!1,className:re("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",F?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:F?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"960px",width:"92vw"},children:[t.jsxs(Be,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:289:9",className:"sr-only",children:["exec — ",c]}),t.jsx(Ce,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:290:9",className:"sr-only",children:"进入 Pod 容器执行命令"}),t.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:293:9",className:"flex items-center justify-between gap-2 px-4 py-2 border-b border-[var(--dg-border)] flex-wrap",children:[t.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:294:11",className:"flex items-center gap-2 text-sm min-w-0",children:[t.jsx("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:295:13",className:re("w-2 h-2 rounded-full shrink-0",T),title:_}),t.jsx(Oe,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:296:13",className:"h-4 w-4 text-blue-400 shrink-0"}),t.jsxs("span",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:297:13",className:"text-[var(--dg-text-primary)] font-medium truncate",children:["exec — ",c]}),y==="connecting"&&t.jsx(z,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:298:44",className:"h-3 w-3 animate-spin text-[var(--dg-text-muted)]"}),t.jsx("span",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:299:13",className:"text-xs text-[var(--dg-text-muted)]",children:_})]}),t.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:301:11",className:"flex items-center gap-2",children:[m.length>0&&t.jsxs(oe,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:303:15",value:v,onValueChange:D,children:[t.jsxs(ne,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:304:17",className:"h-8 w-[150px] text-xs bg-[var(--dg-bg-hover)] border-[var(--dg-border)]",children:[t.jsx($e,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:305:19",className:"h-3 w-3 mr-1 text-[var(--dg-text-muted)]"}),t.jsx(ae,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:306:19",placeholder:"容器"})]}),t.jsx(ce,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:308:17",children:m.map(i=>t.jsx(le,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:308:55",value:i,children:i}, Line truncated
@@ -1 +0,0 @@
import{r as c,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as i,a as x}from"./card-BIfzBCEy.js";import{g as H,i as L,L as N,B as U}from"./index-Dungj95X.js";import{B as V}from"./badge-CGJlVD3L.js";import{S as f,a as v,b as C,c as y,d as P}from"./select-CiTqGGhE.js";import{T as W,a as F,b as u,c as d,d as z,e as n}from"./table-B2F10oba.js";import{k as b}from"./index-drGq01ok.js";import{f as S,A as D,R as G,g as K,H as q}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";function te(){const{clusterCode:w}=H(),g=L(),[m,M]=c.useState(!1),[p,k]=c.useState([]),[A,T]=c.useState([]),[$,E]=c.useState([]),[l,B]=c.useState("all"),[a,j]=c.useState(w||"");c.useEffect(()=>{b.getClusters().then(s=>{const t=s?.list||[];if(T(t),!a&&t.length>0){const r=t[0].code||String(t[0].id);j(r),g(`/kubernetes/${r}/metrics/pods`,{replace:!0})}}).catch(()=>{})},[]),c.useEffect(()=>{a&&b.getNamespaces(a).then(s=>{E(Array.isArray(s)?s:s?.list||s?.data||[])}).catch(()=>{})},[a]);const h=c.useCallback(async()=>{if(a){M(!0);try{const s=l==="all"?void 0:l,t=await b.getPodMetrics(a,s);k(Array.isArray(t)?t:t?.list||[])}catch{k([])}finally{M(!1)}}},[a,l]);c.useEffect(()=>{h()},[h]);const o=c.useMemo(()=>p.flatMap(s=>(s.containers||[]).map(t=>({pod:s.name,namespace:s.namespace,container:t.name,cpu:t.cpu||"0m",memory:t.memory||"0Mi"}))),[p]),I=c.useMemo(()=>o.reduce((s,t)=>s+(parseInt(t.cpu)||0),0),[o]),R=c.useMemo(()=>{let s=0;return o.forEach(t=>{const r=t.memory;r.endsWith("Mi")?s+=parseInt(r):r.endsWith("Ki")?s+=parseInt(r)/1024:r.endsWith("Gi")&&(s+=parseInt(r)*1024)}),s},[o]);return e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:82:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:83:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(N,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:84:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),a&&e.jsxs(e.Fragment,{children:[e.jsx(S,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:85:29",className:"h-3 w-3"}),e.jsx(N,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:85:65",to:`/kubernetes/${a}`,className:"hover:text-slate-300",children:a})]}),e.jsx(S,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:86:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:86:45",className:"text-slate-300",children:"Pod 资源用量"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:89:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:90:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(D,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:90:86",className:"h-5 w-5 text-blue-400"}),"Pod 资源用量"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:91:9",className:"flex items-center gap-2",children:[e.jsxs(f,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:92:11",value:a,onValueChange:s=>{j(s),g(`/kubernetes/${s}/metrics/pods`)},children:[e.jsx(v,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:93:13",className:"w-44 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(C,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:93:87"})}),e.jsx(y,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:94:13",className:"bg-slate-800 border-slate-700",children:A.map(s=>e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:95:46",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(f,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:98:11",value:l,onValueChange:B,children:[e.jsx(v,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:99:13",className:"w-36 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(C,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:99:87",placeholder:"所有命名空间"})}),e.jsxs(y,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:100:13",className:"bg-slate-800 border-slate-700",children:[e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:101:15",value:"all",className:"text-xs",children:"所有命名空间"}),$.map(s=>e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:102:36",value:s,className:"text-xs",children:s},s))]})]}),e.jsxs(U,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:105:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:h,disabled:m,children:[e.jsx(G,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:106:13",className:`h-3 w-3 mr-1 ${m?"animate-spin":""}`}),"刷新"]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:112:7",className:"grid grid-cols-3 gap-3",children:[e.jsx(i,{"code-path":"src/components/kubernetes/Line truncated
@@ -1,5 +0,0 @@
import{r as c,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as z,b as F,c as H,d as oe,a as R}from"./card-BIfzBCEy.js";import{f as je,r as q,u as v,B as l,m as Q,s as ve,D as W,a as Y,b as Z,c as ee,d as se,e as te,v as ce,o as be}from"./index-Dungj95X.js";import{I as k}from"./input-CXoUQQLm.js";import{L as C}from"./label-CMpUoC87.js";import{B as _}from"./badge-CGJlVD3L.js";import{u as ne}from"./use-toast-DNZLibQY.js";import{C as I}from"./code-snippet-block-E9P2jHS4.js";import{aj as ae,P as re,L as D,ak as Se,x as Ne,al as Pe,am as Ke,an as we,b as ke,A as Ce,ao as _e,U as De,j as Te}from"./vendor-icons-DmqcWdzX.js";function B(t){if(!t)return"—";const a=new Date(t);return Number.isNaN(a.getTime())?"—":a.toLocaleString()}function T(t=12){const a=new Date;return a.setMonth(a.getMonth()+t),a.toISOString().slice(0,10)}function Le(t){if(!t)return T();const a=new Date(t);return Number.isNaN(a.getTime())?T():a.toISOString().slice(0,10)}function $e(t,a){if(!t||!a)return{pct:0,daysLeft:null};const n=new Date(t).getTime(),s=new Date(a).getTime(),x=Date.now();if(s<=n)return{pct:0,daysLeft:0};const y=Math.max(0,Math.ceil((s-x)/864e5));return{pct:Math.min(100,Math.max(0,(x-n)/(s-n)*100)),daysLeft:y}}function Oe(t){return t?t.length<=10?t:`${t.slice(0,6)}…${t.slice(-4)}`:"—"}function Me(){const{toast:t}=ne(),a=je(),n=ve(),[s,x]=c.useState(null),[y,u]=c.useState(!0),[p,d]=c.useState(!1),[A,N]=c.useState(!1),[P,f]=c.useState(""),[K,m]=c.useState(!1),[j,r]=c.useState("create"),[L,$]=c.useState(""),[w,O]=c.useState(T()),[ie,M]=c.useState(!1),[de,pe]=c.useState(""),U=c.useCallback(async()=>{u(!0);try{const i=q();i&&f(i);const S=await v.getApiAccessKey().catch(()=>({has_token:!1}));x(S)}finally{u(!1)}},[]);c.useEffect(()=>{U()},[U]);const h=P||q(),le=s?.access_key_mask||(s?.prefix?`${s.prefix}.•••••••••••••••••••••••••••••••••`:""),{pct:xe,daysLeft:me}=c.useMemo(()=>$e(s?.created_at,s?.expires_at),[s?.created_at,s?.expires_at]),g=s?.days_left??me,b=!!s?.expired||s?.status==="expired"||g!=null&&g<=0,E=()=>{r("create"),$(""),O(T()),m(!0)},ue=()=>{r("edit"),$(s?.description||""),O(Le(s?.expires_at)),m(!0)},he=async()=>{if(j==="edit"){d(!0);try{const o=await v.updateApiAccessKey({description:L,expires_at:w});x(o),m(!1),t({title:"凭证信息已更新"})}catch(o){t({title:"更新失败",description:o?.message||String(o),variant:"destructive"})}finally{d(!1)}return}const i=!!s?.has_token;if(await a({title:i?"轮换凭证":"签发凭证",description:i?"旧凭证将立即作废,是否继续?":"凭证明文仅显示一次,请妥善保存。",confirmText:i?"轮换":"签发",variant:i?"destructive":"default"})){d(!0);try{const o=await v.regenerateApiAccessKey({description:L,expires_at:w});f(o.token),ce(o.token),pe(o.token),M(!0),m(!1),x({has_token:!0,key_id:o.key_id,prefix:o.prefix,access_key_mask:`${o.prefix}.•••••••••••••••••••••••••••••••••`,description:o.description,created_at:o.created_at,expires_at:o.expires_at,status:"active",expired:!1,days_left:Math.ceil((new Date(o.expires_at).getTime()-Date.now())/864e5)}),t({title:"凭证已签发",description:"已保存至本浏览器,请立即复制"})}catch(o){t({title:"签发失败",description:o?.message||String(o),variant:"destructive"})}finally{d(!1)}}},ge=async()=>{if(await a({title:"吊销凭证",description:"吊销后 Pipeline / curl 调用将全部失败,是否继续?",confirmText:"吊销",variant:"destructive"})){d(!0);try{await v.revokeApiAccessKey(),f(""),ce(""),x({has_token:!1}),t({title:"凭证已吊销"})}catch(S){t({title:"吊销失败",description:S?.message||String(S),variant:"destructive"})}finally{d(!1)}}},X=h?`X-AIOps-Access-Key: ${h}`:"X-AIOps-Access-Key: <你的访问凭证>",G="test-k8s",J="default",V="demo-jar",ye=`curl -X POST '${n}/kubernetes/${G}/namespace/${J}/deployments/${V}/update-image' \\
-H '${X}' \\
-H 'Content-Type: application/json' \\
-d '{"image":"harbor.example.com/app:v1.0","container_name":"main"}'`,Ae=`curl -X POST '${n}/kubernetes/${G}/namespace/${J}/deployments/${V}/restart' \\
-H '${X}'`,fe=b?"bg-red-500":g!=null&&g<=30?"bg-amber-400":"bg-[var(--dg-blue)]";return e.jsxs(e.Fragment,{children:[e.jsxs(z,{"code-path":"src/components/user/ApiAccessKeySection.tsx:229:7",className:"dg-card border-[var(--dg-blue)]/20",children:[e.jsxs(F,{"code-path":"src/components/user/ApiAccessKeySection.tsx:230:9",className:"flex flex-row items-start justify-between gap-4 space-y-0",children:[e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:231:11",children:[e.jsxs(H,{"code-path":"src/components/user/ApiAccessKeySection.tsx:232:13",className:"text-base flex items-center gap-2 text-[var(--dg-text-primary)]",children:[e.jsx(ae,{"code-path":"src/components/user/ApiAccessKeySection.tsx:233:15",className:"h-4 w-4 text-[var(--dg-blue)]"}),"CI/CD 访问凭证",e.jsx(_,{"code-path":"src/components/user/ApiAccessKeySection.tsx:235:15",className:"text-[10px] bg-[var(--dg-blue)]/15 text-[var(--dg-blue)] border-[var(--dg-blue)]/30",children:"长期有效"})]}),e.jsx(oe,{"code-path":"src/components/user/ApiAccessKeySection.tsx:237:13",className:"text-xs mt-1",children:"每人唯一凭证,Deployment 发布脚本自动引用,不随登录会话过期。"})]}),!y&&!s?.has_token&&e.jsxs(l,{"code-path":"src/components/user/ApiAccessKeySection.tsx:242:13",size:"sm",onClick:E,disabled:p,children:[e.jsx(re,{"code-path":"src/components/user/ApiAccessKeySection.tsx:243:15",className:"h-4 w-4 mr-1"}),"签发凭证"]})]}),e.jsxs(R,{"code-path":"src/components/user/ApiAccessKeySection.tsx:247:9",className:"space-y-4",children:[y?e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:249:13",className:"flex items-center gap-2 py-8 text-sm text-[var(--dg-text-muted)] justify-center",children:[e.jsx(D,{"code-path":"src/components/user/ApiAccessKeySection.tsx:250:15",className:"h-4 w-4 animate-spin"}),"加载中…"]}):s?.has_token?e.jsx("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:253:13",className:"rounded-xl border border-[var(--dg-border)] bg-[var(--dg-bg-tertiary)]/40 overflow-hidden",children:e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:255:15",className:"flex",children:[e.jsx("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:256:17",className:Q("w-1 shrink-0",b?"bg-red-500":g!=null&&g<=30?"bg-amber-400":"bg-gradient-to-b from-[var(--dg-blue)] to-[var(--dg-purple)]")}),e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:260:17",className:"flex-1 p-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:261:19",className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:262:21",className:"space-y-1 min-w-0 flex-1",children:[e.jsx("p",{"code-path":"src/components/user/ApiAccessKeySection.tsx:263:23",className:"text-[10px] uppercase tracking-wider text-[var(--dg-text-muted)]",children:"凭证字符串"}),e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:264:23",className:"flex items-center gap-2",children:[e.jsx("code",{"code-path":"src/components/user/ApiAccessKeySection.tsx:265:25",className:"flex-1 min-w-0 text-xs font-mono text-[var(--dg-text-primary)] bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)] rounded-md px-3 py-2 truncate block",children:A&&h?h:le}),h&&e.jsx(l,{"code-path":"src/components/user/ApiAccessKeySection.tsx:269:27",variant:"outline",size:"icon",className:"h-9 w-9 shrink-0 border-[var(--dg-border)]",onClick:()=>N(!A),title:A?"隐藏":"显示",children:A?e.jsx(Se,{"code-path":"src/components/user/ApiAccessKeySection.tsx:276:42",className:"h-3.5 w-3.5"}):e.jsx(Ne,{"code-path":"src/components/user/ApiAccessKeySection.tsx:276:79",className:"h-3.5 w-3.5"})})]})]}),e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:281:21",className:"flex flex-wrap gap-1.5 shrink-0",children:[e.jsxs(l,{"code-path":"src/components/user/ApiAccessKeySection.tsx:282:23",variant:"outline",size:"sm",className:"h-8 text-xs border-[var(--dg-border)]",onClick:ue,disabled:p,children:[e.jsx(Pe,{"code-path":"src/components/user/ApiAccessKeySection.tsx:283:25",className:"h-3 w-3 mr-1"}),"调整"]}),e.jsxs(l,{"code-path":"src/components/user/ApiAccessKeySection.tsx:285:23",variant:"outline",size:"sm",className:"h-8 text-xs border-[var(--dg-border)]",onClick:E,disabled:p,children:[e.jsx(Ke,{"code-path":"src/components/user/ApiAccessKeySection.tsx:286:25",className:"h-3 w-3 mr-1"}),"轮换"]}),e.jsxs(l,{"code-path":"src/components/user/ApiAccessKeySection.tsx:288:23",variant:"outline",size:"sm",className:"h-8 text-xs border-red-500/30 text-red-400",onClick:ge,disabled:p,children:[e.jsx(we,{"code-path":"src/components/user/ApiAccessKeySection.tsx:289:25",className:"h-3 w-3 mr-1"}),"吊销"]})]})]}),e.jsxs("div",{"code-path":"src/components/user/ApiAccessKeySection.tsx:294:19",className:"grid grid-cols-2 sm:grid-cols-3 gap-x-6 gap-y-3 text-xs",children:[e.js Line truncated
@@ -1 +0,0 @@
import{r as t,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{f as ee,B as u,D as se,a as ae,b as oe,c as te,d as ce,e as ne,t as N}from"./index-Dungj95X.js";import{I as j}from"./input-CXoUQQLm.js";import{L as i}from"./label-CMpUoC87.js";import{B as O}from"./badge-CGJlVD3L.js";import{C as A}from"./checkbox-Bu55mX0G.js";import{T as re,a as le,b as V,c as r,d as de,e as l}from"./table-B2F10oba.js";import{S as y,a as C,b as w,c as S,d as R}from"./select-CiTqGGhE.js";import{r as M}from"./region-CNZ3vwAq.js";import{S as ie,P as pe,T as H,L as $,M as ge,C as xe,a as he,d as me}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";const k={aws:"AWS",aliyun:"阿里云",tencent:"腾讯云",huawei:"华为云",azure:"Azure"},ue={aws:"text-orange-400",aliyun:"text-orange-400",tencent:"text-blue-400",huawei:"text-red-400",azure:"text-blue-400"};function ke(){const D=ee(),[T,L]=t.useState([]),[F,I]=t.useState(!0),[b,Q]=t.useState(""),[f,W]=t.useState("all"),[c,d]=t.useState([]),[X,p]=t.useState(!1),[g,P]=t.useState(null),[B,z]=t.useState(!1),[a,n]=t.useState({name:"",code:"",provider:"aliyun",location:"",status:"active",endpoint:""}),x=t.useCallback(async()=>{I(!0);try{const o=(await M.list())?.list||[];L(o)}catch{L([])}finally{I(!1)}},[]);t.useEffect(()=>{x()},[x]);const h=T.filter(s=>{const o=s.name?.toLowerCase().includes(b.toLowerCase())||s.code?.toLowerCase().includes(b.toLowerCase()),v=f==="all"||s.provider===f;return o&&v}),E=h.length>0&&h.every(s=>c.includes(s.id)),q=()=>{d(E?[]:h.map(s=>s.id))},G=s=>{d(o=>o.includes(s)?o.filter(v=>v!==s):[...o,s])},J=()=>{P(null),n({name:"",code:"",provider:"aliyun",location:"",status:"active",endpoint:""}),p(!0)},K=s=>{P(s),n({name:s.name||"",code:s.code||"",provider:s.provider||"aliyun",location:s.location||"",status:s.status||"active",endpoint:s.endpoint||""}),p(!0)},U=async()=>{if(!(!a.name.trim()||!a.code.trim())){z(!0);try{g?await M.update(g.id,a):await M.create(a),p(!1),x()}catch{}finally{z(!1)}}},Y=async s=>{const o=T.find(m=>m.id===s);if(await D({title:"删除区域",description:`确定删除「${o?.name||s}」吗?此操作不可撤销。`,confirmText:"删除",variant:"destructive"}))try{await M.delete(s),N.success("区域已删除"),d(m=>m.filter(_=>_!==s)),x()}catch(m){console.error("删除区域失败:",m),N.error("删除失败")}},Z=async()=>{if(!(c.length===0||!await D({title:"批量删除区域",description:`确定删除选中的 ${c.length} 个区域吗?此操作不可撤销。`,confirmText:"批量删除",variant:"destructive"})))try{await M.batchDelete(c),N.success(`已删除 ${c.length} 个区域`),d([]),x()}catch(o){console.error("批量删除失败:",o),N.error("批量删除失败")}};return e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:186:5",className:"p-6 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:188:7",className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:189:9",className:"flex items-center gap-3 flex-1",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:190:11",className:"relative w-72",children:[e.jsx(ie,{"code-path":"src/components/cloud/RegionManager.tsx:191:13",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(j,{"code-path":"src/components/cloud/RegionManager.tsx:192:13",placeholder:"搜索区域名称或编码...",value:b,onChange:s=>Q(s.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700"})]}),e.jsxs(y,{"code-path":"src/components/cloud/RegionManager.tsx:199:11",value:f,onValueChange:W,children:[e.jsx(C,{"code-path":"src/components/cloud/RegionManager.tsx:200:13",className:"w-32 h-9 bg-slate-800/50 border-slate-700",children:e.jsx(w,{"code-path":"src/components/cloud/RegionManager.tsx:201:15"})}),e.jsxs(S,{"code-path":"src/components/cloud/RegionManager.tsx:203:13",children:[e.jsx(R,{"code-path":"src/components/cloud/RegionManager.tsx:204:15",value:"all",children:"全部云商"}),Object.entries(k).map(([s,o])=>e.jsx(R,{"code-path":"src/components/cloud/RegionManager.tsx:206:17",value:s,children:o},s))]})]})]}),e.jsxs(u,{"code-path":"src/components/cloud/RegionManager.tsx:211:9",onClick:J,className:"gap-2",children:[e.jsx(pe,{"code-path":"src/components/cloud/RegionManager.tsx:212:11",className:"h-4 w-4"}),"添加区域"]})]}),c.length>0&&e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:219:9",className:"flex items-center justify-between gap-4 px-4 py-2.5 rounded-lg bg-slate-800/50 border border-slate-700",children:[e.jsxs("span",{"code-path":"src/components/cloud/RegionManager.tsx:220:11",className:"text-sm text-slate-300",children:["已选择 ",e.jsx("span",{"code-path":"src/components/cloud/RegionManager.tsx:221:17",className:"font-semibold text-slate-100",children:c.length})," 个区域"]}),e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:223:11",className:"flex items-center gap-2",chilLine truncated
@@ -1 +0,0 @@
import{r as i,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{B as E}from"./index-Dungj95X.js";import{p as F,c as ee,g as le,M as ue,d as xe,b as me,e as pe,f as he,y as be}from"./PodFileBrowser-B-U8iHmY.js";import{I as f}from"./input-CXoUQQLm.js";import{L as T}from"./label-CMpUoC87.js";import{T as te}from"./textarea-BxfjmLq5.js";import{S as G,a as W,b as U,c as H,d as Y}from"./select-CiTqGGhE.js";import{u as ge}from"./use-toast-DNZLibQY.js";import{k as $,d as ve}from"./index-drGq01ok.js";import{D as ke,f as Re,N as Ee,j as je,F as Ve,X as fe,L as A,P as L,T as O,$ as B}from"./vendor-icons-DmqcWdzX.js";function se(n,l,a){switch(n){case"services":return{apiVersion:"v1",kind:"Service",metadata:{name:a,namespace:l},spec:{type:"ClusterIP",selector:{},ports:[{name:"http",port:80,targetPort:80,protocol:"TCP"}]}};case"ingresses":return{apiVersion:"networking.k8s.io/v1",kind:"Ingress",metadata:{name:a,namespace:l},spec:{ingressClassName:"nginx",rules:[{host:"",http:{paths:[{path:"/",pathType:"Prefix",backend:{service:{name:"",port:{number:80}}}}]}}]}};case"configmaps":return{apiVersion:"v1",kind:"ConfigMap",metadata:{name:a,namespace:l},data:{}};case"secrets":return{apiVersion:"v1",kind:"Secret",metadata:{name:a,namespace:l},type:"Opaque",data:{}};case"pvcs":return{apiVersion:"v1",kind:"PersistentVolumeClaim",metadata:{name:a,namespace:l},spec:{accessModes:["ReadWriteOnce"],resources:{requests:{storage:"1Gi"}}}};case"deployments":return{apiVersion:"apps/v1",kind:"Deployment",metadata:{name:a||"my-app",namespace:l,labels:{app:a||"my-app"}},spec:{replicas:1,selector:{matchLabels:{app:a||"my-app"}},template:{metadata:{labels:{app:a||"my-app"}},spec:{containers:[{name:"main",image:"nginx:latest",ports:[{containerPort:80,protocol:"TCP"}],resources:{requests:{cpu:"100m",memory:"128Mi"},limits:{cpu:"500m",memory:"512Mi"}}}]}}}};default:return{apiVersion:"v1",kind:"Unknown",metadata:{name:a,namespace:l}}}}function Ae({clusterCode:n,namespace:l,resource:a,name:k,onClose:j,onSaved:y,isCreate:h=!1}){const{toast:u}=ge(),[R,g]=i.useState(!0),[v,V]=i.useState(!1),[N,w]=i.useState(""),[b,t]=i.useState(null),[c,m]=i.useState("visual"),[C,M]=i.useState(""),[I,o]=i.useState(""),[x,s]=i.useState(!1),[r,p]=i.useState(!1),[S,P]=i.useState(!1),X=i.useCallback(async()=>{g(!0);try{if(h){const Q=se(a,l,k||""),Z=await F(Q);t(Q),M(Z),o(Z),w(""),s(!0);return}const d=await $.getResourceYaml(n,l,a,k);w(d);const{manifest:z,yaml:_}=await ee(d);M(_),o(_),s(!1),p(!1),t(z),z||(m("yaml"),u({title:"可视化编辑不可用",description:"无法解析资源结构,已切换到 YAML 编辑模式"}))}catch(d){u({title:"加载失败",description:d.message,variant:"destructive"})}finally{g(!1)}},[n,l,a,k,h]);i.useEffect(()=>{X()},[X]);const D=async d=>{V(!0);try{const z=await F(d),_=d?.metadata?.name||k;if(h){if(!_?.trim()){u({title:"请填写名称",variant:"destructive"});return}await $.applyYAML(n,z),u({title:"创建成功",description:`${a}/${_}`})}else await $.updateResourceYaml(n,l,a,k,z),u({title:"保存成功",description:`${a}/${k} 已更新`});y?.(),j()}catch(z){u({title:h?"创建失败":"保存失败",description:z.message,variant:"destructive"})}finally{V(!1)}},re=async()=>{V(!0);try{const d=await he(I);h?(await $.applyYAML(n,d),u({title:"创建成功",description:"YAML 已应用"})):(await $.updateResourceYaml(n,l,a,k,d),u({title:"保存成功",description:`${a}/${k} 已更新`})),s(!1),M(d),o(d),h||w(d),y?.(),j()}catch(d){u({title:"保存失败",description:d.message,variant:"destructive"})}finally{V(!1)}},oe=async()=>{const d=await pe(I);if(!d){u({title:"无法解析 YAML",description:"请检查语法后继续用 YAML 模式",variant:"destructive"});return}t(d),m("visual")},ae=async()=>{if(b){const d=await F(b);M(d),o(d)}s(!1),p(!1),m("yaml")},J=()=>x?I:r?N:C,ce=async()=>{await navigator.clipboard.writeText(J()),P(!0),setTimeout(()=>P(!1),2e3)},ne=()=>{const d=be(a,l,k||b?.metadata?.name||"resource");ve(d,J()),u({title:"已下载",description:d})},de=le(a),K={configmaps:{title:"ConfigMap",icon:Ve,color:"text-blue-400"},secrets:{title:"Secret",icon:je,color:"text-amber-400"},services:{title:"Service",icon:Ee,color:"text-cyan-400"},ingresses:{title:"Ingress",icon:Re,color:"text-purple-400"},pvcs:{title:"PersistentVolumeClaim",icon:ke,color:"text-emerald-400"}},q=K[a]||K.configmaps,ie=q.icon;return e.jsx(ue,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:169:5",onClose:j,children:e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:170:7",className:"bg-[var(--dg-bg-primary)] border border-[var(--dg-border)] rounded-xl w-[90vw] max-w-3xl h-[85vh] flex flex-col shadow-2xl",onClick:d=>d.stopPropagation(),children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:175:9",className:"flex items-center justify-between p-4 border-b border-[var(--dg-border)] gap-3 shrink-0",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:176:11",className:"Line truncated
@@ -1,17 +0,0 @@
import{j as t,r as i}from"./vendor-codemirror-B1SGo4xl.js";import{D as $,a as B,b as P,c as O,d as A,e as I,B as p,q as Z,f as Lt,t as l}from"./index-Dungj95X.js";import{I as D}from"./input-CXoUQQLm.js";import{S as tt,a as et,b as ot,c as st,d as z}from"./select-CiTqGGhE.js";import{T as _t,a as zt,b as G,c as K}from"./tabs-D87nAyJR.js";import{C as at}from"./checkbox-Bu55mX0G.js";import{s as j,t as $t}from"./automation-C9TdY9Jc.js";import{B as N}from"./badge-CGJlVD3L.js";import{a as Bt,y as ct,L as V,b as Pt,o as nt,aJ as rt,x as Ot,z as At,az as It,T as it,n as pt,r as Vt,S as qt,P as Rt}from"./vendor-icons-DmqcWdzX.js";import{L as v}from"./label-CMpUoC87.js";import{T as Ht}from"./textarea-BxfjmLq5.js";import{C as lt,b as Qt,c as Jt,d as Ut,a as mt}from"./card-BIfzBCEy.js";import"./index-5FEebgvX.js";function Xt(o){return{id:o.id,name:o.name,code:o.code||"",description:o.description||"",type:o.type||"shell",content:o.content||"",timeout:o.timeout||300,version:o.version||1,run_count:o.run_count||0,created_at:o.created_at,updated_at:o.updated_at}}const w=[{value:"shell",label:"Shell",sample:`#!/bin/bash
# 系统巡检脚本
echo "===== 系统信息 ====="
uname -a
echo ""
echo "===== 磁盘使用 ====="
df -h
echo ""
echo "===== 内存使用 ====="
free -h
`},{value:"python",label:"Python",sample:`#!/usr/bin/env python3
# 主机信息采集
import platform, socket
print("主机名:", socket.gethostname())
print("系统:", platform.platform())
print("Python:", platform.python_version())
`}],W={shell:"border-green-500/30 text-green-500 bg-green-500/10",bash:"border-green-500/30 text-green-500 bg-green-500/10",python:"border-blue-500/30 text-blue-500 bg-blue-500/10",powershell:"border-cyan-500/30 text-cyan-500 bg-cyan-500/10",yaml:"border-purple-500/30 text-purple-500 bg-purple-500/10"},dt=o=>t.jsx(N,{"code-path":"src/components/automation/script-helpers.tsx:67:3",variant:"outline",className:W[o]||W.shell,children:(o||"shell").toUpperCase()}),Y=()=>`sc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`;function xt(o){switch(o){case"pending":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:79:14",variant:"outline",className:"gap-1",children:[t.jsx(Pt,{"code-path":"src/components/automation/script-helpers.tsx:79:57",className:"w-3 h-3"}),"等待中"]});case"running":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:81:14",variant:"default",className:"bg-blue-500 gap-1",children:[t.jsx(V,{"code-path":"src/components/automation/script-helpers.tsx:81:69",className:"w-3 h-3 animate-spin"}),"执行中"]});case"success":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:83:14",variant:"default",className:"bg-green-600 gap-1",children:[t.jsx(ct,{"code-path":"src/components/automation/script-helpers.tsx:83:70",className:"w-3 h-3"}),"成功"]});case"failed":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:85:14",variant:"destructive",className:"gap-1",children:[t.jsx(Bt,{"code-path":"src/components/automation/script-helpers.tsx:85:61",className:"w-3 h-3"}),"失败"]});default:return t.jsx(N,{"code-path":"src/components/automation/script-helpers.tsx:87:14",variant:"secondary",children:o||"未知"})}}const Gt=o=>{if(!o)return"-";const a=new Date(o);return Number.isNaN(a.getTime())?"-":a.toLocaleString("zh-CN",{hour12:!1})},Kt=({open:o,onOpenChange:a,editingId:s,editingCode:n,formData:m,setFormData:x,onTypeChange:f,onSave:y})=>t.jsx($,{"code-path":"src/components/automation/ScriptFormDialog.tsx:38:5",open:o,onOpenChange:a,children:t.jsxs(B,{"code-path":"src/components/automation/ScriptFormDialog.tsx:39:7",className:"max-w-4xl max-h-[90vh]",children:[t.jsxs(P,{"code-path":"src/components/automation/ScriptFormDialog.tsx:40:9",children:[t.jsx(O,{"code-path":"src/components/automation/ScriptFormDialog.tsx:41:11",children:s!==null?"编辑脚本":"新建脚本"}),t.jsx(A,{"code-path":"src/components/automation/ScriptFormDialog.tsx:42:11",children:"编写运维脚本,支持 Shell / Python / PowerShell"})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:44:9",className:"space-y-4 overflow-y-auto max-h-[60vh] pr-1",children:[t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:45:11",className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:46:13",children:[t.jsx(v,{"code-path":"src/components/automation/ScriptFormDialog.tsx:47:15",children:"名称"}),t.jsx(D,{"code-path":"src/components/automation/ScriptFormDialog.tsx:48:15",value:m.name,onChange:r=>x({...m,name:r.target.value}),placeholder:"如:系统巡检脚本"})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:54:13",children:[t.jsx(v,{"code-path":"src/components/automation/ScriptFormDialog.tsx:55:15",children:"类型"}),t.jsxs(tt,{"code-path":"src/components/automation/ScriptFormDialog.tsx:56:15",value:m.type,onValueChange:f,children:[t.jsx(et,{"code-path":"src/components/automation/ScriptFormDialog.tsx:57:17",children:t.jsx(ot,{"code-path":"src/components/automation/ScriptFormDialog.tsx:57:32"})}),t.jsx(st,{"code-path":"src/components/automation/ScriptFormDialog.tsx:58:17",children:w.map(r=>t.jsx(z,{"code-path":"src/components/automation/ScriptFormDialog.tsx:60:21",value:r.value,children:r.label},r.value))})]})]})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:66:11",children:[t.jsx(v,{"code-path":"src/components/automation/ScriptFormDialog.tsx:67:13",children:"描述"}),t.jsx(D,{"code-path":"src/components/automation/ScriptFormDialog.tsx:68:13",value:m.description,onChange:r=>x({...m,description:r.target.value}),placeholder:"脚本用途说明"})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:74:11",className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:75:13",children:[t.jsx(v,{"code-path":"src/components/automation/ScriptFormDialog.tsx:76:15",children:"超时(秒)"}),t.jsx(D,{"code-path":"src/components/automation/ScriptFormDialog.tsx:77:15",type:"number",value:m.timeout,onChange:r=>x({...m,timeout:Number(r.target.value)}),placeholder:"300"})]}),s!==null&&t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:85:15",children:[t.jsx(v,{"code-path":"src/components/automation/ScriptFormDialog.tsx:86:17",children:"编码"}),t.jsx(D,{"code-path":"src/compon Line truncated
@@ -1,11 +0,0 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-38xDxc7G.js","assets/index-Dungj95X.js","assets/vendor-codemirror-B1SGo4xl.js","assets/vendor-icons-DmqcWdzX.js","assets/index-GY9Szy-F.css","assets/dashboard-D0JujfHp.js","assets/server-P3fi-cmJ.js","assets/region-CNZ3vwAq.js","assets/index-drGq01ok.js","assets/pipeline-DO4lDm_n.js","assets/config-BrfI0oO-.js","assets/credential-Cu8tj7EE.js","assets/automation-C9TdY9Jc.js","assets/alert-v1WaPeEX.js","assets/alert-center-Dr8niqD0.js","assets/site-Cslo2fp0.js","assets/trace-L8uY5gM3.js","assets/grafana-DTc3taUi.js","assets/datasource-DsDBrwno.js","assets/log-center-ELxahGiS.js","assets/metrics-DW1ylkmD.js","assets/agent-CZzlLHxR.js","assets/account--x8iUlBA.js","assets/platform-BwZ5CngP.js","assets/billing-DhtxUWwz.js","assets/audit-BpVBSeA1.js","assets/terminal-D5kNzib0.js","assets/approval-BY_CqGOr.js","assets/ai-D8ZhLQOB.js"])))=>i.map(i=>d[i]);
import{j as e,r as t}from"./vendor-codemirror-B1SGo4xl.js";import{J as xr,ah as Ar,D as Ie,a as Fe,b as Ke,c as ke,d as Ee,B as y,e as Qe,o as ir,m as ie,t as W,y as $r,w as Or,O as Dr,x as Je,A as Lr,P as zr,z as Hr,Z as Ur,i as Vr,ax as vr,ab as hr,ac as gr,ad as ur,ae as br,af as qe,ag as he,f as Wr}from"./index-Dungj95X.js";import{C as fe,a as we}from"./card-BIfzBCEy.js";import{I as V}from"./input-CXoUQQLm.js";import{C as ge}from"./checkbox-Bu55mX0G.js";import{b as Be,e as Z,T as qr,a as Gr,c as ne,d as Kr}from"./table-B2F10oba.js";import{S as $e,a as Oe,b as De,c as Le,d as G}from"./select-CiTqGGhE.js";import{u as Qr,q as Sr,a as Jr,b as Xr}from"./unwrap-DPwG25JA.js";import{u as Me}from"./useMutation-BkCR1EeO.js";import{s as ee}from"./server-P3fi-cmJ.js";import{S as Yr}from"./stat-strip-BSQFwFzG.js";import{B as O}from"./badge-CGJlVD3L.js";import{c as ye}from"./account--x8iUlBA.js";import{i as jr,ag as Pe,M as We,y as cr,w as ue,f as Ce,R as de,S as Nr,ab as Ae,h as ze,b8 as Xe,at as yr,au as fr,X as be,j as wr,as as Cr,L as He,ah as Ye,b9 as Zr,av as es,aX as nr,m as rs,aY as ss,v as Ze,T as er,ba as Ge,Q as ts,$ as os,N as as,H as cs,r as dr,aP as ns,aJ as ds,P as ls}from"./vendor-icons-DmqcWdzX.js";import{x as ps,a as ms}from"./vendor-xterm-20M9KZE1.js";import{m as xs,a as is,f as vs}from"./xterm-utils-slbfdUHf.js";import{c as rr,s as hs}from"./credential-Cu8tj7EE.js";import{r as gs}from"./region-CNZ3vwAq.js";import{L as X}from"./label-CMpUoC87.js";import{T as us}from"./textarea-BxfjmLq5.js";import"./index-5FEebgvX.js";function bs(r={page:1,page_size:100}){return Qr({queryKey:Sr.servers(r),queryFn:async()=>{const p=await ee.getServers(r);return{list:Xr(p),total:Jr(p)}},staleTime:3e4})}function Ss(){const r=xr(),p=()=>r.invalidateQueries({queryKey:["servers"]}),c=Me({mutationFn:b=>ee.createServer(b),onSuccess:p}),a=Me({mutationFn:({id:b,data:g})=>ee.updateServer(b,g),onSuccess:p}),o=Me({mutationFn:b=>ee.deleteServer(b),onSuccess:p}),v=Me({mutationFn:b=>ee.batchDelete(b),onSuccess:p});return{createMutation:c,updateMutation:a,deleteMutation:o,batchDeleteMutation:v,invalidate:p}}function js({servers:r}){const p=r.filter(o=>o.status==="running").length,c=r.filter(o=>o.status==="maintenance").length,a=r.filter(o=>o.status==="stopped").length;return e.jsx(Yr,{"code-path":"src/components/server/ServerStatsStrip.tsx:15:5",items:[{label:"服务器",value:r.length,color:"blue"},{label:"运行中",value:p,color:"emerald"},{label:"维护中",value:c,color:"amber"},{label:"已停止",value:a,color:"muted"}]})}const Ns=[{id:"aws",name:"AWS",color:"bg-orange-500",icon:"AWS"},{id:"aliyun",name:"阿里云",color:"bg-orange-600",icon:"AL"},{id:"tencent",name:"腾讯云",color:"bg-blue-500",icon:"TX"},{id:"huawei",name:"华为云",color:"bg-red-500",icon:"HW"},{id:"azure",name:"Azure",color:"bg-blue-600",icon:"AZ"}];function ys({open:r,onClose:p}){const[c,a]=t.useState([]),[o,v]=t.useState(1),[b,g]=t.useState(""),[x,_]=t.useState(null),[j,C]=t.useState([]),[u,I]=t.useState([]),[l,N]=t.useState(""),[f,i]=t.useState(!1),[h,F]=t.useState([]),[k,H]=t.useState([]),[D,w]=t.useState(!1),[L,m]=t.useState([]),[S,M]=t.useState(!1),[E,A]=t.useState(null),[Y,U]=t.useState("22"),[re,d]=t.useState([]),[$,K]=t.useState(""),Q=async()=>{try{const s=await ye.getAccounts();a(s?.list||[])}catch(s){console.error("加载云账号失败:",s)}};t.useEffect(()=>{r&&(Q(),Ar(async()=>{const{credentialApi:s}=await import("./index-38xDxc7G.js");return{credentialApi:s}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28])).then(({credentialApi:s})=>{s.list().then(R=>d(R?.list||[])).catch(()=>d([]))}))},[r]);const B=c.filter(s=>s.provider===b&&s.status==="active"),J=t.useCallback(async s=>{try{return(await ye.getAccountRegions(s))?.list||[]}catch{return[]}},[]),q=t.useCallback(async s=>{i(!0);try{await ye.syncRegions(s);const R=await J(s);C(R)}catch(R){throw console.error("同步区域失败:",R),R}finally{i(!1)}},[J]),P=t.useCallback(async()=>{if(!x)return;const s=await J(x.id);if(C(s),s.length===0)try{await q(x.id)}catch{}},[x,J,q]),me=t.useCallback(async()=>{if(!(!x||u.length===0)){w(!0),m([]),F([]),H([]);try{const s=await ye.discoverInstances(x.id,u);F(s?.list||[]),m(s?.errors||[])}catch(s){console.error("发现主机失败:",s),m([s?.message||"发现主机失败"])}finally{w(!1)}}},[x,u]),se=async()=>{if(!(!x||k.length===0)){M(!0);try{const s=h.filter(ae=>k.includes(ae.instance_id)),R=await ye.importInstances(x.id,s,{default_port:Number(Y)||22,credential_id:$?Number($):void 0});A(R||{imported:0,skipped:0})}catch(s){console.error("导入失败:",s)}finally{M(!1)}}},z=()=>{o===2&&x&&o<4?(v(3),P()):o<4&&v(o+1)},Se=()=>{o>1&&v(o-1)},Te=()=>{u.length===j.length&&j.length>0?I([]):I(j.map(s=>s.code))},Ve=s=>{H(R=>R.includes(s)?R.filter(ae=>ae!==s):[...R,s])},Re=()=>{k.length===h.length&&h.length>0?H([]):H(h.map(s=>s.instance_id))},je=()=>{p(),v(1),g(""),_(null),I([]),C([]),F([]),H([]),N(""),m([]),A(null),U("2Line truncated
\x1B[31m[连接已关闭]\x1B[0m\r
`)},E.onerror=()=>{w.write(`\r
\x1B[31m[连接发生错误]\x1B[0m\r
`)},()=>{try{E.close(),w.dispose()}catch{}g.current=null,x.current=null,C(!1)}},[r,c,k]),t.useEffect(()=>{if(!r||!k)return;let w,L=0;const m=()=>{const S=b.current,M=_.current,E=g.current,A=x.current;if(!S||!M||!E){L++<30&&requestAnimationFrame(m);return}w=is(S,M,E,A);try{vs(M,E,A)}catch{}};return m(),()=>w?.()},[r,k,u]),e.jsx(Ie,{"code-path":"src/components/server/TerminalDialog.tsx:185:5",open:r,onOpenChange:p,children:e.jsxs(Fe,{"code-path":"src/components/server/TerminalDialog.tsx:186:7",showCloseButton:!1,className:ie("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",u?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:u?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"960px",width:"92vw"},children:[e.jsxs(ke,{"code-path":"src/components/server/TerminalDialog.tsx:198:9",className:"sr-only",children:["终端 - ",a]}),e.jsx(Ee,{"code-path":"src/components/server/TerminalDialog.tsx:199:9",className:"sr-only",children:"SSH 终端连接"}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:201:9",className:"flex items-center justify-between px-4 py-2 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:202:11",className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{"code-path":"src/components/server/TerminalDialog.tsx:203:13",className:ie("w-2 h-2 rounded-full",j?"bg-emerald-400":"bg-red-400")}),e.jsx("span",{"code-path":"src/components/server/TerminalDialog.tsx:204:13",className:"text-[var(--dg-text-primary)] font-medium",children:a}),e.jsxs("span",{"code-path":"src/components/server/TerminalDialog.tsx:205:13",className:"text-[var(--dg-text-muted)]",children:["(",o,")"]})]}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:207:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/server/TerminalDialog.tsx:208:13",onClick:()=>I(!u),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:u?e.jsx(yr,{"code-path":"src/components/server/TerminalDialog.tsx:212:29",className:"h-4 w-4"}):e.jsx(fr,{"code-path":"src/components/server/TerminalDialog.tsx:212:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/server/TerminalDialog.tsx:214:13",onClick:()=>p(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(be,{"code-path":"src/components/server/TerminalDialog.tsx:218:15",className:"h-4 w-4"})})]})]}),!k&&e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:224:11",className:"p-6 flex flex-col items-center justify-center gap-4",style:{height:"480px"},children:[e.jsx(wr,{"code-path":"src/components/server/TerminalDialog.tsx:225:13",className:"h-12 w-12 text-amber-400"}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:226:13",className:"text-center",children:[e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:227:15",className:"text-[var(--dg-text-primary)] font-medium mb-1",children:"服务器未配置认证凭据"}),e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:228:15",className:"text-sm text-[var(--dg-text-muted)]",children:"请选择一个凭据用于 SSH 连接"})]}),l.length===0?e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:231:15",className:"text-xs text-[var(--dg-text-muted)]",children:"暂无可用凭据,请先去「凭证配置」添加"}):e.jsxs("select",{"code-path":"src/components/server/TerminalDialog.tsx:233:15",value:f,onChange:w=>i(w.target.value),className:"w-64 px-3 py-2 bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] rounded-md text-[var(--dg-text-primary)] text-sm",children:[e.jsx("option",{"code-path":"src/components/server/TerminalDialog.tsx:238:17",value:"",children:"-- 选择凭据 --"}),l.map(w=>e.jsxs("option",{"code-path":"src/components/server/TerminalDialog.tsx:240:19",value:String(w.id),children:[w.type==="ssh_key"?"🔑":"🔒"," ",w.name]},w.id))]}),e.jsx(y,{"code-path":"src/components/server/TerminalDialog.tsx:246:13",onClick:D,disabled:!f||h,className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",children:h?"关联中...":"确认连接"})]}),k&&e.jsx("div",{"code-path":"src/components/server/TerminalDialog.tsx:257:11",ref:b,className:"xterm-terminal-host",style:{height:u?"calc(100vh - 49px)":"520px"}})]})})}const ws=r=>r<1024?`${r} B`:r<1048576?`${(r/1024).toFixed(1)} KB`:`${(r/1048576).toFixed(2)} MB`;function Cs({open:r,onOpenChange:p,serverId:c,serverName:a}){const[o,v]=t.useState([]),[b,g]=t.useState([]),[x,_]=t.useState("/"),[j,C]=t.useState(!1),[u,I]=t.useState(""),[l,N]=t.useState(!1),[f,i]=t.useState(!1),h=t.useRef(null),F=t.useCallback(async m=>{if(c){C(!0),I("");try{const S=await ee.listFiles(c,m),M=S?.data||S;v(M.items||[]),g(M.breadcrumbs||[]),_(M.path||m)}catch(S){I(S?.message||"加载目录失败"),v([ Line truncated
`).replace(/\r/g,`
`).split(`
`).filter(o=>o.trim());if(p.length<2)return[];const c=lr(p[0]).map(o=>o.toLowerCase()),a=[];for(let o=1;o<p.length;o++){const v=lr(p[o]),b={};c.forEach((g,x)=>{b[g]=v[x]??""}),a.push(b)}return a}function Fs(r){return/^(\d{1,3}\.){3}\d{1,3}$/.test(r)&&r.split(".").every(p=>Number(p)>=0&&Number(p)<=255)}function ks(){const r=["hostname,ip,port","web-01,192.168.1.10,22","db-01,192.168.1.20,22","cache-01,192.168.1.30,2222"].join(`
`),p=new Blob(["\uFEFF"+r],{type:"text/csv;charset=utf-8;"}),c=URL.createObjectURL(p),a=document.createElement("a");a.href=c,a.download="servers-template.csv",a.click(),URL.revokeObjectURL(c)}function Es({open:r,onClose:p}){const[c,a]=t.useState(1),[o,v]=t.useState(""),[,b]=t.useState("password"),[g,x]=t.useState(null),[_,j]=t.useState(!1),[C,u]=t.useState([]),[I,l]=t.useState([]),[N,f]=t.useState(!1),[i,h]=t.useState([]),[F,k]=t.useState(""),[H,D]=t.useState("22");t.useEffect(()=>{if(!r)return;let d=!1;return(async()=>{try{const[$,K]=await Promise.all([gs.list(),rr.list()]);if(d)return;const Q=$?.list??[];l(Q.map(B=>({id:String(B.id??""),name:B.name??"",code:B.code??""}))),h(K?.list??[])}catch{d||(l([]),h([]))}})(),()=>{d=!0}},[r]);const w=async()=>{if(c===2&&g){j(!0);try{const d=await g.text(),$=Is(d);if($.length===0){W.error("文件无有效数据,请使用模板格式(首行为表头)"),j(!1);return}const K=new Set,Q=$.map((B,J)=>{const q=(B.hostname??"").trim(),P=(B.ip??"").trim(),me={row:J+2,hostname:q,ip:P,port:Number(B.port)||22,username:(B.username??"").trim()||"root",os:B.os??"",cpu:Number(B.cpu)||0,memory:Number(B.memory)||0,disk:Number(B.disk)||0,tags:B.tags??"",status:"valid",message:"有效"},se=[];q||se.push("主机名缺失"),P?Fs(P)||se.push("IP格式错误"):se.push("IP缺失");const z=`${q}|${P}`;return q&&P&&K.has(z)?se.push("重复行"):K.add(z),se.length>0&&(me.status="error",me.message=se.join("、")),me});u(Q),a(c+1)}catch{W.error("文件解析失败,请确认是 CSV 格式")}finally{j(!1)}}else a(c+1)},L=()=>{c>1&&a(c-1)},m=d=>{d.target.files&&d.target.files[0]&&x(d.target.files[0])},S=()=>{a(1),v(""),D("22"),k(""),x(null),u([])},M=async()=>{const d=C.filter($=>$.status==="valid");if(d.length!==0){f(!0);try{const $=d.map(P=>({hostname:P.hostname,ip:P.ip,port:P.port,username:P.username,os:P.os,cpu:P.cpu,memory:P.memory,disk:P.disk,tags:P.tags})),Q=await ee.batchCreate({servers:$,region_id:o||void 0,credential_id:F?Number(F):void 0,default_port:Number(H)||22})??{},B=Q.success??0,J=Q.skipped??0,q=Q.failed??0;W.success(`导入完成:成功 ${B},跳过 ${J},失败 ${q}`),S(),p()}catch($){W.error($?.message||"导入失败,请重试")}finally{f(!1)}}},E=()=>{p(),S()},A=C.filter(d=>d.status==="valid").length,Y=C.filter(d=>d.status==="warning").length,U=C.filter(d=>d.status==="error").length,re=[{id:1,title:"配置"},{id:2,title:"上传"},{id:3,title:"确认"}];return e.jsx(Ie,{"code-path":"src/components/server/ExcelServerImport.tsx:279:5",open:r,onOpenChange:E,children:e.jsxs(Fe,{"code-path":"src/components/server/ExcelServerImport.tsx:280:7",className:"max-w-3xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsxs(Ke,{"code-path":"src/components/server/ExcelServerImport.tsx:281:9",children:[e.jsx(ke,{"code-path":"src/components/server/ExcelServerImport.tsx:282:11",className:"text-xl",children:"CSV 批量导入服务器"}),e.jsx(Ee,{"code-path":"src/components/server/ExcelServerImport.tsx:283:11",className:"sr-only",children:"通过 CSV 文件批量导入服务器资产"})]}),e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:287:9",className:"flex items-center justify-center mb-6",children:re.map((d,$)=>e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:289:13",className:"flex items-center",children:[e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:290:15",className:`flex items-center justify-center w-8 h-8 rounded-full ${c===d.id?"bg-blue-600 text-white":c>d.id?"bg-emerald-600 text-white":"bg-[var(--dg-bg-secondary)] text-[var(--dg-text-muted)]"}`,children:c>d.id?e.jsx(ue,{"code-path":"src/components/server/ExcelServerImport.tsx:297:32",className:"h-4 w-4"}):d.id}),e.jsx("span",{"code-path":"src/components/server/ExcelServerImport.tsx:299:15",className:`ml-2 text-sm ${c===d.id?"text-[var(--dg-text-primary)]":"text-[var(--dg-text-muted)]"}`,children:d.title}),$<re.length-1&&e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:303:17",className:"w-12 h-0.5 bg-[var(--dg-border)] mx-3"})]},d.id))}),c===1&&e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:311:11",className:"space-y-6",children:[e.jsx(fe,{"code-path":"src/components/server/ExcelServerImport.tsx:313:13",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(we,{"code-path":"src/components/server/ExcelServerImport.tsx:314:15",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:315:17",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:316:19",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:317:21",className:"w-10 h-10 rounded-lg bg-emerald-500/20 flex items-center justify-center",children:e.jsx(Ge,{"code-path":"src/components/server/ExcelServerImport.tsx:318:2 Line truncated
`),le=new Blob(["\uFEFF"+_e],{type:"text/csv;charset=utf-8;"}),ce=URL.createObjectURL(le),xe=document.createElement("a");xe.href=ce,xe.download=`servers_${new Date().toISOString().slice(0,10)}.csv`,xe.click(),URL.revokeObjectURL(ce),W.success(`已导出 ${z.length} 台服务器`)},ar=8;return e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:362:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:364:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:365:9",children:[e.jsx("h1",{"code-path":"src/components/server/ServerManager.tsx:366:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:"服务器管理"}),e.jsx("p",{"code-path":"src/components/server/ServerManager.tsx:367:11",className:"text-sm text-[var(--dg-text-muted)] mt-1",children:"管理云平台服务器资产"})]}),e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:369:9",className:"flex items-center gap-2",children:[e.jsxs(y,{"code-path":"src/components/server/ServerManager.tsx:370:11",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",onClick:()=>J(),children:[e.jsx(de,{"code-path":"src/components/server/ServerManager.tsx:375:13",className:ie("h-4 w-4 mr-2",B&&"animate-spin")}),"刷新"]}),e.jsxs(y,{"code-path":"src/components/server/ServerManager.tsx:378:11",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",onClick:Pr,children:[e.jsx(Ze,{"code-path":"src/components/server/ServerManager.tsx:383:13",className:"h-4 w-4 mr-2"}),"导出"]}),c("server:create")&&e.jsxs(hr,{"code-path":"src/components/server/ServerManager.tsx:387:11",children:[e.jsx(gr,{"code-path":"src/components/server/ServerManager.tsx:388:13",asChild:!0,children:e.jsxs(y,{"code-path":"src/components/server/ServerManager.tsx:389:15",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",children:[e.jsx(Ye,{"code-path":"src/components/server/ServerManager.tsx:390:17",className:"h-4 w-4 mr-2"}),"批量导入"]})}),e.jsxs(ur,{"code-path":"src/components/server/ServerManager.tsx:394:13",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsx(br,{"code-path":"src/components/server/ServerManager.tsx:395:15",children:"选择导入方式"}),e.jsx(qe,{"code-path":"src/components/server/ServerManager.tsx:396:15",className:"bg-[var(--dg-border)]"}),e.jsxs(he,{"code-path":"src/components/server/ServerManager.tsx:397:15",className:"hover:bg-[var(--dg-bg-hover)] cursor-pointer focus:bg-[var(--dg-bg-hover)] focus:text-[var(--dg-text-primary)]",onClick:()=>j(!0),children:[e.jsx(jr,{"code-path":"src/components/server/ServerManager.tsx:401:17",className:"h-4 w-4 mr-2 text-[var(--dg-blue)]"}),"云主机导入",e.jsx("span",{"code-path":"src/components/server/ServerManager.tsx:403:17",className:"ml-2 text-xs text-[var(--dg-text-muted)]",children:"从云平台同步"})]}),e.jsxs(he,{"code-path":"src/components/server/ServerManager.tsx:405:15",className:"hover:bg-[var(--dg-bg-hover)] cursor-pointer focus:bg-[var(--dg-bg-hover)] focus:text-[var(--dg-text-primary)]",onClick:()=>u(!0),children:[e.jsx(Ge,{"code-path":"src/components/server/ServerManager.tsx:409:17",className:"h-4 w-4 mr-2 text-emerald-400"}),"CSV导入",e.jsx("span",{"code-path":"src/components/server/ServerManager.tsx:411:17",className:"ml-2 text-xs text-[var(--dg-text-muted)]",children:"hostname + IP 即可"})]})]})]}),c("server:create")&&e.jsxs(y,{"code-path":"src/components/server/ServerManager.tsx:417:13",className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",onClick:_r,children:[e.jsx(ls,{"code-path":"src/components/server/ServerManager.tsx:421:15",className:"h-4 w-4 mr-2"}),"添加服务器"]})]})]}),e.jsx(js,{"code-path":"src/components/server/ServerManager.tsx:429:7",servers:z}),e.jsx(fe,{"code-path":"src/components/server/ServerManager.tsx:432:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(we,{"code-path":"src/components/server/ServerManager.tsx:433:9",className:"p-0",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:435:11",className:"flex items-center justify-between flex-wrap gap-4 p-4",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:436:13",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:437:15",className:"relative w-64",children:[e.jsx(Nr,{"code-path":"src/components/server/ServerManager.tsx:438:17",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-[var(--dg-text-muted)]"}),e.jsx(V,{"code-path":"src/components/ Line truncated
@@ -1,2 +0,0 @@
import{r as n,j as s}from"./vendor-codemirror-B1SGo4xl.js";import{u as K,D as J,a as X,b as Y,c as Z,d as ss,e as os,B as x,ax as ve,f as Ws,t as H,j as Hs,l as $,k as De}from"./index-Dungj95X.js";import{T as fe,a as Le,b as Gs,c as Ks}from"./tabs-D87nAyJR.js";import{B as cs}from"./badge-CGJlVD3L.js";import{C as ys,a as gs,b as fs,c as Ls,d as Ts}from"./card-BIfzBCEy.js";import{I as D}from"./input-CXoUQQLm.js";import{T as Es,a as zs,b as es,c as C,d as $s,e as w}from"./table-B2F10oba.js";import{S as Rs,a as Is,b as _s,c as Fs,d as G}from"./select-CiTqGGhE.js";import{U as le,ag as Bs,aJ as ws,ah as Qs,v as de,y as qs,a as Js,N as Xs,L as Ss,R as Ys,S as Te,P as Zs,ar as we,aq as Ue,x as pe,T as se,j as ee,aO as te,ax as Ce,Q as Me,V as ie,a3 as ke,aw as Re,p as xe}from"./vendor-icons-DmqcWdzX.js";import{T as Ie}from"./textarea-BxfjmLq5.js";import{L as bs}from"./label-CMpUoC87.js";import{C as _e}from"./checkbox-Bu55mX0G.js";import{S as Ds}from"./switch-Bxiq4EHp.js";import{u as Fe}from"./use-toast-DNZLibQY.js";import"./index-5FEebgvX.js";function Oe({open:e,onOpenChange:l,editingUser:t,form:a,setForm:m,saving:p,onSubmit:b}){const[f,S]=n.useState([]);return n.useEffect(()=>{if(!e)return;let c=!1;return(async()=>{try{const L=await K.getRoles();if(c)return;const h=L?.list??[];S(h.map(y=>({id:String(y.id??""),name:y.name??y.code??""})))}catch{c||S([])}})(),()=>{c=!0}},[e]),s.jsx(J,{"code-path":"src/components/system/UserFormDialog.tsx:79:5",open:e,onOpenChange:l,children:s.jsxs(X,{"code-path":"src/components/system/UserFormDialog.tsx:80:7",className:"bg-slate-900 border-slate-800",children:[s.jsxs(Y,{"code-path":"src/components/system/UserFormDialog.tsx:81:9",children:[s.jsxs(Z,{"code-path":"src/components/system/UserFormDialog.tsx:82:11",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(le,{"code-path":"src/components/system/UserFormDialog.tsx:83:13",className:"h-5 w-5 text-blue-400"}),t?"编辑用户":"新建用户"]}),s.jsx(ss,{"code-path":"src/components/system/UserFormDialog.tsx:86:11",className:"text-slate-500",children:t?"修改用户信息":"创建新的系统用户"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:91:9",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:92:11",className:"grid grid-cols-2 gap-4",children:[s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:93:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:94:15",className:"text-xs text-slate-500",children:"用户名"}),s.jsx(D,{"code-path":"src/components/system/UserFormDialog.tsx:95:15",value:a.username,onChange:c=>m({...a,username:c.target.value}),disabled:!!t,className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"登录用户名"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:103:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:104:15",className:"text-xs text-slate-500",children:"昵称"}),s.jsx(D,{"code-path":"src/components/system/UserFormDialog.tsx:105:15",value:a.nickname,onChange:c=>m({...a,nickname:c.target.value}),className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"显示昵称"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:112:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:113:15",className:"text-xs text-slate-500",children:"邮箱"}),s.jsx(D,{"code-path":"src/components/system/UserFormDialog.tsx:114:15",value:a.email,onChange:c=>m({...a,email:c.target.value}),className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"user@example.com"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:121:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:122:15",className:"text-xs text-slate-500",children:"手机号"}),s.jsx(D,{"code-path":"src/components/system/UserFormDialog.tsx:123:15",value:a.phone,onChange:c=>m({...a,phone:c.target.value}),className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"可选"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:130:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:131:15",className:"text-xs text-slate-500",children:"角色"}),s.jsxs(Rs,{"code-path":"src/components/system/UserFormDialog.tsx:132:15",value:a.role,onValueChange:c=>m({...a,role:c}),children:[s.jsx(Is,{"code-path":"src/components/system/UserFormDialog.tsx:133:17",className:"bg-slate-800/50 border-slate-700 text-slate-200",children:s.jsx(_s,{"code-path":"src/components/system/UserFormDialog.tsx:134:19",placeholder:"选择角色"})}),s.jsx(Fs,{"code-path":"src/components/system/UserFormDiLine truncated
`).filter(v=>v.trim()&&!v.startsWith(""));if(ms.length<2)return;const xs=ms[0].split(",").map(v=>v.trim().toLowerCase()),Os=xs.findIndex(v=>v.includes("用户名")||v.includes("username")),Us=xs.findIndex(v=>v.includes("昵称")||v.includes("name")||v.includes("显示名")),Ps=xs.findIndex(v=>v.includes("邮箱")||v.includes("email")||v.includes("mail")),us=xs.findIndex(v=>v.includes("手机")||v.includes("phone")),Ns=xs.findIndex(v=>v.includes("角色")||v.includes("role")),vs=xs.findIndex(v=>v.includes("密码")||v.includes("password")),Cs=[];for(let v=1;v<ms.length;v++){const rs=ms[v].split(",").map(Ms=>Ms.trim());Cs.push({username:Os>=0?rs[Os]:"",nickname:Us>=0?rs[Us]:"",email:Ps>=0?rs[Ps]:"",phone:us>=0?rs[us]:"",role:Ns>=0?rs[Ns]:"",password:vs>=0?rs[vs]:""})}Q(Cs),F(null)},is.readAsText(ns,"UTF-8")},as=async()=>{U.setImporting(!0);try{const i=await K.batchImport({users:V,skip_existing:!0});F(i),await W()}catch(i){F({code:500,message:i?.message||"导入失败"})}finally{U.setImporting(!1)}};return s.jsxs("div",{"code-path":"src/components/system/SystemManager.tsx:234:5",className:"space-y-6",children:[s.jsx("div",{"code-path":"src/components/system/SystemManager.tsx:236:7",className:"flex items-center justify-between",children:s.jsxs("div",{"code-path":"src/components/system/SystemManager.tsx:237:9",children:[s.jsx("h1",{"code-path":"src/components/system/SystemManager.tsx:238:11",className:"text-2xl font-bold text-slate-100",children:"系统管理"}),s.jsx("p",{"code-path":"src/components/system/SystemManager.tsx:239:11",className:"text-sm text-slate-500 mt-1",children:"用户、权限与系统配置"})]})}),s.jsxs(fe,{"code-path":"src/components/system/SystemManager.tsx:244:7",value:a,onValueChange:m,className:"w-full",children:[s.jsxs(Le,{"code-path":"src/components/system/SystemManager.tsx:245:9",className:"bg-slate-800 border border-slate-700",children:[s.jsxs(Gs,{"code-path":"src/components/system/SystemManager.tsx:246:11",value:"users",className:"data-[state=active]:bg-slate-700",children:[s.jsx(ie,{"code-path":"src/components/system/SystemManager.tsx:247:13",className:"h-4 w-4 mr-2"}),"用户管理"]}),s.jsxs(Gs,{"code-path":"src/components/system/SystemManager.tsx:250:11",value:"roles",className:"data-[state=active]:bg-slate-700",children:[s.jsx(ee,{"code-path":"src/components/system/SystemManager.tsx:251:13",className:"h-4 w-4 mr-2"}),"角色权限"]}),s.jsxs(Gs,{"code-path":"src/components/system/SystemManager.tsx:254:11",value:"settings",className:"data-[state=active]:bg-slate-700",children:[s.jsx(xe,{"code-path":"src/components/system/SystemManager.tsx:255:13",className:"h-4 w-4 mr-2"}),"系统设置"]})]}),s.jsx(Ks,{"code-path":"src/components/system/SystemManager.tsx:260:9",value:"users",className:"mt-4 space-y-4",children:s.jsx(ze,{"code-path":"src/components/system/SystemManager.tsx:261:11",searchQuery:p,setSearchQuery:b,filteredUsers:ls,loading:c,selectedUser:h,setSelectedUser:y,getUserStatusBadge:ds,dialogOpen:M,setDialogOpen:E,editingUser:k,form:r,setForm:I,saving:ts,handleSubmit:A,openCreate:q,openEdit:ps,handleDelete:T,onResetPassword:i=>{y(null),j(i)},importDialogOpen:u,setImportDialogOpen:_,importPreview:V,setImportPreview:Q,importing:U.importing,importResult:hs,setImportResult:F,handleCsvUpload:O,handleBatchImport:as,ldapUsers:U.ldapUsers,ldapSelected:U.ldapSelected,setLdapSelected:U.setLdapSelected,ldapLoading:U.ldapLoading,ldapImportOUs:U.ldapImportOUs,ldapImportOUDN:U.ldapImportOUDN,setLdapImportOUDN:U.setLdapImportOUDN,loadLdapUsers:U.loadLdapUsers,handleLdapImport:U.handleLdapImport,setLdapUsers:U.setLdapUsers})}),s.jsx(Ks,{"code-path":"src/components/system/SystemManager.tsx:302:9",value:"roles",className:"mt-4 space-y-4",children:s.jsx(We,{"code-path":"src/components/system/SystemManager.tsx:303:11",selectedRole:g,setSelectedRole:P})}),s.jsx(Ks,{"code-path":"src/components/system/SystemManager.tsx:309:9",value:"settings",className:"mt-4",children:s.jsx(Xe,{"code-path":"src/components/system/SystemManager.tsx:310:11",...U.settingsTabProps})})]}),s.jsx(Ye,{"code-path":"src/components/system/SystemManager.tsx:314:7",user:N,onClose:()=>j(null)})]})}export{St as SystemManager};
@@ -1,3 +0,0 @@
import{r as n,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{J as oe,o as le,D as U,a as J,m as Q,c as X,d as G,f as ce,B as H,b as de}from"./index-Dungj95X.js";import{C as z,a as E}from"./card-BIfzBCEy.js";import{I as $}from"./input-CXoUQQLm.js";import{T as I,a as O,b as T,c as d,d as q,e as m}from"./table-B2F10oba.js";import{x as V,a as Y}from"./vendor-xterm-20M9KZE1.js";import{B as k}from"./badge-CGJlVD3L.js";import{m as me,a as pe}from"./xterm-utils-slbfdUHf.js";import{_ as K,L as Z,at as xe,au as he,X as ue,S as _,R as W,a$ as ge,b0 as ve,A as ee,b1 as fe,x as ye,z as je,v as Se}from"./vendor-icons-DmqcWdzX.js";import{u as se,q as te,b as ae}from"./unwrap-DPwG25JA.js";import{u as B}from"./useMutation-BkCR1EeO.js";import{t as L,s as be}from"./terminal-D5kNzib0.js";function ne(s={page:1,page_size:100}){return se({queryKey:te.terminalSessions(s),queryFn:async()=>{const r=await L.list(s);return ae(r)}})}function Ne(){const s=oe(),r=()=>s.invalidateQueries({queryKey:["terminal-sessions"]}),i=B({mutationFn:p=>L.kill(p),onSuccess:r}),c=B({mutationFn:p=>L.delete(p),onSuccess:r}),l=B({mutationFn:p=>L.batchDelete(p),onSuccess:r});return{killMutation:i,deleteMutation:c,batchDeleteMutation:l,invalidate:r}}function Pe(s={page:1,page_size:200}){return se({queryKey:te.sessionCommands(s),queryFn:async()=>{const r=await be.list(s);return ae(r)}})}function we({open:s,onOpenChange:r,sessionId:i,sessionInfo:c}){const l=n.useRef(null),p=n.useRef(null),f=n.useRef(null),u=n.useRef(null),[y,a]=n.useState(!1),[x,g]=n.useState(""),[t,P]=n.useState(c||null),[v,b]=n.useState(!1);n.useEffect(()=>{s||(a(!1),g(""),b(!1))},[s]),n.useEffect(()=>{if(!s||!i)return;a(!1),g("");const h=new V.Terminal({cursorBlink:!1,fontSize:13,fontFamily:'Menlo, Monaco, "Courier New", monospace',disableStdin:!0,allowProposedApi:!0,scrollback:5e3,theme:{background:"#0a0e14",foreground:"#d6d6d6",cursor:"#d6d6d6",selectionBackground:"rgba(255,255,255,0.2)"}}),o=new Y.FitAddon;h.loadAddon(o),p.current=h,f.current=o;const j=le.getState().token||localStorage.getItem("token")||(()=>{try{return JSON.parse(localStorage.getItem("user-storage")||"{}")?.state?.token||""}catch{return""}})(),M=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws/audit/${i}?token=${encodeURIComponent(j)}`,S=new WebSocket(M);u.current=S;let N=!1;S.onopen=()=>{N=!0,a(!0),g(""),me(h,o,()=>l.current),h.writeln("\x1B[36m[审计监控] 已连接到会话...\x1B[0m")},S.onmessage=R=>{try{const C=JSON.parse(R.data);switch(C.type){case"session_info":P(C.payload),h.writeln(`\x1B[36m用户: ${C.payload.username} 服务器: ${C.payload.server_name} (${C.payload.server_ip})\x1B[0m`);break;case"history":C.data&&h.write(C.data);break;case"output":C.data&&h.write(C.data);break}}catch{}},S.onerror=()=>g("WebSocket 连接失败"),S.onclose=R=>{N||g(`连接失败 (code=${R.code}): ${R.reason||"认证失败或网络问题"}`),a(!1),h.writeln(`\r
\x1B[33m[审计监控] 连接已断开\x1B[0m`)};const w=setTimeout(()=>{N||(g("连接超时 — 请确认已登录且有活跃会话"),S.close())},5e3);return()=>{clearTimeout(w),S.close(),h.dispose(),p.current=null,f.current=null,u.current=null,a(!1)}},[s,i]),n.useEffect(()=>{if(!s)return;let h,o=0;const j=()=>{const D=l.current,M=f.current,S=p.current;if(!D||!M||!S){o++<30&&requestAnimationFrame(j);return}h=pe(D,M,S)};return j(),()=>h?.()},[s,i,v]);const A=h=>h?new Date(h).toLocaleString():"--";return e.jsx(U,{"code-path":"src/components/system/LiveMonitorDialog.tsx:180:5",open:s,onOpenChange:r,children:e.jsxs(J,{"code-path":"src/components/system/LiveMonitorDialog.tsx:181:7",showCloseButton:!1,showOverlay:!1,className:Q("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",v?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:v?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"960px",width:"92vw"},children:[e.jsx(X,{"code-path":"src/components/system/LiveMonitorDialog.tsx:197:9",className:"sr-only",children:"终端实时监控"}),e.jsx(G,{"code-path":"src/components/system/LiveMonitorDialog.tsx:198:9",className:"sr-only",children:"审计在线 WebSSH 会话"}),e.jsxs("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:201:9",className:"flex items-center justify-between px-4 py-2 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:202:11",className:"flex items-center gap-2 text-sm min-w-0 flex-wrap",children:[e.jsx(K,{"code-path":"src/components/system/LiveMonitorDialog.tsx:203:13",className:"h-4 w-4 text-emerald-400 shrink-0"}),e.jsx("span",{"code-path":"src/components/system/LiveMonitorDialog.tsx:204:13",className:"text-[var(--dg-text-primary)] font-medium",children:"终端实时监控"}),t&&e.jsxs("span",{"code-path":"src/components/system/LiveMonitorDialog.tsx:206:15",className:"text-[var(--dg-text-muted)] truncate",children:[t.username," · ",t.server_name," (",t.server_ip,") · ",A(t.start_time)]}),y&&e.jsx(k,{"code-path":"src/components/system/LiveMonitorDialog.tsx:211:15",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10 text-xs",children:"● 在线"}),!y&&!x&&e.jsxs(k,{"code-path":"src/components/system/LiveMonitorDialog.tsx:216:15",variant:"outline",className:"border-yellow-500/30 text-yellow-400 bg-yellow-500/10 text-xs",children:[e.jsx(Z,{"code-path":"src/components/system/LiveMonitorDialog.tsx:217:17",className:"h-3 w-3 animate-spin mr-1"}),"连接中"]}),x&&e.jsx(k,{"code-path":"src/components/system/LiveMonitorDialog.tsx:222:15",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10 text-xs",children:"连接失败"})]}),e.jsxs("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:227:11",className:"flex items-center gap-1 shrink-0",children:[e.jsx("button",{"code-path":"src/components/system/LiveMonitorDialog.tsx:228:13",type:"button",onClick:()=>b(!v),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",title:v?"退出全屏":"全屏",children:v?e.jsx(xe,{"code-path":"src/components/system/LiveMonitorDialog.tsx:234:29",className:"h-4 w-4"}):e.jsx(he,{"code-path":"src/components/system/LiveMonitorDialog.tsx:234:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/system/LiveMonitorDialog.tsx:236:13",type:"button",onClick:()=>r(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(ue,{"code-path":"src/components/system/LiveMonitorDialog.tsx:241:15",className:"h-4 w-4"})})]})]}),x&&e.jsx("p",{"code-path":"src/components/system/LiveMonitorDialog.tsx:247:11",className:"text-sm text-red-400 px-4 py-2 border-b border-[var(--dg-border)]",children:x}),e.jsx("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:250:9",ref:l,className:"xterm-terminal-host",style:{height:v?"calc(100vh - 49px)":"520px"}})]})})}function re(s){if(!s||s<0)return"--";if(s<60)return`${s}秒`;const r=Math.floor(s/60),i=s%60;if(r<60)return`${r}分${i>0?`${i}秒`:""}`;const c=Math.floor(r/60),l=r%60;return`${c}时${l>0?`${l}分`:""}`}function Ce(s){return s?s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(2)} MB`:"0 B"}function ie(s){return s==="active"?e.jsxs(k,{"code-path":"src/pages/terminal-audit/helpers.tsx:26:7",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx("span",{"code-path":"src/pages/terminal-audit/helpers.tsx:27:9",className:"w-1.5 h-1.5 rounded-full bg-emerald-400 mr-1.5 inline-block animate-pulse"}),"活动中"]}):s==="failed"?e.jsx(k,{"code-path":"src/pages/terminal-audit/helpers.tsx:34:7",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:"失败"}):e.jsx(k,{"code-path":"src/pages/terminal-audit/helpers.tsx:40:5",variant:"outline",cla Line truncated
`).filter(N=>N.trim()),o=[];for(const N of h)try{const w=JSON.parse(N);Array.isArray(w)&&w.length>=3&&o.push({time:w[0],eventType:w[1],data:w[2]})}catch{}if(o.length===0){t.write(A),g(100),u(!1);return}u(!1);const j=o[o.length-1].time;let D=0,M=0;const S=()=>{if(v||D>=o.length){g(100);return}const N=o[D],w=(N.time-M)*1e3;M=N.time,D++;const R=Math.min(w,2e3);p.current=setTimeout(()=>{v||(t.write(N.data),g(Math.round(N.time/j*100)),S())},R)};S()}).catch(b=>{v||(console.error("[Replay] Load failed:",b),a("Failed to load recording data"),u(!1))}),()=>{v=!0,p.current&&clearTimeout(p.current);try{t.dispose()}catch{}l.current=null}},[s,i]),e.jsx(U,{"code-path":"src/components/system/ReplayDialog.tsx:153:5",open:s,onOpenChange:r,children:e.jsxs(J,{"code-path":"src/components/system/ReplayDialog.tsx:154:7",showOverlay:!1,className:"bg-slate-900 border-slate-800 p-0 gap-0",style:{maxWidth:"900px",width:"90vw"},children:[e.jsxs(de,{"code-path":"src/components/system/ReplayDialog.tsx:155:9",className:"px-4 py-3 border-b border-slate-800",children:[e.jsxs(X,{"code-path":"src/components/system/ReplayDialog.tsx:156:11",className:"text-slate-100 text-base flex items-center gap-2",children:["Terminal Replay #",i??"",x>0&&x<100&&e.jsxs("span",{"code-path":"src/components/system/ReplayDialog.tsx:159:15",className:"text-xs text-slate-500 font-normal ml-2",children:[x,"%"]})]}),e.jsx(G,{"code-path":"src/components/system/ReplayDialog.tsx:162:11",className:"text-slate-500 sr-only",children:"Replay recorded terminal output"})]}),e.jsxs("div",{"code-path":"src/components/system/ReplayDialog.tsx:164:9",className:"relative bg-[#0a0e14]",style:{height:"460px"},children:[f&&e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:166:13",className:"absolute inset-0 z-10 flex items-center justify-center bg-black/40",children:e.jsx(Z,{"code-path":"src/components/system/ReplayDialog.tsx:167:15",className:"h-6 w-6 animate-spin text-blue-400"})}),y&&e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:171:13",className:"absolute inset-0 z-10 flex items-center justify-center bg-black/40",children:e.jsx("p",{"code-path":"src/components/system/ReplayDialog.tsx:172:15",className:"text-red-400 text-sm",children:y})}),x>0&&x<100&&e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:176:13",className:"absolute bottom-0 left-0 right-0 h-0.5 bg-slate-800 z-10",children:e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:177:15",className:"h-full bg-blue-500 transition-all duration-300",style:{width:`${x}%`}})}),e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:183:11",ref:c,className:"absolute inset-0 p-1"})]})]})})}function Re(){const{data:s=[],isLoading:r,refetch:i}=ne({page:1,page_size:100,status:"closed"}),[c,l]=n.useState(""),[p,f]=n.useState(null),[u,y]=n.useState(!1),a=s.filter(t=>{const P=c.toLowerCase();return!P||(t.username||"").toLowerCase().includes(P)||(t.server_name||"").toLowerCase().includes(P)||(t.server_ip||"").toLowerCase().includes(P)}),x=t=>{f(t),y(!0)},g=async t=>{try{await L.download(t)}catch{}};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:57:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:58:9",className:"relative w-64",children:[e.jsx(_,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:59:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx($,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:60:11",placeholder:"搜索用户/服务器/IP...",value:c,onChange:t=>l(t.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]}),e.jsxs(H,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:67:9",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:()=>i(),children:[e.jsx(W,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:72:11",className:"h-4 w-4 mr-2"}),"刷新"]})]}),e.jsx(z,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:77:7",className:"bg-slate-900 border-slate-800",children:e.jsx(E,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:78:9",className:"p-0",children:e.jsx("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:79:11",className:"border-t border-slate-800",children:r?e.jsx("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:81:15",className:"flex items-center justify-center py-16",children:e.jsx("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:82:17",className:"w-8 h-8 border-2 border-blue-500 border-t-transparent rounded-full animate-spin"})}):a.length===0?e.jsxs("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:85:15",className:"flex flex-col items-center justify-center py-16 text-slate-500",children: Line truncated
@@ -1,2 +0,0 @@
import{j as e,r as p}from"./vendor-codemirror-B1SGo4xl.js";import{C as ae,a as ce,b as Ke,c as Ge,d as Ze}from"./card-BIfzBCEy.js";import{g as qe,f as es,B as S,D as Ve,a as Ne,b as ve,c as Se,d as Ce,e as ss,t as N}from"./index-Dungj95X.js";import{I as Ee}from"./input-CXoUQQLm.js";import{L as re}from"./label-CMpUoC87.js";import{B as $e}from"./badge-CGJlVD3L.js";import{S as le,a as ie,b as de,c as pe,d as ee}from"./select-CiTqGGhE.js";import{T as ts}from"./textarea-BxfjmLq5.js";import{k as _}from"./index-drGq01ok.js";import{h as _e,ad as Me,a4 as os,D as ns,N as as,B as cs,i as ue,G as rs,d as De,L as Le,R as ls,n as Re,P as is,ai as Ae,$ as ds,S as ps,T as ms}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";const me={cluster:"集群",loadbalancer:"Ingress",service:"Service",app:"Deployment",pod:"Pod",server:"Node",database:"数据库",external:"外部服务",custom:"自定义"},us=[{value:"database",label:"数据库",desc:"MySQL / Redis / PostgreSQL 等"},{value:"external",label:"外部服务",desc:"外部 API / CDN / DNS 等"},{value:"custom",label:"自定义",desc:"其他自定义节点"}],Q=x=>x.startsWith("custom-");function z(x,g="h-5 w-5"){switch(x){case"server":return e.jsx(_e,{"code-path":"src/components/kubernetes/topology-helpers.tsx:32:27",className:g});case"loadbalancer":return e.jsx(rs,{"code-path":"src/components/kubernetes/topology-helpers.tsx:33:33",className:g});case"cluster":return e.jsx(ue,{"code-path":"src/components/kubernetes/topology-helpers.tsx:34:28",className:g});case"app":return e.jsx(cs,{"code-path":"src/components/kubernetes/topology-helpers.tsx:35:24",className:g});case"service":return e.jsx(as,{"code-path":"src/components/kubernetes/topology-helpers.tsx:36:28",className:g});case"pod":return e.jsx(Me,{"code-path":"src/components/kubernetes/topology-helpers.tsx:37:24",className:g});case"database":return e.jsx(ns,{"code-path":"src/components/kubernetes/topology-helpers.tsx:38:29",className:g});case"external":return e.jsx(os,{"code-path":"src/components/kubernetes/topology-helpers.tsx:39:29",className:g});case"custom":return e.jsx(Me,{"code-path":"src/components/kubernetes/topology-helpers.tsx:40:27",className:g});default:return e.jsx(_e,{"code-path":"src/components/kubernetes/topology-helpers.tsx:41:21",className:g})}}function se(x){switch(x){case"server":return"bg-blue-500/20 text-blue-400 border-blue-500/30";case"loadbalancer":return"bg-purple-500/20 text-purple-400 border-purple-500/30";case"cluster":return"bg-cyan-500/20 text-cyan-400 border-cyan-500/30";case"app":return"bg-rose-500/20 text-rose-400 border-rose-500/30";case"service":return"bg-emerald-500/20 text-emerald-400 border-emerald-500/30";case"pod":return"bg-teal-500/20 text-teal-400 border-teal-500/30";case"database":return"bg-amber-500/20 text-amber-400 border-amber-500/30";case"external":return"bg-orange-500/20 text-orange-400 border-orange-500/30";case"custom":return"bg-slate-500/20 text-slate-400 border-slate-500/30";default:return"bg-slate-500/20 text-slate-400 border-slate-500/30"}}function hs(x,g,W,U,u,B=[]){const i=[],b=[],G=Math.max(1,g.length,W.length,U.length,B.length||u.length),d=Math.max(900,Math.min(G*140,2600)),T=[50,160,280,410,540,680],M=t=>{const r=Math.min(t,12);if(r===0)return[];if(r===1)return[d/2];const c=d/(r+1);return Array.from({length:r},(l,m)=>c*(m+1))},A=`cluster-${x.id}`;i.push({id:A,name:x.name||"集群",type:"cluster",x:d/2,y:T[0],data:{kind:"cluster",version:x.version,status:x.status,api_server:x.api_server,node_count:x.node_count,pod_count:x.pod_count}});const D=g.slice(0,12),te=M(D.length);D.forEach((t,r)=>{const c=`ingress-${t.id}`,l=Array.isArray(t.hosts)?t.hosts:t.hosts?JSON.parse(t.hosts):[],m=l.length?l.join(","):t.name||"",E=t.paths?t.paths:t.backend?`→${t.backend}`:"",J=E?`${m}
${E}`:m;i.push({id:c,name:J,type:"loadbalancer",x:te[r],y:T[1],data:{kind:"ingress",namespace:t.namespace,backend:t.backend,tls:t.tls,hosts:l}}),b.push({id:`e-${A}-${c}`,source:A,target:c,label:"route"})});const y=W.slice(0,12),Z=M(y.length);y.forEach((t,r)=>{const c=`service-${t.id}`;i.push({id:c,name:t.name,type:"service",x:Z[r],y:T[2],data:{kind:"service",namespace:t.namespace,type:t.type,cluster_ip:t.cluster_ip,external_ip:t.external_ip,selector:t.selector}})}),D.length>0&&y.length>0?D.forEach(t=>{const r=`ingress-${t.id}`,c=(t.backend||"").split(":")[0].trim();let l=y.filter(m=>m.name===c);l.length===0&&(l=y.filter(m=>m.namespace===t.namespace)),l.length===0&&(l=[y[0]]),l.forEach(m=>b.push({id:`e-${r}-service-${m.id}`,source:r,target:`service-${m.id}`,label:"→"}))}):y.length>0&&y.forEach(t=>b.push({id:`e-${A}-service-${t.id}`,source:A,target:`service-${t.id}`,label:"expose"}));const k=U.slice(0,12),oe=M(k.length);k.forEach((t,r)=>{const c=`deploy-${t.id}`;i.push({id:c,name:t.name,type:"app",x:oe[r],y:T[3],data:{kind:"deployment",namespace:t.namespace,replicas:t.replicas,ready_replicas:t.ready_replicas,available_replicas:t.available_replicas,image:t.image}})});const v=(B||[]).slice(0,12),j=M(v.length);v.forEach((t,r)=>{const c=`pod-${t.id||t.name}`;i.push({id:c,name:t.name||"pod",type:"pod",x:j[r],y:T[4],data:{kind:"pod",namespace:t.namespace,node:t.node_name||t.node,status:t.status,ip:t.ip}})}),k.length>0&&v.length>0&&k.forEach(t=>{const r=`deploy-${t.id}`;let c=v.filter(l=>l.namespace===t.namespace);c=c.filter(l=>(l.name||"").includes(t.name)||t.name&&(l.name||"").startsWith(t.name)),c.length===0&&(c=v.filter(l=>l.namespace===t.namespace).slice(0,3)),c.length===0&&(c=v.slice(0,2)),c.slice(0,3).forEach(l=>{const m=`pod-${l.id||l.name}`;b.push({id:`e-${r}-${m}`,source:r,target:m,label:"owns"})})}),y.length>0&&k.length>0&&y.forEach(t=>{const r=`service-${t.id}`;let c=[];try{const l=typeof t.selector=="string"?JSON.parse(t.selector||"{}"):t.selector||{},m=Object.entries(l);m.length>0&&(c=k.filter(E=>{let J={};try{J=typeof E.labels=="string"?JSON.parse(E.labels||"{}"):E.labels||{}}catch{}return m.every(([P,O])=>J[P]===O)}))}catch{}c.length===0&&(c=k.filter(l=>l.name===t.name)),c.length===0&&(c=k.filter(l=>l.namespace===t.namespace)),c.length===0&&(c=[k[0]]),c.slice(0,4).forEach(l=>b.push({id:`e-${r}-deploy-${l.id}`,source:r,target:`deploy-${l.id}`,label:"select"}))});const L=u.slice(0,12),V=M(L.length);L.forEach((t,r)=>{const c=`k8snode-${t.id}`;i.push({id:c,name:t.name,type:"server",x:V[r],y:T[5],data:{kind:"node",ip:t.ip,role:t.role,status:t.status,os:t.os,cpu:t.cpu,memory:t.memory,cpu_usage:t.cpu_usage,memory_usage:t.memory_usage,pod_count:t.pod_count}})});const I=L.filter(t=>(t.role||"").toLowerCase()==="worker"),C=I.length>0?I:L;return v.length>0&&C.length>0?v.forEach(t=>{const r=`pod-${t.id||t.name}`;C.slice(0,2).forEach(c=>b.push({id:`e-${r}-k8snode-${c.id}`,source:r,target:`k8snode-${c.id}`,label:"on"}))}):k.length>0&&C.length>0&&k.forEach(t=>{const r=`deploy-${t.id}`;C.slice(0,3).forEach(c=>b.push({id:`e-${r}-k8snode-${c.id}`,source:r,target:`k8snode-${c.id}`,label:"schedule"}))}),{nodes:i,edges:b}}function vs(){const{clusterCode:x}=qe(),g=es(),[W,U]=p.useState([]),[u,B]=p.useState(""),[i,b]=p.useState({nodes:[],edges:[]}),[F,G]=p.useState(!1),[d,T]=p.useState(null),[M,A]=p.useState(""),[D,te]=p.useState("all"),[y,Z]=p.useState(null),[k,oe]=p.useState({x:0,y:0}),v=p.useRef(null),[j,L]=p.useState(!1),[V,I]=p.useState(!1),[C,t]=p.useState(null),[,r]=p.useState(null),[c,l]=p.useState(!1),[m,E]=p.useState(1),[J,P]=p.useState(!1),[O,he]=p.useState(null),[w,H]=p.useState({name:"",type:"database",note:""}),xe=p.useCallback(async()=>{try{const n=(await _.getClusters())?.list||[];if(U(n),!u)if(x){const o=n.find(a=>(a.code||String(a.id))===x);o&&B(String(o.id))}else n.length>0&&B(String(n[0].id))}catch{U([])}},[x]);p.useEffect(()=>{xe()},[xe]);const ge=p.useCallback(async s=>{try{const o=await _.getTopology(s);if(o?.layout_data){const a=JSON.parse(o.layout_data);if(r(a),a.customNodes?.length>0){const h=Math.max(...a.customNodes.map(f=>{const R=f.id.match(/custom-(\d+)/);return R?parseInt(R[1]):0}));E(h+1)}return a}}catch{}return r(null),null},[]),K=p.useCallback(async()=>{if(u){G(!0);try{const s=$=>Array.isArray($)?$:$?.list||[],[n,o,a,h,f]=await Promise.all([_.getNodes(u).catch(()=>[]),_.getServices(u).catch(()=>[]),_.getDeployments(u).catch(()=>[]),_.getIngresses(u).catch(()=>[]),_.getPods(u).catch(()=>[])]),R=W.find($=>String($.id)===u)||{},X=hs(R,s(h),s(o),s(a),s(n),s(f)),Y=await ge(u);Y&&(Y.positions&&(X.nodes=X.nodes.map($=>{const ne=Y.positions[$.id];return ne?{...$,x:ne.x,y:ne.y}:$})),Y.customNodes&&(X.nodes=[...X.nodes,...Y.customNodes]),Y.customEdges&&(X.edges=[...X.edges,...Y.customEdges])),b(X)}catch{b({nodes:[],edges:[]})}finally{G(!1)}}},[u,W,ge]);p.useEffect(()=>{K()},[K]);const q=i.nodes.filter(s=>s.name.toLowerCase().includes(M.toLowerCase())&&(D==="all"||s.type===D)),be=new Set(q.map(s= Line truncated
@@ -1 +0,0 @@
import{r,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{t as y,B as w,D as z,a as Q,b as H,c as J,d as G,p as S,q as le}from"./index-Dungj95X.js";import{I as he}from"./input-CXoUQQLm.js";import{B as j}from"./badge-CGJlVD3L.js";import{C as M,a as N,b,c as C}from"./card-BIfzBCEy.js";import{S as ge}from"./stat-strip-BSQFwFzG.js";import{S as D,a as I,b as L,c as R,d as n}from"./select-CiTqGGhE.js";import{T as ue,a as Te,b as F,c as O}from"./tabs-D87nAyJR.js";import{L as s}from"./label-CMpUoC87.js";import{t as k}from"./trace-L8uY5gM3.js";import{S as je,R as Me,x as Ne,u as fe,aa as ve,J as ye,b as we,a as Se,y as be,Q as Ce,f as De,ab as Ie,ac as Le,ad as Re,a4 as Fe,h as Oe,ae as ke}from"./vendor-icons-DmqcWdzX.js";import"./index-5FEebgvX.js";const Ke=()=>{const[B,K]=r.useState([]),[p,U]=r.useState([]),[X,E]=r.useState(!1),[f,Z]=r.useState(""),[l,W]=r.useState("all"),[h,Y]=r.useState("all"),[g,_]=r.useState("1h"),[ee,ae]=r.useState("traces"),[m,te]=r.useState(null),[o,re]=r.useState(null),[ce,$]=r.useState(!1),[se,A]=r.useState(!1);r.useEffect(()=>{oe()},[g]);const oe=async()=>{await Promise.all([P(),ne()])},P=async()=>{E(!0);try{const a=await k.getTraces({timeRange:g,service:l,status:h});K(a.data||[])}catch{y.error("获取链路数据失败")}finally{E(!1)}},ne=async()=>{try{const a=await k.getServices(g);U(a.data||[])}catch{y.error("获取服务数据失败")}},me=async a=>{try{return(await k.getTraceDetail(a)).data}catch{return y.error("获取链路详情失败"),null}},v=a=>{switch(a){case"success":return e.jsxs(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:140:16",variant:"default",className:"bg-green-500 gap-1",children:[e.jsx(be,{"code-path":"src/components/monitor/trace/TraceManager.tsx:140:72",className:"w-3 h-3"}),"成功"]});case"error":return e.jsxs(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:142:16",variant:"destructive",className:"gap-1",children:[e.jsx(Se,{"code-path":"src/components/monitor/trace/TraceManager.tsx:142:63",className:"w-3 h-3"}),"错误"]});case"pending":return e.jsxs(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:144:16",variant:"outline",className:"gap-1",children:[e.jsx(we,{"code-path":"src/components/monitor/trace/TraceManager.tsx:144:59",className:"w-3 h-3"}),"进行中"]});default:return e.jsx(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:146:16",variant:"secondary",children:"未知"})}},de=a=>{switch(a){case"client":return e.jsx(ke,{"code-path":"src/components/monitor/trace/TraceManager.tsx:152:29",className:"w-4 h-4"});case"server":return e.jsx(Oe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:153:29",className:"w-4 h-4"});case"producer":return e.jsx(Fe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:154:31",className:"w-4 h-4"});case"consumer":return e.jsx(Re,{"code-path":"src/components/monitor/trace/TraceManager.tsx:155:31",className:"w-4 h-4"});default:return e.jsx(Le,{"code-path":"src/components/monitor/trace/TraceManager.tsx:156:23",className:"w-4 h-4"})}},ie=a=>{switch(a){case"success":return"bg-green-500";case"error":return"bg-red-500";case"pending":return"bg-yellow-500";default:return"bg-gray-500"}},d=a=>a<1?`${(a*1e3).toFixed(2)}μs`:a<1e3?`${a.toFixed(2)}ms`:`${(a/1e3).toFixed(2)}s`,V=B.filter(a=>{const t=a.traceId.toLowerCase().includes(f.toLowerCase())||a.operationName.toLowerCase().includes(f.toLowerCase()),i=l==="all"||a.serviceName===l,c=h==="all"||a.status===h;return t&&i&&c}),pe=Array.from(new Set(B.map(a=>a.serviceName))),xe=a=>{const t=new Map,i=[];return a.forEach(c=>{t.set(c.spanId,{...c,children:[]})}),a.forEach(c=>{const u=t.get(c.spanId);if(c.parentSpanId&&t.has(c.parentSpanId)){const x=t.get(c.parentSpanId);x.children=x.children||[],x.children.push(u)}else i.push(u)}),i},q=({span:a,level:t,totalDuration:i})=>{const[c,u]=r.useState(!0),x=i>0?a.duration/i*100:0;return e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:215:7",className:"select-none",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:216:9",className:"flex items-center py-2 hover:bg-muted/50 cursor-pointer border-l-2 border-transparent hover:border-blue-500",style:{paddingLeft:`${t*24+12}px`},onClick:()=>{re(a),A(!0)},children:[a.children?.length>0&&e.jsx(w,{"code-path":"src/components/monitor/trace/TraceManager.tsx:222:13",variant:"ghost",size:"sm",className:"h-4 w-4 p-0 mr-1",onClick:T=>{T.stopPropagation(),u(!c)},children:c?e.jsx(Ce,{"code-path":"src/components/monitor/trace/TraceManager.tsx:228:27",className:"w-3 h-3"}):e.jsx(De,{"code-path":"src/components/monitor/trace/TraceManager.tsx:228:65",className:"w-3 h-3"})}),!a.children?.length&&e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:231:38",className:"w-5"}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:233:11",className:"flex items-center gap-2 flex-1 min-w-0",children:[de(a.kind),e.jsx("span",{"code-path":"src/components/monitoLine truncated
@@ -1 +0,0 @@
import{r as o,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{f as R,B as t,D as F,a as O,b as T,c as A,t as a}from"./index-Dungj95X.js";import{I as u}from"./input-CXoUQQLm.js";import{B as I}from"./badge-CGJlVD3L.js";import{L as y}from"./label-CMpUoC87.js";import{d as n}from"./config-BrfI0oO-.js";import{R as $,P as H,L as K,V as w,j as V,d as X,T as _,a3 as q,a9 as J}from"./vendor-icons-DmqcWdzX.js";function oe(){const g=R(),[G,C]=o.useState([]),[k,j]=o.useState(!0),[S,D]=o.useState({}),[E,p]=o.useState(!1),[l,M]=o.useState(null),[i,m]=o.useState(""),[x,h]=o.useState(""),[U,v]=o.useState(!1),[f,N]=o.useState({}),c=async()=>{j(!0);try{const s=await n.getGroups();C(s?.list||[])}catch{a.error("加载失败")}finally{j(!1)}};o.useEffect(()=>{c()},[]);const z=async()=>{if(!i.trim()){a.error("请输入组名");return}v(!0);try{l?await n.updateGroup(l,{name:i,description:x}):await n.createGroup({name:i,description:x}),a.success(l?"已更新":"已创建"),p(!1),c()}catch{a.error("操作失败")}finally{v(!1)}},L=async s=>{if(await g({title:"删除用户组",description:`确定删除「${s.name}」?所有成员和流水线授权将同时移除。`,variant:"destructive"}))try{await n.deleteGroup(s.id),a.success("已删除"),c()}catch{a.error("删除失败")}},b=async s=>{const r=(f[s]||"").trim();if(!r){a.error("输入用户名");return}try{await n.addGroupMember(s,{username:r}),a.success("已添加"),c(),N(d=>({...d,[s]:""}))}catch{a.error("添加失败")}},B=async(s,r,d)=>{if(await g({title:"移除成员",description:`确定从组中移除「${d}」?`}))try{await n.removeGroupMember(s,r),a.success("已移除"),c()}catch{a.error("移除失败")}},P=s=>D(r=>({...r,[s]:!r[s]}));return e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:82:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:83:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:84:9",children:[e.jsx("h2",{"code-path":"src/components/deploy/UserGroupsManager.tsx:85:11",className:"text-lg font-semibold text-[var(--dg-text-primary)]",children:"用户组管理"}),e.jsx("p",{"code-path":"src/components/deploy/UserGroupsManager.tsx:86:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"创建用户组,将组授权给流水线,组内成员自动获得流水线权限"})]}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:88:9",className:"flex items-center gap-2",children:[e.jsxs(t,{"code-path":"src/components/deploy/UserGroupsManager.tsx:89:11",variant:"outline",size:"sm",onClick:c,children:[e.jsx($,{"code-path":"src/components/deploy/UserGroupsManager.tsx:89:68",className:"w-4 h-4 mr-1"}),"刷新"]}),e.jsxs(t,{"code-path":"src/components/deploy/UserGroupsManager.tsx:90:11",size:"sm",onClick:()=>{M(null),m(""),h(""),p(!0)},children:[e.jsx(H,{"code-path":"src/components/deploy/UserGroupsManager.tsx:91:13",className:"w-4 h-4 mr-1"}),"新建用户组"]})]})]}),k?e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:97:9",className:"flex justify-center py-12",children:e.jsx(K,{"code-path":"src/components/deploy/UserGroupsManager.tsx:97:52",className:"w-6 h-6 animate-spin text-[var(--dg-text-secondary)]"})}):G.length===0?e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:99:9",className:"text-center py-12 text-[var(--dg-text-secondary)]",children:[e.jsx(w,{"code-path":"src/components/deploy/UserGroupsManager.tsx:100:11",className:"w-10 h-10 mx-auto mb-3 opacity-30"}),e.jsx("p",{"code-path":"src/components/deploy/UserGroupsManager.tsx:101:11",children:"暂无用户组,点击「新建用户组」创建"})]}):e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:104:9",className:"space-y-3",children:G.map(s=>e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:106:13",className:"border border-[var(--dg-border)] rounded-lg bg-[var(--dg-bg-secondary)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:107:15",className:"flex items-center justify-between p-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:108:17",className:"flex items-center gap-3",style:{cursor:"pointer"},onClick:()=>P(s.id),children:[e.jsx(V,{"code-path":"src/components/deploy/UserGroupsManager.tsx:109:19",className:"w-5 h-5 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:110:19",children:[e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:111:21",className:"font-medium text-[var(--dg-text-primary)]",children:s.name}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:112:21",className:"text-xs text-[var(--dg-text-secondary)]",children:[s.description||"暂无描述"," · ",(s.members||[]).length," 位成员"]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:11Line truncated
@@ -1 +0,0 @@
import{r as d,j as e}from"./vendor-codemirror-B1SGo4xl.js";import{C as V,a as W,b as y,c as S}from"./card-BIfzBCEy.js";import{g as Te,i as Re,k as Le,f as $e,B as p}from"./index-Dungj95X.js";import{B as j}from"./badge-CGJlVD3L.js";import{T as re,a as ce,b as C,c as h,d as le,e as i}from"./table-B2F10oba.js";import{k as U}from"./index-drGq01ok.js";import{u as Ae}from"./use-toast-DNZLibQY.js";import{Y as de,P as Me,a as Be}from"./PodFileBrowser-B-U8iHmY.js";import{S as w,f as ie,s as q}from"./k8s-yaml-utils-4KZB_Bq_.js";import{m as ze,B as xe,n as Oe,o as Fe,p as _e,q as De,D as He,k as he,A as Ye,r as Ee,H as qe,s as Ie,P as Je}from"./vendor-icons-DmqcWdzX.js";import"./select-CiTqGGhE.js";import"./index-5FEebgvX.js";import"./vendor-xterm-20M9KZE1.js";function c({label:t,value:x,sub:P,color:u}){return e.jsx(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:30:5",className:"bg-slate-900 border-slate-800",children:e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:31:7",className:"p-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:32:9",className:"text-xs text-slate-500",children:t}),e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:33:9",className:"text-base font-bold mt-0.5",style:{color:u||"#e2e8f0"},children:x}),P&&e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:34:17",className:"text-[10px] text-slate-600 mt-0.5",children:P})]})})}function me({labels:t}){const x=Object.entries(t||{});return x.length===0?e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:43:36",className:"text-xs text-slate-600",children:"无"}):e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:45:5",className:"flex flex-wrap gap-1.5",children:x.map(([P,u])=>e.jsxs(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:47:9",variant:"outline",className:"border-slate-700 text-slate-400 text-[10px] font-mono",children:[P,"=",u]},P))})}function ls(){const t=Te(),x=Re(),P=Le(),{toast:u}=Ae(),ke=$e(),n=t.clusterCode||"",r=t.namespace||"",l=t.name||"",m=P.pathname.includes("/DaemonSet/")?"DaemonSet":"StatefulSet",T=t.mode==="yaml"?"yaml":"view",[N,ue]=d.useState(null),[R,be]=d.useState([]),[ge,I]=d.useState(!0),[we,L]=d.useState(!1),[v,F]=d.useState(1),[$,A]=d.useState(!1),[_,J]=d.useState(null),[D,K]=d.useState(null),[je,G]=d.useState(!1),M=d.useCallback(async()=>{I(!0);try{const[s,o]=await Promise.all([U.getResourceYaml(n,r,m.toLowerCase()+"s",l).catch(()=>""),U.getPods(n).catch(()=>[])]);let f=null;if(s&&typeof s=="string")try{f=JSON.parse(s)}catch{f={_raw:s}}else s&&typeof s=="object"&&(f=s);ue(f);const E=(Array.isArray(o)?o:o?.list||o?.data||[]).filter(O=>{const Ue=O.name||O.metadata?.name||"",ne=O.namespace||O.namespace_name||"";return Ue.startsWith(l)&&(!ne||ne===r)});be(E)}catch(s){console.error("load error",s)}finally{I(!1)}},[n,r,l,m]);d.useEffect(()=>{M()},[M]);const Q=s=>{s!==T&&x(`/kubernetes/${n}/namespace/${r}/workload/${s}/${m}/${l}`,{replace:!0})},Pe=async()=>{if(await ke({title:"滚动重启",description:`确认重启 ${m} ${l}?将触发滚动重启。`,confirmText:"重启"})){A(!0);try{m==="StatefulSet"?await U.restartStatefulSet(n,r,l):await U.restartDaemonSet(n,r,l),u({title:"重启指令已下发",description:`${m} 滚动重启已触发`}),setTimeout(M,1e3)}catch(o){u({title:"重启失败",description:o?.message||String(o),variant:"destructive"})}finally{A(!1)}}},Ve=async()=>{A(!0);try{await U.scaleStatefulSet(n,r,l,v),u({title:"扩缩容成功",description:`StatefulSet 副本数已更新为 ${v}`}),L(!1),setTimeout(M,1e3)}catch(s){u({title:"扩缩容失败",description:s?.message||String(s),variant:"destructive"})}finally{A(!1)}},k=N?.spec||{},b=N?.status||{},X=k?.template?.spec?.containers||[],Z=k?.template?.spec?.initContainers||[],B=k.replicas??1,ee=b.readyReplicas??0,We=b.currentReplicas??0,Ne=b.updatedReplicas??0,H=b.desiredNumberScheduled??0,fe=b.currentNumberScheduled??0,se=b.numberReady??0,ve=b.numberAvailable??0,ye=b.updatedNumberScheduled??0,g=m==="StatefulSet",z=g?ee===B&&B>0:se===H&&H>0,a=k.updateStrategy||{},Y=a.type||"RollingUpdate",te=k.volumeClaimTemplates||[],Se=k.selector?.matchLabels||{},Ce=N?.metadata?.labels||{},ae=N?.metadata?.annotations||{};return e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:191:5",className:"p-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:193:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:194:9",className:"flex items-center gap-3",children:[e.jsx(p,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:195:11",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-slate-200",onClick:()=>x(-1),children:e.jsx(ze,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:196:13",className:"h-4 w-4"})}),e.jsx(xe,{"code-path":"src/comLine truncated
@@ -1 +0,0 @@
import{h as c}from"./index-Dungj95X.js";const o={getAccounts:async()=>c.get("/cloud-accounts"),createAccount:async n=>c.post("/cloud-accounts",n),updateAccount:async(n,t)=>c.put(`/cloud-accounts/${n}`,t),deleteAccount:async n=>c.delete(`/cloud-accounts/${n}`),syncRegions:async n=>c.post(`/cloud-accounts/${n}/sync-regions`),getAccountRegions:async n=>c.get(`/cloud-accounts/${n}/regions`),discoverInstances:async(n,t)=>c.post(`/cloud-accounts/${n}/discover-instances`,{regions:t}),importInstances:async(n,t,s)=>c.post(`/cloud-accounts/${n}/import-instances`,{instances:t,...s}),getDomains:async n=>c.get("/domains",n),createDomain:async n=>c.post("/domains",n),updateDomain:async(n,t)=>c.put(`/domains/${n}`,t),deleteDomain:async n=>c.delete(`/domains/${n}`)};export{o as c};
-1
View File
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const g={getLatest:()=>t.get("/agent/latest"),getHistory:(e,a=1)=>t.get(`/agent/history/${e}?hours=${a}`),createTask:e=>t.post("/agent/tasks",e),listTasks:e=>t.get("/agent/tasks",e),execCommand:e=>t.post("/agent/exec",e),getAggregate:e=>t.get("/agent/aggregate",e),aggregate:e=>t.post("/agent/aggregate",e),listRules:()=>t.get("/agent/rules"),createRule:e=>t.post("/agent/rules",e),updateRule:(e,a)=>t.put(`/agent/rules/${e}`,a),deleteRule:e=>t.delete(`/agent/rules/${e}`),quickSetup:e=>t.post("/agent/rules/quick-setup",{type:e||"ecs"}),uninstallAgent:e=>t.post("/agent/uninstall",e),batchUninstall:e=>t.post("/agent/batch-uninstall",{server_ids:e}),batchUpgrade:e=>t.post("/agent/batch-upgrade",{server_ids:e}),listAlerts:e=>t.get("/agent/alerts",e),resolveAlert:e=>t.post(`/agent/alerts/${e}/resolve`),getHealthProbes:e=>t.get("/agent/health-probes",e),createHealthProbe:e=>t.post("/agent/health-probes",e),updateHealthProbe:(e,a)=>t.put(`/agent/health-probes/${e}`,a),deleteHealthProbe:e=>t.delete(`/agent/health-probes/${e}`),getPortPolicy:e=>t.get(`/agent/port-policies/${e}`),savePortPolicy:(e,a)=>t.put(`/agent/port-policies/${e}`,a)};export{g as a};
-4
View File
@@ -1,4 +0,0 @@
import{h as o,o as h}from"./index-Dungj95X.js";const C={getConfig:()=>o.get("/aiops/llm-config"),saveConfig:e=>o.put("/aiops/llm-config",e),testConnection:()=>o.post("/aiops/llm-config/test"),chat:(e,s)=>o.post("/aiops/chat",{messages:e,session_id:s||""}),chatStream:async(e,s,d,g)=>{const c=h.getState().token,n=await fetch("/api/v1/aiops/chat/stream",{method:"POST",headers:{"Content-Type":"application/json",...c?{Authorization:`Bearer ${c}`}:{}},body:JSON.stringify({messages:e,session_id:g||""}),signal:d});if(n.status===401)throw h.getState().logout(),window.location.href="/login",new Error("登录已过期,请重新登录");if(!n.body)throw new Error("流式响应不可用");const m=n.body.getReader(),u=new TextDecoder("utf-8");let r="",f="";for(;;){const{done:w,value:y}=await m.read();if(w)break;r+=u.decode(y,{stream:!0});const p=r.split(`
`);r=p.pop()??"";for(const S of p){const b=S.split(`
`);let a="message",l=[];for(const t of b)t.startsWith("event:")?a=t.slice(6).trim():t.startsWith("data:")&&l.push(t.slice(5).trim());const i=l.join("");if(i){if(a==="error")try{const t=JSON.parse(i);throw new Error(t.message||"LLM 流式响应错误")}catch(t){throw t instanceof Error&&t.message?t:new Error("LLM 流式响应错误")}if(a!=="done")try{const t=JSON.parse(i);typeof t.content=="string"&&(f+=t.content,s(t.content))}catch{}}}}return f},getHistory:e=>{const s=e?`?session_id=${encodeURIComponent(e)}`:"";return o.get(`/aiops/chat-history${s}`)},clearHistory:()=>o.delete("/aiops/chat-history")};export{C as a};
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const l={getAlerts:async e=>t.get("/alerts",e),getRules:async()=>t.get("/alerts/rules"),getChannels:async()=>t.get("/alerts/notify-channels"),acknowledge:async e=>t.post(`/alerts/${e}/ack`),resolve:async e=>t.post(`/alerts/${e}/ack`),getSilences:async e=>t.get("/alerts/silences",e),createSilence:async e=>t.post("/alerts/silences",e),updateSilence:async(e,s)=>t.put(`/alerts/silences/${e}`,s),deleteSilence:async e=>t.delete(`/alerts/silences/${e}`),toggleSilence:async e=>t.post(`/alerts/silences/${e}/toggle`),toggleRule:async e=>t.post(`/alerts/rules/${e}/toggle`),createRule:async e=>t.post("/alerts/rules",e),deleteRule:async e=>t.delete(`/alerts/rules/${e}`),quickSetup:async(e="ecs")=>t.post("/alerts/quick-setup",{type:e})};export{l as a};
-1
View File
@@ -1 +0,0 @@
import{h as e}from"./index-Dungj95X.js";const a={getAlerts:async t=>e.get("/alerts",t),getRules:async()=>e.get("/alerts/rules"),createRule:async t=>e.post("/alerts/rules",t),updateRule:async(t,r)=>e.put(`/alerts/rules/${t}`,r),deleteRule:async t=>e.delete(`/alerts/rules/${t}`),batchDeleteRules:async t=>e.delete("/alerts/rules/batch-delete",{ids:t}),toggleRule:async t=>e.post(`/alerts/rules/${t}/toggle`),acknowledge:async t=>e.post(`/alerts/${t}/ack`),getNotifyChannels:async()=>e.get("/alerts/notify-channels"),createNotifyChannel:async t=>e.post("/alerts/notify-channels",t),updateNotifyChannel:async(t,r)=>e.put(`/alerts/notify-channels/${t}`,r),deleteNotifyChannel:async t=>e.delete(`/alerts/notify-channels/${t}`),testNotifyChannel:async t=>e.post(`/alerts/notify-channels/${t}/test`),getContacts:async()=>e.get("/alerts/contacts"),createContact:async t=>e.post("/alerts/contacts",t),updateContact:async(t,r)=>e.put(`/alerts/contacts/${t}`,r),deleteContact:async t=>e.delete(`/alerts/contacts/${t}`),getContactGroups:async()=>e.get("/alerts/contact-groups"),createContactGroup:async t=>e.post("/alerts/contact-groups",t),updateContactGroup:async(t,r)=>e.put(`/alerts/contact-groups/${t}`,r),deleteContactGroup:async t=>e.delete(`/alerts/contact-groups/${t}`)};export{a};
@@ -1 +0,0 @@
import{h as a}from"./index-Dungj95X.js";const t={list:async e=>a.get("/approval-workflows",e),get:async e=>a.get(`/approval-workflows/${e}`),create:async e=>a.post("/approval-workflows",e),update:async(e,s)=>a.put(`/approval-workflows/${e}`,s),delete:async e=>a.delete(`/approval-workflows/${e}`),setDefault:async e=>a.put(`/approval-workflows/${e}/default`),getSteps:async e=>a.get(`/approval-workflows/${e}/steps`)},o={getTemplates:async e=>a.get("/approvals/templates",e),getTemplate:async e=>a.get(`/approvals/templates/${e}`),createTemplate:async e=>a.post("/approvals/templates",e),updateTemplate:async(e,s)=>a.put(`/approvals/templates/${e}`,s),deleteTemplate:async e=>a.delete(`/approvals/templates/${e}`),getProcesses:async e=>a.get("/approvals/processes",e),createProcess:async e=>a.post("/approvals/processes",e),approveProcess:async(e,s)=>a.post(`/approvals/processes/${e}/approve`,{comment:s}),rejectProcess:async(e,s)=>a.post(`/approvals/processes/${e}/reject`,{comment:s})};export{t as a,o as b};
-1
View File
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const g={getLogs:async s=>t.get("/audit/logs",s),getLogDetail:async s=>t.get(`/audit/logs/${s}`),getModules:async()=>t.get("/audit/modules"),getActions:async()=>t.get("/audit/actions"),getStatistics:async()=>t.get("/audit/statistics"),exportLogs:async s=>{const e=new URLSearchParams;return e.set("format","csv"),s&&Object.entries(s).forEach(([o,a])=>{a!=null&&a!==""&&e.set(o,String(a))}),t.download(`/audit/logs/export?${e.toString()}`)},clearLogs:async()=>t.post("/audit/logs/clear")};export{g as a};
@@ -1 +0,0 @@
import{h as e}from"./index-Dungj95X.js";const c={getJobs:async t=>e.get("/cron-jobs",t),getJob:async t=>e.get(`/cron-jobs/${t}`),createJob:async t=>e.post("/cron-jobs",t),updateJob:async(t,r)=>e.put(`/cron-jobs/${t}`,r),deleteJob:async t=>e.delete(`/cron-jobs/${t}`),toggleJob:async t=>e.post(`/cron-jobs/${t}/toggle`),executeJob:async t=>e.post(`/cron-jobs/${t}/execute`),batchDelete:async t=>e.delete("/cron-jobs/batch-delete",{ids:t})},n={getScripts:async t=>e.get("/scripts",t),getScript:async t=>e.get(`/scripts/${t}`),createScript:async t=>e.post("/scripts",t),updateScript:async(t,r)=>e.put(`/scripts/${t}`,r),deleteScript:async t=>e.delete(`/scripts/${t}`),batchDelete:async t=>e.post("/scripts/batch-delete",{ids:t}),executeScript:async t=>e.post(`/scripts/${t}/execute`)},o={getExecutions:async t=>e.get("/task-executions",t)};export{c,n as s,o as t};
-1
View File
@@ -1 +0,0 @@
import{j as n}from"./vendor-codemirror-B1SGo4xl.js";import{S as s,m as o,n as d}from"./index-Dungj95X.js";const c=d("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function g({className:e,variant:r,asChild:t=!1,...a}){const i=t?s:"span";return n.jsx(i,{"code-path":"src/components/ui/badge.tsx:38:5","data-slot":"badge",className:o(c({variant:r}),e),...a})}export{g as B};
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const s={getStats:async()=>t.get("/cloud-billings/stats"),list:async e=>t.get("/cloud-billings",e),create:async e=>t.post("/cloud-billings",e),batchCreate:async e=>t.post("/cloud-billings/batch",{records:e}),remove:async e=>t.delete(`/cloud-billings/${e}`),getProviders:async()=>t.get("/cloud-billings/providers"),listAlertRules:async()=>t.get("/billing-alerts"),createAlertRule:async e=>t.post("/billing-alerts",e),updateAlertRule:async(e,l)=>t.put(`/billing-alerts/${e}`,l),deleteAlertRule:async e=>t.delete(`/billing-alerts/${e}`),toggleAlertRule:async e=>t.post(`/billing-alerts/${e}/toggle`)};export{s as b};
-1
View File
@@ -1 +0,0 @@
import{j as r}from"./vendor-codemirror-B1SGo4xl.js";import{m as o}from"./index-Dungj95X.js";function e({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:7:5","data-slot":"card",className:o("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...t})}function c({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:20:5","data-slot":"card-header",className:o("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...t})}function n({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:33:5","data-slot":"card-title",className:o("leading-none font-semibold",a),...t})}function i({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:43:5","data-slot":"card-description",className:o("text-muted-foreground text-sm",a),...t})}function u({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:66:5","data-slot":"card-content",className:o("px-6",a),...t})}export{e as C,u as a,c as b,n as c,i as d};
@@ -1 +0,0 @@
import{r as i,j as o}from"./vendor-codemirror-B1SGo4xl.js";import{w as L,P as O,x as _,y as H,z as w,A as j,C as G,m as K}from"./index-Dungj95X.js";import{u as U}from"./index-5FEebgvX.js";import{w as X}from"./vendor-icons-DmqcWdzX.js";var y="Checkbox",[$]=L(y),[J,P]=$(y);function Q(t){const{__scopeCheckbox:n,checked:a,children:l,defaultChecked:s,disabled:e,form:h,name:b,onCheckedChange:d,required:k,value:x="on",internal_do_not_use_render:u}=t,[p,v]=H({prop:a,defaultProp:s??!1,onChange:d,caller:y}),[m,C]=i.useState(null),[g,r]=i.useState(null),c=i.useRef(!1),E=m?!!h||!!m.closest("form"):!0,R={checked:p,disabled:e,setChecked:v,control:m,setControl:C,name:b,form:h,value:x,hasConsumerStoppedPropagationRef:c,required:k,defaultChecked:f(s)?!1:s,isFormControl:E,bubbleInput:g,setBubbleInput:r};return o.jsx(J,{scope:n,...R,children:V(u)?u(R):l})}var N="CheckboxTrigger",S=i.forwardRef(({__scopeCheckbox:t,onKeyDown:n,onClick:a,...l},s)=>{const{control:e,value:h,disabled:b,checked:d,required:k,setControl:x,setChecked:u,hasConsumerStoppedPropagationRef:p,isFormControl:v,bubbleInput:m}=P(N,t),C=w(s,x),g=i.useRef(d);return i.useEffect(()=>{const r=e?.form;if(r){const c=()=>u(g.current);return r.addEventListener("reset",c),()=>r.removeEventListener("reset",c)}},[e,u]),o.jsx(_.button,{type:"button",role:"checkbox","aria-checked":f(d)?"mixed":d,"aria-required":k,"data-state":z(d),"data-disabled":b?"":void 0,disabled:b,value:h,...l,ref:C,onKeyDown:j(n,r=>{r.key==="Enter"&&r.preventDefault()}),onClick:j(a,r=>{u(c=>f(c)?!0:!c),m&&v&&(p.current=r.isPropagationStopped(),p.current||r.stopPropagation())})})});S.displayName=N;var B=i.forwardRef((t,n)=>{const{__scopeCheckbox:a,name:l,checked:s,defaultChecked:e,required:h,disabled:b,value:d,onCheckedChange:k,form:x,...u}=t;return o.jsx(Q,{__scopeCheckbox:a,checked:s,defaultChecked:e,disabled:b,required:h,onCheckedChange:k,name:l,form:x,value:d,internal_do_not_use_render:({isFormControl:p})=>o.jsxs(o.Fragment,{children:[o.jsx(S,{...u,ref:n,__scopeCheckbox:a}),p&&o.jsx(q,{__scopeCheckbox:a})]})})});B.displayName=y;var A="CheckboxIndicator",M=i.forwardRef((t,n)=>{const{__scopeCheckbox:a,forceMount:l,...s}=t,e=P(A,a);return o.jsx(O,{present:l||f(e.checked)||e.checked===!0,children:o.jsx(_.span,{"data-state":z(e.checked),"data-disabled":e.disabled?"":void 0,...s,ref:n,style:{pointerEvents:"none",...t.style}})})});M.displayName=A;var T="CheckboxBubbleInput",q=i.forwardRef(({__scopeCheckbox:t,...n},a)=>{const{control:l,hasConsumerStoppedPropagationRef:s,checked:e,defaultChecked:h,required:b,disabled:d,name:k,value:x,form:u,bubbleInput:p,setBubbleInput:v}=P(T,t),m=w(a,v),C=U(e),g=G(l);i.useEffect(()=>{const c=p;if(!c)return;const E=window.HTMLInputElement.prototype,I=Object.getOwnPropertyDescriptor(E,"checked").set,D=!s.current;if(C!==e&&I){const F=new Event("click",{bubbles:D});c.indeterminate=f(e),I.call(c,f(e)?!1:e),c.dispatchEvent(F)}},[p,C,e,s]);const r=i.useRef(f(e)?!1:e);return o.jsx(_.input,{type:"checkbox","aria-hidden":!0,defaultChecked:h??r.current,required:b,disabled:d,name:k,value:x,form:u,...n,tabIndex:-1,ref:m,style:{...n.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});q.displayName=T;function V(t){return typeof t=="function"}function f(t){return t==="indeterminate"}function z(t){return f(t)?"indeterminate":t?"checked":"unchecked"}function te({className:t,...n}){return o.jsx(B,{"code-path":"src/components/ui/checkbox.tsx:14:5","data-slot":"checkbox",className:K("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...n,children:o.jsx(M,{"code-path":"src/components/ui/checkbox.tsx:22:7","data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:o.jsx(X,{"code-path":"src/components/ui/checkbox.tsx:26:9",className:"size-3.5"})})})}export{te as C};
@@ -1 +0,0 @@
import{r as y,j as s}from"./vendor-codemirror-B1SGo4xl.js";import{B as h,m as a}from"./index-Dungj95X.js";import{u as f}from"./use-toast-DNZLibQY.js";import{w as b,az as g}from"./vendor-icons-DmqcWdzX.js";async function v(t){if(!t)return!1;try{if(typeof navigator<"u"&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}if(typeof document>"u")return!1;const e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.top="0",e.style.left="0",e.style.width="2em",e.style.height="2em",e.style.padding="0",e.style.border="none",e.style.outline="none",e.style.boxShadow="none",e.style.background="transparent",e.style.opacity="0",e.style.pointerEvents="none",e.style.zIndex="-1",e.style.fontSize="16px",e.contentEditable="true",e.readOnly=!0,document.body.appendChild(e),e.focus(),e.select(),e.setSelectionRange&&e.setSelectionRange(0,t.length);let o=!1;try{o=document.execCommand("copy")}catch{o=!1}return document.body.removeChild(e),o}function w({text:t,label:e="已复制",children:o,className:c,size:n="sm",variant:r="outline",disabled:l,title:i="复制"}){const{toast:d}=f(),[u,p]=y.useState(!1),m=async()=>{await v(t)?(p(!0),d({title:e}),setTimeout(()=>p(!1),2e3)):d({title:"复制失败",description:"请手动选中内容后复制",variant:"destructive"})},x=!o&&n==="icon";return s.jsxs(h,{"code-path":"src/components/ui/copy-button.tsx:53:5",type:"button",variant:r,size:n,className:a(x?"h-8 w-8 shrink-0":"shrink-0",c),onClick:m,disabled:l||!t,title:i,"aria-label":i,children:[u?s.jsx(b,{"code-path":"src/components/ui/copy-button.tsx:67:9",className:a("text-emerald-400",o?"h-3.5 w-3.5 mr-1":"h-3.5 w-3.5")}):s.jsx(g,{"code-path":"src/components/ui/copy-button.tsx:69:9",className:a(o?"h-3.5 w-3.5 mr-1":"h-3.5 w-3.5")}),o]})}function E({label:t,code:e,copyLabel:o="已复制",className:c,copyDisabled:n,copyDisabledTitle:r}){return s.jsxs("div",{"code-path":"src/components/ui/code-snippet-block.tsx:19:5",className:a("space-y-1.5",c),children:[s.jsxs("div",{"code-path":"src/components/ui/code-snippet-block.tsx:20:7",className:"flex items-center justify-between gap-2",children:[t?s.jsx("p",{"code-path":"src/components/ui/code-snippet-block.tsx:22:11",className:"text-xs text-[var(--dg-text-muted)]",children:t}):s.jsx("span",{"code-path":"src/components/ui/code-snippet-block.tsx:24:11"}),s.jsx(w,{"code-path":"src/components/ui/code-snippet-block.tsx:26:9",text:e,label:o,variant:"outline",size:"sm",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] h-7 px-2",disabled:n,title:n?r||"不可复制":"复制",children:"复制"})]}),s.jsx("pre",{"code-path":"src/components/ui/code-snippet-block.tsx:38:7",className:"text-[11px] font-mono text-[var(--dg-text-secondary)] bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)] rounded-md p-3 overflow-x-auto whitespace-pre-wrap leading-relaxed",children:e})]})}export{E as C};
-1
View File
@@ -1 +0,0 @@
import{h as o}from"./index-Dungj95X.js";const p={getRepos:()=>o.get("/deploy/repos"),getRepo:e=>o.get(`/deploy/repos/${e}`),createRepo:e=>o.post("/deploy/repos",e),updateRepo:(e,t)=>o.put(`/deploy/repos/${e}`,t),deleteRepo:e=>o.delete(`/deploy/repos/${e}`),getRegistries:()=>o.get("/deploy/registries"),getRegistry:e=>o.get(`/deploy/registries/${e}`),createRegistry:e=>o.post("/deploy/registries",e),updateRegistry:(e,t)=>o.put(`/deploy/registries/${e}`,t),deleteRegistry:e=>o.delete(`/deploy/registries/${e}`),getEnvironments:()=>o.get("/deploy/environments"),createEnvironment:e=>o.post("/deploy/environments",e),updateEnvironment:(e,t)=>o.put(`/deploy/environments/${e}`,t),deleteEnvironment:e=>o.delete(`/deploy/environments/${e}`),getItemRoles:()=>o.get("/admin/item-roles"),createItemRole:e=>o.post("/admin/item-roles",e),updateItemRole:(e,t)=>o.put(`/admin/item-roles/${e}`,t),deleteItemRole:e=>o.delete(`/admin/item-roles/${e}`),getUserItemRoles:e=>o.get(`/admin/users/${e}/item-roles`),assignItemRole:(e,t)=>o.post(`/admin/users/${e}/item-roles`,t),removeItemRole:(e,t)=>o.delete(`/admin/users/${e}/item-roles/${t}`),getGroups:()=>o.get("/deploy/groups"),createGroup:e=>o.post("/deploy/groups",e),updateGroup:(e,t)=>o.put(`/deploy/groups/${e}`,t),deleteGroup:e=>o.delete(`/deploy/groups/${e}`),getGroupMembers:e=>o.get(`/deploy/groups/${e}/members`),addGroupMember:(e,t)=>o.post(`/deploy/groups/${e}/members`,t),removeGroupMember:(e,t)=>o.delete(`/deploy/groups/${e}/members/${t}`),getTools:()=>o.get("/deploy/tools"),getTool:e=>o.get(`/deploy/tools/${e}`),updateTool:(e,t)=>o.put(`/deploy/tools/${e}`,t),installTool:(e,t)=>o.post(`/deploy/tools/${e}/install`,t?{version:t}:{}),checkTool:e=>o.post(`/deploy/tools/${e}/check`),getToolVersions:e=>o.get(`/deploy/tools/${e}/versions`)};export{p as d};
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const a={list:e=>t.get("/credentials",e),get:e=>t.get(`/credentials/${e}`),create:e=>t.post("/credentials",e),update:(e,s)=>t.put(`/credentials/${e}`,s),delete:e=>t.delete(`/credentials/${e}`),toggleActive:(e,s)=>t.put(`/credentials/${e}`,{is_active:s})},r={assign:(e,s)=>t.post(`/servers/${e}/assign-credential`,{credential_id:s})};export{a as c,r as s};
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const a={getStats:async()=>t.get("/dashboard/stats"),getAlerts:async e=>t.get("/dashboard/recent-alerts",e?{limit:e}:void 0),getReleases:async e=>t.get("/dashboard/recent-releases",e?{limit:e}:void 0),getMetrics:async e=>t.get("/dashboard/metrics",e?{hours:e}:void 0)};export{a as d};
@@ -1 +0,0 @@
import{h as e}from"./index-Dungj95X.js";const o={list:()=>e.get("/prometheus-datasources"),get:t=>e.get(`/prometheus-datasources/${t}`),create:t=>e.post("/prometheus-datasources",t),update:(t,s)=>e.put(`/prometheus-datasources/${t}`,s),delete:t=>e.delete(`/prometheus-datasources/${t}`),setDefault:t=>e.post(`/prometheus-datasources/${t}/default`),testConnection:t=>e.post("/prometheus-datasources/test",t)},u={list:()=>e.get("/zabbix-datasources"),get:t=>e.get(`/zabbix-datasources/${t}`),create:t=>e.post("/zabbix-datasources",t),update:(t,s)=>e.put(`/zabbix-datasources/${t}`,s),delete:t=>e.delete(`/zabbix-datasources/${t}`),setDefault:t=>e.post(`/zabbix-datasources/${t}/default`),testConnection:t=>e.post("/zabbix-datasources/test",t)};export{o as p,u as z};
@@ -1 +0,0 @@
const e={getDashboards:async()=>({data:[],total:0}),getDatasources:async()=>({data:[],total:0}),createDashboard:async a=>({success:!1}),updateDashboard:async(a,s)=>({success:!1}),deleteDashboard:async a=>({success:!1}),createDatasource:async a=>({success:!1})};export{e as d};
-1
View File
@@ -1 +0,0 @@
import{l as s,u as e}from"./index-Dungj95X.js";import{d as t}from"./dashboard-D0JujfHp.js";import{s as A}from"./server-P3fi-cmJ.js";import{r as f}from"./region-CNZ3vwAq.js";import{k as n}from"./index-drGq01ok.js";import{p as c}from"./pipeline-DO4lDm_n.js";import{d as u}from"./config-BrfI0oO-.js";import{c as k,s as v}from"./credential-Cu8tj7EE.js";import{c as C,s as h,t as y}from"./automation-C9TdY9Jc.js";import{a as P}from"./alert-v1WaPeEX.js";import{a as w}from"./alert-center-Dr8niqD0.js";import{s as J}from"./site-Cslo2fp0.js";import{t as W}from"./trace-L8uY5gM3.js";import{d as q}from"./grafana-DTc3taUi.js";import{p as F,z as G}from"./datasource-DsDBrwno.js";import{l as I}from"./log-center-ELxahGiS.js";import{m as M,p as N,s as O,z as Q}from"./metrics-DW1ylkmD.js";import{a as T}from"./agent-CZzlLHxR.js";import{c as V}from"./account--x8iUlBA.js";import{p as Y}from"./platform-BwZ5CngP.js";import{b as _}from"./billing-DhtxUWwz.js";import{a as rr}from"./audit-BpVBSeA1.js";import{l as or,s as ar,t as sr}from"./terminal-D5kNzib0.js";import{b as ir,a as tr}from"./approval-BY_CqGOr.js";import{a as Ar}from"./ai-D8ZhLQOB.js";import"./vendor-codemirror-B1SGo4xl.js";import"./vendor-icons-DmqcWdzX.js";export{T as agentApi,Ar as aiApi,P as alertApi,w as alertCenterApi,ir as approvalApi,tr as approvalWorkflowApi,rr as auditApi,_ as billingApi,V as cloudApi,k as credentialApi,C as cronJobApi,q as dashboardApi,t as dashboardStatsApi,u as deployApi,n as kubernetesApi,s as ldapApi,I as logCenterApi,or as loginLogApi,M as metricsApi,c as pipelineApi,Y as platformApi,F as promDatasourceApi,N as prometheusProxyApi,f as regionApi,h as scriptApi,A as serverApi,v as serverCredentialApi,ar as sessionCommandApi,J as siteApi,O as snmpApi,y as taskExecutionApi,sr as terminalSessionApi,W as traceApi,e as userApi,G as zabbixDatasourceApi,Q as zabbixProxyApi};
-1
View File
@@ -1 +0,0 @@
import{r as u}from"./vendor-codemirror-B1SGo4xl.js";function o(r){const e=u.useRef({value:r,previous:r});return u.useMemo(()=>(e.current.value!==r&&(e.current.previous=e.current.value,e.current.value=r),e.current.previous),[r])}export{o as u};
-103
View File
@@ -1,103 +0,0 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dashboard-jrJNQyDv.js","assets/vendor-codemirror-B1SGo4xl.js","assets/dashboard-D0JujfHp.js","assets/server-P3fi-cmJ.js","assets/index-drGq01ok.js","assets/stat-strip-BSQFwFzG.js","assets/card-BIfzBCEy.js","assets/badge-CGJlVD3L.js","assets/vendor-icons-DmqcWdzX.js","assets/AreaChart-yrR-Mxho.js","assets/ServerManager-DRO89iT_.js","assets/input-CXoUQQLm.js","assets/checkbox-Bu55mX0G.js","assets/index-5FEebgvX.js","assets/table-B2F10oba.js","assets/select-CiTqGGhE.js","assets/unwrap-DPwG25JA.js","assets/useMutation-BkCR1EeO.js","assets/account--x8iUlBA.js","assets/vendor-xterm-20M9KZE1.js","assets/vendor-xterm-DXOU9pbP.css","assets/xterm-utils-slbfdUHf.js","assets/credential-Cu8tj7EE.js","assets/region-CNZ3vwAq.js","assets/label-CMpUoC87.js","assets/textarea-BxfjmLq5.js","assets/CloudAccountManager-CAH48BOY.js","assets/DomainManager-BVDiC0aB.js","assets/RegionManager-SQdvSTOO.js","assets/PlatformManager-DX8QfUd6.js","assets/platform-BwZ5CngP.js","assets/CloudBilling-BR3942nv.js","assets/switch-Bxiq4EHp.js","assets/billing-DhtxUWwz.js","assets/KubernetesClusters-XXR1jnN_.js","assets/tabs-D87nAyJR.js","assets/ClusterOverviewPage-BoH2T6EJ.js","assets/use-toast-DNZLibQY.js","assets/NodeDetailPage-C77WC8d_.js","assets/NamespaceOverviewPage-3EiRcdjy.js","assets/NamespaceManagementPage-CJJFp4Vm.js","assets/NamespaceResourcePage-llU4EE7M.js","assets/PodFileBrowser-B-U8iHmY.js","assets/k8s-yaml-utils-4KZB_Bq_.js","assets/ResourceVisualEditor-BN2gGuH7.js","assets/DeploymentDetailPage-C2S9vbFs.js","assets/EventTable-BaH7H8dT.js","assets/code-snippet-block-E9P2jHS4.js","assets/WorkloadViewPage-C6RjHvRS.js","assets/TopologyView-DC9BVIj6.js","assets/KubernetesNodes-Dtu2Ku7B.js","assets/PodMetricsPage-B8c-1jY7.js","assets/EventsPage-CuT9Baqe.js","assets/CapacityPage-BOU6J8mE.js","assets/K8sShortcutRedirect-L8Wq0IVi.js","assets/AlertManager-Dt5F96tv.js","assets/alert-v1WaPeEX.js","assets/AlertRuleDialog-BmYLySxp.js","assets/ApprovalFlow-D6IpuZ50.js","assets/approval-BY_CqGOr.js","assets/ApprovalResourcePage-E5m3aGX_.js","assets/ApprovalCategoryPage-CA91WuCS.js","assets/ApprovalAppPage-CmDNSgHZ.js","assets/ApprovalPermissionPage-B9wgkK5L.js","assets/ApprovalWorkflowPage-Cv6LjE48.js","assets/ScriptManager-B_bCZqNG.js","assets/automation-C9TdY9Jc.js","assets/SystemManager-B0EwYBti.js","assets/ProfilePage-CG_6vD9d.js","assets/TerminalAuditTab-YhauEueR.js","assets/terminal-D5kNzib0.js","assets/AuditOperationsTab-D8YChYS8.js","assets/audit-BpVBSeA1.js","assets/LoginLogsTab-8Twk1DRE.js","assets/CredentialManager-B4HbhIHz.js","assets/PipelineManager-GqwxvUIC.js","assets/pipeline-DO4lDm_n.js","assets/config-BrfI0oO-.js","assets/DeployCredentials-Czv2LRln.js","assets/PipelineEditor-SgC_ThAp.js","assets/PipelineRunDetail-D2Z0DKgo.js","assets/DeployRBAC-BpXCLjj-.js","assets/UserGroupsManager-DaLDKm1_.js","assets/CronJobManager-C85uFdSz.js","assets/AIOpsAssistant-D417_BSh.js","assets/agent-CZzlLHxR.js","assets/ai-D8ZhLQOB.js","assets/AIAlertAnalyzer-DPUeFL9p.js","assets/AIPredictiveAnalytics-C1OkILDZ.js","assets/AlertCenter-B1Dd-7wT.js","assets/alert-center-Dr8niqD0.js","assets/TraceManager-DC1TurMY.js","assets/trace-L8uY5gM3.js","assets/HostMonitor-C6-o-ZDP.js","assets/GrafanaDashboard-9Clwln0E.js","assets/grafana-DTc3taUi.js","assets/datasource-DsDBrwno.js","assets/metrics-DW1ylkmD.js","assets/MonitorCenter-CkAJXvtS.js","assets/site-Cslo2fp0.js","assets/MetricsExplorer-Db8y37-1.js","assets/DatasourcePage-DDZGHQYv.js","assets/LogCenter-5z6NCoZg.js","assets/log-center-ELxahGiS.js"])))=>i.map(i=>d[i]);
import{b as ly,r as m,g as PS,j as p,R as ct,c as $d}from"./vendor-codemirror-B1SGo4xl.js";import{i as Od,bg as sy,bh as VS,D as Ns,ag as Bg,G as Pg,M as GS,e as qS,u as Vg,h as Gg,g as YS,B as zs,b as XS,k as QS,N as ld,o as sd,j as Ls,p as Ks,t as $o,J as id,ao as qg,_ as KS,A as FS,bi as Yg,l as Jo,a7 as ZS,bj as Xg,r as Qg,b6 as IS,aA as $S,ax as JS,bk as WS,Z as ew,V as tw,Q as nw,I as aw,y as rw,bl as iy,w as cy,bm as ow,U as uy,bn as lw,av as dy,f as sw,X as iw,ab as cw,aO as uw,ak as dw,x as fw,L as pw,bo as Kg,n as hw}from"./vendor-icons-DmqcWdzX.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const u of i)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&s(f)}).observe(document,{childList:!0,subtree:!0});function l(i){const u={};return i.integrity&&(u.integrity=i.integrity),i.referrerPolicy&&(u.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?u.credentials="include":i.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function s(i){if(i.ep)return;i.ep=!0;const u=l(i);fetch(i.href,u)}})();var cd={exports:{}},Yo={},ud={exports:{}},dd={};var Fg;function mw(){return Fg||(Fg=1,(function(n){function r(z,X){var B=z.length;z.push(X);e:for(;0<B;){var F=B-1>>>1,ie=z[F];if(0<i(ie,X))z[F]=X,z[B]=ie,B=F;else break e}}function l(z){return z.length===0?null:z[0]}function s(z){if(z.length===0)return null;var X=z[0],B=z.pop();if(B!==X){z[0]=B;e:for(var F=0,ie=z.length,je=ie>>>1;F<je;){var Ee=2*(F+1)-1,re=z[Ee],ve=Ee+1,Ke=z[ve];if(0>i(re,B))ve<ie&&0>i(Ke,re)?(z[F]=Ke,z[ve]=B,F=ve):(z[F]=re,z[Ee]=B,F=Ee);else if(ve<ie&&0>i(Ke,B))z[F]=Ke,z[ve]=B,F=ve;else break e}}return X}function i(z,X){var B=z.sortIndex-X.sortIndex;return B!==0?B:z.id-X.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;n.unstable_now=function(){return u.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var v=[],g=[],x=1,b=null,w=3,A=!1,R=!1,C=!1,E=!1,O=typeof setTimeout=="function"?setTimeout:null,L=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function U(z){for(var X=l(g);X!==null;){if(X.callback===null)s(g);else if(X.startTime<=z)s(g),X.sortIndex=X.expirationTime,r(v,X);else break;X=l(g)}}function V(z){if(C=!1,U(z),!R)if(l(v)!==null)R=!0,K||(K=!0,ue());else{var X=l(g);X!==null&&de(V,X.startTime-z)}}var K=!1,Q=-1,Y=5,I=-1;function ne(){return E?!0:!(n.unstable_now()-I<Y)}function ce(){if(E=!1,K){var z=n.unstable_now();I=z;var X=!0;try{e:{R=!1,C&&(C=!1,L(Q),Q=-1),A=!0;var B=w;try{t:{for(U(z),b=l(v);b!==null&&!(b.expirationTime>z&&ne());){var F=b.callback;if(typeof F=="function"){b.callback=null,w=b.priorityLevel;var ie=F(b.expirationTime<=z);if(z=n.unstable_now(),typeof ie=="function"){b.callback=ie,U(z),X=!0;break t}b===l(v)&&s(v),U(z)}else s(v);b=l(v)}if(b!==null)X=!0;else{var je=l(g);je!==null&&de(V,je.startTime-z),X=!1}}break e}finally{b=null,w=B,A=!1}X=void 0}}finally{X?ue():K=!1}}}var ue;if(typeof N=="function")ue=function(){N(ce)};else if(typeof MessageChannel<"u"){var we=new MessageChannel,me=we.port2;we.port1.onmessage=ce,ue=function(){me.postMessage(null)}}else ue=function(){O(ce,0)};function de(z,X){Q=O(function(){z(n.unstable_now())},X)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(z){z.callback=null},n.unstable_forceFrameRate=function(z){0>z||125<z?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Y=0<z?Math.floor(1e3/z):5},n.unstable_getCurrentPriorityLevel=function(){return w},n.unstable_next=function(z){switch(w){case 1:case 2:case 3:var X=3;break;default:X=w}var B=w;w=X;try{return z()}finally{w=B}},n.unstable_requestPaint=function(){E=!0},n.unstable_runWithPriority=function(z,X){switch(z){case 1:case 2:case 3:case 4:case 5:break;default:z=3}var B=w;w=z;try{return X()}finally{w=B}},n.unstable_scheduleCallback=function(z,X,B){var F=n.unstable_now();switch(typeof B=="object"&&B!==null?(B=B.delay,B=typeof B=="number"&&0<B?F+B:F):B=F,z){case 1:var ie=-1;break;case 2:ie=250;break;case 5:ie=1073741823;break;case 4:ie=1e4;break;default:ie=5e3}return ie=B+ie,z={id:x++,callback:X,priorityLevel:z,startTime:B,expirationTime:ie,sortIndex:-1},B>F?(z.sortIndex=B,r(g,z),l(v)===null&&z===l(g)&&(C?(L(Q),Q=-1):C=!0,de(V,B-F))):(z.sortIndex=ie,r(v,z),R||A||(R=!0,K||(K=!0,ue()))),z},n.unstable_shouldYield=ne,n.unstable_wrapCallback=function(z){var X=w;return function(){var B=w;w=X;try{return z.apply(this,arguments)}finally{w=B}}}})(dd)),dd}var Zg;function gw(){return Zg||(Zg=1,ud.exports=mw()),ud.exports}var fd={exports:{}},Line truncated
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
`+pn+e+Ca}var qi=!1;function Yi(e,t){if(!e||qi)return"";qi=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(t){var q=function(){throw Error()};if(Object.defineProperty(q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(q,[])}catch(H){var k=H}Reflect.construct(e,[],q)}else{try{q.call()}catch(H){k=H}e.call(q.prototype)}}else{try{throw Error()}catch(H){k=H}(q=e())&&typeof q.catch=="function"&&q.catch(function(){})}}catch(H){if(H&&k&&typeof H.stack=="string")return[H.stack,k.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var c=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");c&&c.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var d=o.DetermineComponentFrameRoot(),y=d[0],S=d[1];if(y&&S){var T=y.split(`
`),D=S.split(`
`);for(c=o=0;o<T.length&&!T[o].includes("DetermineComponentFrameRoot");)o++;for(;c<D.length&&!D[c].includes("DetermineComponentFrameRoot");)c++;if(o===T.length||c===D.length)for(o=T.length-1,c=D.length-1;1<=o&&0<=c&&T[o]!==D[c];)c--;for(;1<=o&&0<=c;o--,c--)if(T[o]!==D[c]){if(o!==1||c!==1)do if(o--,c--,0>c||T[o]!==D[c]){var P=`
`+T[o].replace(" at new "," at ");return e.displayName&&P.includes("<anonymous>")&&(P=P.replace("<anonymous>",e.displayName)),P}while(1<=o&&0<=c);break}}}finally{qi=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ra(a):""}function v0(e,t){switch(e.tag){case 26:case 27:case 5:return Ra(e.type);case 16:return Ra("Lazy");case 13:return e.child!==t&&t!==null?Ra("Suspense Fallback"):Ra("Suspense");case 19:return Ra("SuspenseList");case 0:case 15:return Yi(e.type,!1);case 11:return Yi(e.type.render,!1);case 1:return Yi(e.type,!0);case 31:return Ra("Activity");default:return""}}function Bf(e){try{var t="",a=null;do t+=v0(e,a),a=e,e=e.return;while(e);return t}catch(o){return`
Error generating stack: `+o.message+`
`+o.stack}}var Xi=Object.prototype.hasOwnProperty,Qi=n.unstable_scheduleCallback,Ki=n.unstable_cancelCallback,y0=n.unstable_shouldYield,x0=n.unstable_requestPaint,Rt=n.unstable_now,b0=n.unstable_getCurrentPriorityLevel,Pf=n.unstable_ImmediatePriority,Vf=n.unstable_UserBlockingPriority,gl=n.unstable_NormalPriority,S0=n.unstable_LowPriority,Gf=n.unstable_IdlePriority,w0=n.log,E0=n.unstable_setDisableYieldValue,$r=null,Tt=null;function Fn(e){if(typeof w0=="function"&&E0(e),Tt&&typeof Tt.setStrictMode=="function")try{Tt.setStrictMode($r,e)}catch{}}var _t=Math.clz32?Math.clz32:R0,A0=Math.log,C0=Math.LN2;function R0(e){return e>>>=0,e===0?32:31-(A0(e)/C0|0)|0}var vl=256,yl=262144,xl=4194304;function Ta(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function bl(e,t,a){var o=e.pendingLanes;if(o===0)return 0;var c=0,d=e.suspendedLanes,y=e.pingedLanes;e=e.warmLanes;var S=o&134217727;return S!==0?(o=S&~d,o!==0?c=Ta(o):(y&=S,y!==0?c=Ta(y):a||(a=S&~e,a!==0&&(c=Ta(a))))):(S=o&~d,S!==0?c=Ta(S):y!==0?c=Ta(y):a||(a=o&~e,a!==0&&(c=Ta(a)))),c===0?0:t!==0&&t!==c&&(t&d)===0&&(d=c&-c,a=t&-t,d>=a||d===32&&(a&4194048)!==0)?t:c}function Jr(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function T0(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function qf(){var e=xl;return xl<<=1,(xl&62914560)===0&&(xl=4194304),e}function Fi(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function _0(e,t,a,o,c,d){var y=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var S=e.entanglements,T=e.expirationTimes,D=e.hiddenUpdates;for(a=y&~a;0<a;){var P=31-_t(a),q=1<<P;S[P]=0,T[P]=-1;var k=D[P];if(k!==null)for(D[P]=null,P=0;P<k.length;P++){var H=k[P];H!==null&&(H.lane&=-536870913)}a&=~q}o!==0&&Yf(e,o,0),d!==0&&c===0&&e.tag!==0&&(e.suspendedLanes|=d&~(y&~t))}function Yf(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var o=31-_t(t);e.entangledLanes|=t,e.entanglements[o]=e.entanglements[o]|1073741824|a&261930}function Xf(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var o=31-_t(a),c=1<<o;c&t|e[o]&t&&(e[o]|=t),a&=~c}}function Qf(e,t){var a=t&-t;return a=(a&42)!==0?1:Zi(a),(a&(e.suspendedLanes|t))!==0?0:a}function Zi(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Ii(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Kf(){var e=X.p;return e!==0?e:(e=window.event,e===void 0?32:Dg(e.type))}function Ff(e,t){var a=X.p;try{return X.p=e,t()}finally{X.p=a}}var Zn=Math.random().toString(36).slice(2),at="__reactFiber$"+Zn,ht="__reactProps$"+Zn,$a="__reactContainer$"+Zn,$i="__reactEvents$"+Zn,O0="__reactListeners$"+Zn,j0="__reactHandles$"+Zn,Zf="__reactResources$"+Zn,eo="__reactMarker$"+Zn;function Ji(e){delete e[at],delete e[ht],delete e[$i],delete e[O0],delete e[j0]}function Ja(e){var t=e[at];if(t)return t;for(var a=e.parentNode;a;){if(t=a[$a]||a[at]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=gg(e);e!==null;){if(a=e[at])return a;e=gg(e)}return t}e=a,a=e.parentNode}return null}function Wa(e){if(e=e[at]||e[$a]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function to(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(s(33))}function er(e){var t=e[Zf];return t||(t=e[Zf]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function tt(e){e[eo]=!0}var If=new Set,$f={};function _a(e,t){tr(e,t),tr(e+"Capture",t)}function tr(e,t){for($f[e]=t,e=0;e<t.length;e++)If.add(t[e])}var M0=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u21 Line truncated
`).replace(iS,"")}function lg(e,t){return t=og(t),og(e)===t}function ze(e,t,a,o,c,d){switch(a){case"children":typeof o=="string"?t==="body"||t==="textarea"&&o===""||ar(e,o):(typeof o=="number"||typeof o=="bigint")&&t!=="body"&&ar(e,""+o);break;case"className":wl(e,"class",o);break;case"tabIndex":wl(e,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":wl(e,a,o);break;case"style":lp(e,o,d);break;case"data":if(t!=="object"){wl(e,"data",o);break}case"src":case"href":if(o===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(a);break}o=Al(""+o),e.setAttribute(a,o);break;case"action":case"formAction":if(typeof o=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof d=="function"&&(a==="formAction"?(t!=="input"&&ze(e,t,"name",c.name,c,null),ze(e,t,"formEncType",c.formEncType,c,null),ze(e,t,"formMethod",c.formMethod,c,null),ze(e,t,"formTarget",c.formTarget,c,null)):(ze(e,t,"encType",c.encType,c,null),ze(e,t,"method",c.method,c,null),ze(e,t,"target",c.target,c,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(a);break}o=Al(""+o),e.setAttribute(a,o);break;case"onClick":o!=null&&(e.onclick=Rn);break;case"onScroll":o!=null&&xe("scroll",e);break;case"onScrollEnd":o!=null&&xe("scrollend",e);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(s(61));if(a=o.__html,a!=null){if(c.children!=null)throw Error(s(60));e.innerHTML=a}}break;case"multiple":e.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":e.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){e.removeAttribute("xlink:href");break}a=Al(""+o),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,""+o):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":o&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":o===!0?e.setAttribute(a,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,o):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?e.setAttribute(a,o):e.removeAttribute(a);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?e.removeAttribute(a):e.setAttribute(a,o);break;case"popover":xe("beforetoggle",e),xe("toggle",e),Sl(e,"popover",o);break;case"xlinkActuate":Cn(e,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":Cn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":Cn(e,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":Cn(e,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":Cn(e,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":Cn(e,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":Cn(e,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":Cn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":Cn(e,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":Sl(e,"is",o);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=k0.get(a)||a,Sl(e,a,o))}}function Gu(e,t,a,o,c,d){switch(a){case"style":lp(e,o,d);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(s(61));if(a=o.__html,a!=null){if(c.children!=null)throw Error(s(60));e.innerHTML=a}}break;case"children":typeof o=="string"?ar(e,o):(typeof o=="number"||typeof o=="bigint")&&ar(e,""+o);break;case"onScroll":o!=null&&xe("scroll",e);break;case"onScrollEnd":o!=null&&xe("scrollend",e);break;case"onClick":o!=null&&(e.onclick=Rn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"inne Line truncated
Please change the parent <Route path="${E}"> to <Route path="${E==="/"?"*":`${E}/*`}">.`)}let x=wt(),b;if(r){let E=typeof r=="string"?Yr(r):r;Ge(v==="/"||E.pathname?.startsWith(v),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${v}" but pathname "${E.pathname}" was given in the \`location\` prop.`),b=E}else b=x;let w=b.pathname||"/",A=w;if(v!=="/"){let E=v.replace(/^\//,"").split("/");A="/"+w.replace(/^\//,"").split("/").slice(E.length).join("/")}let R=py(n,{pathname:A});Wt(g||R!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),Wt(R==null||R[R.length-1].route.element!==void 0||R[R.length-1].route.Component!==void 0||R[R.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let C=fE(R&&R.map(E=>Object.assign({},E,{params:Object.assign({},f,E.params),pathname:bn([v,s.encodeLocation?s.encodeLocation(E.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?v:bn([v,s.encodeLocation?s.encodeLocation(E.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathnameBase])})),i,l);return r&&C?m.createElement(sl.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...b},navigationType:"POP"}},C):C}function iE(){let n=vE(),r=Kw(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),l=n instanceof Error?n.stack:null,s="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:s},u={padding:"2px 4px",backgroundColor:s},f=null;return console.error("Error handled by React Router default ErrorBoundary:",n),f=m.createElement(m.Fragment,null,m.createElement("p",null,"💿 Hey developer 👋"),m.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",m.createElement("code",{style:u},"ErrorBoundary")," or"," ",m.createElement("code",{style:u},"errorElement")," prop on your route.")),m.createElement(m.Fragment,null,m.createElement("h2",null,"Unexpected Application Error!"),m.createElement("h3",{style:{fontStyle:"italic"}},r),l?m.createElement("pre",{style:i},l):null,f)}var cE=m.createElement(iE,null),Ay=class extends m.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,r){return r.location!==n.location||r.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:r.error,location:r.location,revalidation:n.revalidation||r.revalidation}}componentDidCatch(n,r){this.props.onError?this.props.onError(n,r):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const l=nE(n.digest);l&&(n=l)}let r=n!==void 0?m.createElement(en.Provider,{value:this.props.routeContext},m.createElement(Wd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?m.createElement(uE,{error:n},r):r}};Ay.contextType=Iw;var hd=new WeakMap;function uE({children:n,error:r}){let{basename:l}=m.useContext(Pt);if(typeof r=="object"&&r&&"digest"in r&&typeof r.digest=="string"){let s=tE(r.digest);if(s){let i=hd.get(r);if(i)throw i;let u=vy(s.location,l);if(gy&&!hd.get(r))if(u.isExternal||s.reloadDocument)window.location.href=u.absoluteURL||u.to;else{const f=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(u.to,{replace:s.replace}));throw hd.set(r,f),f}return m.createElement("meta",{httpEquiv:"refresh",content:`0;url=${u.absoluteURL||u.to}`})}}return n}function dE({routeContext:n,match:r,children:l}){let s=m.useContext(Xr);return s&&s.static&&s.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=r.route.id),m.createElement(en.Provider,{value:n},l)}function fE(n,r=[],l){let s=l?.state;if(n==null){if(!s)return null;if(s.errors)n=s.matches;else if(r.length===0&&!s.initialized&&s.matches.length>0)n=s.matches;else return null}let i=n,u=s?.errors;if(u!=null){let x=i.findIndex(b=>b.route.id&&u?.[b.route.id]!==void 0);Ge(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),i=i.slice(0,Math.min(i.length,x+1))}let f=!1,h=-1;if(l&&s){f=s.renderFallback;for(let x=0;x<i.length;x++){let b=i[x];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(h=x),b.route.id){let{loaderData:w,errors:A}=s,R=b.route.loader&&!w.hasOwnProperty(b.route.id)&&(!A||A[b.route.idLine truncated
.`.concat(A_,` {
overflow: hidden `).concat(s,`;
padding-right: `).concat(h,"px ").concat(s,`;
}
body[`).concat(Pr,`] {
overflow: hidden `).concat(s,`;
overscroll-behavior: contain;
`).concat([r&&"position: relative ".concat(s,";"),l==="margin"&&`
padding-left: `.concat(i,`px;
padding-top: `).concat(u,`px;
padding-right: `).concat(f,`px;
margin-left:0;
margin-top:0;
margin-right: `).concat(h,"px ").concat(s,`;
`),l==="padding"&&"padding-right: ".concat(h,"px ").concat(s,";")].filter(Boolean).join(""),`
}
.`).concat(Ws,` {
right: `).concat(h,"px ").concat(s,`;
}
.`).concat(ei,` {
margin-right: `).concat(h,"px ").concat(s,`;
}
.`).concat(Ws," .").concat(Ws,` {
right: 0 `).concat(s,`;
}
.`).concat(ei," .").concat(ei,` {
margin-right: 0 `).concat(s,`;
}
body[`).concat(Pr,`] {
`).concat(C_,": ").concat(h,`px;
}
`)},Iv=function(){var n=parseInt(document.body.getAttribute(Pr)||"0",10);return isFinite(n)?n:0},Y_=function(){m.useEffect(function(){return document.body.setAttribute(Pr,(Iv()+1).toString()),function(){var n=Iv()-1;n<=0?document.body.removeAttribute(Pr):document.body.setAttribute(Pr,n.toString())}},[])},X_=function(n){var r=n.noRelative,l=n.noImportant,s=n.gapMode,i=s===void 0?"margin":s;Y_();var u=m.useMemo(function(){return V_(i)},[i]);return m.createElement(G_,{styles:q_(u,!r,i,l?"":"!important")})},Kd=!1;if(typeof window<"u")try{var Ys=Object.defineProperty({},"passive",{get:function(){return Kd=!0,!0}});window.addEventListener("test",Ys,Ys),window.removeEventListener("test",Ys,Ys)}catch{Kd=!1}var Ur=Kd?{passive:!1}:!1,Q_=function(n){return n.tagName==="TEXTAREA"},vb=function(n,r){if(!(n instanceof Element))return!1;var l=window.getComputedStyle(n);return l[r]!=="hidden"&&!(l.overflowY===l.overflowX&&!Q_(n)&&l[r]==="visible")},K_=function(n){return vb(n,"overflowY")},F_=function(n){return vb(n,"overflowX")},$v=function(n,r){var l=r.ownerDocument,s=r;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var i=yb(n,s);if(i){var u=xb(n,s),f=u[1],h=u[2];if(f>h)return!0}s=s.parentNode}while(s&&s!==l.body);return!1},Z_=function(n){var r=n.scrollTop,l=n.scrollHeight,s=n.clientHeight;return[r,l,s]},I_=function(n){var r=n.scrollLeft,l=n.scrollWidth,s=n.clientWidth;return[r,l,s]},yb=function(n,r){return n==="v"?K_(r):F_(r)},xb=function(n,r){return n==="v"?Z_(r):I_(r)},$_=function(n,r){return n==="h"&&r==="rtl"?-1:1},J_=function(n,r,l,s,i){var u=$_(n,window.getComputedStyle(r).direction),f=u*s,h=l.target,v=r.contains(h),g=!1,x=f>0,b=0,w=0;do{if(!h)break;var A=xb(n,h),R=A[0],C=A[1],E=A[2],O=C-E-u*R;(R||O)&&yb(n,h)&&(b+=O,w+=R);var L=h.parentNode;h=L&&L.nodeType===Node.DOCUMENT_FRAGMENT_NODE?L.host:L}while(!v&&h!==document.body||v&&(r.contains(h)||r===h));return(x&&Math.abs(b)<1||!x&&Math.abs(w)<1)&&(g=!0),g},Xs=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},Jv=function(n){return[n.deltaX,n.deltaY]},Wv=function(n){return n&&"current"in n?n.current:n},W_=function(n,r){return n[0]===r[0]&&n[1]===r[1]},eO=function(n){return`
.block-interactivity-`.concat(n,` {pointer-events: none;}
.allow-interactivity-`).concat(n,` {pointer-events: all;}
`)},tO=0,Hr=[];function nO(n){var r=m.useRef([]),l=m.useRef([0,0]),s=m.useRef(),i=m.useState(tO++)[0],u=m.useState(gb)[0],f=m.useRef(n);m.useEffect(function(){f.current=n},[n]),m.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(i));var C=E_([n.lockRef.current],(n.shards||[]).map(Wv),!0).filter(Boolean);return C.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),C.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[n.inert,n.lockRef.current,n.shards]);var h=m.useCallback(function(C,E){if("touches"in C&&C.touches.length===2||C.type==="wheel"&&C.ctrlKey)return!f.current.allowPinchZoom;var O=Xs(C),L=l.current,N="deltaX"in C?C.deltaX:L[0]-O[0],U="deltaY"in C?C.deltaY:L[1]-O[1],V,K=C.target,Q=Math.abs(N)>Math.abs(U)?"h":"v";if("touches"in C&&Q==="h"&&K.type==="range")return!1;var Y=window.getSelection(),I=Y&&Y.anchorNode,ne=I?I===K||I.contains(K):!1;if(ne)return!1;var ce=$v(Q,K);if(!ce)return!0;if(ce?V=Q:(V=Q==="v"?"h":"v",ce=$v(Q,K)),!ce)return!1;if(!s.current&&"changedTouches"in C&&(N||U)&&(s.current=V),!V)return!0;var ue=s.current||V;return J_(ue,E,C,ue==="h"?N:U)},[]),v=m.useCallback(function(C){var E=C;if(!(!Hr.length||Hr[Hr.length-1]!==u)){var O="deltaY"in E?Jv(E):Xs(E),L=r.current.filter(function(V){return V.name===E.type&&(V.target===E.target||E.target===V.shadowParent)&&W_(V.delta,O)})[0];if(L&&L.should){E.cancelable&&E.preventDefault();return}if(!L){var N=(f.current.shards||[]).map(Wv).filter(Boolean).filter(function(V){return V.contains(E.target)}),U=N.length>0?h(E,N[0]):!f.current.noIsolation;U&&E.cancelable&&E.preventDefault()}}},[]),g=m.useCallback(function(C,E,O,L){var N={name:C,delta:E,target:O,should:L,shadowParent:aO(O)};r.current.push(N),setTimeout(function(){r.current=r.current.filter(function(U){return U!==N})},1)},[]),x=m.useCallback(function(C){l.current=Xs(C),s.current=void 0},[]),b=m.useCallback(function(C){g(C.type,Jv(C),C.target,h(C,n.lockRef.current))},[]),w=m.useCallback(function(C){g(C.type,Xs(C),C.target,h(C,n.lockRef.current))},[]);m.useEffect(function(){return Hr.push(u),n.setCallbacks({onScrollCapture:b,onWheelCapture:b,onTouchMoveCapture:w}),document.addEventListener("wheel",v,Ur),document.addEventListener("touchmove",v,Ur),document.addEventListener("touchstart",x,Ur),function(){Hr=Hr.filter(function(C){return C!==u}),document.removeEventListener("wheel",v,Ur),document.removeEventListener("touchmove",v,Ur),document.removeEventListener("touchstart",x,Ur)}},[]);var A=n.removeScrollBar,R=n.inert;return m.createElement(m.Fragment,null,R?m.createElement(u,{styles:eO(i)}):null,A?m.createElement(X_,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function aO(n){for(var r=null;n!==null;)n instanceof ShadowRoot&&(r=n.host,n=n.host),n=n.parentNode;return r}const rO=D_(mb,nO);var Tf=m.forwardRef(function(n,r){return m.createElement(Hi,yn({},n,{ref:r,sideCar:rO}))});Tf.classNames=Hi.classNames;var Fd=["Enter"," "],oO=["ArrowDown","PageUp","Home"],bb=["ArrowUp","PageDown","End"],lO=[...oO,...bb],sO={ltr:[...Fd,"ArrowRight"],rtl:[...Fd,"ArrowLeft"]},iO={ltr:["ArrowLeft"],rtl:["ArrowRight"]},hl="Menu",[ol,cO,uO]=nb(hl),[Za,Sb]=Aa(hl,[uO,Ni,lb]),Bi=Ni(),wb=lb(),[dO,Ia]=Za(hl),[fO,ml]=Za(hl),Eb=n=>{const{__scopeMenu:r,open:l=!1,children:s,dir:i,onOpenChange:u,modal:f=!0}=n,h=Bi(r),[v,g]=m.useState(null),x=m.useRef(!1),b=ut(u),w=ff(i);return m.useEffect(()=>{const A=()=>{x.current=!0,document.addEventListener("pointerdown",R,{capture:!0,once:!0}),document.addEventListener("pointermove",R,{capture:!0,once:!0})},R=()=>x.current=!1;return document.addEventListener("keydown",A,{capture:!0}),()=>{document.removeEventListener("keydown",A,{capture:!0}),document.removeEventListener("pointerdown",R,{capture:!0}),document.removeEventListener("pointermove",R,{capture:!0})}},[]),p.jsx(Bx,{...h,children:p.jsx(dO,{scope:r,open:l,onOpenChange:b,content:v,onContentChange:g,children:p.jsx(fO,{scope:r,onClose:m.useCallback(()=>b(!1),[b]),isUsingKeyboardRef:x,dir:w,modal:f,children:s})})})};Eb.displayName=hl;var pO="MenuAnchor",_f=m.forwardRef((n,r)=>{const{__scopeMenu:l,...s}=n,i=Bi(l);return p.jsx(Px,{...i,...s,ref:r})});_f.displayName=pO;var Of="MenuPortal",[hO,Ab]=Za(Of,{forceMount:void 0}),Cb=n=>{const{__scopeMenu:r,forceMount:l,children:s,container:i}=n,u=Ia(Of,r);return p.jsx(hO,{scope:r,forceMount:l,children:p.jsx(Et,{present:l||u.open,children:p.jsx(zi,{asChild:!0,container:i,children:s})})})};Cb.displayName=Of;var Jt="MenuContent",[mO,jf]=Za(Jt),Rb=m.forwardRef((n,r)=>{const l=Ab(Jt,n.__scopeMenu),{forceMount:s=l.forceMount,...i}=n,u=Ia(Jt,n.__scopeMenu),f=ml(Jt,n.__scopeMenu);return p.jsx(ol.Provider,{scope:n.__scopeMenu,children:p.jsx(Et,{present:s||u.open,children:p.jsx(ol.Slot,{scope:n.__scopeMenu,children:f.modal?p.jsx(gO,{...i,ref:r}):p.jsx(vO,{...i,ref:r})})})})}),gO=m.forwardRef((n,r)=>{const l=Ia(Jt,n.__scopeMenu),s= Line truncated
If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return m.useEffect(()=>{n&&(document.getElementById(n)||console.error(l))},[l,n]),null},qj="DialogDescriptionWarning",Yj=({contentRef:n,descriptionId:r})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${m0(qj).contentName}}.`;return m.useEffect(()=>{const i=n.current?.getAttribute("aria-describedby");r&&i&&(document.getElementById(r)||console.warn(s))},[s,n,r]),null},Xj=t0,Qj=a0,Kj=o0,Fj=l0,Zj=s0,Ij=c0,$j=d0,Jj=p0;function Wj({...n}){return p.jsx(Xj,{"code-path":"src/components/ui/dialog.tsx:10:10","data-slot":"dialog",...n})}function jD({...n}){return p.jsx(Qj,{"code-path":"src/components/ui/dialog.tsx:16:10","data-slot":"dialog-trigger",...n})}function eM({...n}){return p.jsx(Kj,{"code-path":"src/components/ui/dialog.tsx:22:10","data-slot":"dialog-portal",...n})}function tM({className:n,...r}){return p.jsx(Fj,{"code-path":"src/components/ui/dialog.tsx:36:5","data-slot":"dialog-overlay",className:Ce("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",n),...r})}function nM({className:n,children:r,showCloseButton:l=!0,showOverlay:s=!0,...i}){return p.jsxs(eM,{"code-path":"src/components/ui/dialog.tsx:58:5","data-slot":"dialog-portal",children:[s&&p.jsx(tM,{"code-path":"src/components/ui/dialog.tsx:59:23"}),p.jsxs(Zj,{"code-path":"src/components/ui/dialog.tsx:60:7","data-slot":"dialog-content",className:Ce("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",n),...i,children:[r,l&&p.jsxs(Jj,{"code-path":"src/components/ui/dialog.tsx:70:11","data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[p.jsx(iw,{"code-path":"src/components/ui/dialog.tsx:74:13"}),p.jsx("span",{"code-path":"src/components/ui/dialog.tsx:75:13",className:"sr-only",children:"Close"})]})]})]})}function aM({className:n,...r}){return p.jsx("div",{"code-path":"src/components/ui/dialog.tsx:85:5","data-slot":"dialog-header",className:Ce("flex flex-col gap-2 text-center sm:text-left",n),...r})}function rM({className:n,...r}){return p.jsx("div",{"code-path":"src/components/ui/dialog.tsx:95:5","data-slot":"dialog-footer",className:Ce("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",n),...r})}function oM({className:n,...r}){return p.jsx(Ij,{"code-path":"src/components/ui/dialog.tsx:111:5","data-slot":"dialog-title",className:Ce("text-lg leading-none font-semibold",n),...r})}function lM({className:n,...r}){return p.jsx($j,{"code-path":"src/components/ui/dialog.tsx:124:5","data-slot":"dialog-description",className:Ce("text-muted-foreground text-sm",n),...r})}const g0=m.createContext(null);function MD(){const n=m.useContext(g0);if(!n)throw new Error("useConfirm must be used within ConfirmProvider");return n.confirm}function sM({children:n}){const[r,l]=m.useState(!1),[s,i]=m.useState({title:"确认操作",description:"",confirmText:"确认",cancelText:"取消",variant:"default"}),[u,f]=m.useState(null),h=m.useCallback(x=>{const b=typeof x=="string"?{title:"确认操作",description:x}:x;return i({title:b.title||"确认操作",description:b.description||"",confirmText:b.confirmText||"确认",cancelText:b.cancelText||"取消",variant:b.variant||"default"}),l(!0),new Promise(w=>f(()=>w))},[]),v=()=>{l(!1),u?.(!0),f(null)},g=()=>{l(!1),u?.(!1),f(null)};return p.jsxs(g0.Provider,{"code-path":"src/components/ui/confirm-dialog.tsx:68:5",value:{confirm:h},children:[n,p.jsx(Wj,{"code-path":"src/components/ui/confirm-dialog.tsx:70:7",open:r,onOpenChange:x=>{x||g()},children:p.jsxs(nM,{"code-path":"src/components/ui/confirm-dialog.tsx:71:9",className:"max-w-sm bg-slate-900 border-slate-800",onCloseAutoFocus:x=>x.preventDefault(),children:[p.jsxs(aM,{"code-path":"src/components/ui/confirm-dialog.tsx:72:11",children:[p.jsx(oM,{"code-path":"src/components/ui/confirm-dialog.tsx:73:13",className:"text-slate-100",children:s.title}),s.description&&p.jsx(lM,{"code-path":"src/components/ui/confirm-dialog.tsx:75:15",className:"text-slate-400",children:s.description})]}),p.jsxs(rM,{"code-path":"src/components/ui/confirm-dialog.tsx:78:11",className:"gap-2 sm:gap-2",children:[p.jsx(St,{"code-path":"src/components/ui/confirm-dialog.tsx:79:13",variant:"outline",className:"border-slate- Line truncated
@keyframes login-orb-1 {
0%, 100% { transform: translate(0, 0) scale(1); }
33% { transform: translate(40px, -50px) scale(1.12); }
66% { transform: translate(-30px, 35px) scale(0.92); }
}
@keyframes login-orb-2 {
0%, 100% { transform: translate(0, 0) scale(1); }
50% { transform: translate(-50px, 25px) scale(1.18); }
}
@keyframes login-orb-3 {
0%, 100% { transform: translate(0, 0) scale(1); }
50% { transform: translate(30px, 45px) scale(0.88); }
}
@keyframes login-orb-4 {
0%, 100% { transform: translate(0, 0) scale(1); }
50% { transform: translate(25px, -30px) scale(1.1); }
}
@keyframes login-card-enter {
from { opacity: 0; transform: translateY(24px) scale(0.97); }
to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes login-fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes login-input-focus {
from { box-shadow: 0 0 0 0px var(--dg-input-focus-ring); }
to { box-shadow: 0 0 0 4px var(--dg-input-focus-ring); }
}
`,cM=[{top:"-10%",left:"-5%",size:520,color:"var(--dg-blue)",opacity:.18,blur:90,animation:"login-orb-1 18s ease-in-out infinite"},{bottom:"-15%",right:"-8%",size:480,color:"var(--dg-purple)",opacity:.16,blur:100,animation:"login-orb-2 22s ease-in-out infinite"},{top:"30%",right:"10%",size:320,color:"var(--dg-cyan)",opacity:.12,blur:70,animation:"login-orb-3 16s ease-in-out infinite"},{bottom:"10%",left:"8%",size:380,color:"var(--dg-gradient-start)",opacity:.14,blur:80,animation:"login-orb-4 20s ease-in-out infinite"}];function uM(){const n=il(),{theme:r,setTheme:l}=By(),[s,i]=m.useState("admin"),[u,f]=m.useState("123456"),[h,v]=m.useState(!1),[g,x]=m.useState(!1),[b,w]=m.useState(""),[A,R]=m.useState(!1);m.useEffect(()=>{R(!0)},[]);const C=async E=>{E.preventDefault(),w(""),x(!0);try{const O=await Wb.login(s,u);ln.getState().login(O.user,O.token,O.permissions??null),localStorage.setItem("token",O.token),n("/",{replace:!0})}catch(O){const L=O instanceof Error?O.message:"登录失败,请检查用户名和密码";w(L)}finally{x(!1)}};return p.jsxs(p.Fragment,{children:[p.jsx("style",{"code-path":"src/components/auth/Login.tsx:102:7",children:iM}),p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:104:7",className:"relative min-h-screen flex items-center justify-center px-4 overflow-hidden",style:{background:`radial-gradient(ellipse at 50% 0%, ${getComputedStyle(document.documentElement).getPropertyValue("--dg-bg-secondary")} 0%, ${getComputedStyle(document.documentElement).getPropertyValue("--dg-bg-primary")} 100%)`},children:[cM.map((E,O)=>p.jsx("div",{"code-path":"src/components/auth/Login.tsx:112:11","aria-hidden":"true",className:"pointer-events-none absolute",style:{top:E.top,left:E.left,bottom:E.bottom,right:E.right,width:E.size,height:E.size,borderRadius:"50%",background:`radial-gradient(circle, ${E.color} 0%, transparent 70%)`,opacity:A?E.opacity:0,filter:`blur(${E.blur}px)`,animation:E.animation,willChange:"transform",transition:"opacity 1s ease-out"}},`orb-${O}`)),p.jsx("div",{"code-path":"src/components/auth/Login.tsx:135:9",className:"fixed top-4 right-4 z-50",style:{animation:"login-fade-in 0.6s ease-out"},children:p.jsxs(ti,{"code-path":"src/components/auth/Login.tsx:139:11",children:[p.jsx(ni,{"code-path":"src/components/auth/Login.tsx:140:13",asChild:!0,children:p.jsx("button",{"code-path":"src/components/auth/Login.tsx:141:15",type:"button","aria-label":"切换主题",className:Ce("inline-flex items-center justify-center size-10 rounded-full","border border-[var(--dg-border)] transition-all duration-200","hover:scale-105 active:scale-95 hover:border-[var(--dg-border-hover)]","glass"),style:{color:"var(--dg-text-secondary)"},children:p.jsx(iy,{"code-path":"src/components/auth/Login.tsx:152:17",className:"size-5"})})}),p.jsxs(ai,{"code-path":"src/components/auth/Login.tsx:155:13",align:"end",className:"w-60 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",style:{boxShadow:"var(--shadow-dropdown)"},children:[p.jsx(Zd,{"code-path":"src/components/auth/Login.tsx:160:15",className:"text-[var(--dg-text-secondary)]",children:"主题切换"}),p.jsx(ri,{"code-path":"src/components/auth/Login.tsx:161:15",className:"bg-[var(--dg-border)]"}),uf.map(E=>p.jsxs(Fo,{"code-path":"src/components/auth/Login.tsx:163:17",className:Ce("flex items-center gap-2.5 cursor-pointer transition-colors","focus:bg-[var(--dg-bg-hover)] focus:text-[var(--dg-text-primary)]",r===E.id?"text-[var(--dg-text-primary)]":"text-[var(--dg-text-secondary)]"),onClick:()=>l(E.id),children:[p.jsx("span",{"code-path":"src/components/auth/Login.tsx:172:19",className:"size-3.5 rounded-full shrink-0 ring-2",style:{backgroundColor:E.primaryColor,boxShadow:"0 0 0 2px var(--dg-bg-primary)"}}),p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:179:19",className:"flex-1 min-w-0",children:[p.jsx("span",{"code-path":"src/components/auth/Login.tsx:180:21",className:"text-sm font-medium block",children:E.name}),p.jsx("span",{"code-path":"src/components/auth/Login.tsx:181:21",className:"text-xs opacity-60 block truncate",children:E.description})]}),r===E.id&&p.jsx(cy,{"code-path":"src/components/auth/Login.tsx:183:43",className:"size-4 shrink-0 text-[var(--dg-blue)]"})]},E.id))]})]})}),p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:191:9",className:"relative z-10 w-full max-w-md",style:{background:"color-mix(in srgb, var(--dg-bg-secondary) 80%, transparent)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid var(--dg-border)",borderRadius:24,boxShadow:"var(--shadow-card-hover)",padding:"44px 40px",animation:"login-card-enter 0.6s cubic-bezier(0.16, 1, 0.3, 1)"},children:[p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:205:11",className:"text-center mb-8",children:[p.jsx("div",{"code-path":"src/components/auth/Login.tsx:206:13",className:"inline-flex items-center justify-center size-16 rounded-2xl mb-5",style:{background:"linear-gradient(135deg, var(--dg-gradient-start), var(--dg-gradien Line truncated
**时间:** ${new Date().toISOString()}
**URL:** ${window.location.href}
**用户代理:** ${navigator.userAgent}
### 错误信息
\`\`\`
${r?.name}: ${r?.message}
\`\`\`
### 组件堆栈
\`\`\`
${l?.componentStack}
\`\`\`
`;navigator.clipboard.writeText(s).then(()=>{ty.success("错误信息已复制到剪贴板,请粘贴到 Issue 中")}).catch(()=>{ty.error("复制失败,请手动复制错误信息")})};render(){return this.state.hasError?this.props.fallback?this.props.fallback:p.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:64:9",className:"min-h-[60vh] flex items-center justify-center p-6",children:p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:65:11",className:"dg-card max-w-lg w-full p-8 text-center space-y-6",children:[p.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:67:13",className:"mx-auto w-16 h-16 rounded-2xl bg-red-500/10 flex items-center justify-center",children:p.jsx(Jo,{"code-path":"src/components/layout/ErrorBoundary.tsx:68:15",className:"h-8 w-8 text-red-400"})}),p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:72:13",children:[p.jsx("h2",{"code-path":"src/components/layout/ErrorBoundary.tsx:73:15",className:"text-xl font-bold text-[var(--dg-text-primary)]",children:"页面出现错误"}),p.jsx("p",{"code-path":"src/components/layout/ErrorBoundary.tsx:76:15",className:"text-sm text-[var(--dg-text-muted)] mt-2",children:"抱歉,该页面遇到了意外错误。您可以尝试重新加载或返回首页。"})]}),this.state.error&&p.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:83:15",className:"text-left",children:p.jsxs("details",{"code-path":"src/components/layout/ErrorBoundary.tsx:84:17",className:"group",children:[p.jsxs("summary",{"code-path":"src/components/layout/ErrorBoundary.tsx:85:19",className:"cursor-pointer text-xs text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] transition-colors flex items-center gap-1.5",children:[p.jsx(Kg,{"code-path":"src/components/layout/ErrorBoundary.tsx:86:21",className:"h-3.5 w-3.5"}),"查看错误详情"]}),p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:89:19",className:"mt-2 p-3 rounded-lg bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] overflow-auto max-h-48",children:[p.jsxs("code",{"code-path":"src/components/layout/ErrorBoundary.tsx:90:21",className:"text-xs text-red-400 font-mono block whitespace-pre-wrap",children:[this.state.error.name,": ",this.state.error.message]}),this.state.errorInfo&&p.jsx("pre",{"code-path":"src/components/layout/ErrorBoundary.tsx:94:23",className:"text-xs text-[var(--dg-text-muted)] mt-2 whitespace-pre-wrap",children:this.state.errorInfo.componentStack})]})]})}),p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:104:13",className:"flex items-center justify-center gap-3",children:[p.jsxs(St,{"code-path":"src/components/layout/ErrorBoundary.tsx:105:15",variant:"outline",className:"dg-btn-secondary",onClick:this.handleGoHome,children:[p.jsx(dy,{"code-path":"src/components/layout/ErrorBoundary.tsx:110:17",className:"h-4 w-4 mr-1.5"}),"返回首页"]}),p.jsxs(St,{"code-path":"src/components/layout/ErrorBoundary.tsx:113:15",className:"dg-btn-primary",onClick:this.handleRetry,children:[p.jsx(hw,{"code-path":"src/components/layout/ErrorBoundary.tsx:117:17",className:"h-4 w-4 mr-1.5"}),"重新加载"]}),p.jsxs(St,{"code-path":"src/components/layout/ErrorBoundary.tsx:120:15",variant:"outline",className:"dg-btn-ghost",onClick:this.handleReport,children:[p.jsx(Kg,{"code-path":"src/components/layout/ErrorBoundary.tsx:125:17",className:"h-4 w-4 mr-1.5"}),"复制错误"]})]})]})}):this.props.children}}const SM=m.lazy(()=>le(()=>import("./Dashboard-jrJNQyDv.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])).then(n=>({default:n.Dashboard}))),wM=m.lazy(()=>le(()=>import("./ServerManager-DRO89iT_.js"),__vite__mapDeps([10,1,6,11,12,13,8,14,15,16,17,3,5,7,18,19,20,21,22,23,24,25])).then(n=>({default:n.ServerManager}))),EM=m.lazy(()=>le(()=>import("./CloudAccountManager-CAH48BOY.js"),__vite__mapDeps([26,1,11,24,6,7,18,8])).then(n=>({default:n.CloudAccountManager}))),AM=m.lazy(()=>le(()=>import("./DomainManager-BVDiC0aB.js"),__vite__mapDeps([27,1,11,24,6,7,18,8])).then(n=>({default:n.DomainManager}))),CM=m.lazy(()=>le(()=>import("./RegionManager-SQdvSTOO.js"),__vite__mapDeps([28,1,11,24,7,12,13,8,14,15,23])).then(n=>({default:n.RegionManager}))),RM=m.lazy(()=>le(()=>import("./PlatformManager-DX8QfUd6.js"),__vite__mapDeps([29,1,11,24,7,15,13,8,30])).then(n=>({default:n.PlatformManager}))),TM=m.lazy(()=>le(()=>import("./CloudBilling-BR3942nv.js"),__vite__mapDeps([31,1,11,24,6,7,32,13,15,8,33,5])).then(n=>({default:n.CloudBilling}))),_M=m.lazy(()=>le(()=>import("./KubernetesClusters-XXR1jnN_.js"),__vite__mapDeps([34,1,6,11,7,4,35,8,9,25,24,13,19,20])).then(n=>({default:n.KubernetesClusters}))),OM=m.lazy(()=>le(()=>import("./ClusterOverviewPage-BoH2T6EJ.js"),__vite__mapDeps([36,1,6,7,14,4,37,8])).then(n=>({default:n.default}))),jM=m.lazy(()=>le(()=>import("./NodeDetailPage-C77WC8d_.js"),__vite__mapDeps([38,1,6,7,14,4,8])).then(n=>({default:n.default}))),MM=m.lazy(()=>le(()=>import("./NamespaceOverviewPage-3E Line truncated
-1
View File
@@ -1 +0,0 @@
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,[data-theme=ocean-deep]{--background: 220 13% 5%;--foreground: 210 40% 98%;--card: 220 13% 7%;--card-foreground: 210 40% 98%;--popover: 220 13% 7%;--popover-foreground: 210 40% 98%;--primary: 217 91% 60%;--primary-foreground: 0 Line truncated
-2
View File
@@ -1,2 +0,0 @@
import{h as n,ai as u,aj as l,ak as i}from"./index-Dungj95X.js";const m={getClusters:async()=>n.get("/kubernetes-clusters"),getClusterDetail:async e=>n.get(`/kubernetes-clusters/${e}/detail`),createCluster:async e=>n.post("/kubernetes-clusters",e),updateCluster:async(e,s)=>n.put(`/kubernetes-clusters/${e}`,s),deleteCluster:async e=>n.delete(`/kubernetes-clusters/${e}`),getPods:async e=>n.get(`/kubernetes-clusters/${e}/pods`),getDeployments:async e=>n.get(`/kubernetes-clusters/${e}/deployments`),getServices:async e=>n.get(`/kubernetes-clusters/${e}/services`),getIngresses:async e=>n.get(`/kubernetes-clusters/${e}/ingresses`),syncCluster:async e=>n.post(`/kubernetes-clusters/${e}/sync`),exportAllResources:async e=>n.download(`/kubernetes/${e}/export`,`cluster-${e}-resources.tar.gz`),getTopology:async e=>n.get(`/kubernetes-clusters/${e}/topology`),saveTopology:async(e,s)=>n.put(`/kubernetes-clusters/${e}/topology`,{layout_data:s}),getMultiClusterComparison:async()=>n.get("/kubernetes/compare")},y={getNodes:async e=>n.get(`/kubernetes-clusters/${e}/nodes`),getClusterNodes:async e=>n.get(`/kubernetes/${e}/nodes`),getNodeDetail:async(e,s)=>n.get(`/kubernetes/${e}/nodes/${encodeURIComponent(s)}`)};function g(e,s){if(s.length===0)return;const t=Object.keys(s[0]),a=[t.join(","),...s.map(o=>t.map(p=>JSON.stringify(o[p]??"")).join(","))].join(`
`),c=new Blob(["\uFEFF"+a],{type:"text/csv;charset=utf-8;"}),r=document.createElement("a");r.href=URL.createObjectURL(c),r.download=e,r.click(),URL.revokeObjectURL(r.href)}function b(e,s){const t=new Blob([JSON.stringify(s,null,2)],{type:"application/json"}),a=document.createElement("a");a.href=URL.createObjectURL(t),a.download=e,a.click(),URL.revokeObjectURL(a.href)}function D(e,s){const t=new Blob([s],{type:"application/x-yaml;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(t),a.download=e.endsWith(".yaml")?e:`${e}.yaml`,a.click(),URL.revokeObjectURL(a.href)}function d(e,s,t,a={}){const c=new URLSearchParams;return c.set("stream","true"),a.container&&c.set("container",a.container),a.tailLines&&a.tailLines>0&&c.set("tailLines",String(a.tailLines)),a.previous&&c.set("previous","true"),a.sinceTime&&c.set("sinceTime",a.sinceTime),l(`/kubernetes/${e}/namespace/${s}/pods/${t}/logs`,c)}function k(e,s,t,a,c){const r=new URLSearchParams;a&&r.set("container",a),c&&r.set("command",c);const o=u();o&&r.set("token",o);const p=r.toString();return`${i()}/ws/kubernetes-exec/${e}/namespaces/${s}/pods/${t}${p?`?${p}`:""}`}function $(e,s,t,a,c){const r=new URLSearchParams({path:a});c&&r.set("container",c);const o=u();return o&&r.set("token",o),l(`/kubernetes/${e}/namespace/${s}/pods/${t}/files/download`,r)}async function f(e,s,t,a,c){const r=$(e,s,t,a,c),o=await fetch(r);if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.text()}async function S(e,s,t,a,c,r){const o=new FormData;return o.append("file",c),o.append("path",a),r&&o.append("container",r),n.upload(`/kubernetes/${e}/namespace/${s}/pods/${t}/files/upload`,o)}const L={getPodLogs:async(e,s,t,a=200,c)=>{const r=new URLSearchParams({tail:String(a)});return c&&r.set("container",c),n.get(`/kubernetes/${e}/namespace/${s}/pods/${t}/logs?${r}`)},getPodLogsEnhanced:async(e,s,t,a={})=>{const c=new URLSearchParams;a.container&&c.set("container",a.container),a.tailLines&&a.tailLines>0&&c.set("tailLines",String(a.tailLines)),a.previous&&c.set("previous","true"),a.sinceTime&&c.set("sinceTime",a.sinceTime);const r=c.toString();return n.get(`/kubernetes/${e}/namespace/${s}/pods/${t}/logs${r?`?${r}`:""}`)},buildPodLogsStreamUrl:d,execPod:async(e,s,t,a,c)=>n.post(`/kubernetes/${e}/namespace/${s}/pods/${t}/exec`,{command:a,container:c}),buildPodExecWsUrl:k,listPodFiles:async(e,s,t,a,c)=>n.post(`/kubernetes/${e}/namespace/${s}/pods/${t}/files/list`,{path:a,container:c}),buildPodFileDownloadUrl:$,readPodFileText:f,uploadPodFile:S,getPodMetrics:async(e,s)=>{const t=s?{namespace:s}:void 0;return n.get(`/kubernetes/${e}/metrics/pods`,t)},getAllPods:async e=>n.get(`/kubernetes/${e}/pods`),getNamespacePods:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/pods`),deletePod:async(e,s,t)=>n.delete(`/kubernetes/${e}/namespace/${s}/pods/${t}`)},R={scaleDeployment:async(e,s,t,a)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/scale`,{replicas:a}),restartDeployment:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/restart`),pauseDeployment:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/pause`),resumeDeployment:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/resume`),updateDeploymentImage:async(e,s,t,a,c)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/update-image`,{image:a,container_name:c}),getHPAs:async(e,s)=>s?n.get(`/kubernetes/${e}/namespace/${s}/hpas`):n.get(`/kubernetes/${e}/hpas`),createHPA:async(e,s)=>n.post(`/kubernetes/${e}/namespace/${s.namespace}/hpas`,s),deleteHPA:async(e,s,t)=>n.delete(`/kubernetes/${e}/namespace/${s}/hpas/${t}`),getCronJobs:async(e,s)=>s?n.get(`/kubernetes/${e}/namespace/${s}/cronjobs`):n.get(`/kubernetes-clusters/${e}/cronjobs`),createCronJob:async(e,s)=>n.post(`/kubernetes/${e}/namespace/${s.namespace}/cronjobs`,s),suspendCronJob:async(e,s,t,a)=>n.post(`/kubernetes/${e}/namespace/${s}/cronjobs/${t}/suspend`,{suspend:a}),triggerCronJob:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/cronjobs/${t}/trigger`),deleteCronJob:async(e,s,t)=>n.delete(`/kubernetes/${e}/namespace/${s}/cronjobs/${t}`),getNamespaceDeployments:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/deployments`),getAllDeployments:async e=>n.get(`/kubernetes/${e}/deployments`),getStatefulSets:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/statefulsets`),getDaemonSets:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/daemonsets`),getStatefulSetDetail:async(e,s,t)=>n.get(`/kubernetes/${e}/namespace/${s}/statefulsets/${t}`),getDaemonSetDetail:async(e,s,t)=>n.get(`/kubernetes/${e}/namespace/${s}/daemonsets/${t}`),scaleStatefulSet:async(e,s,t,a)=>n.post(`/kubernetes/${e}/namespace/${s}/statefulsets/${t}/scale`,{replicas:a}),restartStatefulSet:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/statefulsets/${t}/restart`,{}),restartDaemonSet:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/daemonsets/${t}/restart`,{}),getReplicaSets:async(e,s)=>n.get(`/kubernetes/${e}/nameLine truncated
-1
View File
@@ -1 +0,0 @@
import{j as t}from"./vendor-codemirror-B1SGo4xl.js";import{m as n}from"./index-Dungj95X.js";function a({className:e,type:i,...r}){return t.jsx("input",{"code-path":"src/components/ui/input.tsx:7:5",type:i,"data-slot":"input",className:n("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}export{a as I};
-32
View File
@@ -1,32 +0,0 @@
function _e(e){return typeof e>"u"||e===null}function tn(e){return typeof e=="object"&&e!==null}function hn(e){return Array.isArray(e)?e:_e(e)?[]:[e]}function dn(e,n){var i,l,r,u;if(n)for(u=Object.keys(n),i=0,l=u.length;i<l;i+=1)r=u[i],e[r]=n[r];return e}function sn(e,n){var i="",l;for(l=0;l<n;l+=1)i+=e;return i}function mn(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var xn=_e,gn=tn,An=hn,vn=sn,yn=mn,Cn=dn,y={isNothing:xn,isObject:gn,toArray:An,repeat:vn,isNegativeZero:yn,extend:Cn};function we(e,n){var i="",l=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(i+='in "'+e.mark.name+'" '),i+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(i+=`
`+e.mark.snippet),l+" "+i):l}function Y(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=we(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Y.prototype=Object.create(Error.prototype);Y.prototype.constructor=Y;Y.prototype.toString=function(n){return this.name+": "+we(this,n)};var w=Y;function $(e,n,i,l,r){var u="",o="",f=Math.floor(r/2)-1;return l-n>f&&(u=" ... ",n=l-f+u.length),i-l>f&&(o=" ...",i=l+f-o.length),{str:u+e.slice(n,i).replace(/\t/g,"→")+o,pos:l-n+u.length}}function Q(e,n){return y.repeat(" ",n-e.length)+e}function _n(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var i=/\r?\n|\r|\0/g,l=[0],r=[],u,o=-1;u=i.exec(e.buffer);)r.push(u.index),l.push(u.index+u[0].length),e.position<=u.index&&o<0&&(o=l.length-2);o<0&&(o=l.length-1);var f="",c,a,t=Math.min(e.line+n.linesAfter,r.length).toString().length,p=n.maxLength-(n.indent+t+3);for(c=1;c<=n.linesBefore&&!(o-c<0);c++)a=$(e.buffer,l[o-c],r[o-c],e.position-(l[o]-l[o-c]),p),f=y.repeat(" ",n.indent)+Q((e.line-c+1).toString(),t)+" | "+a.str+`
`+f;for(a=$(e.buffer,l[o],r[o],e.position,p),f+=y.repeat(" ",n.indent)+Q((e.line+1).toString(),t)+" | "+a.str+`
`,f+=y.repeat("-",n.indent+t+3+a.pos)+`^
`,c=1;c<=n.linesAfter&&!(o+c>=r.length);c++)a=$(e.buffer,l[o+c],r[o+c],e.position-(l[o]-l[o+c]),p),f+=y.repeat(" ",n.indent)+Q((e.line+c+1).toString(),t)+" | "+a.str+`
`;return f.replace(/\n$/,"")}var wn=_n,En=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Sn=["scalar","sequence","mapping"];function Fn(e){var n={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(l){n[String(l)]=i})}),n}function bn(e,n){if(n=n||{},Object.keys(n).forEach(function(i){if(En.indexOf(i)===-1)throw new w('Unknown option "'+i+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(i){return i},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=Fn(n.styleAliases||null),Sn.indexOf(this.kind)===-1)throw new w('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var C=bn;function fe(e,n){var i=[];return e[n].forEach(function(l){var r=i.length;i.forEach(function(u,o){u.tag===l.tag&&u.kind===l.kind&&u.multi===l.multi&&(r=o)}),i[r]=l}),i}function Tn(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,i;function l(r){r.multi?(e.multi[r.kind].push(r),e.multi.fallback.push(r)):e[r.kind][r.tag]=e.fallback[r.tag]=r}for(n=0,i=arguments.length;n<i;n+=1)arguments[n].forEach(l);return e}function X(e){return this.extend(e)}X.prototype.extend=function(n){var i=[],l=[];if(n instanceof C)l.push(n);else if(Array.isArray(n))l=l.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(i=i.concat(n.implicit)),n.explicit&&(l=l.concat(n.explicit));else throw new w("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");i.forEach(function(u){if(!(u instanceof C))throw new w("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(u.loadKind&&u.loadKind!=="scalar")throw new w("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(u.multi)throw new w("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),l.forEach(function(u){if(!(u instanceof C))throw new w("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var r=Object.create(X.prototype);return r.implicit=(this.implicit||[]).concat(i),r.explicit=(this.explicit||[]).concat(l),r.compiledImplicit=fe(r,"implicit"),r.compiledExplicit=fe(r,"explicit"),r.compiledTypeMap=Tn(r.compiledImplicit,r.compiledExplicit),r};var Ee=X,Se=new C("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Fe=new C("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),be=new C("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Te=new Ee({explicit:[Se,Fe,be]});function On(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function In(){return null}function Ln(e){return e===null}var Oe=new C("tag:yaml.org,2002:null",{kind:"scalar",resolve:On,construct:In,predicate:Ln,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function kn(e){if(e===null)return!1;var n=e.length;return n===4&&(e==="true"||e==="True"||e==="TRUE")||n===5&&(e==="false"||e==="False"||e==="FALSE")}function Nn(e){return e==="true"||e==="True"||e==="TRUE"}function Rn(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Ie=new C("tag:yaml.org,2002:bool",{kind:"scalar",resolve:kn,construct:Nn,predicate:Rn,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function Dn(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Mn(e){return 48<=e&&e<=55}function Yn(e){return 48<=e&&e<=57}function Bn(e){if(e===null)return!1;var n=e.length,i=0,l=!1,r;if(!n)return!1;if(r=e[i],(r==="-"||r==="+")&&(r=e[++i]),r==="0"){if(i+1===n)return!0;if(r=e[++i],r==="b"){for(i++;i<n;i++)if(r=e[i],r!=="_"){if(r!=="0"&&r!=="1")return!1;l=!0}return l&&r!=="_"}if(r==="x"){for(i++;i<n;i++)if(r=e[i],r!=="_"){if(!Dn(e.charCodeAt(i)))return!1;l=!0}return l&&r!=="_"}if(r==="o"){for(i++;i<n;i++)if(r=e[i],r!=="_"){if(!Mn(e.charCodeAt(i)))return!1;l=!0}return l&&r!=="_"}}if(r==="_")return!1;for(;i<n;i++)if(r=e[i],r!=="_"){if(!Yn(e.charCodeAt(i)))return!1;l=!0}return!(!l||r==="_")}function Pn(e){var n=e,i=1,l;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),l=n[0],(l==="-"||l==="+")&&(l==="-"&&(i=-1),n=n.slice(1),l=n[0]),n==="0")return 0;if(l==="0"){if(n[1]==="b")return i*parseInt(n.slice(2),2);if(n[1]= Line truncated
\r`;function Zn(e){if(e===null)return!1;var n,i,l=0,r=e.length,u=ne;for(i=0;i<r;i++)if(n=u.indexOf(e.charAt(i)),!(n>64)){if(n<0)return!1;l+=6}return l%8===0}function zn(e){var n,i,l=e.replace(/[\r\n=]/g,""),r=l.length,u=ne,o=0,f=[];for(n=0;n<r;n++)n%4===0&&n&&(f.push(o>>16&255),f.push(o>>8&255),f.push(o&255)),o=o<<6|u.indexOf(l.charAt(n));return i=r%4*6,i===0?(f.push(o>>16&255),f.push(o>>8&255),f.push(o&255)):i===18?(f.push(o>>10&255),f.push(o>>2&255)):i===12&&f.push(o>>4&255),new Uint8Array(f)}function Jn(e){var n="",i=0,l,r,u=e.length,o=ne;for(l=0;l<u;l++)l%3===0&&l&&(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]),i=(i<<8)+e[l];return r=u%3,r===0?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]):r===2?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):r===1&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}function ei(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var Pe=new C("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Zn,construct:zn,predicate:ei,represent:Jn}),ni=Object.prototype.hasOwnProperty,ii=Object.prototype.toString;function ri(e){if(e===null)return!0;var n=[],i,l,r,u,o,f=e;for(i=0,l=f.length;i<l;i+=1){if(r=f[i],o=!1,ii.call(r)!=="[object Object]")return!1;for(u in r)if(ni.call(r,u))if(!o)o=!0;else return!1;if(!o)return!1;if(n.indexOf(u)===-1)n.push(u);else return!1}return!0}function li(e){return e!==null?e:[]}var He=new C("tag:yaml.org,2002:omap",{kind:"sequence",resolve:ri,construct:li}),oi=Object.prototype.toString;function ui(e){if(e===null)return!0;var n,i,l,r,u,o=e;for(u=new Array(o.length),n=0,i=o.length;n<i;n+=1){if(l=o[n],oi.call(l)!=="[object Object]"||(r=Object.keys(l),r.length!==1))return!1;u[n]=[r[0],l[r[0]]]}return!0}function fi(e){if(e===null)return[];var n,i,l,r,u,o=e;for(u=new Array(o.length),n=0,i=o.length;n<i;n+=1)l=o[n],r=Object.keys(l),u[n]=[r[0],l[r[0]]];return u}var je=new C("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:ui,construct:fi}),ci=Object.prototype.hasOwnProperty;function ai(e){if(e===null)return!0;var n,i=e;for(n in i)if(ci.call(i,n)&&i[n]!==null)return!1;return!0}function pi(e){return e!==null?e:{}}var Ue=new C("tag:yaml.org,2002:set",{kind:"mapping",resolve:ai,construct:pi}),ie=Re.extend({implicit:[Ye,Be],explicit:[Pe,He,je,Ue]}),O=Object.prototype.hasOwnProperty,j=1,Ke=2,qe=3,U=4,V=1,ti=2,ce=3,hi=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,di=/[\x85\u2028\u2029]/,si=/[,\[\]\{\}]/,Ge=/^(?:!|!!|![a-z\-]+!)$/i,We=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ae(e){return Object.prototype.toString.call(e)}function F(e){return e===10||e===13}function I(e){return e===9||e===32}function E(e){return e===9||e===32||e===10||e===13}function N(e){return e===44||e===91||e===93||e===123||e===125}function mi(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function xi(e){return e===120?2:e===117?4:e===85?8:0}function gi(e){return 48<=e&&e<=57?e-48:-1}function pe(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"…":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function Ai(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function $e(e,n,i){n==="__proto__"?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:i}):e[n]=i}var Qe=new Array(256),Ve=new Array(256);for(var L=0;L<256;L++)Qe[L]=pe(L)?1:0,Ve[L]=pe(L);function vi(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||ie,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Xe(e,n){var i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=wn(i),new w(n,i)}function h(e,n){throw Xe(e,n)}function K(e,n){e.onWarning&&e.onWarning.call(null,Xe(e,n))}var te={YAML:function(n,i,l){var r,u,o;n.version!==null&&h(n,"duplication of %YAML directive"),l.length!==1&&h(n,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(l[0]),r===null&&h(n,"ill-formed argument of the YAML directive"),u=parseInt(r[1],10),o=parseInt(r[2],10),u!==1&&h(n,"unacceptable YAML version of the document"),n.version=l[0],n.checkLineBreaks=o<2,o!==1&&o!==2&&K(n,"unsupported YAML version of the document")},TAG:function(n,i,l){var r,u;l.length!==2&&h(n,"TAG directive accepts exactly two arguments"),r=l[0],u=l[1],Ge.test(r)||h(n,"ill-formed tag handle (first argument) of the TAG directive"),O.call(n.tagMap,r)&&h(n,'there is a previously declared suffix for "'+r+'" tag handle'),We.test(u)||h(n,"ill-formed tag prefix (second argument) of the TAG directive");try{u=decodeURIComponent(u)}catch{h(n,"tag prefix is malformed: "+u)}n.tagMap[r]=u}};function T(e,n,i,l){var r,u,o,f;if(n<i){if(f=e.input.slice(n,i),l)for(r=0,u=f.length;r<u;r+=1)o=f.charCodeAt(r),o===9||32<=o&&o<=1114111||h(e,"expected valid JSON character");else hi.test(f)&&h(e,"the stream contains non-printable characters");e.result+=f}}function he(e,n,i,l){var r,u,o,f;for(y.isObject(i)||h(e,"cannot merge mappings; the provided source object is unacceptable"),r=Object.keys(i),o=0,f=r.length;o<f;o+=1)u=r[o],O.call(n,u)||($e(n,u,i[u]),l[u]=!0)}function R(e,n,i,l,r,u,o,f,c){var a,t;if(Array.isArray(r))for(r=Array.prototype.slice.call(r),a=0,t=r.length;a<t;a+=1)Array.isArray(r[a])&&h(e,"nested arrays are not supported inside keys"),typeof r=="object"&&ae(r[a])==="[object Object]"&&(r[a]="[object Object]");if(typeof r=="object"&&ae(r)==="[object Object]"&&(r="[object Object]"),r=String(r),n===null&&(n={}),l==="tag:yaml.org,2002:merge")if(Array.isArray(u))for(a=0,t=u.length;a<t;a+=1)he(e,n,u[a],i);else he(e,n,u,i);else!e.json&&!O.call(i,r)&&O.call(n,r)&&(e.line=o||e.line,e.lineStart=f||e.lineStart,e.position=c||e.position,h(e,"duplicated mapping key")),$e(n,r,u),delete i[r];return n}function re(e){var n;n=e.input.charCodeAt(e.position),n===10?e.position++:n===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):h(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function v(e,n,i){for(var l=0,r=e.input.charCodeAt(e.position);r!==0;){for(;I(r);)r===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(n&&r===35)do r=e.input.charCodeAt(++e.position);while(r!==10&&r!==13&&r!==0);if(F(r))for(re(e),r=e.input.charCodeAt(e.position),l++,e.lineIndent=0;r===32;)e.lineIndent++,r=e.input.charCodeAt(++e.position);else break}return i!==-1&&l!==0&&e.lineIndent<i&&K(e,"deficient indentation"),l}function W(e){var n=e.position,i;return i=e.input.charCodeAt(n),!!((i===45||i===46)&&i===e.input.charCodeAt(n+1)&&i===e.input.charCodeAt(n+2)&&(n+=3,i=e.input.charCodeAt(n),i===0||E(i)))}function le(e,n){n===1?e.result+=" ":n>1&&(e.result+=y.repeat(`
`,n-1))}function yi(e,n,i){var l,r,u,o,f,c,a,t,p=e.kind,d=e.result,s;if(s=e.input.charCodeAt(e.position),E(s)||N(s)||s===35||s===38||s===42||s===33||s===124||s===62||s===39||s===34||s===37||s===64||s===96||(s===63||s===45)&&(r=e.input.charCodeAt(e.position+1),E(r)||i&&N(r)))return!1;for(e.kind="scalar",e.result="",u=o=e.position,f=!1;s!==0;){if(s===58){if(r=e.input.charCodeAt(e.position+1),E(r)||i&&N(r))break}else if(s===35){if(l=e.input.charCodeAt(e.position-1),E(l))break}else{if(e.position===e.lineStart&&W(e)||i&&N(s))break;if(F(s))if(c=e.line,a=e.lineStart,t=e.lineIndent,v(e,!1,-1),e.lineIndent>=n){f=!0,s=e.input.charCodeAt(e.position);continue}else{e.position=o,e.line=c,e.lineStart=a,e.lineIndent=t;break}}f&&(T(e,u,o,!1),le(e,e.line-c),u=o=e.position,f=!1),I(s)||(o=e.position+1),s=e.input.charCodeAt(++e.position)}return T(e,u,o,!1),e.result?!0:(e.kind=p,e.result=d,!1)}function Ci(e,n){var i,l,r;if(i=e.input.charCodeAt(e.position),i!==39)return!1;for(e.kind="scalar",e.result="",e.position++,l=r=e.position;(i=e.input.charCodeAt(e.position))!==0;)if(i===39)if(T(e,l,e.position,!0),i=e.input.charCodeAt(++e.position),i===39)l=e.position,e.position++,r=e.position;else return!0;else F(i)?(T(e,l,r,!0),le(e,v(e,!1,n)),l=r=e.position):e.position===e.lineStart&&W(e)?h(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);h(e,"unexpected end of the stream within a single quoted scalar")}function _i(e,n){var i,l,r,u,o,f;if(f=e.input.charCodeAt(e.position),f!==34)return!1;for(e.kind="scalar",e.result="",e.position++,i=l=e.position;(f=e.input.charCodeAt(e.position))!==0;){if(f===34)return T(e,i,e.position,!0),e.position++,!0;if(f===92){if(T(e,i,e.position,!0),f=e.input.charCodeAt(++e.position),F(f))v(e,!1,n);else if(f<256&&Qe[f])e.result+=Ve[f],e.position++;else if((o=xi(f))>0){for(r=o,u=0;r>0;r--)f=e.input.charCodeAt(++e.position),(o=mi(f))>=0?u=(u<<4)+o:h(e,"expected hexadecimal character");e.result+=Ai(u),e.position++}else h(e,"unknown escape sequence");i=l=e.position}else F(f)?(T(e,i,l,!0),le(e,v(e,!1,n)),i=l=e.position):e.position===e.lineStart&&W(e)?h(e,"unexpected end of the document within a double quoted scalar"):(e.position++,l=e.position)}h(e,"unexpected end of the stream within a double quoted scalar")}function wi(e,n){var i=!0,l,r,u,o=e.tag,f,c=e.anchor,a,t,p,d,s,m=Object.create(null),g,A,S,x;if(x=e.input.charCodeAt(e.position),x===91)t=93,s=!1,f=[];else if(x===123)t=125,s=!0,f={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=f),x=e.input.charCodeAt(++e.position);x!==0;){if(v(e,!0,n),x=e.input.charCodeAt(e.position),x===t)return e.position++,e.tag=o,e.anchor=c,e.kind=s?"mapping":"sequence",e.result=f,!0;i?x===44&&h(e,"expected the node content, but found ','"):h(e,"missed comma between flow collection entries"),A=g=S=null,p=d=!1,x===63&&(a=e.input.charCodeAt(e.position+1),E(a)&&(p=d=!0,e.position++,v(e,!0,n))),l=e.line,r=e.lineStart,u=e.position,D(e,n,j,!1,!0),A=e.tag,g=e.result,v(e,!0,n),x=e.input.charCodeAt(e.position),(d||e.line===l)&&x===58&&(p=!0,x=e.input.charCodeAt(++e.position),v(e,!0,n),D(e,n,j,!1,!0),S=e.result),s?R(e,f,m,A,g,S,l,r,u):p?f.push(R(e,null,m,A,g,S,l,r,u)):f.push(g),v(e,!0,n),x=e.input.charCodeAt(e.position),x===44?(i=!0,x=e.input.charCodeAt(++e.position)):i=!1}h(e,"unexpected end of the stream within a flow collection")}function Ei(e,n){var i,l,r=V,u=!1,o=!1,f=n,c=0,a=!1,t,p;if(p=e.input.charCodeAt(e.position),p===124)l=!1;else if(p===62)l=!0;else return!1;for(e.kind="scalar",e.result="";p!==0;)if(p=e.input.charCodeAt(++e.position),p===43||p===45)V===r?r=p===43?ce:ti:h(e,"repeat of a chomping mode identifier");else if((t=gi(p))>=0)t===0?h(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?h(e,"repeat of an indentation width identifier"):(f=n+t-1,o=!0);else break;if(I(p)){do p=e.input.charCodeAt(++e.position);while(I(p));if(p===35)do p=e.input.charCodeAt(++e.position);while(!F(p)&&p!==0)}for(;p!==0;){for(re(e),e.lineIndent=0,p=e.input.charCodeAt(e.position);(!o||e.lineIndent<f)&&p===32;)e.lineIndent++,p=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>f&&(f=e.lineIndent),F(p)){c++;continue}if(e.lineIndent<f){r===ce?e.result+=y.repeat(`
`,u?1+c:c):r===V&&u&&(e.result+=`
`);break}for(l?I(p)?(a=!0,e.result+=y.repeat(`
`,u?1+c:c)):a?(a=!1,e.result+=y.repeat(`
`,c+1)):c===0?u&&(e.result+=" "):e.result+=y.repeat(`
`,c):e.result+=y.repeat(`
`,u?1+c:c),u=!0,o=!0,c=0,i=e.position;!F(p)&&p!==0;)p=e.input.charCodeAt(++e.position);T(e,i,e.position,!1)}return!0}function de(e,n){var i,l=e.tag,r=e.anchor,u=[],o,f=!1,c;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=u),c=e.input.charCodeAt(e.position);c!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,h(e,"tab characters must not be used in indentation")),!(c!==45||(o=e.input.charCodeAt(e.position+1),!E(o))));){if(f=!0,e.position++,v(e,!0,-1)&&e.lineIndent<=n){u.push(null),c=e.input.charCodeAt(e.position);continue}if(i=e.line,D(e,n,qe,!1,!0),u.push(e.result),v(e,!0,-1),c=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>n)&&c!==0)h(e,"bad indentation of a sequence entry");else if(e.lineIndent<n)break}return f?(e.tag=l,e.anchor=r,e.kind="sequence",e.result=u,!0):!1}function Si(e,n,i){var l,r,u,o,f,c,a=e.tag,t=e.anchor,p={},d=Object.create(null),s=null,m=null,g=null,A=!1,S=!1,x;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=p),x=e.input.charCodeAt(e.position);x!==0;){if(!A&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,h(e,"tab characters must not be used in indentation")),l=e.input.charCodeAt(e.position+1),u=e.line,(x===63||x===58)&&E(l))x===63?(A&&(R(e,p,d,s,m,null,o,f,c),s=m=g=null),S=!0,A=!0,r=!0):A?(A=!1,r=!0):h(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,x=l;else{if(o=e.line,f=e.lineStart,c=e.position,!D(e,i,Ke,!1,!0))break;if(e.line===u){for(x=e.input.charCodeAt(e.position);I(x);)x=e.input.charCodeAt(++e.position);if(x===58)x=e.input.charCodeAt(++e.position),E(x)||h(e,"a whitespace character is expected after the key-value separator within a block mapping"),A&&(R(e,p,d,s,m,null,o,f,c),s=m=g=null),S=!0,A=!1,r=!1,s=e.tag,m=e.result;else if(S)h(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=a,e.anchor=t,!0}else if(S)h(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=a,e.anchor=t,!0}if((e.line===u||e.lineIndent>n)&&(A&&(o=e.line,f=e.lineStart,c=e.position),D(e,n,U,!0,r)&&(A?m=e.result:g=e.result),A||(R(e,p,d,s,m,g,o,f,c),s=m=g=null),v(e,!0,-1),x=e.input.charCodeAt(e.position)),(e.line===u||e.lineIndent>n)&&x!==0)h(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return A&&R(e,p,d,s,m,null,o,f,c),S&&(e.tag=a,e.anchor=t,e.kind="mapping",e.result=p),S}function Fi(e){var n,i=!1,l=!1,r,u,o;if(o=e.input.charCodeAt(e.position),o!==33)return!1;if(e.tag!==null&&h(e,"duplication of a tag property"),o=e.input.charCodeAt(++e.position),o===60?(i=!0,o=e.input.charCodeAt(++e.position)):o===33?(l=!0,r="!!",o=e.input.charCodeAt(++e.position)):r="!",n=e.position,i){do o=e.input.charCodeAt(++e.position);while(o!==0&&o!==62);e.position<e.length?(u=e.input.slice(n,e.position),o=e.input.charCodeAt(++e.position)):h(e,"unexpected end of the stream within a verbatim tag")}else{for(;o!==0&&!E(o);)o===33&&(l?h(e,"tag suffix cannot contain exclamation marks"):(r=e.input.slice(n-1,e.position+1),Ge.test(r)||h(e,"named tag handle cannot contain such characters"),l=!0,n=e.position+1)),o=e.input.charCodeAt(++e.position);u=e.input.slice(n,e.position),si.test(u)&&h(e,"tag suffix cannot contain flow indicator characters")}u&&!We.test(u)&&h(e,"tag name cannot contain such characters: "+u);try{u=decodeURIComponent(u)}catch{h(e,"tag name is malformed: "+u)}return i?e.tag=u:O.call(e.tagMap,r)?e.tag=e.tagMap[r]+u:r==="!"?e.tag="!"+u:r==="!!"?e.tag="tag:yaml.org,2002:"+u:h(e,'undeclared tag handle "'+r+'"'),!0}function bi(e){var n,i;if(i=e.input.charCodeAt(e.position),i!==38)return!1;for(e.anchor!==null&&h(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),n=e.position;i!==0&&!E(i)&&!N(i);)i=e.input.charCodeAt(++e.position);return e.position===n&&h(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(n,e.position),!0}function Ti(e){var n,i,l;if(l=e.input.charCodeAt(e.position),l!==42)return!1;for(l=e.input.charCodeAt(++e.position),n=e.position;l!==0&&!E(l)&&!N(l);)l=e.input.charCodeAt(++e.position);return e.position===n&&h(e,"name of an alias node must contain at least one character"),i=e.input.slice(n,e.position),O.call(e.anchorMap,i)||h(e,'unidentified alias "'+i+'"'),e.result=e.anchorMap[i],v(e,!0,-1),!0}function D(e,n,i,l,r){var u,o,f,c=1,a=!1,t=!1,p,d,s,m,g,A;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,u=o=f=U===i||qe===i,l&&v(e,!0,-1)&&(a=!0,e.lineIndent>n?c=1:e.lineIndent===n?c=0:e.lineIndent<n&&(c=-1)),c===1)for(;Fi(e)||bi(e);)v(e,!0,-1)?(a=!0,f=u,e.lineIndent>n?c=1:e.lineIndent===n?c=0:e.lineIndent<n&&(c=-1)):f=!1;if(f&&(f=a||r),(c===1||U===i)&&(j===i||Ke===i?g=n:g=n+1,A=e.position-e.lineStart,c===1?f&&(de(e,A)||Si(e,A,g))||wi(e,g)?t=!0:(o&&Ei(e,g)||Ci(e,g)||_i(e,g)?t=!0:Ti(e)?(t=!0,(e.tag!==null||e.anchor!==null)&&h(e,"alias node should not have any properties")):yi(e,g Line truncated
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var i=new vi(e,n),l=e.indexOf("\0");for(l!==-1&&(i.position=l,h(i,"null byte is not allowed in input")),i.input+="\0";i.input.charCodeAt(i.position)===32;)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)Oi(i);return i.documents}function Ii(e,n,i){n!==null&&typeof n=="object"&&typeof i>"u"&&(i=n,n=null);var l=Ze(e,i);if(typeof n!="function")return l;for(var r=0,u=l.length;r<u;r+=1)n(l[r])}function Li(e,n){var i=Ze(e,n);if(i.length!==0){if(i.length===1)return i[0];throw new w("expected a single document in the stream, but found more")}}var ki=Ii,Ni=Li,ze={loadAll:ki,load:Ni},Je=Object.prototype.toString,en=Object.prototype.hasOwnProperty,oe=65279,Ri=9,B=10,Di=13,Mi=32,Yi=33,Bi=34,Z=35,Pi=37,Hi=38,ji=39,Ui=42,nn=44,Ki=45,q=58,qi=61,Gi=62,Wi=63,$i=64,rn=91,ln=93,Qi=96,on=123,Vi=124,un=125,_={};_[0]="\\0";_[7]="\\a";_[8]="\\b";_[9]="\\t";_[10]="\\n";_[11]="\\v";_[12]="\\f";_[13]="\\r";_[27]="\\e";_[34]='\\"';_[92]="\\\\";_[133]="\\N";_[160]="\\_";_[8232]="\\L";_[8233]="\\P";var Xi=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Zi=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function zi(e,n){var i,l,r,u,o,f,c;if(n===null)return{};for(i={},l=Object.keys(n),r=0,u=l.length;r<u;r+=1)o=l[r],f=String(n[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),c=e.compiledTypeMap.fallback[o],c&&en.call(c.styleAliases,f)&&(f=c.styleAliases[f]),i[o]=f;return i}function Ji(e){var n,i,l;if(n=e.toString(16).toUpperCase(),e<=255)i="x",l=2;else if(e<=65535)i="u",l=4;else if(e<=4294967295)i="U",l=8;else throw new w("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+i+y.repeat("0",l-n.length)+n}var er=1,P=2;function nr(e){this.schema=e.schema||ie,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=y.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=zi(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?P:er,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function se(e,n){for(var i=y.repeat(" ",n),l=0,r=-1,u="",o,f=e.length;l<f;)r=e.indexOf(`
`,l),r===-1?(o=e.slice(l),l=f):(o=e.slice(l,r+1),l=r+1),o.length&&o!==`
`&&(u+=i),u+=o;return u}function z(e,n){return`
`+y.repeat(" ",e.indent*n)}function ir(e,n){var i,l,r;for(i=0,l=e.implicitTypes.length;i<l;i+=1)if(r=e.implicitTypes[i],r.resolve(n))return!0;return!1}function G(e){return e===Mi||e===Ri}function H(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==oe||65536<=e&&e<=1114111}function me(e){return H(e)&&e!==oe&&e!==Di&&e!==B}function xe(e,n,i){var l=me(e),r=l&&!G(e);return(i?l:l&&e!==nn&&e!==rn&&e!==ln&&e!==on&&e!==un)&&e!==Z&&!(n===q&&!r)||me(n)&&!G(n)&&e===Z||n===q&&r}function rr(e){return H(e)&&e!==oe&&!G(e)&&e!==Ki&&e!==Wi&&e!==q&&e!==nn&&e!==rn&&e!==ln&&e!==on&&e!==un&&e!==Z&&e!==Hi&&e!==Ui&&e!==Yi&&e!==Vi&&e!==qi&&e!==Gi&&e!==ji&&e!==Bi&&e!==Pi&&e!==$i&&e!==Qi}function lr(e){return!G(e)&&e!==q}function M(e,n){var i=e.charCodeAt(n),l;return i>=55296&&i<=56319&&n+1<e.length&&(l=e.charCodeAt(n+1),l>=56320&&l<=57343)?(i-55296)*1024+l-56320+65536:i}function fn(e){var n=/^\n* /;return n.test(e)}var cn=1,J=2,an=3,pn=4,k=5;function or(e,n,i,l,r,u,o,f){var c,a=0,t=null,p=!1,d=!1,s=l!==-1,m=-1,g=rr(M(e,0))&&lr(M(e,e.length-1));if(n||o)for(c=0;c<e.length;a>=65536?c+=2:c++){if(a=M(e,c),!H(a))return k;g=g&&xe(a,t,f),t=a}else{for(c=0;c<e.length;a>=65536?c+=2:c++){if(a=M(e,c),a===B)p=!0,s&&(d=d||c-m-1>l&&e[m+1]!==" ",m=c);else if(!H(a))return k;g=g&&xe(a,t,f),t=a}d=d||s&&c-m-1>l&&e[m+1]!==" "}return!p&&!d?g&&!o&&!r(e)?cn:u===P?k:J:i>9&&fn(e)?k:o?u===P?k:J:d?pn:an}function ur(e,n,i,l,r){e.dump=(function(){if(n.length===0)return e.quotingType===P?'""':"''";if(!e.noCompatMode&&(Xi.indexOf(n)!==-1||Zi.test(n)))return e.quotingType===P?'"'+n+'"':"'"+n+"'";var u=e.indent*Math.max(1,i),o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-u),f=l||e.flowLevel>-1&&i>=e.flowLevel;function c(a){return ir(e,a)}switch(or(n,f,e.indent,o,c,e.quotingType,e.forceQuotes&&!l,r)){case cn:return n;case J:return"'"+n.replace(/'/g,"''")+"'";case an:return"|"+ge(n,e.indent)+Ae(se(n,u));case pn:return">"+ge(n,e.indent)+Ae(se(fr(n,o),u));case k:return'"'+cr(n)+'"';default:throw new w("impossible error: invalid scalar style")}})()}function ge(e,n){var i=fn(e)?String(n):"",l=e[e.length-1]===`
`,r=l&&(e[e.length-2]===`
`||e===`
`),u=r?"+":l?"":"-";return i+u+`
`}function Ae(e){return e[e.length-1]===`
`?e.slice(0,-1):e}function fr(e,n){for(var i=/(\n+)([^\n]*)/g,l=(function(){var a=e.indexOf(`
`);return a=a!==-1?a:e.length,i.lastIndex=a,ve(e.slice(0,a),n)})(),r=e[0]===`
`||e[0]===" ",u,o;o=i.exec(e);){var f=o[1],c=o[2];u=c[0]===" ",l+=f+(!r&&!u&&c!==""?`
`:"")+ve(c,n),r=u}return l}function ve(e,n){if(e===""||e[0]===" ")return e;for(var i=/ [^ ]/g,l,r=0,u,o=0,f=0,c="";l=i.exec(e);)f=l.index,f-r>n&&(u=o>r?o:f,c+=`
`+e.slice(r,u),r=u+1),o=f;return c+=`
`,e.length-r>n&&o>r?c+=e.slice(r,o)+`
`+e.slice(o+1):c+=e.slice(r),c.slice(1)}function cr(e){for(var n="",i=0,l,r=0;r<e.length;i>=65536?r+=2:r++)i=M(e,r),l=_[i],!l&&H(i)?(n+=e[r],i>=65536&&(n+=e[r+1])):n+=l||Ji(i);return n}function ar(e,n,i){var l="",r=e.tag,u,o,f;for(u=0,o=i.length;u<o;u+=1)f=i[u],e.replacer&&(f=e.replacer.call(i,String(u),f)),(b(e,n,f,!1,!1)||typeof f>"u"&&b(e,n,null,!1,!1))&&(l!==""&&(l+=","+(e.condenseFlow?"":" ")),l+=e.dump);e.tag=r,e.dump="["+l+"]"}function ye(e,n,i,l){var r="",u=e.tag,o,f,c;for(o=0,f=i.length;o<f;o+=1)c=i[o],e.replacer&&(c=e.replacer.call(i,String(o),c)),(b(e,n+1,c,!0,!0,!1,!0)||typeof c>"u"&&b(e,n+1,null,!0,!0,!1,!0))&&((!l||r!=="")&&(r+=z(e,n)),e.dump&&B===e.dump.charCodeAt(0)?r+="-":r+="- ",r+=e.dump);e.tag=u,e.dump=r||"[]"}function pr(e,n,i){var l="",r=e.tag,u=Object.keys(i),o,f,c,a,t;for(o=0,f=u.length;o<f;o+=1)t="",l!==""&&(t+=", "),e.condenseFlow&&(t+='"'),c=u[o],a=i[c],e.replacer&&(a=e.replacer.call(i,c,a)),b(e,n,c,!1,!1)&&(e.dump.length>1024&&(t+="? "),t+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),b(e,n,a,!1,!1)&&(t+=e.dump,l+=t));e.tag=r,e.dump="{"+l+"}"}function tr(e,n,i,l){var r="",u=e.tag,o=Object.keys(i),f,c,a,t,p,d;if(e.sortKeys===!0)o.sort();else if(typeof e.sortKeys=="function")o.sort(e.sortKeys);else if(e.sortKeys)throw new w("sortKeys must be a boolean or a function");for(f=0,c=o.length;f<c;f+=1)d="",(!l||r!=="")&&(d+=z(e,n)),a=o[f],t=i[a],e.replacer&&(t=e.replacer.call(i,a,t)),b(e,n+1,a,!0,!0,!0)&&(p=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,p&&(e.dump&&B===e.dump.charCodeAt(0)?d+="?":d+="? "),d+=e.dump,p&&(d+=z(e,n)),b(e,n+1,t,!0,p)&&(e.dump&&B===e.dump.charCodeAt(0)?d+=":":d+=": ",d+=e.dump,r+=d));e.tag=u,e.dump=r||"{}"}function Ce(e,n,i){var l,r,u,o,f,c;for(r=i?e.explicitTypes:e.implicitTypes,u=0,o=r.length;u<o;u+=1)if(f=r[u],(f.instanceOf||f.predicate)&&(!f.instanceOf||typeof n=="object"&&n instanceof f.instanceOf)&&(!f.predicate||f.predicate(n))){if(i?f.multi&&f.representName?e.tag=f.representName(n):e.tag=f.tag:e.tag="?",f.represent){if(c=e.styleMap[f.tag]||f.defaultStyle,Je.call(f.represent)==="[object Function]")l=f.represent(n,c);else if(en.call(f.represent,c))l=f.represent[c](n,c);else throw new w("!<"+f.tag+'> tag resolver accepts not "'+c+'" style');e.dump=l}return!0}return!1}function b(e,n,i,l,r,u,o){e.tag=null,e.dump=i,Ce(e,i,!1)||Ce(e,i,!0);var f=Je.call(e.dump),c=l,a;l&&(l=e.flowLevel<0||e.flowLevel>n);var t=f==="[object Object]"||f==="[object Array]",p,d;if(t&&(p=e.duplicates.indexOf(i),d=p!==-1),(e.tag!==null&&e.tag!=="?"||d||e.indent!==2&&n>0)&&(r=!1),d&&e.usedDuplicates[p])e.dump="*ref_"+p;else{if(t&&d&&!e.usedDuplicates[p]&&(e.usedDuplicates[p]=!0),f==="[object Object]")l&&Object.keys(e.dump).length!==0?(tr(e,n,e.dump,r),d&&(e.dump="&ref_"+p+e.dump)):(pr(e,n,e.dump),d&&(e.dump="&ref_"+p+" "+e.dump));else if(f==="[object Array]")l&&e.dump.length!==0?(e.noArrayIndent&&!o&&n>0?ye(e,n-1,e.dump,r):ye(e,n,e.dump,r),d&&(e.dump="&ref_"+p+e.dump)):(ar(e,n,e.dump),d&&(e.dump="&ref_"+p+" "+e.dump));else if(f==="[object String]")e.tag!=="?"&&ur(e,e.dump,n,u,c);else{if(f==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new w("unacceptable kind of an object to dump "+f)}e.tag!==null&&e.tag!=="?"&&(a=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?a="!"+a:a.slice(0,18)==="tag:yaml.org,2002:"?a="!!"+a.slice(18):a="!<"+a+">",e.dump=a+" "+e.dump)}return!0}function hr(e,n){var i=[],l=[],r,u;for(ee(e,i,l),r=0,u=l.length;r<u;r+=1)n.duplicates.push(i[l[r]]);n.usedDuplicates=new Array(u)}function ee(e,n,i){var l,r,u;if(e!==null&&typeof e=="object")if(r=n.indexOf(e),r!==-1)i.indexOf(r)===-1&&i.push(r);else if(n.push(e),Array.isArray(e))for(r=0,u=e.length;r<u;r+=1)ee(e[r],n,i);else for(l=Object.keys(e),r=0,u=l.length;r<u;r+=1)ee(e[l[r]],n,i)}function dr(e,n){n=n||{};var i=new nr(n);i.noRefs||hr(e,i);var l=e;return i.replacer&&(l=i.replacer.call({"":l},"",l)),b(i,0,l,!0,!0)?i.dump+`
`:""}var sr=dr,mr={dump:sr};function ue(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var xr=C,gr=Ee,Ar=Te,vr=Ne,yr=Re,Cr=ie,_r=ze.load,wr=ze.loadAll,Er=mr.dump,Sr=w,Fr={binary:Pe,float:ke,map:be,null:Oe,pairs:je,set:Ue,timestamp:Ye,bool:Ie,int:Le,merge:Be,omap:He,seq:Fe,str:Se},br=ue("safeLoad","load"),Tr=ue("safeLoadAll","loadAll"),Or=ue("safeDump","dump"),Ir={Type:xr,Schema:gr,FAILSAFE_SCHEMA:Ar,JSON_SCHEMA:vr,CORE_SCHEMA:yr,DEFAULT_SCHEMA:Cr,load:_r,loadAll:wr,dump:Er,YAMLException:Sr,types:Fr,safeLoad:br,safeLoadAll:Tr,safeDump:Or};export{yr as CORE_SCHEMA,Cr as DEFAULT_SCHEMA,Ar as FAILSAFE_SCHEMA,vr as JSON_SCHEMA,gr as Schema,xr as Type,Sr as YAMLException,Ir as default,Er as dump,_r as load,wr as loadAll,Or as safeDump,br as safeLoad,Tr as safeLoadAll,Fr as types};
@@ -1,8 +0,0 @@
function F(r){if(!r)return"";const n=r.replace(/\r\n/g,`
`).split(`
`),o=[];let e=0;const w=new Set(["uid","resourceVersion","creationTimestamp","generation","selfLink","clusterName","generateName","deletionTimestamp"]),L=new Set(["managedFields","ownerReferences","finalizers"]),h={dnsPolicy:["ClusterFirst"],restartPolicy:["Always"],schedulerName:["default-scheduler"],terminationGracePeriodSeconds:["30"],serviceAccountName:["default"],enableServiceLinks:["true"],automountServiceAccountToken:["true"],progressDeadlineSeconds:["600"],revisionHistoryLimit:["10"],sessionAffinity:["None"],externalTrafficPolicy:["Cluster"],internalTrafficPolicy:["Cluster"],ipFamilyPolicy:["SingleStack"],allocateLoadBalancerNodePorts:["true"],preemptionPolicy:["PreemptLowerPriority"],priority:["0"]},C={imagePullPolicy:["Always","IfNotPresent"],terminationMessagePath:["/dev/termination-log"],terminationMessagePolicy:["File"],stdin:["false"],tty:["false"],stdinOnce:["false"]},_=new Set(["clusterIP","clusterIPs","ipFamilies","healthCheckNodePort"]),D=new Set(["kubectl.kubernetes.io/last-applied-configuration","kubectl.kubernetes.io/change-cause","deployment.kubernetes.io/revision","deployment.kubernetes.io/desired-replicas","deployment.kubernetes.io/max-replicas","kubectl.kubernetes.io/restartedAt","control-plane.alpha.kubernetes.io/leader","autoscaling.alpha.kubernetes.io/conditions","kubernetes.io/config.hash","pv.kubernetes.io/bind-completed","pv.kubernetes.io/bound-by-controller"]),W=new Set(["pod-template-hash","controller-revision-hash"]),R=["kube-api-access-","default-token-","kube-"];let A=!1,p=!1,I=!1,T=!1,g=!1,S=!1,E=!1,N=!1,M=0;function m(s){return s.length-s.trimStart().length}function P(s){const l=s.trimStart().match(/^([a-zA-Z_][a-zA-Z0-9_./-]*)\s*:/);return l?l[1]:null}function b(s){const l=s.trim().split(":").slice(1).join(":").trim();return l!==""&&!/^[>|]/.test(l)}function d(s){for(e++;e<n.length;){const l=n[e],i=l.trimStart();if(i===""||i.startsWith("#")){e++;continue}if(m(l)<=s)break;e++}}function $(s){const l=P(s);return l?R.some(i=>l.startsWith(i)):!1}for(;e<n.length;){const s=n[e],l=s.trimStart(),i=m(s),t=P(s);if(l===""||l.startsWith("#")){o.push(s),e++;continue}if(i===0&&t==="status"){d(0);continue}if(i===0&&t==="metadata"){A=!0,o.push(s),e++;continue}if(i===0&&t!=="metadata"&&(A=!1,p=!1),i===0&&t==="spec"){I=!0,o.push(s),e++;continue}if(i===0&&t!=="spec"&&(I=!1,T=!1,g=!1,S=!1,N=!1),A){if(i===2&&t==="annotations"){p=!0,o.push(s),e++;continue}if(i<=2&&t!=="annotations"&&(p=!1),i>=2&&i<=4){const a=P(s);if(a&&W.has(a)){e++;continue}}if(i===2&&t&&w.has(t)){b(s)?e++:d(2);continue}if(i===2&&t&&L.has(t)){for(e++;e<n.length;){const a=n[e],u=a.trimStart();if(u===""||u.startsWith("#")){e++;continue}const f=m(a);if(f>2||f===2&&u.startsWith("-")){e++;continue}break}continue}if(p&&i>2&&t&&D.has(t)){if(b(s))e++;else{const a=l.split(":").slice(1).join(":").trim();/^[>|]/.test(a)?d(i):e++}continue}}if(I){if(i===2&&t==="template"){o.push(s),e++;continue}if(i===2&&t){if(_.has(t)){b(s)?e++:d(i);continue}if(h[t]){const c=l.split(":").slice(1).join(":").trim();if(h[t].includes(c)){e++;continue}}}if(i===2&&t==="nodeName"){e++;continue}if(i===2&&t==="strategy"){const c=[];let a=e;for(;a<n.length;){const k=n[a],v=k.trimStart();if(v===""||v.startsWith("#")){c.push(k),a++;continue}if(a>e&&m(k)<=i)break;c.push(k),a++}const u=c.join(`
`);if(u.includes("type: RollingUpdate")&&(u.includes("maxUnavailable: 25%")||u.includes("maxUnavailable: 0"))&&(u.includes("maxSurge: 25%")||u.includes("maxSurge: 1"))){e=a;continue}}if(i===2&&t==="spec"){T=!0,M=i,o.push(s),e++;continue}}if(T&&i>M){if(t==="containers"){g=!0,S=!1,o.push(s),e++;continue}if(t==="initContainers"){S=!0,g=!1,o.push(s),e++;continue}if(t==="volumes"){N=!0,o.push(s),e++;continue}if(t&&h[t]){const c=l.split(":").slice(1).join(":").trim();if(h[t].includes(c)){e++;continue}}if(t==="nodeName"){e++;continue}if(t==="serviceAccount"&&l.endsWith(":")){b(s)?e++:d(i);continue}}if((g||S)&&i>=6){if(t&&C[t]){const c=l.split(":").slice(1).join(":").trim();if(C[t].includes(c)){e++;continue}}if(t==="volumeMounts"&&(E=!0),E&&l.startsWith("- name:")){let c=[s],a=e+1,u=!1;for(;a<n.length;){const f=n[a].trimStart();if(f===""||f.startsWith("#")){c.push(n[a]),a++;continue}if(m(n[a])<=i)break;x(f)&&(u=!0),c.push(n[a]),a++}if(u){e=a;continue}E=!1}}if(N&&i>=4&&l.startsWith("- name:")&&$(l)){const c=i;for(e++;e<n.length;){const a=n[e],u=a.trimStart();if(u===""||u.startsWith("#")){e++;continue}if(m(a)<=c)break;e++}continue}if(l===""&&o.length>0&&o[o.length-1].trim()===""){e++;continue}o.push(s),e++}return o.join(`
`).replace(/\n{3,}/g,`
`).trimEnd()+`
`}function x(r){return r.includes("mountPath:")&&(r.includes("/var/run/secrets/kubernetes.io")||r.includes("/var/run/secrets/sa"))}const y={green:"#10b981",orange:"#f59e0b",red:"#ef4444",blue:"#326CE5"};function O(r){if(!r)return"#64748b";const n=r.toLowerCase();return["running","available","ready","active","completed","succeeded"].includes(n)?y.green:["pending","updating","progressing","containercreating"].includes(n)?y.orange:["failed","error","crashloopbackoff","imagepullbackoff","errimageneverpull"].includes(n)?y.red:y.blue}function K(r){if(!r)return"-";const n=new Date(r);if(isNaN(n.getTime()))return r;const o=e=>String(e).padStart(2,"0");return`${n.getFullYear()}-${o(n.getMonth()+1)}-${o(n.getDate())} ${o(n.getHours())}:${o(n.getMinutes())}:${o(n.getSeconds())}`}function U(r,n){if(!r||!n)return null;const o=new Date(r).getTime(),e=new Date(n).getTime();return isNaN(o)||isNaN(e)||e<o?null:Math.max(0,Math.round((e-o)/1e3))}function V(r){if(r==null)return"-";if(r<60)return`${r}s`;if(r<3600)return`${Math.floor(r/60)}m${r%60}s`;const n=Math.floor(r/3600),o=Math.floor(r%3600/60);return`${n}h${o}m`}export{y as S,V as a,F as c,U as e,K as f,O as s};
-1
View File
@@ -1 +0,0 @@
import{r as i,j as o}from"./vendor-codemirror-B1SGo4xl.js";import{aa as c,m}from"./index-Dungj95X.js";var f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],b=f.reduce((a,e)=>{const t=c(`Primitive.${e}`),r=i.forwardRef((l,n)=>{const{asChild:d,...u}=l,p=d?t:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),o.jsx(p,{...u,ref:n})});return r.displayName=`Primitive.${e}`,{...a,[e]:r}},{}),x="Label",s=i.forwardRef((a,e)=>o.jsx(b.label,{...a,ref:e,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(a.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));s.displayName=x;var v=s;function y({className:a,...e}){return o.jsx(v,{"code-path":"src/components/ui/label.tsx:13:5","data-slot":"label",className:m("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...e})}export{y as L};
@@ -1 +0,0 @@
import{h as s}from"./index-Dungj95X.js";const o={listDatasources:t=>s.get("/log-datasources",t?{type:t}:void 0),createDatasource:t=>s.post("/log-datasources",t),updateDatasource:(t,e)=>s.put(`/log-datasources/${t}`,e),deleteDatasource:t=>s.delete(`/log-datasources/${t}`),setDefaultDatasource:t=>s.post(`/log-datasources/${t}/default`),testDatasource:t=>s.post("/log-datasources/test",t),queryLoki:t=>s.post("/logs/loki/query",t),queryElasticsearch:t=>s.post("/logs/elasticsearch/query",t)};export{o as l};
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const p={getTargets:e=>t.get("/metrics/targets",e),getNames:()=>t.get("/metrics/names"),query:e=>t.get("/metrics/query",e)},r={getStats:()=>t.get("/snmp/stats"),getDevices:()=>t.get("/snmp/devices"),createDevice:e=>t.post("/snmp/devices",e),deleteDevice:e=>t.delete(`/snmp/devices/${e}`)},a={connect:e=>t.post("/prometheus/connect",{url:e}),dashboard:(e,s)=>t.post("/prometheus/dashboard",{url:e,type:s})},n={connect:(e,s,c)=>t.post("/zabbix/connect",{url:e,username:s,password:c})};export{p as m,a as p,r as s,n as z};
@@ -1 +0,0 @@
import{h as s}from"./index-Dungj95X.js";const i={getPipelines:async e=>s.get("/pipelines",e),getPipelineDetail:async e=>s.get(`/pipelines/${e}`),createPipeline:async e=>s.post("/pipelines",e),updatePipeline:async(e,p)=>s.put(`/pipelines/${e}`,p),deletePipeline:async e=>s.delete(`/pipelines/${e}`),triggerPipeline:async e=>s.post(`/pipelines/${e}/trigger`),getRuns:async e=>s.get(`/pipelines/${e}/runs`),stopRun:async(e,p)=>s.post(`/pipelines/${e}/runs/${p}/stop`),getRunLog:async(e,p)=>s.get(`/pipelines/${e}/runs/${p}/log`),getMembers:async e=>s.get(`/pipelines/${e}/members`),addMember:async(e,p)=>s.post(`/pipelines/${e}/members`,p),removeMember:async(e,p)=>s.delete(`/pipelines/${e}/members/${p}`),assignGroup:async(e,p)=>s.post(`/pipelines/${e}/groups`,p),getByCode:e=>s.get(`/pipelines/${e}`),getRunsByCode:(e,p=50)=>s.get(`/pipelines/${e}/runs`,{page_size:p}),triggerByCode:e=>s.post(`/pipelines/${e}/trigger`,{}),stopRunByCode:(e,p)=>s.post(`/pipelines/${e}/runs/${p}/stop`,{}),batchDeleteRuns:(e,p)=>s.post(`/pipelines/${e}/runs/batch-delete`,{ids:p}),getRunLogStream:e=>s.get(`/pipelines/runs/${e}/log-stream`),getQueue:e=>s.get(`/pipelines/${e}/queue`),removeFromQueue:(e,p)=>s.delete(`/pipelines/${e}/queue/${p}`),getWorkspace:e=>s.get(`/pipelines/runs/${e}/workspace`),listRunFiles:(e,p)=>s.get(`/pipelines/runs/${e}/files`,p?{path:p}:void 0)};export{i as p};
@@ -1 +0,0 @@
import{h as r}from"./index-Dungj95X.js";const p={list:async()=>r.get("/platforms"),create:async t=>r.post("/platforms",t),update:async(t,e)=>r.put(`/platforms/${t}`,e),delete:async t=>r.delete(`/platforms/${t}`)};export{p};
-1
View File
@@ -1 +0,0 @@
import{h as t}from"./index-Dungj95X.js";const s={list:async()=>t.get("/regions"),create:async e=>t.post("/regions",e),update:async(e,r)=>t.put(`/regions/${e}`,r),delete:async e=>t.delete(`/regions/${e}`),batchDelete:async e=>t.delete("/regions/batch-delete",{ids:e})};export{s as r};
-1
View File
@@ -1 +0,0 @@
import{r as n,j as l}from"./vendor-codemirror-B1SGo4xl.js";import{U as ot,V as Ee,N as nt,y as Te,W as rt,w as st,O as Ie,X as lt,z as L,Y as at,x as j,A as P,Z as $,_ as ct,$ as Ne,a0 as it,a1 as dt,a2 as ut,a3 as pt,a4 as ft,a5 as mt,a6 as ht,a7 as gt,a8 as Pe,a9 as vt,m as te}from"./index-Dungj95X.js";import{u as xt}from"./index-5FEebgvX.js";import{Q as Re,w as St,O as wt}from"./vendor-icons-DmqcWdzX.js";function yt(t){const o=Ct(t),e=n.forwardRef((s,r)=>{const{children:d,...a}=s,c=n.Children.toArray(d),i=c.find(bt);if(i){const p=i.props.children,g=c.map(x=>x===i?n.Children.count(p)>1?n.Children.only(null):n.isValidElement(p)?p.props.children:null:x);return l.jsx(o,{...a,ref:r,children:n.isValidElement(p)?n.cloneElement(p,void 0,g):null})}return l.jsx(o,{...a,ref:r,children:d})});return e.displayName=`${t}.Slot`,e}function Ct(t){const o=n.forwardRef((e,s)=>{const{children:r,...d}=e;if(n.isValidElement(r)){const a=Pt(r),c=Tt(d,r.props);return r.type!==n.Fragment&&(c.ref=s?ot(s,a):a),n.cloneElement(r,c)}return n.Children.count(r)>1?n.Children.only(null):null});return o.displayName=`${t}.SlotClone`,o}var It=Symbol("radix.slottable");function bt(t){return n.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===It}function Tt(t,o){const e={...o};for(const s in o){const r=t[s],d=o[s];/^on[A-Z]/.test(s)?r&&d?e[s]=(...c)=>{const i=d(...c);return r(...c),i}:r&&(e[s]=r):s==="style"?e[s]={...r,...d}:s==="className"&&(e[s]=[r,d].filter(Boolean).join(" "))}return{...t,...e}}function Pt(t){let o=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,e=o&&"isReactWarning"in o&&o.isReactWarning;return e?t.ref:(o=Object.getOwnPropertyDescriptor(t,"ref")?.get,e=o&&"isReactWarning"in o&&o.isReactWarning,e?t.props.ref:t.props.ref||t.ref)}var Et=[" ","Enter","ArrowUp","ArrowDown"],Nt=[" ","Enter"],Q="Select",[ie,de,Rt]=lt(Q),[oe]=st(Q,[Rt,Ee]),ue=Ee(),[_t,G]=oe(Q),[jt,At]=oe(Q),_e=t=>{const{__scopeSelect:o,children:e,open:s,defaultOpen:r,onOpenChange:d,value:a,defaultValue:c,onValueChange:i,dir:p,name:g,autoComplete:x,disabled:E,required:b,form:C}=t,u=ue(o),[h,S]=n.useState(null),[m,v]=n.useState(null),[F,A]=n.useState(!1),ne=nt(p),[N,O]=Te({prop:s,defaultProp:r??!1,onChange:d,caller:Q}),[U,Z]=Te({prop:a,defaultProp:c,onChange:i,caller:Q}),k=n.useRef(null),V=h?C||!!h.closest("form"):!0,[z,B]=n.useState(new Set),H=Array.from(z).map(R=>R.props.value).join(";");return l.jsx(rt,{...u,children:l.jsxs(_t,{required:b,scope:o,trigger:h,onTriggerChange:S,valueNode:m,onValueNodeChange:v,valueNodeHasChildren:F,onValueNodeHasChildrenChange:A,contentId:Ie(),value:U,onValueChange:Z,open:N,onOpenChange:O,dir:ne,triggerPointerDownPosRef:k,disabled:E,children:[l.jsx(ie.Provider,{scope:o,children:l.jsx(jt,{scope:t.__scopeSelect,onNativeOptionAdd:n.useCallback(R=>{B(D=>new Set(D).add(R))},[]),onNativeOptionRemove:n.useCallback(R=>{B(D=>{const W=new Set(D);return W.delete(R),W})},[]),children:e})}),V?l.jsxs(Qe,{"aria-hidden":!0,required:b,tabIndex:-1,name:g,autoComplete:x,value:U,onChange:R=>Z(R.target.value),disabled:E,form:C,children:[U===void 0?l.jsx("option",{value:""}):null,Array.from(z)]},H):null]})})};_e.displayName=Q;var je="SelectTrigger",Ae=n.forwardRef((t,o)=>{const{__scopeSelect:e,disabled:s=!1,...r}=t,d=ue(e),a=G(je,e),c=a.disabled||s,i=L(o,a.onTriggerChange),p=de(e),g=n.useRef("touch"),[x,E,b]=et(u=>{const h=p().filter(v=>!v.disabled),S=h.find(v=>v.value===a.value),m=tt(h,u,S);m!==void 0&&a.onValueChange(m.value)}),C=u=>{c||(a.onOpenChange(!0),b()),u&&(a.triggerPointerDownPosRef.current={x:Math.round(u.pageX),y:Math.round(u.pageY)})};return l.jsx(at,{asChild:!0,...d,children:l.jsx(j.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":Je(a.value)?"":void 0,...r,ref:i,onClick:P(r.onClick,u=>{u.currentTarget.focus(),g.current!=="mouse"&&C(u)}),onPointerDown:P(r.onPointerDown,u=>{g.current=u.pointerType;const h=u.target;h.hasPointerCapture(u.pointerId)&&h.releasePointerCapture(u.pointerId),u.button===0&&u.ctrlKey===!1&&u.pointerType==="mouse"&&(C(u),u.preventDefault())}),onKeyDown:P(r.onKeyDown,u=>{const h=x.current!=="";!(u.ctrlKey||u.altKey||u.metaKey)&&u.key.length===1&&E(u.key),!(h&&u.key===" ")&&Et.includes(u.key)&&(C(),u.preventDefault())})})})});Ae.displayName=je;var Me="SelectValue",Oe=n.forwardRef((t,o)=>{const{__scopeSelect:e,className:s,style:r,children:d,placeholder:a="",...c}=t,i=G(Me,e),{onValueNodeHasChildrenChange:p}=i,g=d!==void 0,x=L(o,i.onValueNodeChange);return $(()=>{p(g)},[p,g]),l.jsx(j.span,{...c,ref:x,style:{pointerEvents:"none"},children:Je(i.value)?l.jsx(l.Fragment,{children:a}):d})});Oe.displayName=Me;var Mt="SelectIcon",De=n.forwardRef((t,o)=>{const{__scopeSelect:e,children:s,...r}=t;return l.jsx(j.span,{"aria-hidden":!0,...r,ref:o,children:s||"▼"})});De.displayName=Mt;var Ot="SelectLine truncated
-1
View File
@@ -1 +0,0 @@
import{h as r}from"./index-Dungj95X.js";const o={getServers:async e=>r.get("/servers",e),getServerDetail:async e=>r.get(`/servers/${e}`),getServerStats:async()=>r.get("/servers/stats"),createServer:async e=>r.post("/servers",e),updateServer:async(e,t)=>r.put(`/servers/${e}`,t),deleteServer:async e=>r.delete(`/servers/${e}`),batchDelete:async e=>r.post("/servers/batch-delete",{ids:e}),batchCreate:async e=>r.post("/servers/batch",e),getMetrics:async e=>r.get("/dashboard/metrics"),installAgent:async(e,t,n)=>{const s={token:t};return n&&Object.assign(s,n),r.post(`/servers/${e}/install-agent`,s)},batchInstallAgent:async(e,t)=>r.post(`/servers/install-agent?token=${encodeURIComponent(t)}`,{server_ids:e}),listFiles:async(e,t)=>r.get(`/servers/${e}/files?path=${encodeURIComponent(t)}`),downloadFile:async(e,t)=>r.download(`/servers/${e}/files/download?path=${encodeURIComponent(t)}`),uploadFile:async(e,t,n)=>{const s=new FormData;return s.append("file",n),r.upload(`/servers/${e}/files/upload?path=${encodeURIComponent(t)}`,s)},deleteFile:async(e,t)=>r.delete(`/servers/${e}/files?path=${encodeURIComponent(t)}`),mkdir:async(e,t)=>r.post(`/servers/${e}/files/mkdir`,{path:t})};export{o as s};
-1
View File
@@ -1 +0,0 @@
import{h as s}from"./index-Dungj95X.js";const r={getStats:async()=>s.get("/site/stats"),getTasks:async()=>s.get("/site/tasks"),createTask:async t=>s.post("/site/tasks",t),deleteTask:async t=>s.delete(`/site/tasks/${t}`),toggleTask:async(t,e)=>s.put(`/site/tasks/${t}`,{enabled:e})};export{r as s};
@@ -1 +0,0 @@
import{j as t}from"./vendor-codemirror-B1SGo4xl.js";import{m as r}from"./index-Dungj95X.js";const o={blue:{text:"text-blue-400",bg:"bg-blue-500/20"},emerald:{text:"text-emerald-400",bg:"bg-emerald-500/20"},amber:{text:"text-amber-400",bg:"bg-amber-500/20"},red:{text:"text-red-400",bg:"bg-red-500/20"},purple:{text:"text-purple-400",bg:"bg-purple-500/20"},cyan:{text:"text-cyan-400",bg:"bg-cyan-500/20"},muted:{text:"text-[var(--dg-text-secondary)]",bg:"bg-[var(--dg-bg-tertiary)]"}};function d({items:c,className:n}){return t.jsx("div",{"code-path":"src/components/ui/stat-strip.tsx:29:5",className:r("flex items-center gap-1.5 px-3 py-2 rounded-lg","bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]","overflow-x-auto",n),children:c.map((e,s)=>{const a=o[e.color||"muted"]||o.muted;return t.jsxs("div",{"code-path":"src/components/ui/stat-strip.tsx:38:11",className:"flex items-center gap-1.5 shrink-0",children:[s>0&&t.jsx("span",{"code-path":"src/components/ui/stat-strip.tsx:40:15",className:"w-px h-5 bg-[var(--dg-border)] mx-1 shrink-0"}),t.jsx("span",{"code-path":"src/components/ui/stat-strip.tsx:42:13",className:r("w-1.5 h-1.5 rounded-full shrink-0",a.bg.replace("/20","").replace("bg-","bg-")||"bg-slate-500"),style:{backgroundColor:e.color?.startsWith("#")?e.color:void 0}}),t.jsx("span",{"code-path":"src/components/ui/stat-strip.tsx:48:13",className:"text-xs text-[var(--dg-text-muted)]",children:e.label}),t.jsx("span",{"code-path":"src/components/ui/stat-strip.tsx:49:13",className:r("text-sm font-semibold",a.text),children:e.value})]},s)})})}export{d as S};
-1
View File
@@ -1 +0,0 @@
import{r as o,j as a}from"./vendor-codemirror-B1SGo4xl.js";import{z as C,y as T,w as I,x as y,A as M,C as z,m as g}from"./index-Dungj95X.js";import{u as A}from"./index-5FEebgvX.js";var m="Switch",[H]=I(m),[U,q]=H(m),P=o.forwardRef((e,r)=>{const{__scopeSwitch:t,name:n,checked:s,defaultChecked:b,required:d,disabled:c,value:u="on",onCheckedChange:w,form:i,...k}=e,[l,p]=o.useState(null),x=C(r,f=>p(f)),v=o.useRef(!1),S=l?i||!!l.closest("form"):!0,[h,N]=T({prop:s,defaultProp:b??!1,onChange:w,caller:m});return a.jsxs(U,{scope:t,checked:h,disabled:c,children:[a.jsx(y.button,{type:"button",role:"switch","aria-checked":h,"aria-required":d,"data-state":_(h),"data-disabled":c?"":void 0,disabled:c,value:u,...k,ref:x,onClick:M(e.onClick,f=>{N(B=>!B),S&&(v.current=f.isPropagationStopped(),v.current||f.stopPropagation())})}),S&&a.jsx(j,{control:l,bubbles:!v.current,name:n,value:u,checked:h,required:d,disabled:c,form:i,style:{transform:"translateX(-100%)"}})]})});P.displayName=m;var E="SwitchThumb",R=o.forwardRef((e,r)=>{const{__scopeSwitch:t,...n}=e,s=q(E,t);return a.jsx(y.span,{"data-state":_(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:r})});R.displayName=E;var L="SwitchBubbleInput",j=o.forwardRef(({__scopeSwitch:e,control:r,checked:t,bubbles:n=!0,...s},b)=>{const d=o.useRef(null),c=C(d,b),u=A(t),w=z(r);return o.useEffect(()=>{const i=d.current;if(!i)return;const k=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(k,"checked").set;if(u!==t&&p){const x=new Event("click",{bubbles:n});p.call(i,t),i.dispatchEvent(x)}},[u,t,n]),a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...s,tabIndex:-1,ref:c,style:{...s.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});j.displayName=L;function _(e){return e?"checked":"unchecked"}var O=P,D=R;function $({className:e,...r}){return a.jsx(O,{"code-path":"src/components/ui/switch.tsx:13:5","data-slot":"switch",className:g("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...r,children:a.jsx(D,{"code-path":"src/components/ui/switch.tsx:21:7","data-slot":"switch-thumb",className:g("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}export{$ as S};
-1
View File
@@ -1 +0,0 @@
import{j as a}from"./vendor-codemirror-B1SGo4xl.js";import{m as o}from"./index-Dungj95X.js";function r({className:t,...e}){return a.jsx("div",{"code-path":"src/components/ui/table.tsx:7:5","data-slot":"table-container",className:"relative w-full overflow-x-auto",children:a.jsx("table",{"code-path":"src/components/ui/table.tsx:11:7","data-slot":"table",className:o("w-full caption-bottom text-sm",t),...e})})}function c({className:t,...e}){return a.jsx("thead",{"code-path":"src/components/ui/table.tsx:22:5","data-slot":"table-header",className:o("[&_tr]:border-b",t),...e})}function n({className:t,...e}){return a.jsx("tbody",{"code-path":"src/components/ui/table.tsx:32:5","data-slot":"table-body",className:o("[&_tr:last-child]:border-0",t),...e})}function d({className:t,...e}){return a.jsx("tr",{"code-path":"src/components/ui/table.tsx:55:5","data-slot":"table-row",className:o("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",t),...e})}function b({className:t,...e}){return a.jsx("th",{"code-path":"src/components/ui/table.tsx:68:5","data-slot":"table-head",className:o("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...e})}function i({className:t,...e}){return a.jsx("td",{"code-path":"src/components/ui/table.tsx:81:5","data-slot":"table-cell",className:o("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...e})}export{r as T,c as a,d as b,b as c,n as d,i as e};
-1
View File
@@ -1 +0,0 @@
import{r as b,j as s}from"./vendor-codemirror-B1SGo4xl.js";import{N as P,y as M,w as S,O as k,x as p,Q as h,R as F,T as $,A as m,P as D,m as g}from"./index-Dungj95X.js";var x="Tabs",[V]=S(x,[h]),C=h(),[G,T]=V(x),y=b.forwardRef((e,t)=>{const{__scopeTabs:c,value:a,onValueChange:r,defaultValue:d,orientation:o="horizontal",dir:u,activationMode:v="automatic",...f}=e,i=P(u),[n,l]=M({prop:a,onChange:r,defaultProp:d??"",caller:x});return s.jsx(G,{scope:c,baseId:k(),value:n,onValueChange:l,orientation:o,dir:i,activationMode:v,children:s.jsx(p.div,{dir:i,"data-orientation":o,...f,ref:t})})});y.displayName=x;var j="TabsList",I=b.forwardRef((e,t)=>{const{__scopeTabs:c,loop:a=!0,...r}=e,d=T(j,c),o=C(c);return s.jsx(F,{asChild:!0,...o,orientation:d.orientation,dir:d.dir,loop:a,children:s.jsx(p.div,{role:"tablist","aria-orientation":d.orientation,...r,ref:t})})});I.displayName=j;var _="TabsTrigger",N=b.forwardRef((e,t)=>{const{__scopeTabs:c,value:a,disabled:r=!1,...d}=e,o=T(_,c),u=C(c),v=A(o.baseId,a),f=E(o.baseId,a),i=a===o.value;return s.jsx($,{asChild:!0,...u,focusable:!r,active:i,children:s.jsx(p.button,{type:"button",role:"tab","aria-selected":i,"aria-controls":f,"data-state":i?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:v,...d,ref:t,onMouseDown:m(e.onMouseDown,n=>{!r&&n.button===0&&n.ctrlKey===!1?o.onValueChange(a):n.preventDefault()}),onKeyDown:m(e.onKeyDown,n=>{[" ","Enter"].includes(n.key)&&o.onValueChange(a)}),onFocus:m(e.onFocus,()=>{const n=o.activationMode!=="manual";!i&&!r&&n&&o.onValueChange(a)})})})});N.displayName=_;var w="TabsContent",R=b.forwardRef((e,t)=>{const{__scopeTabs:c,value:a,forceMount:r,children:d,...o}=e,u=T(w,c),v=A(u.baseId,a),f=E(u.baseId,a),i=a===u.value,n=b.useRef(i);return b.useEffect(()=>{const l=requestAnimationFrame(()=>n.current=!1);return()=>cancelAnimationFrame(l)},[]),s.jsx(D,{present:r||i,children:({present:l})=>s.jsx(p.div,{"data-state":i?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":v,hidden:!l,id:f,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:n.current?"0s":void 0},children:l&&d})})});R.displayName=w;function A(e,t){return`${e}-trigger-${t}`}function E(e,t){return`${e}-content-${t}`}var L=y,z=I,K=N,B=R;function H({className:e,...t}){return s.jsx(L,{"code-path":"src/components/ui/tabs.tsx:13:5","data-slot":"tabs",className:g("flex flex-col gap-2",e),...t})}function Q({className:e,...t}){return s.jsx(z,{"code-path":"src/components/ui/tabs.tsx:26:5","data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...t})}function J({className:e,...t}){return s.jsx(K,{"code-path":"src/components/ui/tabs.tsx:42:5","data-slot":"tabs-trigger",className:g("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}function U({className:e,...t}){return s.jsx(B,{"code-path":"src/components/ui/tabs.tsx:58:5","data-slot":"tabs-content",className:g("flex-1 outline-none",e),...t})}export{H as T,Q as a,J as b,U as c};
@@ -1 +0,0 @@
import{h as e}from"./index-Dungj95X.js";const t={list:async s=>e.get("/terminal-sessions",s),get:async s=>e.get(`/terminal-sessions/${s}`),getRecord:async s=>e.get(`/terminal-sessions/${s}/record`),kill:async s=>e.post(`/terminal-sessions/${s}/kill`),download:async s=>e.download(`/terminal-sessions/${s}/download`,`session-${s}.cast`),delete:async s=>e.delete(`/terminal-sessions/${s}`),batchDelete:async s=>e.post("/terminal-sessions/batch-delete",{ids:s})},o={list:async s=>e.get("/session-commands",s)},a={list:async s=>e.get("/login-logs",s)};export{a as l,o as s,t};
@@ -1 +0,0 @@
import{j as t}from"./vendor-codemirror-B1SGo4xl.js";import{m as i}from"./index-Dungj95X.js";function n({className:e,...r}){return t.jsx("textarea",{"code-path":"src/components/ui/textarea.tsx:7:5","data-slot":"textarea",className:i("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...r})}export{n as T};
Loaded 100 of 112 files, more files were not shown because too many files have changed in this diff. Show more