feat(audit): F1+F2 告警静默规则标记完成 + 审计日志CSV导出实现

F1 告警静默规则 [done]:
- 后端 alert_silence.go: CRUD + Toggle (onetime/daily/weekly 三模式)
- 告警引擎 isSilenced 集成 (alert_engine.go)
- 前端 SilenceRuleTab + SilenceDialog
- 路由 /alerts/silences 已注册

F2 审计日志导出 [done]:
- 重写 ExportAuditLogs: 真正的 CSV 导出 (encoding/csv + UTF-8 BOM)
- 支持 module/action/username/startTime/endTime 筛选
- 导出限制 10000 条防溢出,自动记录审计日志
- JSON 格式向后兼容 (format=json)
- 前端 exportLogs 传递查询参数

同时包含累积的前期工作:
- 目录重构 internal/ -> controller/model/router (v0.55-v0.57)
- 后端分层架构 dto/repository/service/utils
- 审计模块全功能 (终端审计/操作审计/登录日志)
- asciicast v2 录制格式
- SFTP 文件浏览器
- StatStrip 紧凑统计条
- 在线会话自动刷新
- LiveMonitor WebSocket 诊断修复

验证: go build ✅ | npm run build ✅ | Docker 部署 ✅ | 10 回归端点 ✅ | CSV 导出 ✅ | 静默 CRUD ✅
This commit is contained in:
attacker committed 2026-06-25 20:16:30 +08:00
1 parent e57718998a
commit 77c234b060
314 files changed
+10050 -4065

No files matched your search

@@ -0,0 +1,57 @@
import{j as s,a2 as b,aJ as f,L as v,$ as w,a3 as g,H as C,B as A,r as l,D as O,b as U,c as J,d as B,e as E,a9 as L,T as R,q as G,x as H}from"./index-DfyorCky.js";import{C as z,b as $,c as D,a as F}from"./card-C55cvSHg.js";import{B as y}from"./badge-xNW8x0G1.js";import{a as K}from"./monitor-BAaBXIsC.js";import{a as q}from"./ai-BTgmlP5Q.js";import{S}from"./sparkles-Bld4NX5y.js";import{T as P}from"./trending-up-CdusV6gc.js";import{F as X}from"./file-text-C9G5abwR.js";import{P as _}from"./play-cdPayOtJ.js";import{C as Q}from"./copy-DXW4LnkN.js";import{C as W}from"./circle-x-DK79Dhg2.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(z,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:18:5",className:"bg-slate-800 border-slate-700 flex flex-col",children:[s.jsx($,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:19:7",className:"border-b border-slate-700 pb-3",children:s.jsxs(D,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:20:9",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(S,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:21:11",className:"h-5 w-5 text-purple-400"}),"AI 分析结果"]})}),s.jsx(b,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:25:7",className:"flex-1",children:s.jsx(F,{"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(v,{"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(f,{"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(w,{"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 q.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:127:16",className:"h-4 w-4 text-red-400"});case"warning":return s.jsx(w,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:129:16",className:"h-4 w-4 text-amber-400"});default:return s.jsx(g,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:131:16",className:"h-4 w-4 text-blue-400"})}};return s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:136:5",className:"space-y-6",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:138:7",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:139:9",className:"flex items-center gap-3",children:[s.jsx("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:140: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(f,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:141:13",className:"h-5 w-5 text-white"})}),s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:143:11",children:[s.jsx("h1",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:144:13",className:"text-2xl font-bold text-slate-100",children:"AI 告警智能分析"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:145:13",className:"text-sm text-slate-500",children:"基于大模型的告警根因分析和自动修复建议"})]})]}),s.jsx("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:148:9",className:"flex items-center gap-2",children:s.jsxs(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:149:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[s.jsx(S,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:150:13",className:"h-3 w-3 mr-1"}),"AI 引擎运行中"]})})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:156:7",className:"grid grid-cols-2 gap-6 h-[calc(100vh-200px)]",children:[s.jsxs(z,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:158:9",className:"bg-slate-800 border-slate-700 flex flex-col",children:[s.jsx($,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:159:11",className:"border-b border-slate-700 pb-3",children:s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:160:13",className:"flex items-center justify-between",children:[s.jsxs(D,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:161:15",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(R,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:162:17",className:"h-5 w-5 text-amber-400"}),"活跃告警"]}),s.jsxs(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:165:15",className:"bg-red-500/10 text-red-400 border-red-500/30",children:[e.filter(o=>o.status==="active").length," 个活跃"]})]})}),s.jsx(b,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:170:11",className:"flex-1",children:s.jsx(F,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:171:13",className:"p-4 space-y-3",children:t?s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:173:17",className:"flex flex-col items-center justify-center h-32",children:[s.jsx(v,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:174:19",className:"h-6 w-6 animate-spin text-slate-500 mb-2"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:175:19",className:"text-sm text-slate-500",children:"加载告警数据..."})]}):e.length===0?s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:178:17",className:"flex flex-col items-center justify-center h-32 text-slate-500",children:[s.jsx(g,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:179:19",className:"h-8 w-8 mb-2 opacity-50"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:180:19",className:"text-sm",children:"暂无告警事件"})]}):e.map(o=>s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:184: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:193:19",className:"flex items-start justify-between mb-2",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:194:21",className:"flex items-center gap-2",children:[V(o.severity),s.jsx("span",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:196:23",className:"font-medium text-slate-100",children:o.name})]}),s.jsx(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:198:21",variant:"outline",className:ss(o.severity),children:o.severity==="critical"?"严重":o.severity==="warning"?"警告":"提示"})]}),s.jsx("div",{"code-path":"src Line truncated
@@ -0,0 +1,19 @@
import{g as _s,r as x,j as s,ao as ks,aR as Es,aA as Ls,aw as H,X as ds,aJ as Rs,B as N,E as Z,T as ms,A as xs,L as k,H as Ms,aS as ss,a2 as Ps,a8 as Ds,I as w,D as Ts,b as qs,c as Us,d as Bs,e as zs,f as Fs}from"./index-DfyorCky.js";import{C as D,b as T,c as ts,a as q}from"./card-C55cvSHg.js";import{B as E}from"./badge-xNW8x0G1.js";import{L as y}from"./label-BK0h2apY.js";import{S as es,a as as,b as ns,c as os,d as cs}from"./select-D5qUzdAs.js";import{S as Hs}from"./switch-CGiGgOnh.js";import{t as C}from"./index-a3ybMjbR.js";import{d as U}from"./dashboard-BjQPIG2G.js";import{a as Vs}from"./monitor-BAaBXIsC.js";import{a as Ks}from"./agent-DqqIRCQX.js";import{a as $}from"./ai-BTgmlP5Q.js";import{C as Gs}from"./circle-check-DWcXrx2k.js";import{F as hs}from"./file-text-C9G5abwR.js";import{T as Ws}from"./trending-up-CdusV6gc.js";import{R as Js}from"./rotate-cw-5qcj_h_q.js";import{M as Qs}from"./message-square-DyxabBvb.js";import{S as Xs}from"./square-9TIYDO_t.js";import{W as Ys}from"./wifi-FqsslTyA.js";import"./index-CWVNW_qu.js";const Zs=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],st=_s("send",Zs);function tt(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,et(o,...n)]}function et(...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 at=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],V=at.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:{}},z={};var rs;function nt(){if(rs)return z;rs=1;var e=Es();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 z.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:v,z}var is;function ot(){return is||(is=1,B.exports=nt()),B.exports}var ct=ot();function rt(){return ct.useSyncExternalStore(it,()=>!0,()=>!1)}function it(){return()=>{}}var K="Avatar",[pt]=tt(K),[lt,us]=pt(K),As=x.forwardRef((e,n)=>{const{__scopeAvatar:i,...r}=e,[o,a]=x.useState("idle");return s.jsx(lt,{scope:i,imageLoadingStatus:o,onImageLoadingStatusChange:a,children:s.jsx(V.span,{...r,ref:n})})});As.displayName=K;var fs="AvatarImage",dt=x.forwardRef((e,n)=>{const{__scopeAvatar:i,src:r,onLoadingStatusChange:o=()=>{},...a}=e,d=us(fs,i),m=mt(r,a),l=Ls(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});dt.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 mt(e,{referrerPolicy:n,crossOrigin:i}){const r=rt(),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("Line truncated
${i.join(`
`)}`}async function ls(){const e=await Ks.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 It(){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 vt=[{id:"alerts",name:"分析今日告警",icon:ms,prompt:"帮我分析以下最近的告警事件,给出根因分析和处置建议(按严重程度排序,给出具体处置步骤)",contextLoader:gt},{id:"performance",name:"性能瓶颈分析",icon:xs,prompt:"分析以下主机实时指标,找出 CPU/内存使用率最高的主机并给出性能优化建议",contextLoader:ls},{id:"report",name:"生成运维报告",icon:hs,prompt:"基于以下平台实时数据,生成一份简洁的今日运维报告,包括资源概览、告警情况和发布状态,用 Markdown 格式输出",contextLoader:It},{id:"optimize",name:"资源优化建议",icon:Ws,prompt:"根据以下主机资源使用数据,提供成本优化和容量规划建议(识别闲置/过载主机,给出缩容/扩容建议)",contextLoader:ls}];function jt(e){return new Date(e).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})}function Bt(){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(ft),[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)})},[J,vs]=x.useState(()=>W()),Q=x.useRef(null),js=()=>Q.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(J))?.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=F.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"){C.error("请填写 API Key");return}v(!0);try{const t=await $.saveConfig(c);p(t),j(!!(t.enabled&&t.configured)),C.success("配置已保存"),l(!1)}catch(t){C.error(t instanceof Error?t.message:"保存失败")}finally{v(!1)}},ys=async()=>{u(!0);try{await $.testConnection(),C.success("LLM 服务连接成功")}catch(t){C.error(t instanceof Error?t.message:"连接失败")}finally{u(!1)}},X=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,J)}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}},Y=async()=>{const t=i.trim();!t||o||(r(""),await X(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 X(f)},Cs=async()=>{try{await $.clearHistory()}catch{}const t=W();vs(t),n([]),r(""),C.success("已开始新对话")},R=F.find(t=>t.id===c.provider);return s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:370:5",className:"space-y-6",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:372:7",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:373:9",className:"flex items-center gap-3",children:[s.jsx("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:374: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(Rs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:375:13",className:"h-5 w-5 text-white"})}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:377:11",children:[s.jsx("h1",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:378:13",className:"text-2xl font-bold text-slate-100",children:"AIOps 智能助手"}),s.jsx("p",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:379:13",className:"text-sm text-slate-500",children:"AI 驱动的智能运维助手"})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:382:9",className:"flex items-center gap-3",children:[A?s.jsxs(E,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:384:13",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[s.jsx(Gs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:385:15",className:"h-3 w-3 mr-1"}),c.model]}):s.jsx(E,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:389: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:393:11",variant:"outline",className:"border-slate-700 text-slate-300",onClick:()=>l(!0),children:[s.jsx(Z,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:394:13",className:"h-4 w-4 mr-2"}),"模型配置"]})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:400:7",className:"grid grid-cols-4 gap-6 h-[calc(100vh-200px)]",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:402:9",className:"col-span-1 space-y-4",children:[s.jsxs(D,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:403:11",className:"bg-slate-800 border-slate-700",children:[s.jsx(T,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:404:13",className:"pb-3",children:s.jsx(ts,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:405:15",className:"text-sm text-slate-300",children:"快速操作"})}),s.jsx(q,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:407:13",className:"space-y-2",children:vt.map(t=>s.jsxs(N,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:409: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(k,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:417:21",className:"h-4 w-4 mr-2 shrink-0 animate-spin"}):s.jsx(t.icon,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:419:21",className:"h-4 w-4 mr-2 shrink-0"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:421:19",className:"text-sm",children:t.name}),A&&t.contextLoader&&s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:423: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:430:11",className:"bg-slate-800 border-slate-700",children:[s.jsx(T,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:431:13",className:"pb-3",children:s.jsx(ts,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:432:15",className:"text-sm text-slate-300",children:"能力展示"})}),s.jsxs(q,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:434:13",className:"space-y-3",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:435:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(ms,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:436:17",className:"h-4 w-4 text-amber-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:437:17",children:"智能告警分析"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:439:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(xs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:440:17",className:"h-4 w-4 text-blue-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:441:17",children:"性能瓶颈识别"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:443:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(hs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:444:17",className:"h-4 w-4 text-emerald-400"}),s.jsx(" Line truncated
@@ -0,0 +1 @@
import{g as J,j as e,L as D,G as q,r as g,aJ as Q,B as ee,A as se,a3 as te,T as _,K as ce,o as ae,N as ie}from"./index-DfyorCky.js";import{C as w,b as K,c as H,a as C}from"./card-C55cvSHg.js";import{B as X}from"./badge-xNW8x0G1.js";import{T as ne,a as oe,b as F,c as B}from"./tabs-CIh_yD4s.js";import{S as re,a as le,b as de,c as pe,d as U}from"./select-D5qUzdAs.js";import{d as me}from"./dashboard-BjQPIG2G.js";import{s as xe}from"./server-CjDPBaTN.js";import{a as W}from"./monitor-BAaBXIsC.js";import{H as z}from"./hard-drive-BbPmnARR.js";import{Z as Y}from"./zap-D2uWSK32.js";import{S as G}from"./sparkles-Bld4NX5y.js";import{T as O}from"./trending-up-CdusV6gc.js";import{M as he}from"./memory-stick-QMV-0CnU.js";import{M as Ae}from"./minus-UVrx3jLc.js";import{T as ye}from"./trending-down-BGTWG_dA.js";import"./index-CWVNW_qu.js";const ve=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],ue=J("calendar",ve);const je=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]],be=J("chart-line",je);function Pe({forecasts:a,loading:i}){return e.jsxs(w,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:14:5",className:"bg-slate-800 border-slate-700",children:[e.jsx(K,{"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(H,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:17:11",className:"text-slate-100 flex items-center gap-2",children:[e.jsx(z,{"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(C,{"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(D,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:27:13",className:"h-5 w-5 animate-spin mr-2"})," 加载容量数据..."]}):a.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:a.map((c,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(q,{"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:c.resource})]}),e.jsx(X,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:40:19",variant:"outline",className:c.daysUntilThreshold<=7?"border-red-500/30 text-red-400 bg-red-500/10":c.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:c.daysUntilThreshold<=7?"紧急":c.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:c.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:[c.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:`${c.cuLine truncated
@@ -0,0 +1 @@
import{g as Qe,j as e,w as Ze,T as te,$ as De,a3 as re,a8 as Xe,D as q,b as B,c as P,d as U,e as V,f as le,B as a,a9 as be,n as Ke,r as o,I as T,a as Ye,S as et,U as tt,a7 as rt}from"./index-DfyorCky.js";import{B as u}from"./badge-xNW8x0G1.js";import{C as y,a as w,b as Ne,c as ye}from"./card-C55cvSHg.js";import{S as ne,a as se,b as oe,c as ce,d as v}from"./select-D5qUzdAs.js";import{T as nt,a as st,b as M,c as F}from"./tabs-CIh_yD4s.js";import{S as ot}from"./switch-CGiGgOnh.js";import{t as m}from"./index-a3ybMjbR.js";import{a as D,b as z}from"./monitor-BAaBXIsC.js";import{a as K}from"./agent-DqqIRCQX.js";import{Z as ke}from"./zap-D2uWSK32.js";import{L as h}from"./label-BK0h2apY.js";import{A as ct}from"./AlertRuleDialog-DnF-_Zoj.js";import{T as at}from"./textarea-NXY8u32k.js";import{R as Y}from"./refresh-cw-DUB_tAG-.js";import{P as ee}from"./plus-CUG-9kpu.js";import"./index-CWVNW_qu.js";import"./message-square-DyxabBvb.js";import"./phone-DgvWDdJl.js";const lt=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]],Se=Qe("volume-x",lt);function it(r){return{id:String(r.id),title:r.rule_name||r.title||`告警 #${r.id}`,description:r.message||r.description||"",severity:r.severity||"info",status:r.status||"firing",source:r.target||r.source||"",service:r.service||"",metric:r.metric||"",value:r.value||0,threshold:r.threshold||0,startedAt:r.started_at||r.startedAt||r.created_at||new Date().toISOString(),resolvedAt:r.resolved_at||r.resolvedAt,labels:typeof r.labels=="string"?(()=>{try{return JSON.parse(r.labels||"{}")}catch{return{}}})():r.labels||{},annotations:typeof r.annotations=="string"?(()=>{try{return JSON.parse(r.annotations||"{}")}catch{return{}}})():r.annotations||{}}}function ae(r){switch(r){case"critical":return e.jsxs(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:106:14",variant:"destructive",className:"gap-1",children:[e.jsx(De,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:106:61",className:"w-3 h-3"}),"严重"]});case"warning":return e.jsxs(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:108:14",variant:"default",className:"bg-orange-500 gap-1",children:[e.jsx(te,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:108:71",className:"w-3 h-3"}),"警告"]});case"info":return e.jsxs(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:110:14",variant:"default",className:"bg-blue-500 gap-1",children:[e.jsx(Ze,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:110:69",className:"w-3 h-3"}),"信息"]});default:return e.jsx(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:112:14",variant:"secondary",children:"未知"})}}function mt(r){switch(r){case"firing":return e.jsxs(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:120:14",variant:"destructive",className:"gap-1 animate-pulse",children:[e.jsx(ke,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:120:75",className:"w-3 h-3"}),"触发中"]});case"acknowledged":return e.jsxs(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:122:14",variant:"default",className:"bg-yellow-500 gap-1",children:[e.jsx(Xe,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:122:71",className:"w-3 h-3"}),"已确认"]});case"resolved":return e.jsxs(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:124:14",variant:"default",className:"bg-green-500 gap-1",children:[e.jsx(re,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:124:70",className:"w-3 h-3"}),"已解决"]});case"suppressed":return e.jsxs(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:126:14",variant:"secondary",className:"gap-1",children:[e.jsx(Se,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:126:59",className:"w-3 h-3"}),"已静默"]});default:return e.jsx(u,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:128:14",variant:"secondary",children:"未知"})}}function dt(r){return{dingtalk:"钉钉",wechat:"企业微信",feishu:"飞书",email:"邮件",sms:"短信",webhook:"Webhook"}[r]||r}function pt({alert:r,open:C,onOpenChange:c,onAcknowledge:A}){return e.jsx(q,{"code-path":"src/components/monitor/alert-center/AlertCenterDetail.tsx:22:5",open:C,onOpenChange:c,children:e.jsxs(B,{"code-path":"src/components/monitor/alert-center/AlertCenterDetail.tsx:23:7",className:"max-w-3xl",children:[e.jsxs(P,{"code-path":"src/components/monitor/alert-center/AlertCenterDetail.tsx:24:9",children:[e.jsxs(U,{"code-path":"src/components/monitor/alert-center/AlertCenterDetail.tsx:Line truncated
@@ -0,0 +1 @@
import{a as _,r as l,j as e,S as ee,I as Y,L as O,B as A,a3 as $,J,T as z,E as Q,D as te,b as se,c as oe,d as ae,e as ne,f as re,x as ce}from"./index-DfyorCky.js";import{C as w,a as M,b as le,c as ie,d as me}from"./card-C55cvSHg.js";import{T as de,a as xe,b as H,c as I}from"./tabs-CIh_yD4s.js";import{a as g}from"./monitor-BAaBXIsC.js";import{B as f}from"./badge-xNW8x0G1.js";import{T as X,a as V,b as E,c as i,d as q,e as c}from"./table-5sHV4Akp.js";import{S as B}from"./switch-CGiGgOnh.js";import{C as G}from"./checkbox-CH0bpj6b.js";import{t as R}from"./index-a3ybMjbR.js";import{r as pe,g as he,C as K,A as ge}from"./AlertRuleDialog-DnF-_Zoj.js";import{T as P}from"./trash-2-Dx32pOzT.js";import{L as D}from"./label-BK0h2apY.js";import{T as be}from"./textarea-NXY8u32k.js";import{P as U}from"./plus-CUG-9kpu.js";import{R as Ae,C as je,X as ue,Y as Ne,T as ve}from"./generateCategoricalChart-6v9BPbG2.js";import{A as fe,a as W}from"./AreaChart-B2zlWfdX.js";import"./index-CWVNW_qu.js";import"./message-square-DyxabBvb.js";import"./phone-DgvWDdJl.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(J,{"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(ee,{"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-slatLine truncated
@@ -0,0 +1,14 @@
import{j as e,J as R,r as d,D as v,b as w,c as k,d as S,e as _,I as x,f as C,B as g,L}from"./index-DfyorCky.js";import{L as n}from"./label-BK0h2apY.js";import{T as E}from"./textarea-NXY8u32k.js";import{S as P}from"./switch-CGiGgOnh.js";import{a as A}from"./monitor-BAaBXIsC.js";import{M as T}from"./message-square-DyxabBvb.js";import{P as I,M as B}from"./phone-DgvWDdJl.js";function D(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 F=["email","sms","dingtalk","wechat","webhook"],q={dingtalk:"钉钉",wechat:"企业微信",email:"邮件",sms:"短信",webhook:"Webhook"};function H(o,r){if(!o)return null;const a=r.find(c=>String(c.id)===String(o));return a?{type:a.type||"unknown",name:a.name||a.type||"未命名",isLegacy:!1}:F.includes(o)?{type:o,name:q[o]||o,isLegacy:!0}:null}const M=[{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 M.find(r=>r.key===o)?.label||o}function j(o){switch(o){case"email":return B;case"sms":return I;case"dingtalk":case"wechat":return T;default:return R}}function Q(o,r){const a=D(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(c=>{const i=H(c,r);if(!i)return null;const t=j(i.type);return e.jsxs("span",{"code-path":"src/components/monitor/alertShared.tsx:84:11",title:`${i.name} (${y(i.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(t,{"code-path":"src/components/monitor/alertShared.tsx:89:13",className:"h-3 w-3 text-slate-400"}),i.name]},c)})})}const b={name:"",description:"",type:"metric",source:"prometheus",expression:"",severity:"warning",duration:300,notify_channels:[]};function U({open:o,onOpenChange:r,editingRule:a,notifyChannels:c,onSaved:i}){const[t,l]=d.useState({...b}),[h,u]=d.useState(!1);d.useEffect(()=>{o&&l(a?{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:D(a.notify_channels)}:{...b})},[o,a]);const f=s=>{l(m=>({...m,notify_channels:m.notify_channels.includes(s)?m.notify_channels.filter(p=>p!==s):[...m.notify_channels,s]}))},N=async()=>{if(!(!t.name.trim()||!t.expression.trim())){u(!0);try{const s={name:t.name.trim(),description:t.description.trim(),type:t.type,source:t.source,expression:t.expression.trim(),severity:t.severity,duration:Number(t.duration)||0,notify_channels:t.notify_channels};a?await A.updateRule(a.id,s):await A.createRule(s),r(!1),i()}catch(s){console.error("Failed to save rule:",s)}finally{u(!1)}}};return e.jsx(v,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:103:5",open:o,onOpenChange:r,children:e.jsxs(w,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:104:7",className:"bg-slate-900 border-slate-700 text-slate-100 max-w-lg",children:[e.jsxs(k,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:105:9",children:[e.jsx(S,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:106:11",className:"text-slate-100",children:a?"编辑告警规则":"新建告警规则"}),e.jsx(_,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:109:11",className:"text-slate-500",children:a?"修改告警规则的触发条件和通知方式":"配置监控指标的告警触发条件"})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:114:9",className:"space-y-4 max-h-[60vh] overflow-y-auto pr-1",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:115:11",className:"space-y-1.5",children:[e.jsxs(n,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:116:13",className:"text-slate-300",children:["规则名称 ",e.jsx("span",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:116:52",className:"text-red-400",children:"*"})]}),e.jsx(x,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:117:13",value:t.name,onChange:s=>l({...t,name:s.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:125:11",className:"space-y-1.5",children:[e.jsx(n,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:126:13",className:"text-slate-300",children:"描述"}),e.jsx(E,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:127:13",value:t.description,onChange:s=>l({...t,description:s.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:136:11",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:137:13",className:"space-y-1.5",children:[e.jsx(n,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:138:15",className:"text-slate-300",children:"规则类型"}),e.jsxs("select",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:139:15",value:t.type,onChange:s=>l({...t,type:s.target.value}),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:144:17",value:"metric",children:"指标监控"}),e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:145:17",value:"log",children:"日志告警"}),e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:146:17",value:"event",children:"事件告警"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:149:13",className:"space-y-1.5",chi Line truncated
@@ -0,0 +1 @@
import{g as ye,q as Ne,j as e,X as b,L as $,S as we,I as pe,B as i,U as fe,a0 as oe,D as V,b as J,c as q,d as H,e as G,x as le,f as Q,r as v}from"./index-DfyorCky.js";import{C as u,a as j,b as Te,c as De,d as Fe}from"./card-C55cvSHg.js";import{B as C}from"./badge-xNW8x0G1.js";import{T as ce}from"./textarea-NXY8u32k.js";import{t as T}from"./index-a3ybMjbR.js";import{b as k}from"./system-BgtMMm0X.js";import{F as _}from"./file-text-C9G5abwR.js";import{C as D}from"./circle-check-DWcXrx2k.js";import{C as F}from"./circle-x-DK79Dhg2.js";import{F as Ce}from"./funnel-D2FHr15I.js";import{S as Pe}from"./square-pen-BxUFAe0F.js";import{A as Se}from"./arrow-right-DyIltvNZ.js";import{L as ke}from"./label-BK0h2apY.js";import{S as _e,a as Le,b as Oe,c as Ie,d as $e}from"./select-D5qUzdAs.js";import{P as ze}from"./plus-CUG-9kpu.js";import"./index-CWVNW_qu.js";const Re=[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],Be=ye("git-commit-horizontal",Re);function Ee(a){if(Array.isArray(a))return a;if(typeof a=="string")try{const s=JSON.parse(a);return Array.isArray(s)?s:[]}catch{return[]}return[]}function I(a){if(!a)return[];const s=typeof a=="string"?(()=>{try{return JSON.parse(a)}catch{return null}})():a;return s?Array.isArray(s.fields)?s.fields:[]:[]}function Me(a,s){if(!a)return null;let r;try{r=typeof a=="string"?JSON.parse(a):a}catch{return null}if(!r||typeof r!="object")return null;const o=I(s?.form_schema),n=new Map;o.forEach(p=>n.set(p.key,p.label));const m=Object.entries(r).filter(([,p])=>p!=null&&p!=="");return m.length===0?null:e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:53: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:55:9",className:"min-w-0",children:[e.jsx("p",{"code-path":"src/components/approval/helpers.tsx:56: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:57:11",className:"text-sm text-[var(--dg-text-primary)] break-words",children:String(d)})]},p))})}const z=[{value:"server_apply",label:"云服务器申请",icon:Ne,color:"var(--dg-cyan)"},{value:"app_deploy",label:"应用部署申请",icon:Be,color:"var(--dg-blue)"}],U=a=>z.find(s=>s.value===a)?.label||a||"通用审批",L=a=>z.find(s=>s.value===a)?.color||"var(--dg-text-secondary)",Ve=a=>z.find(s=>s.value===a)?.icon||_,A=a=>a?.template?.type||a?.type||"";function X(a){const s=Ee(a.steps),r=a.current_step??0,o=s.length,n=s.filter(p=>p.status==="approved"||p.status==="completed").length,m=o>0?Math.round(n/o*100):0;return{steps:s,currentIndex:r,total:o,completed:n,percentage:m}}function Y(a){const{steps:s,currentIndex:r}=X(a);return s.length===0?null:e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:99:5",className:"flex items-center gap-1 overflow-x-auto",children:s.map((o,n)=>{const m=o.status==="approved"||o.status==="completed",p=n===r,d=o.status==="rejected";return e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:105:11",className:"flex items-center",children:[e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:106: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:115:31",className:"h-3 w-3"}),d&&e.jsx(F,{"code-path":"src/components/approval/helpers.tsx:116:30",className:"h-3 w-3"}),p&&!d&&e.jsx($,{"code-path":"src/components/approval/helpers.tsx:117:44",className:"h-3 w-3 animate-spin"}),e.jsx("span",{"code-path":"src/components/approval/helpers.tsx:118:15",children:o.name||o.approver_name||`步骤 ${n+1}`})]}),n<s.length-1&&e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:121: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 qe(a){const s={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:"已完成Line truncated
@@ -0,0 +1 @@
import{b as R,L as W,m as T,i as C,c as F,A as ie,d as B,e as G,h as oe,j as q,k as se,l as le,u as ue,n as K,G as ce,o as J,p as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-6v9BPbG2.js";import{_ as p,ab as ee,r as ve}from"./index-DfyorCky.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=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},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(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&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=(function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),C(Line truncated
@@ -0,0 +1,3 @@
import{g as Le,r as a,j as e,D as ie,b as le,c as oe,d as ne,e as de,L as pe,W as we,aq as Q,a8 as Oe,q as Se,x as Ce,a as xe,A as he,S as I,X as _e,I as E,B as y,U as me,a5 as ue,aQ as ke,O as De,z as Me}from"./index-DfyorCky.js";import{C as P,a as K}from"./card-C55cvSHg.js";import{B as w}from"./badge-xNW8x0G1.js";import{T as H,a as W,b as M,c as i,d as U,e as l}from"./table-5sHV4Akp.js";import{t as F,s as Re,a as X,l as ze}from"./system-BgtMMm0X.js";import{x as ge,a as be}from"./xterm-DSqgeKvr.js";import{R as q}from"./refresh-cw-DUB_tAG-.js";import{P as Be}from"./play-cdPayOtJ.js";import{D as Te}from"./download-DoZfYs2h.js";const Ie=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],$e=Le("octagon-x",Ie);function Ee({open:s,onOpenChange:o,sessionId:d}){const n=a.useRef(null),p=a.useRef(null),T=a.useRef(null),[h,L]=a.useState(!1),[b,O]=a.useState(""),[j,v]=a.useState(0);return a.useEffect(()=>{if(!s||!d)return;const r=new ge.Terminal({cursorBlink:!1,fontSize:13,fontFamily:'Menlo, Monaco, "Courier New", monospace',disableStdin:!0,cols:80,rows:24,theme:{background:"#0a0e14",foreground:"#d6d6d6",cursor:"#0a0e14",selectionBackground:"rgba(255,255,255,0.2)"}}),m=new be.FitAddon;r.loadAddon(m),p.current=r;let f=!1;return L(!0),O(""),v(0),F.getRecord(d).then(u=>{if(f)return;const C=typeof u=="string"?u:u?.data||u?.record_data||"";if(!C||C.trim()===""){O("No recording data available for this session"),L(!1);return}if(n.current){r.open(n.current);try{m.fit()}catch{}}const R=C.split(`
`).filter(x=>x.trim()),S=[];for(const x of R)try{const g=JSON.parse(x);Array.isArray(g)&&g.length>=3&&S.push({time:g[0],eventType:g[1],data:g[2]})}catch{}if(S.length===0){r.write(C),v(100),L(!1);return}L(!1);const $=S[S.length-1].time;let N=0,z=0;const _=()=>{if(f||N>=S.length){v(100);return}const x=S[N],g=(x.time-z)*1e3;z=x.time,N++;const B=Math.min(g,2e3);T.current=setTimeout(()=>{f||(r.write(x.data),v(Math.round(x.time/$*100)),_())},B)};_()}).catch(u=>{f||(console.error("[Replay] Load failed:",u),O("Failed to load recording data"),L(!1))}),()=>{f=!0,T.current&&clearTimeout(T.current);try{r.dispose()}catch{}p.current=null}},[s,d]),e.jsx(ie,{"code-path":"src/components/system/ReplayDialog.tsx:153:5",open:s,onOpenChange:o,children:e.jsxs(le,{"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(oe,{"code-path":"src/components/system/ReplayDialog.tsx:155:9",className:"px-4 py-3 border-b border-slate-800",children:[e.jsxs(ne,{"code-path":"src/components/system/ReplayDialog.tsx:156:11",className:"text-slate-100 text-base flex items-center gap-2",children:["Terminal Replay #",d??"",j>0&&j<100&&e.jsxs("span",{"code-path":"src/components/system/ReplayDialog.tsx:159:15",className:"text-xs text-slate-500 font-normal ml-2",children:[j,"%"]})]}),e.jsx(de,{"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:[h&&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(pe,{"code-path":"src/components/system/ReplayDialog.tsx:167:15",className:"h-6 w-6 animate-spin text-blue-400"})}),b&&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:b})}),j>0&&j<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:`${j}%`}})}),e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:183:11",ref:n,className:"absolute inset-0 p-1"})]})]})})}function Fe({open:s,onOpenChange:o,sessionId:d,sessionInfo:n}){const p=a.useRef(null),T=a.useRef(null),h=a.useRef(null),[L,b]=a.useState(!1),[O,j]=a.useState(""),[v,r]=a.useState(n||null);a.useEffect(()=>{if(!s||!d)return;const f=p.current;if(!f)return;const u=new ge.Terminal({cursorBlink:!1,fontSize:13,fontFamily:'Menlo, Monaco, "Courier New", monospace',disableStdin:!0,theme:{background:"#0a0e14",foreground:"#d6d6d6",cursor:"#d6d6d6",selectionBackground:"#264f78",black:"#1a1a2e",red:"#ff6b6b",green:"#69db7c",yellow:"#ffd43b",blue:"#4dabf7",magenta:"#da77f2",cyan:"#63e6be",white:"#d6d6d6",brightBlack:"#4a4a4a",brightRed:"#ff8787",brightGreen:"#8ce99a",brightYellow:"#ffe066",brightBlue:"#74c0fc",brightMagenta:"#e599f7",brightCyan:"#7ae5d5",brightWhite:"#f8f9fa"}}),C=new be.FitAddon;u.loadAddon(C),u.open(f),C.fit(),T.current=u;let R=we.getState().token;if(!R)try{R=JSON.parse(localStorage.getItem("user-storage")||"")?.state?.token||""}catch{}const $=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws/audit/${d}?token=${encodeURIComponent(R||"")}`;console.debug("[LiveMonitor] Connecting to:",$.replace(/token=[^&]+/,"token=***"));const N=new WebSocket($);h.current=N;let z=!1;N.onopen=()=>{console.debug("[LiveMonitor] WS connected for session:",d),z=!0,b(!0),j(""),u.writeln("\x1B[36m[审计监控] 已连接到会话...\x1B[0m")},N.onmessage=x=>{try{const g=JSON.parse(x.data);switch(g.type){case"session_info":r(g.payload),u.writeln(`\x1B[36m用户: ${g.payload.username} 服务器: ${g.payload.server_name}\x1B[0m`);break;case"history":g.data&&u.write(g.data);break;case"output":g.data&&u.write(g.data);break}}catch{}},N.onerror=x=>{console.debug("[LiveMonitor] WS error:",x),j("WebSocket 连接失败")},N.onclose=x=>{console.debug("[LiveMonitor] WS closed code:",x.code,"reason:",x.reason),z||j(`连接失败 (code=${x.code}): ${x.reason||"认证失败或网络问题"}`),b(!1),u.writeln(`\r
\x1B[33m[审计监控] 连接已断开\x1B[0m`)};const _=setTimeout(()=>{z||(j("连接超时 — 请确认已登录且有活跃会话"),N.close())},5e3);return()=>{clearTimeout(_),N.close(),u.dispose(),T.current=null,h.current=null,b(!1)}},[s,d]);const m=f=>f?new Date(f).toLocaleString():"--";return e.jsx(ie,{"code-path":"src/components/system/LiveMonitorDialog.tsx:169:5",open:s,onOpenChange:o,children:e.jsxs(le,{"code-path":"src/components/system/LiveMonitorDialog.tsx:170:7",showOverlay:!1,className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] max-w-[95vw] max-h-[90vh] w-[1200px]",children:[e.jsxs(oe,{"code-path":"src/components/system/LiveMonitorDialog.tsx:171:9",children:[e.jsxs(ne,{"code-path":"src/components/system/LiveMonitorDialog.tsx:172:11",className:"text-[var(--dg-text-primary)] flex items-center gap-2",children:[e.jsx(Q,{"code-path":"src/components/system/LiveMonitorDialog.tsx:173:13",className:"h-5 w-5 text-emerald-400"}),"终端实时监控",L&&e.jsx(w,{"code-path":"src/components/system/LiveMonitorDialog.tsx:176:15",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10 ml-2 text-xs",children:"● 在线"}),!L&&!O&&e.jsxs(w,{"code-path":"src/components/system/LiveMonitorDialog.tsx:181:15",variant:"outline",className:"border-yellow-500/30 text-yellow-400 bg-yellow-500/10 ml-2 text-xs",children:[e.jsx(pe,{"code-path":"src/components/system/LiveMonitorDialog.tsx:182:17",className:"h-3 w-3 animate-spin mr-1"}),"连接中"]}),O&&e.jsx(w,{"code-path":"src/components/system/LiveMonitorDialog.tsx:187:15",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10 ml-2 text-xs",children:"连接失败"})]}),e.jsx(de,{"code-path":"src/components/system/LiveMonitorDialog.tsx:192:11",className:"text-[var(--dg-text-secondary)]",children:v&&e.jsxs("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:194:15",className:"flex items-center gap-4 text-xs mt-1 flex-wrap",children:[e.jsxs("span",{"code-path":"src/components/system/LiveMonitorDialog.tsx:195:17",className:"flex items-center gap-1",children:[e.jsx(Oe,{"code-path":"src/components/system/LiveMonitorDialog.tsx:196:19",className:"h-3 w-3"}),v.username]}),e.jsxs("span",{"code-path":"src/components/system/LiveMonitorDialog.tsx:199:17",className:"flex items-center gap-1",children:[e.jsx(Se,{"code-path":"src/components/system/LiveMonitorDialog.tsx:200:19",className:"h-3 w-3"}),v.server_name," (",v.server_ip,")"]}),e.jsxs("span",{"code-path":"src/components/system/LiveMonitorDialog.tsx:203:17",className:"flex items-center gap-1",children:[e.jsx(Ce,{"code-path":"src/components/system/LiveMonitorDialog.tsx:204:19",className:"h-3 w-3"}),m(v.start_time)]})]})})]}),e.jsx("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:212:9",ref:p,className:"w-full rounded-md overflow-hidden border border-[var(--dg-border)]",style:{height:"55vh"}})]})})}function je(s){if(!s||s<0)return"--";if(s<60)return`${s}秒`;const o=Math.floor(s/60),d=s%60;if(o<60)return`${o}分${d>0?`${d}秒`:""}`;const n=Math.floor(o/60),p=o%60;return`${n}时${p>0?`${p}分`:""}`}function Pe(s){return s?s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(2)} MB`:"0 B"}function fe(s){return s==="active"?e.jsxs(w,{"code-path":"src/pages/TerminalAuditTab.tsx:84:7",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx("span",{"code-path":"src/pages/TerminalAuditTab.tsx:85:9",className:"w-1.5 h-1.5 rounded-full bg-emerald-400 mr-1.5 inline-block animate-pulse"}),"活动中"]}):s==="failed"?e.jsx(w,{"code-path":"src/pages/TerminalAuditTab.tsx:92:7",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:"失败"}):e.jsx(w,{"code-path":"src/pages/TerminalAuditTab.tsx:98:5",variant:"outline",className:"border-slate-500/30 text-slate-400 bg-slate-500/10",children:"已关闭"})}function Ke(s){const[o,d]=a.useState(0);return a.useEffect(()=>{if(!s)return;const n=new Date(s).getTime(),p=()=>d(Math.floor((Date.now()-n)/1e3));p();const T=setInterval(p,1e3);return()=>clearInterval(T)},[s]),o}const He=[{id:"active",name:"在线会话",icon:he},{id:"history",name:"历史会话",icon:Q},{id:"commands",name:"会话命令",icon:I}];function ce(){const s=xe(),[o,d]=a.useState("active"),[n,p]=a.useState([]),[T,h]=a.useState(!0),[L,b]=a.useState(""),[O,j]=a.useState([]),[v,r]=a.useState(!0),[m,f]=a.useState(""),[u,C]=a.useState(null),[R,S]=a.useState(!1),[$,N]=a.useState([]),[z,_]=a.useState(!0),[x,g]=a.useState(""),[B,V]=a.useState(""),[Y,c]=a.useState(!1),[k,Z]=a.useState(null),J=a.useCallback(async()=>{h(!0);try{const t=await F.list({page:1,page_size:100,status:"active"});p(t?.list??[])}catch{p([])}finally{h(!1)}},[]);a.useEffect(()=>{J()},[J]);const te=n.filter(t=>{const A=L.toLowerCase();return!A||(t.username||"").toLowerCase().includes(A)||(t.server_name||"").toLowerCase().includes(A)||(t.server_ip||"").toLowerCase().includes(A)}),Ae=async Line truncated
@@ -0,0 +1 @@
import{g as a,B as i,X as s,Y as t,f as e}from"./generateCategoricalChart-6v9BPbG2.js";var x=a({chartName:"BarChart",GraphicalChild:i,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:s},{axisType:"yAxis",AxisComp:t}],formatAxisMap:e});export{x as B};
@@ -0,0 +1 @@
import{i as E,k as D,r as c,j as e,m as k,n as j,K as H,B as P,o as N}from"./index-DfyorCky.js";import{C as L,a as M}from"./card-C55cvSHg.js";import{B as z}from"./badge-xNW8x0G1.js";import{S as f,a as v,b as S,c as w,d as x}from"./select-D5qUzdAs.js";import{T as U,a as F,b as d,c as r,d as I,e as n}from"./table-5sHV4Akp.js";import{k as p}from"./kubernetes-J8O09fK7.js";import{R as K}from"./refresh-cw-DUB_tAG-.js";import{D as G}from"./download-DoZfYs2h.js";import{H as _}from"./hard-drive-BbPmnARR.js";import"./index-CWVNW_qu.js";function ae(){const{clusterCode:$}=E(),h=D(),[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:73:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:74:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(k,{"code-path":"src/components/kubernetes/CapacityPage.tsx:75:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),a&&e.jsxs(e.Fragment,{children:[e.jsx(j,{"code-path":"src/components/kubernetes/CapacityPage.tsx:76:29",className:"h-3 w-3"}),e.jsx(k,{"code-path":"src/components/kubernetes/CapacityPage.tsx:76:65",to:`/kubernetes/${a}`,className:"hover:text-slate-300",children:a})]}),e.jsx(j,{"code-path":"src/components/kubernetes/CapacityPage.tsx:77:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/CapacityPage.tsx:77:45",className:"text-slate-300",children:"容量分析"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:80:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/CapacityPage.tsx:81:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(H,{"code-path":"src/components/kubernetes/CapacityPage.tsx:81:86",className:"h-5 w-5 text-purple-400"}),"资源容量分析"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:82:9",className:"flex items-center gap-2",children:[e.jsxs(f,{"code-path":"src/components/kubernetes/CapacityPage.tsx:83:11",value:a,onValueChange:s=>{C(s),h(`/kubernetes/${s}/capacity`)},children:[e.jsx(v,{"code-path":"src/components/kubernetes/CapacityPage.tsx:84:13",className:"w-40 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(S,{"code-path":"src/components/kubernetes/CapacityPage.tsx:84:87"})}),e.jsx(w,{"code-path":"src/components/kubernetes/CapacityPage.tsx:85:13",className:"bg-slate-800 border-slate-700",children:q.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:86:42",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(f,{"code-path":"src/components/kubernetes/CapacityPage.tsx:89:11",value:o,onValueChange:V,children:[e.jsx(v,{"code-path":"src/components/kubernetes/CapacityPage.tsx:90:13",className:"w-32 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(S,{"code-path":"src/components/kubernetes/CapacityPage.tsx:90:87",placeholder:"所有命名空间"})}),e.jsxs(w,{"code-path":"src/components/kubernetes/CapacityPage.tsx:91:13",className:"bg-slate-800 border-slate-700",children:[e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:92:15",value:"all",className:"text-xs",children:"所有命名空间"}),A.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:93:36",value:s,className:"text-xs",children:s},s))]})]}),e.jsxs(P,{"code-path":"src/components/kubernetes/CapacityPage.tsx:96:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:i,disabled:l,children:[e.jsx(K,{"code-path":"src/components/kubernetes/CapacityPage.tsx:97:13",className:`h-3 w-3 mr-1 ${l?"animate-spin":""}`}),"刷新"]}),e.jsxs(P,{"code-path":"src/components/kubernetes/CapacityPage.tsx:99:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:B,children:[e.jsx(G,{"code-path":"src/components/kubernetes/CapacityPage.tsx:100:13",className:"h-3 w-3 mr-1"}),"CSV"]})]})]}),e.jsx(L,{"code-path"Line truncated
@@ -0,0 +1 @@
import{j as e,r as a,B as p,s as S,P as f,S as $,I as C,D as G,b as X,c as Z,d as q,e as J,f as U,L as Y}from"./index-DfyorCky.js";import{L as x}from"./label-BK0h2apY.js";import{C as r,a as d}from"./card-C55cvSHg.js";import{B as v}from"./badge-xNW8x0G1.js";import{c as N}from"./cloud-Dzoer-2i.js";import{R as k}from"./refresh-cw-DUB_tAG-.js";import{P as L}from"./plus-CUG-9kpu.js";import{C as B}from"./circle-check-DWcXrx2k.js";import{C as D}from"./circle-x-DK79Dhg2.js";import{P}from"./pencil-BqUotcjf.js";import{T as ee}from"./trash-2-Dx32pOzT.js";const E={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.Line truncated
@@ -0,0 +1 @@
import{g as Z,j as e,r as a,D as ee,b as se,c as le,d as oe,e as te,I as j,f as ce,B as m,L as R,a as ye,T as De,J as M}from"./index-DfyorCky.js";import{L as r}from"./label-BK0h2apY.js";import{C as A,a as V}from"./card-C55cvSHg.js";import{B as Re}from"./badge-xNW8x0G1.js";import{S as ne}from"./switch-CGiGgOnh.js";import{S as w,a as S,b as k,c as _,d as h}from"./select-D5qUzdAs.js";import{t as p}from"./index-a3ybMjbR.js";import{b as g}from"./cloud-Dzoer-2i.js";import{T as ae}from"./trending-up-CdusV6gc.js";import{T as we}from"./trending-down-BGTWG_dA.js";import{R as J}from"./refresh-cw-DUB_tAG-.js";import{P as U}from"./plus-CUG-9kpu.js";import{P as G}from"./pencil-BqUotcjf.js";import{T as K}from"./trash-2-Dx32pOzT.js";import"./index-CWVNW_qu.js";const Se=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],ke=Z("calendar-days",Se);const _e=[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]],Q=Z("wallet",_e),v={aliyun:"阿里云",tencent:"腾讯云",aws:"AWS",huawei:"华为云",azure:"Azure"},O={aliyun:"bg-orange-500",tencent:"bg-blue-500",aws:"bg-amber-500",huawei:"bg-red-500",azure:"bg-sky-500"};function u(d){return`¥${d.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function E({icon:d,label:i,value:t,trend:c,trendLabel:o,alert:n}){return e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:35:5",className:`rounded-lg border p-4 ${n?"border-amber-500/30 bg-amber-500/5":"border-slate-800 bg-slate-900/50"}`,children:[e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:36:7",className:"flex items-center justify-between mb-2",children:[e.jsx("span",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:37:9",className:"text-slate-400 text-sm",children:i}),e.jsx("span",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:38:9",className:n?"text-amber-400":"text-slate-500",children:d})]}),e.jsx("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:40:7",className:`text-2xl font-bold ${n?"text-amber-300":"text-slate-100"}`,children:t}),o&&e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:42:9",className:"flex items-center gap-1 mt-1 text-xs",children:[c!==void 0&&c>0&&e.jsx(ae,{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:43:48",className:"h-3 w-3 text-red-400"}),c!==void 0&&c<0&&e.jsx(we,{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:44:48",className:"h-3 w-3 text-green-400"}),e.jsx("span",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:45:11",className:"text-slate-500",children:o})]})]})}function He({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 i=Math.max(...d.map(c=>c.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((c,o)=>{const n=Math.max(c.cost/i*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:`${n}%`}}),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:[c.date,": ",u(c.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 X={provider:"aliyun",billing_date:"",cost:"",service:"",region:"",account_name:"",description:""};function ze({open:d,onOpenChange:i,editingRecord:t,onSuccess:c}){const[o,n]=a.useState(X),[B,C]=a.useState(!1);a.useEffect(()=>{d&&n(t?{provider:t.provider,billing_date:t.billing_date,cost:tLine truncated
@@ -0,0 +1 @@
import{i as F,k as K,r as c,j as e,m as w,n as C,B as G,L as A,o as k,p as R,q as T,s as H,A as q,t as z,v as D}from"./index-DfyorCky.js";import{C as i,a as u}from"./card-C55cvSHg.js";import{B as M}from"./badge-xNW8x0G1.js";import{T as J,a as Q,b as x,c as n,d as V,e as a}from"./table-5sHV4Akp.js";import{k as j}from"./kubernetes-J8O09fK7.js";import{u as W}from"./use-toast-CrSOP4cJ.js";import{R as X}from"./refresh-cw-DUB_tAG-.js";const Y={"kube-system":T,"kube-public":z,"kube-node-lease":q,default:H};function ne(){const{clusterCode:r}=F(),B=K(),{toast:E}=W(),[,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 j.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([j.getNodes(r).catch(()=>[]),j.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:81:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:83:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(w,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:84:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(C,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:85:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:86:9",className:"text-slate-300",children:r})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:90:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:91:9",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:92:11",className:"text-2xl font-bold text-slate-100",children:r}),e.jsxs("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:93: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:98:9",className:"flex items-center gap-2",children:e.jsx(G,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:99:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:v,disabled:p,children:p?e.jsx(A,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:101:24",className:"h-4 w-4 animate-spin"}):e.jsx(X,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:101:71",className:"h-4 w-4"})})})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:107:7",className:"grid grid-cols-3 md:grid-cols-3 gap-4",children:[e.jsx(i,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:108:9",className:"bg-slate-900 border-slate-800",children:e.jsx(u,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:109:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:110:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:111:15",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:111:20",className:"text-sm text-slate-500",children:"节点"}),e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:111:64",className:"text-2xl font-bold text-blue-400",children:m.length})]}),e.jsx(k,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:112:15",className:"h-8 w-8 opacity-30 text-blue-400"})]})})}),e.jsx(i,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:116:9",className:"bg-slate-900 border-slate-800",children:e.jsx(u,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:117:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:118:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:119:15",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:119:20",className:"text-sm text-slate-500",children:"命名空间"}),e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:119:66",className:"text-2xl font-bold text-emerald-400",children:N.length})]}),e.Line truncated
@@ -0,0 +1 @@
import{a as st,r as a,h as I,j as e,B as b,S as rt,I as p,t as qe,O as nt,G as ot,s as ct,v as dt,q as lt,P as V,x as pt,D as $e,b as Ue,c as ze,d as Be,e as it,f as Ge,T as xt,Q as Qe,U as Ye,V as mt}from"./index-DfyorCky.js";import{L as l}from"./label-BK0h2apY.js";import{B as S}from"./badge-xNW8x0G1.js";import{S as Ke,a as De,b as Ae,c as Pe,d as _}from"./select-D5qUzdAs.js";import{t as y}from"./index-a3ybMjbR.js";import{R as gt}from"./refresh-cw-DUB_tAG-.js";import{P as Re}from"./plus-CUG-9kpu.js";import{Z as ht}from"./zap-D2uWSK32.js";import{F as yt}from"./file-text-C9G5abwR.js";import{P as vt}from"./pencil-BqUotcjf.js";import{C as Ze}from"./circle-x-DK79Dhg2.js";import{C as We}from"./circle-check-DWcXrx2k.js";import{T as Ct}from"./trash-2-Dx32pOzT.js";import{C as Ve}from"./copy-DXW4LnkN.js";import"./index-CWVNW_qu.js";const O={ssh:{label:"SSH 密钥",icon:lt,color:"text-amber-400",desc:"SSH 私钥/公钥/密码"},docker:{label:"Docker 凭证",icon:dt,color:"text-cyan-400",desc:"Docker Registry 登录凭据"},tls:{label:"TLS 证书",icon:qe,color:"text-green-400",desc:"TLS/SSL 证书与私钥"},aksk:{label:"AKSK 密钥",icon:ct,color:"text-purple-400",desc:"云服务 AccessKey/SecretKey"},database:{label:"数据库凭证",icon:ot,color:"text-blue-400",desc:"数据库连接信息"},api:{label:"API 密钥",icon:nt,color:"text-orange-400",desc:"API Token/Key + 端点"},generic:{label:"通用凭证",icon:yt,color:"text-gray-400",desc:"自定义 Key/Value 键值对"}},Xe={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 ut({open:j,onClose:M,credId:k}){const[n,h]=a.useState(null),[T,v]=a.useState(!1),[E,w]=a.useState({});if(a.useEffect(()=>{!k||!j||(v(!0),I.get(`/credentials/${k}`).then(d=>{h(d)}).catch(()=>y.error("加载详情失败")).finally(()=>v(!1)))},[k,j]),!j||!k)return null;const c=d=>w(i=>({...i,[d]:!i[d]})),K=d=>{navigator.clipboard.writeText(d),y.success("已复制")},x=n?.secret_type,C=O[x],r=n?.content||{},o=({label:d,value:i,sensitive:m,fieldKey:D})=>{if(i==null||i==="")return null;const L=typeof i=="string"&&i.length>80,A=D?E[D]:!1;return e.jsxs("div",{"code-path":"src/components/deploy/CredentialManager.tsx:107:7",className:"mb-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/CredentialManager.tsx:108:9",className:"flex items-center gap-2 text-xs text-[var(--dg-text-muted)] mb-1",children:[e.jsx(mt,{"code-path":"src/components/deploy/CredentialManager.tsx:109:11",className:"h-3 w-3"}),d]}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialManager.tsx:111:9",className:"flex gap-1",children:[L?e.jsx("textarea",{"code-path":"src/components/deploy/CredentialManager.tsx:113:13",readOnly:!0,value:m&&!A?"••••••••":i,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/CredentialManager.tsx:117:13",readOnly:!0,value:m&&!A?"••••••••":String(i),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/CredentialManager.tsx:120:11",className:"flex flex-col gap-0.5 shrink-0",children:[m&&e.jsx(b,{"code-path":"src/components/deploy/CredentialManager.tsx:122:15",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>c(D),children:A?e.jsx(Qe,{"code-path":"src/components/deploy/CredentialManager.tsx:123:25",className:"h-3 w-3"}):e.jsx(Ye,{"code-path":"src/components/deploy/CredentialManager.tsx:123:58",className:"h-3 w-3"})}),e.jsx(b,{"code-path":"src/components/deploy/CredentialManager.tsx:126:13",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>K(String(i)),children:e.jsx(Ve,{"code-path":"src/components/deploy/CredentialManager.tsx:127:15",className:"h-3 w-3"})})]})]})]})};return e.jsx($e,{"code-path":"src/components/deploy/CredentialManager.tsx:136:5",open:j,onOpenChange:M,children:e.jsxs(Ue,{"code-path":"src/components/deploy/CredentialManager.tsx:137:7",className:"sm:max-w-[680px] max-h-[85vh] overflow-y-auto bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:[e.jsx(ze,{"code-path":"src/components/deploy/CredentialManager.tsx:138:9",children:e.jsxs(Be,{"code-path":"src/components/deploy/CredentialManager.tsx:139:11",className:"text-[var(--dg-text-primary)] flex items-center gap-2",children:[C?e.jsx(C.icon,{"code-path":"src/components/deploy/CredentialManager.tsx:140:20",className:`h-5 w-5 ${C.color}`}):e.jsx(V,{"code-path":"src/components/deploy/CredentialManager.tsx:140:70",className:"h-5 w-5 tLine truncated
@@ -0,0 +1,2 @@
import{j as t,L,a3 as mt,r as n,D as K,b as U,c as W,d as Y,e as Z,I as $,f as xt,B as p,H as tt,a as pt,S as ht,x as gt,F as ut}from"./index-DfyorCky.js";import{C as w,a as S}from"./card-C55cvSHg.js";import{B as C}from"./badge-xNW8x0G1.js";import{C as B}from"./checkbox-CH0bpj6b.js";import{t as d}from"./index-a3ybMjbR.js";import{s as z,c as y,t as bt}from"./automation-mtL167W_.js";import{C as vt}from"./circle-x-DK79Dhg2.js";import{S as O,a as R,b as A,c as V,d as N}from"./select-D5qUzdAs.js";import{T as Q}from"./textarea-NXY8u32k.js";import{L as J}from"./label-BK0h2apY.js";import{T as yt,a as Ct,b as I,c as E,d as jt,e as f}from"./table-5sHV4Akp.js";import{H as ot}from"./history-D_9jPUQg.js";import{R as Nt}from"./refresh-cw-DUB_tAG-.js";import{P as Jt}from"./plus-CUG-9kpu.js";import{T as q}from"./trash-2-Dx32pOzT.js";import{P as ft}from"./package-open-CUXo2Tda.js";import{P as X}from"./play-cdPayOtJ.js";import{P as Dt}from"./pause-D_famo9P.js";import{S as Mt}from"./square-pen-BxUFAe0F.js";import"./index-CWVNW_qu.js";function et(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(mt,{"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(vt,{"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(L,{"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 Ft(i){return{"0 2 * * *":"每天 02:00","0 3 * * 0":"每周日 03:00","*/5 * * * *":"每 5 分钟","0 * * * *":"每小时","0 9 * * 1":"每周一 09:00"}[i]||i}const G=[{value:"shell",label:"Shell 脚本",desc:"关联脚本库中的 Shell 脚本"},{value:"python",label:"Python 脚本",desc:"关联脚本库中的 Python 脚本"},{value:"command",label:"自定义命令",desc:"手动输入命令或脚本路径"}];function wt({open:i,onOpenChange:g,editJob:s,onSuccess:D}){const[a,l]=n.useState({name:"",description:"",cron_expr:"",type:"shell",content:"",script_id:null}),[h,v]=n.useState([]),[r,m]=n.useState(null),[H,M]=n.useState(!1);n.useEffect(()=>{i&&(z.getScripts({page_size:200}).then(e=>{v(e?.list||[])}).catch(()=>v([])),s?(l({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?z.getScript(s.script_id).then(e=>{m(e)}).catch(()=>m(null)):m(null)):(l({name:"",description:"",cron_expr:"",type:"shell",content:"",script_id:null}),m(null)))},[i,s]);const F=a.type==="shell"||a.type==="python"?h.filter(e=>e.type===a.type):[],_=e=>{const x=h.find(j=>String(j.id)===e);x&&(m(x),l(j=>({...j,script_id:x.id,content:x.content})))},P=e=>{l(x=>({...x,type:e,script_id:null,content:e==="command"?x.content:""})),m(null)},k=async()=>{if(!a.name||!a.cron_expr){d.error("请填写任务名称和 Cron 表达式");return}if((a.type==="shell"||a.type==="python")&&!a.script_id){d.error("请选择关联的脚本");return}try{M(!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),d.success("任务更新成功")):(await y.createJob(e),d.success("任务创建成功")),g(!1),D()}catch(e){console.error("Failed to save cron job:",e),d.error(s?"更新失败":"创建失败")}finally{M(!1)}};return t.jsx(K,{"code-path":"src/components/automation/CronJobFormDialog.tsx:149:5",open:i,onOpenChange:g,children:t.jsxs(U,{"code-path":"src/components/automation/CronJobFormDialog.tsx:150:7",className:"max-w-2xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[t.jsxs(W,{"code-path":"src/components/automation/CronJobFormDialog.tsx:151:9",children:[t.jsx(Y,{"code-path":"src/components/automation/CronJobFormDialog.tsx:152:11",children:s?"编辑定时任务":"新建定时任务"}),t.jsx(Z,{"code-path":"src/components/automation/CronJobFormDialog.tsx:153:11",className:"text-[var(--dg-text-secondary)]",children:"配置 Cron 定时任务"})]}),t.jsxs("div",{"code-path":"src/components/automation/CronJobFormDialog.tsx:155: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:1Line truncated
`).length," 行"]})]}),t.jsx("pre",{"code-path":"src/components/automation/CronJobFormDialog.tsx:275: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:282:13",children:[t.jsx(J,{"code-path":"src/components/automation/CronJobFormDialog.tsx:283:15",className:"text-[var(--dg-text-primary)]",children:"执行命令"}),t.jsx(Q,{"code-path":"src/components/automation/CronJobFormDialog.tsx:284:15",value:a.content,onChange:e=>l({...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:294:9",children:[t.jsx(p,{"code-path":"src/components/automation/CronJobFormDialog.tsx:295: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:298:11",className:"bg-blue-600 hover:bg-blue-700",onClick:k,disabled:H,children:H?"保存中...":s?"保存修改":"创建任务"})]})]})})}function St({open:i,onOpenChange:g}){const[s,D]=n.useState([]),[a,l]=n.useState(!1),[h,v]=n.useState(null);return n.useEffect(()=>{if(!i)return;(async()=>{try{l(!0);const m=await bt.getExecutions({task_type:"cron",page_size:50});D(m.list||[])}catch(m){console.error("Failed to load executions:",m)}finally{l(!1)}})()},[i]),t.jsx(K,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:51:5",open:i,onOpenChange:g,children:t.jsxs(U,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:52: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(W,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:53:9",children:[t.jsx(Y,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:54:11",children:"执行历史"}),t.jsx(Z,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:55:11",className:"text-[var(--dg-text-secondary)]",children:"定时任务执行记录与输出日志"})]}),t.jsx("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:57:9",className:"mt-4",children:a?t.jsx("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:59:13",className:"flex items-center justify-center py-8",children:t.jsx(L,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:60: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:63:13",className:"flex flex-col items-center justify-center py-12 text-[var(--dg-text-secondary)]",children:[t.jsx(ot,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:64:15",className:"h-10 w-10 mb-3 opacity-40"}),t.jsx("p",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:65:15",className:"text-sm",children:"暂无执行记录"})]}):t.jsxs(yt,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:68:13",children:[t.jsx(Ct,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:69:15",children:t.jsxs(I,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:70:17",className:"border-[var(--dg-border)]",children:[t.jsx(E,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:71:19",className:"text-[var(--dg-text-secondary)]",children:"任务"}),t.jsx(E,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:72:19",className:"text-[var(--dg-text-secondary)]",children:"状态"}),t.jsx(E,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:73:19",className:"text-[var(--dg-text-secondary)]",children:"耗时"}),t.jsx(E,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:74:19",className:"text-[var(--dg-text-secondary)]",children:"执行时间"}),t.jsx(E,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:75:19",className:"text-[var(--dg-text-secondary)]",children:"输出"})]})}),t.jsx(jt,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:78:15",children:s.map(r=>t.jsxs(n.Fragment,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:80:19",children:[t.jsxs(I,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:81: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:82:23",className:"text-[var(--dg-text-primary)]",children:r.task_name}),t.jsx(f,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:83 Line truncated
@@ -0,0 +1,4 @@
import{g as kt,j as t,X as m,ab as U,_ as x,aU as rt,r as A,o as ot,A as wt,G as Rt,k as le,B as se,a2 as nt,T as ct,t as Be,a7 as Ke,q as Ae,s as Se,x as At,J as St}from"./index-DfyorCky.js";import{d as pe}from"./dashboard-BjQPIG2G.js";import{s as Ot}from"./server-CjDPBaTN.js";import{k as _t}from"./kubernetes-J8O09fK7.js";import{C as I,a as F,b as z,c as V,d as q}from"./card-C55cvSHg.js";import{T as Pt}from"./trending-up-CdusV6gc.js";import{T as Et}from"./trending-down-BGTWG_dA.js";import{M as Tt}from"./minus-UVrx3jLc.js";import{B as $}from"./badge-xNW8x0G1.js";import{H as Lt}from"./hard-drive-BbPmnARR.js";import{b as C,r as dt,s as $t,t as it,v as It,n as Z,w as Ie,x as B,L,y as lt,z as Fe,E as ht,D as Ft,c as Mt,e as ae,o as Y,S as Bt,A as Kt,F as Ut,d as Ue,j as zt,i as Q,l as Vt,u as qt,G as Ht,H as ue,I as Wt,a as pt,J as Gt,K as me,M as ze,g as Zt,N as Xt,R as Oe,C as mt,X as xt,Y as ut,T as _e,B as Jt}from"./generateCategoricalChart-6v9BPbG2.js";import{A as Yt,a as ke}from"./AreaChart-B2zlWfdX.js";import{B as Qt}from"./BarChart-DlFprovY.js";import{M as ea}from"./memory-stick-QMV-0CnU.js";import{A as he}from"./arrow-right-DyIltvNZ.js";import{C as ta}from"./circle-DOZr6_68.js";const aa=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],sa=kt("dollar-sign",aa),Ve={blue:{bg:"bg-[var(--dg-blue)]/10",icon:"text-[var(--dg-blue)]",glow:"shadow-[var(--dg-blue)]/10"},emerald:{bg:"bg-[var(--dg-green)]/10",icon:"text-[var(--dg-green)]",glow:"shadow-[var(--dg-green)]/10"},amber:{bg:"bg-[var(--dg-yellow)]/10",icon:"text-[var(--dg-yellow)]",glow:"shadow-[var(--dg-yellow)]/10"},rose:{bg:"bg-[var(--dg-red)]/10",icon:"text-[var(--dg-red)]",glow:"shadow-[var(--dg-red)]/10"},purple:{bg:"bg-[var(--dg-purple)]/10",icon:"text-[var(--dg-purple)]",glow:"shadow-[var(--dg-purple)]/10"},cyan:{bg:"bg-[var(--dg-cyan)]/10",icon:"text-[var(--dg-cyan)]",glow:"shadow-[var(--dg-cyan)]/10"},orange:{bg:"bg-[var(--dg-orange)]/10",icon:"text-[var(--dg-orange)]",glow:"shadow-[var(--dg-orange)]/10"}};function xe({title:a,value:s,description:r,icon:e,trend:o,trendValue:n,color:c,onClick:d,loading:l=!1}){const i=Ve[c]||Ve.blue;if(l)return t.jsx(I,{"code-path":"src/components/dashboard/DashboardStats.tsx:53:7",className:"dg-card overflow-hidden",children:t.jsxs(F,{"code-path":"src/components/dashboard/DashboardStats.tsx:54:9",className:"p-6 space-y-4",children:[t.jsxs("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:55:11",className:"flex items-start justify-between",children:[t.jsxs("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:56:13",className:"space-y-3 flex-1",children:[t.jsx("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:57:15",className:"dg-skeleton h-4 w-24 rounded"}),t.jsx("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:58:15",className:"dg-skeleton h-8 w-16 rounded"})]}),t.jsx("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:60:13",className:"dg-skeleton h-10 w-10 rounded-lg"})]}),t.jsx("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:62:11",className:"dg-skeleton h-3 w-32 rounded"})]})});const p=o==="up"?Pt:o==="down"?Et:Tt,u=o==="up"?"text-[var(--dg-green)]":o==="down"?"text-[var(--dg-red)]":"text-[var(--dg-text-muted)]";return t.jsx(I,{"code-path":"src/components/dashboard/DashboardStats.tsx:76:5",className:m("dg-card dg-card-hover cursor-pointer overflow-hidden",d&&"cursor-pointer"),onClick:d,children:t.jsx(F,{"code-path":"src/components/dashboard/DashboardStats.tsx:83:7",className:"p-6",children:t.jsxs("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:84:9",className:"flex items-start justify-between gap-4",children:[t.jsxs("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:85:11",className:"space-y-3 min-w-0 flex-1",children:[t.jsx("p",{"code-path":"src/components/dashboard/DashboardStats.tsx:86:13",className:"text-sm font-medium text-[var(--dg-text-secondary)] truncate",children:a}),t.jsxs("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:89:13",className:"flex items-baseline gap-2 flex-wrap",children:[t.jsx("h3",{"code-path":"src/components/dashboard/DashboardStats.tsx:90:15",className:"text-2xl font-bold text-[var(--dg-text-primary)] tracking-tight",children:s}),o&&n&&t.jsxs("span",{"code-path":"src/components/dashboard/DashboardStats.tsx:94:17",className:m("flex items-center text-xs font-semibold gap-0.5",u),children:[t.jsx(p,{"code-path":"src/components/dashboard/DashboardStats.tsx:95:19",className:"h-3.5 w-3.5"}),n]})]}),r&&t.jsx("p",{"code-path":"src/components/dashboard/DashboardStats.tsx:101:15",className:"text-xs text-[var(--dg-text-muted)]",children:r})]}),t.jsx("div",{"code-path":"src/components/dashboard/DashboardStats.tsx:104:11",className:m("p-3 rounded-xl flex-shrink-0",i.bg,i.icon),children:t.jsx(e,{"code-path":"src/components/dashboard/DashboardStats.tsx:111:13",className:"h-5 w-5"})})]})})})Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function da(a,s){if(a){if(typeof a=="string")return Pe(a,s);var r=Object.prototype.toString.call(a).slice(8,-1);if(r==="Object"&&a.constructor&&(r=a.constructor.name),r==="Map"||r==="Set")return Array.from(a);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Pe(a,s)}}function ia(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function la(a){if(Array.isArray(a))return Pe(a)}function Pe(a,s){(s==null||s>a.length)&&(s=a.length);for(var r=0,e=new Array(s);r<s;r++)e[r]=a[r];return e}var He=function(s){return s&&s.x===+s.x&&s.y===+s.y},ha=function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];return s.forEach(function(e){He(e)?r[r.length-1].push(e):r[r.length-1].length>0&&r.push([])}),He(s[0])&&r[r.length-1].push(s[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},de=function(s,r){var e=ha(s);r&&(e=[e.reduce(function(n,c){return[].concat(qe(n),qe(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},pa=function(s,r,e){var o=de(s,e);return"".concat(o.slice(-1)==="Z"?o.slice(0,-1):o,"L").concat(de(r.reverse(),e).slice(1))},ma=function(s){var r=s.points,e=s.className,o=s.baseLinePoints,n=s.connectNulls,c=oa(s,ra);if(!r||!r.length)return null;var d=U("recharts-polygon",e);if(o&&o.length){var l=c.stroke&&c.stroke!=="none",i=pa(r,o,n);return x.createElement("g",{className:d},x.createElement("path",ee({},C(c,!0),{fill:i.slice(-1)==="Z"?c.fill:"none",stroke:"none",d:i})),l?x.createElement("path",ee({},C(c,!0),{fill:"none",d:de(r,n)})):null,l?x.createElement("path",ee({},C(c,!0),{fill:"none",d:de(o,n)})):null)}var p=de(r,n);return x.createElement("path",ee({},C(c,!0),{fill:p.slice(-1)==="Z"?c.fill:"none",className:d,d:p}))},we,We;function xa(){if(We)return we;We=1;var a=dt(),s=$t(),r=it();function e(o,n){return o&&o.length?a(o,r(n,2),s):void 0}return we=e,we}var ua=xa();const ba=rt(ua);var Re,Ge;function fa(){if(Ge)return Re;Ge=1;var a=dt(),s=it(),r=It();function e(o,n){return o&&o.length?a(o,s(n,2),r):void 0}return Re=e,Re}var ga=fa();const va=rt(ga);var ya=["cx","cy","angle","ticks","axisLine"],ja=["ticks","tick","angle","tickFormatter","stroke"];function re(a){"@babel/helpers - typeof";return re=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},re(a)}function ie(){return ie=Object.assign?Object.assign.bind():function(a){for(var s=1;s<arguments.length;s++){var r=arguments[s];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(a[e]=r[e])}return a},ie.apply(this,arguments)}function Ze(a,s){var r=Object.keys(a);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(a);s&&(e=e.filter(function(o){return Object.getOwnPropertyDescriptor(a,o).enumerable})),r.push.apply(r,e)}return r}function W(a){for(var s=1;s<arguments.length;s++){var r=arguments[s]!=null?arguments[s]:{};s%2?Ze(Object(r),!0).forEach(function(e){je(a,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(r)):Ze(Object(r)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(r,e))})}return a}function Xe(a,s){if(a==null)return{};var r=Da(a,s),e,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);for(o=0;o<n.length;o++)e=n[o],!(s.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(a,e)&&(r[e]=a[e])}return r}function Da(a,s){if(a==null)return{};var r={};for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)){if(s.indexOf(e)>=0)continue;r[e]=a[e]}return r}function Na(a,s){if(!(a instanceof s))throw new TypeError("Cannot call a class as a function")}function Je(a,s){for(var r=0;r<s.length;r++){var e=s[r];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(a,ft(e.key),e)}}function Ca(a,s,r){return s&&Je(a.prototype,s),r&&Je(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a}function ka(a,s,r){return s=ge(s),wa(a,bt()?Reflect.construct(s,r||[],ge(a).constructor):s.apply(a,r))}function wa(a,s){if(s&&(re(s)==="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ra(a)}function Ra(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function bt(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bt=function(){return!!a})()}function ge(a){return ge=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ge(a)}function Aa(a,s){if(typeof s!="function"&&s!==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=u);var j=o.filter(function(N){return Y(N,y,0)!==0}).length,k=(v>=360?j:j-1)*l,w=v-j*D-k,S=o.reduce(function(N,O){var P=Y(O,y,0);return N+(Q(P)?P:0)},0),_;if(S>0){var M;_=o.map(function(N,O){var P=Y(N,y,0),J=Y(N,p,O),H=(Q(P)?P:0)/S,T;O?T=M.endAngle+ue(h)*l*(P!==0?1:0):T=c;var ce=T+ue(h)*((P!==0?D:0)+H*w),R=(T+ce)/2,Me=(f.innerRadius+f.outerRadius)/2,Nt=[{name:J,value:P,payload:N,dataKey:y,type:b}],Ct=B(f.cx,f.cy,Me,R);return M=g(g(g({percent:H,cornerRadius:n,name:J,tooltipPayload:Nt,midAngle:R,middleRadius:Me,tooltipPosition:Ct},N),f),{},{value:Y(N,y),startAngle:T,endAngle:ce,payload:N,paddingAngle:ue(h)*l}),M})}return g(g({},f),{},{sectors:_,data:o})});var qa=Zt({chartName:"PieChart",GraphicalChild:K,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:Ce},{axisType:"radiusAxis",AxisComp:De}],formatAxisMap:Xt,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}});const Ha={阿里云:"#ff6a00",aliyun:"#ff6a00",AWS:"#ff9900",aws:"#ff9900",腾讯云:"#006eff",tencent:"#006eff",华为云:"#ff0000",huawei:"#ff0000",Azure:"#0078d4",azure:"#0078d4"},st=["#ff6a00","#ff9900","#006eff","#ff0000","#0078d4","#10b981","#a855f7","#ec4899"];function Dt(a){if(!a||a.length<2)return{pct:0,label:"暂无数据",direction:"neutral"};const s=Number(a[a.length-1].cost??0),r=Number(a[a.length-2].cost??0);if(r===0)return{pct:0,label:s>0?"新增费用":"持平",direction:"neutral"};const e=(s-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 Wa(a,s,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,a+(Math.random()-.5)*15)).toFixed(1)),memory:Number(Math.max(0,Math.min(100,s+(Math.random()-.5)*10)).toFixed(1)),disk:Number(Math.max(0,Math.min(100,r+(Math.random()-.5)*5)).toFixed(1))})}return o}function Ga(a,s){if(!a||a.length===0)return[];const r={};for(const e of a){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(s.toFixed(1))}))}function $e({active:a,payload:s,label:r}){return!a||!s?null:t.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:94:5",className:"chart-tooltip px-3 py-2",children:[t.jsx("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:95:7",className:"text-xs font-medium mb-1.5",style:{color:"var(--dg-text-secondary)"},children:r}),s.map((e,o)=>t.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:97:9",className:"flex items-center gap-2 text-xs",children:[t.jsx("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:98:11",className:"w-2 h-2 rounded-full",style:{backgroundColor:e.color}}),t.jsxs("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:99:11",style:{color:"var(--dg-text-muted)"},children:[e.name,":"]}),t.jsx("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:100:11",className:"font-medium",style:{color:"var(--dg-text-primary)"},children:typeof e.value=="number"?`${e.value}%`:e.value})]},o))]})}function Za({costStats:a}){const s=a?.cloud_costs??[],r=a?.month_trend??[],e=s.map((d,l)=>({name:d.cloud,value:d.cost,color:Ha[d.cloud]||st[l%st.length]})),o=r.map(d=>({month:d.month,cost:d.cost})),n=a?.total_cost??e.reduce((d,l)=>d+l.value,0),c=Dt(r);return t.jsxs(I,{"code-path":"src/components/dashboard/DashboardCharts.tsx:123:5",className:"dg-card dg-card-hover",children:[t.jsx(z,{"code-path":"src/components/dashboard/DashboardCharts.tsx:124:7",className:"pb-2",children:t.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:125:9",className:"flex items-center justify-between",children:[t.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:126:11",children:[t.jsx(V,{"code-path":"src/components/dashboard/DashboardCharts.tsx:127:13",className:"text-[var(--dg-text-primary)]",children:"云成本概览"}),t.jsx(q,{"code-path":"src/components/dashboard/DashboardCharts.tsx:128:13",className:"text-[var(--dg-text-muted)]",children:"本月各云平台费用支出"})]}),t.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:130:11",className:"text-right",children:[t.jsxs("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:131:13",className:"text-2xl font-bold text-[var(--dg-text-primary)] tracking-tight",children:["¥",Number(n).toLocaleString()]}),t.jsx("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:134:13",className:m("text-xs Line truncated
@@ -0,0 +1 @@
import{g as he,a as le,r,j as e,B as i,G as L,P as Ce,D as xe,b as pe,c as ge,d as be,e as De,I as u,O as je,t as ve,a4 as F,a5 as ke,T as Se,x as te,E as Me,a3 as Te,f as Ne}from"./index-DfyorCky.js";import{T as Ae,a as ze,b as de,c as me}from"./tabs-CIh_yD4s.js";import{B as v}from"./badge-xNW8x0G1.js";import{C as re,b as Le,c as Fe,a as oe}from"./card-C55cvSHg.js";import{L as c}from"./label-BK0h2apY.js";import{S as l}from"./switch-CGiGgOnh.js";import{S as Y,a as ee,b as ae,c as se,d as A,C as I}from"./select-D5qUzdAs.js";import{t as o}from"./index-a3ybMjbR.js";import{p as k,z}from"./monitor-BAaBXIsC.js";import{R as ce}from"./refresh-cw-DUB_tAG-.js";import{P as H}from"./plus-CUG-9kpu.js";import{S as fe}from"./square-pen-BxUFAe0F.js";import{T as _e}from"./trash-2-Dx32pOzT.js";import{W as Ie}from"./wrench-KfbhOOJm.js";import{C as Pe}from"./circle-x-DK79Dhg2.js";import{C as qe}from"./circle-check-DWcXrx2k.js";import"./index-CWVNW_qu.js";const Ee=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]],ne=he("plug",Ee);const Oe=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],$=he("star",Oe),ie={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 Re(){const x=le(),[h,p]=r.useState([]),[B,V]=r.useState(!0),[U,g]=r.useState(!1),[b,q]=r.useState(null),[s,_]=r.useState({...ie}),[P,D]=r.useState([]),[y,E]=r.useState(!1),[,O]=r.useState(!1),[S,R]=r.useState(!1),[T,w]=r.useState(!1),[M,N]=r.useState(!1),[j,Z]=r.useState(null),m=r.useCallback(async()=>{try{const a=await k.list();p(a?.data||a||[])}catch{o.error("获取数据源列表失败")}finally{V(!1)}},[]);r.useEffect(()=>{m()},[m]);const G=()=>{q(null),_({...ie}),D([]),Z(null),E(!1),O(!1),R(!1),w(!1),g(!0)},W=a=>{q(a.id),_({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});try{const d=JSON.parse(a.custom_headers||"[]");D(Array.isArray(d)?d:[])}catch{D([])}Z(null),g(!0)},n=(a,d)=>{_(f=>({...f,[a]:d}))},J=()=>{D(a=>[...a,{header:"",value:""}])},t=a=>{D(d=>d.filter((f,X)=>X!==a))},C=(a,d,f)=>{D(X=>{const K=[...X];return K[a]={...K[a],[d]:f},K})},Q=async()=>{if(!s.name.trim()){o.error("请输入数据源名称");return}if(!s.url.trim()){o.error("请输入 Prometheus URL");return}const a={name:s.name.trim(),url:s.url.trim(),access:s.access,http_method:s.http_method,basic_auth:s.basic_auth,basic_auth_user:s.basic_auth_user,basic_auth_pass:s.basic_auth_pass,with_credentials:s.with_credentials,tls_client_auth:s.tls_client_auth,with_ca_cert:s.with_ca_cert,ca_cert:s.ca_cert,skip_tls_verify:s.skip_tls_verify,custom_headers:JSON.stringify(P),enable_alerting:s.enable_alerting,alertmanager_ds:s.alertmanager_ds,scrape_interval:s.scrape_interval,query_timeout:s.query_timeout,disable_metrics_lookup:s.disable_metrics_lookup,custom_query_params:s.custom_query_params,is_default:s.is_default};try{b?(await k.update(b,a),o.success("数据源更新成功")):(await k.create(a),o.success("数据源创建成功")),g(!1),m()}catch(d){o.error(d?.message||"操作失败")}},ye=async a=>{if(await x({title:"删除数据源",description:`确定删除数据源「${a.name}」吗?此操作不可撤销。`,variant:"destructive"}))try{await k.delete(a.id),o.success("已删除"),m()}catch{o.error("删除失败")}},we=async a=>{try{await k.setDefault(a.id),o.success(`已将「${a.name}」设为默认数据源`),m()}catch{o.error("设置失败")}},Ze=async()=>{if(!s.url.trim()){o.error("请先输入 URL");return}N(!0),Z(null);try{const a=await k.testConnection({url:s.url.trim(),basic_auth:s.basic_auth,basic_auth_user:s.basic_auth_user,basic_auth_pass:s.basic_auth_pass,skip_tls_verify:s.skip_tls_verify}Line truncated
@@ -0,0 +1 @@
import{g as te,r as o,j as e,D as A,b as H,c as M,d as W,O as Y,v as Z,I as z,P as oe,f as ae,B as d,h as ne,L as F,a3 as le,x as ce,a4 as de,e as re,a as pe,a0 as ie}from"./index-DfyorCky.js";import{B as w}from"./badge-xNW8x0G1.js";import{T as xe,a as me,b as $,c as B}from"./tabs-CIh_yD4s.js";import{L as _}from"./label-BK0h2apY.js";import{S as K,a as X,b as q,c as J,d as E}from"./select-D5qUzdAs.js";import{t as r}from"./index-a3ybMjbR.js";import{d as i}from"./deploy-B3Sg3N1U.js";import{P as G}from"./plus-CUG-9kpu.js";import{R as ee}from"./refresh-cw-DUB_tAG-.js";import{C as ye}from"./circle-x-DK79Dhg2.js";import{D as I}from"./download-DoZfYs2h.js";import{W as he}from"./wrench-KfbhOOJm.js";import{P}from"./pencil-BqUotcjf.js";import{T as U}from"./trash-2-Dx32pOzT.js";import"./index-CWVNW_qu.js";const ge=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Ce=te("settings-2",ge);function be({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"),k=async()=>{try{const a=await ne.get("/credentials?page_size=100");l(a?.list||[])}catch{}};o.useEffect(()=>{if(k(),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 O=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(M,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:99:9",children:e.jsxs(W,{"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(K,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:116:13",value:String(D),onValueChange:a=Line truncated
@@ -0,0 +1 @@
import{g as Ne,r as o,a as ve,j as e,L as M,t as ae,B as a,a0 as D,I as h,a9 as fe,a5 as le,aa as we,u as be}from"./index-DfyorCky.js";import{C as g,a as N}from"./card-C55cvSHg.js";import{B as x}from"./badge-xNW8x0G1.js";import{S as v,a as f,b as w,c as b,d as r}from"./select-D5qUzdAs.js";import{L as i}from"./label-BK0h2apY.js";import{t as c}from"./index-a3ybMjbR.js";import{d as m,p as Se}from"./deploy-B3Sg3N1U.js";import{P as pe}from"./plus-CUG-9kpu.js";import{S as ne}from"./save-DoGGjfwC.js";import{T as ke}from"./trash-2-Dx32pOzT.js";import{U as de}from"./user-plus-BwUWtcQl.js";import"./index-CWVNW_qu.js";const Ie=[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]],re=Ne("regex",Ie);function He(){const[p,me]=o.useState([]),[xe,T]=o.useState(!0),[S,A]=o.useState(!1),[y,ie]=o.useState([]),[n,k]=o.useState(null),[F,ye]=o.useState([]),[I,_]=o.useState([]),[l,he]=o.useState(""),[j,q]=o.useState(""),[G,H]=o.useState(!1),[J,z]=o.useState(!1),[P,X]=o.useState(""),[E,K]=o.useState(""),[C,O]=o.useState(""),[Q,W]=o.useState("editor"),[Y,Z]=o.useState(""),[Ce,U]=o.useState(null),[L,ee]=o.useState(""),[se,te]=o.useState(""),Re=ve(),R=async()=>{T(!0);try{const[s,t,d]=await Promise.all([m.getItemRoles(),Se.getPipelines({page_size:200}),be.getUsers({page_size:500})]);me(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{T(!1)}};o.useEffect(()=>{R()},[]);const $=async()=>{if(!l){_([]);return}try{const s=await m.getUserItemRoles(Number(l));_(Array.isArray(s)?s:s?.data||s?.list||[])}catch{_([])}};o.useEffect(()=>{$()},[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 m.createItemRole({name:P.trim(),code:E.trim(),pattern:C.trim(),role:Q,description:Y}),c.success("已创建"),z(!1),X(""),K(""),O(""),W("editor"),Z(""),R()}catch(s){c.error(s?.message||"创建失败")}finally{A(!1)}},Ae=async s=>{if(!L.trim()){c.error("正则不能为空");return}A(!0);try{await m.updateItemRole(s,{pattern:L,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 m.deleteItemRole(s.id),c.success("已删除"),R()}catch{c.error("删除失败")}},Be=async s=>{try{await m.updateItemRole(s.id,{status:s.status?0:1}),c.success(s.status?"已禁用":"已启用"),R()}catch{c.error("操作失败")}},De=async()=>{if(!l||!j){c.error("请选择用户和角色");return}H(!0);try{await m.assignItemRole(Number(l),{user_id:Number(l),item_role_id:Number(j)}),c.success("已分配"),q(""),$()}catch(s){c.error(s?.message||"分配失败")}finally{H(!1)}},ge=async s=>{try{await m.removeItemRole(Number(l),s),c.success("已撤销"),$()}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=F.find(s=>String(s.id)===l);return xe?e.jsx("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:167:23",className:"flex items-center justify-center py-20",children:e.jsx(M,{"code-path":"src/components/deploy/DeployRBAC.tsx:167:79",className:"w-6 h-6 animate-spin"})}):e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:170:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:172:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:173:9",children:[e.jsxs("h1",{"code-path":"src/components/deploy/DeployRBAC.tsx:174: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:175:13",className:"w-5 h-5 text-purple-500"}),"发布权限"]}),e.jsx("p",{"code-path":"src/components/deploy/DeployRBAC.tsx:177: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:181:9",onClick:()=>z(!0),disabled:J,children:[e.jsx(pe,{"code-path":"src/components/deploy/DeployRBAC.tsx:182:11",className:"w-4 h-4 mr-1"}),"新建角色"]})]}),e.jsx(g,{"code-path":"src/components/deploy/DeployRBAC.tsx:187:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(N,{Line truncated
@@ -0,0 +1,20 @@
import{g as Fe,r as m,v as ot,N as Se,A as Zt,j as e,B as u,I as v,L as xe,a4 as Qt,n as es,H as ts,x as ss,R as bs,o as ys,t as ns,V as os,G as tt,q as jt,E as vt,O as ks,M as vs,a3 as gt,a0 as xt,k as as,aT as gs,T as Mt,a7 as Ds,a5 as cs,W as Nt,i as js}from"./index-DfyorCky.js";import{C as L,a as G,b as ie,c as pe}from"./card-C55cvSHg.js";import{L as C}from"./label-BK0h2apY.js";import{B as se}from"./badge-xNW8x0G1.js";import{k as te}from"./kubernetes-J8O09fK7.js";import{u as Pe}from"./use-toast-CrSOP4cJ.js";import{S as we,f as Ye,e as Ns,b as fs,s as ht,Y as zt,P as Es,a as ws}from"./PodFileBrowser-BySN2XGN.js";import{T as Re,a as Be,b as De,c as X,d as Oe,e as Z}from"./table-5sHV4Akp.js";import{P as ae}from"./plus-CUG-9kpu.js";import{H as Cs}from"./history-D_9jPUQg.js";import{M as ft}from"./minus-UVrx3jLc.js";import{F as Et}from"./file-text-C9G5abwR.js";import{H as rs}from"./hard-drive-BbPmnARR.js";import{E as Dt}from"./external-link-CzIpMNu1.js";import{T as st}from"./textarea-NXY8u32k.js";import{S as Le,a as Ge,b as nt,c as He,d as ve}from"./select-D5qUzdAs.js";import{S as wt}from"./switch-CGiGgOnh.js";import{T as ue}from"./trash-2-Dx32pOzT.js";import{P as ls}from"./play-cdPayOtJ.js";import{S as at}from"./save-DoGGjfwC.js";import{R as ds}from"./rotate-cw-5qcj_h_q.js";import{Z as is}from"./zap-D2uWSK32.js";import{F as Ss}from"./folder-open-IMBifk-r.js";import{D as Ps}from"./disc-EsE6x5Oh.js";import{F as As,a as ut}from"./folder-DoMwqvzv.js";import{R as ct}from"./refresh-cw-DUB_tAG-.js";import{C as Vs}from"./circle-x-DK79Dhg2.js";import{A as Ws}from"./arrow-left-BDgGyrD0.js";import{P as _t}from"./pause-D_famo9P.js";import"./copy-DXW4LnkN.js";import"./sparkles-Bld4NX5y.js";import"./xterm-DSqgeKvr.js";import"./box-TTGA1p57.js";import"./minimize-2-CiCQYRfn.js";import"./upload-Ba6rlaGS.js";import"./download-DoZfYs2h.js";import"./index-CWVNW_qu.js";const Ts=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],Rs=Fe("hash",Ts);const Bs=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Os=Fe("heart",Bs);const Is=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Ms=Fe("image",Is);const zs=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],_s=Fe("key-round",zs);const $s=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],$t=Fe("tags",$s);function ps(t){const s=t.conditions||t.pod_conditions||[],o=n=>s.find(d=>(d.type||d.Type)===n),a=n=>n?.lastTransitionTime||n?.LastTransitionTime||n?.last_transition_time;return{scheduled:a(o("PodScheduled")||{}),initialized:a(o("Initialized")||{}),containersReady:a(o("ContainersReady")||{}),ready:a(o("Ready")||{}),startTime:t.start_time||t.startTime}}function Ls(t){const{clusterCode:s,namespace:o,deployment:a,pods:n,revisions:d,onRefresh:i}=t,{toast:p}=Pe(),[D,h]=m.useState("pods"),[N,I]=m.useState(null),[q,V]=m.useState(null),[R,M]=m.useState(a?.replicas||0),[z,F]=m.useState(!1),[B,U]=m.useState([]),[Y,S]=m.useState([]),[Q,O]=m.useState([]),[H,ne]=m.useState(""),[oe,r]=m.useState([]),[b,f]=m.useState([]),P=a?.ready_replicas??a?.readyReplicas??0,l=a?.replicas??0,w=P===l&&l>0;m.useEffect(()=>{D==="services"&&(ne("services"),Promise.all([te.getNamespaceServices(s,o).catch(()=>[]),te.getNamespaceIngresses(s,o).catch(()=>[])]).then(([y,J])=>{const _=A=>Array.isArray(A)?A:A?.list||A?.items||A?.data||[],$=_(y),be=_(J),K=a?.spec?.selector?.matchLabels||a?.spec?.template?.metadata?.labels||{},he=$.filter(A=>{const ce=A.spec?.selector||A.selector||{};return Object.keys(ce).length===0?!1:Object.entries(ce).every(([ge,fe])=>K[ge]===fe)}).map(A=>({name:A.name||A.metadata?.name,type:A.spec?.type||A.type||"ClusterIP",clusterIP:A.spec?.clusterIP||A.cluster_ip||"<none>",ports:(A.spec?.ports||A.ports||[]).map(ce=>`${ce.port}${ce.targetPort?":"+ce.targetPort:""}/${ce.protocol||"TCP"}`),selector:A.spec?.selector||A.selector||{},age:A.age||""})),Ne=new Set(he.map(A=>A.name)),de=be.filter(A=>(A.spec?.rules||A.rules||[]).some(ge=>(ge.http?.paths||ge.paths||[]).some(fe=>{const g=fe.backend?.service?.name||fe.backendService||"";return Ne.has(g)}))).map(A=>({name:A.name||A.mLine truncated
`):n.exec?.command||"",initialDelaySeconds:n.initialDelaySeconds,periodSeconds:n.periodSeconds,timeoutSeconds:n.timeoutSeconds,successThreshold:n.successThreshold,failureThreshold:n.failureThreshold}},o=n=>{if(!n)return{type:"none"};let d="none";return n.exec?d="exec":n.httpGet?d="httpGet":n.tcpSocket&&(d="tcpSocket"),{type:d,execCommand:Array.isArray(n.exec?.command)?n.exec.command.join(`
`):"",httpPath:n.httpGet?.path||"",httpPort:n.httpGet?.port??"",tcpPort:n.tcpSocket?.port??""}},a=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?o(t.lifecycle.postStart):void 0,preStop:t.lifecycle.preStop?o(t.lifecycle.preStop):void 0}:null,securityContext:a?{runAsUser:a.runAsUser,runAsGroup:a.runAsGroup,runAsNonRoot:a.runAsNonRoot,privileged:a.privileged,readOnlyRootFilesystem:a.readOnlyRootFilesystem,allowPrivilegeEscalation:a.allowPrivilegeEscalation,capabilitiesAdd:a.capabilities?.add||[],capabilitiesDrop:a.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 Gt(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 bt(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 o=(t.execCommand||"").split(`
`).map(a=>a.trim()).filter(Boolean);o.length&&(s.exec={command:o})}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 Ht(t){if(!(!t||t.type==="none"||!t.type)){if(t.type==="exec"){const s=(t.execCommand||"").split(`
`).map(o=>o.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 Ft(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(h=>h.name.trim()).map(h=>{const N={name:h.name};return h.value!=null&&(N.value=h.value),N})),t.ports.length>0&&(s.ports=t.ports.filter(h=>h.containerPort!=="").map(h=>{const N={containerPort:typeof h.containerPort=="number"?h.containerPort:Number(h.containerPort)};return h.name&&(N.name=h.name),h.protocol&&(N.protocol=h.protocol),N}));const o=t.resources.requests,a=t.resources.limits,n=o&&Object.values(o).some(h=>h&&h.trim()),d=a&&Object.values(a).some(h=>h&&h.trim());(n||d)&&(s.resources={},n&&(s.resources.requests={},o.cpu?.trim()&&(s.resources.requests.cpu=o.cpu),o.memory?.trim()&&(s.resources.requests.memory=o.memory)),d&&(s.resources.limits={},a.cpu?.trim()&&(s.resources.limits.cpu=a.cpu),a.memory?.trim()&&(s.resources.limits.memory=a.memory)));const i=bt(t.livenessProbe);i&&(s.livenessProbe=i);const p=bt(t.readinessProbe);p&&(s.readinessProbe=p);const D=bt(t.startupProbe);if(D&&(s.startupProbe=D),t.lifecycle){const h={},N=Ht(t.lifecycle.postStart);N&&(h.postStart=N);const I=Ht(t.lifecycle.preStop);I&&(h.preStop=I),Object.keys(h).length>0&&(s.lifecycle=h)}if(t.securityContext){const h=t.securityContext,N={};h.runAsUser!==""&&h.runAsUser!=null&&(N.runAsUser=Number(h.runAsUser)),h.runAsGroup!==""&&h.runAsGroup!=null&&(N.runAsGroup=Number(h.runAsGroup)),h.runAsNonRoot!=null&&(N.runAsNonRoot=h.runAsNonRoot),h.privileged!=null&&(N.privileged=h.privileged),h.readOnlyRootFilesystem!=null&&(N.readOnlyRootFilesystem=h.readOnlyRootFilesystem),h.allowPrivilegeEscalation!=null&&(N.allowPrivilegeEscalation=h.allowPrivilegeEscalation);const I=(h.capabilitiesAdd||[]).filter(Boolean),q=(h.capabilitiesDrop||[]).filter(Boolean);(I.length||q.length)&&(N.capabilities={},I.length&&(N.capabilities.add=I),q.length&&(N.capabilities.drop=q)),Object.keys(N).length>0&&(s.securityContext=N)}return t.volumeMounts.length>0&&(s.volumeMounts=t.volumeMounts.filter(h=>h.name.trim()&&h.mountPath.trim()).map(h=>{const N={name:h.name,mountPath:h.mountPath};return h.subPath&&(N.subPath=h.subPath),h.readOnly&&(N.readOnly=!0),N})),s}function Yt(t){return t.join(`
`)}function Jt(t){return t.split(`
`).map(s=>s.trim()).filter(Boolean)}function qs({clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:d}){const{toast:i}=Pe(),[p,D]=m.useState(!1),[h,N]=m.useState(!a),[I,q]=m.useState(a||{}),[V,R]=m.useState([]),[M,z]=m.useState([]),[F,B]=m.useState([]);m.useEffect(()=>{if(!a){N(!1);return}q(a);const r=a?.spec?.template?.spec||{};R((Array.isArray(r.containers)?r.containers:[]).map(Lt)),z((Array.isArray(r.initContainers)?r.initContainers:[]).map(Lt)),B((Array.isArray(r.imagePullSecrets)?r.imagePullSecrets:[]).map(b=>b.name||"")),N(!1)},[a]);const U=(r,b)=>{R(f=>f.map((P,l)=>l===r?{...P,...b}:P))},Y=()=>{R(r=>[...r,Gt(`container-${r.length+1}`)])},S=r=>{R(b=>b.filter((f,P)=>P!==r))},Q=r=>{R(b=>{const f=JSON.parse(JSON.stringify(b[r]));f.name=`${f.name}-copy`;const P=[...b];return P.splice(r+1,0,f),P})},O=(r,b)=>{z(f=>f.map((P,l)=>l===r?{...P,...b}:P))},H=()=>{z(r=>[...r,Gt(`init-${r.length+1}`)])},ne=r=>{z(b=>b.filter((f,P)=>P!==r))},oe=async()=>{for(const r of[...M,...V]){if(!r.name.trim()){i({title:"保存失败",description:"容器名称不能为空",variant:"destructive"});return}if(!r.image.trim()){i({title:"保存失败",description:`容器 ${r.name} 的镜像不能为空`,variant:"destructive"});return}}D(!0);try{const r=JSON.parse(JSON.stringify(I));r.spec=r.spec||{},r.spec.template=r.spec.template||{},r.spec.template.spec=r.spec.template.spec||{},r.spec.template.spec.containers=V.map(Ft),r.spec.template.spec.initContainers=M.length>0?M.map(Ft):void 0,r.spec.template.spec.imagePullSecrets=F.filter(f=>f.trim()).length>0?F.filter(f=>f.trim()).map(f=>({name:f})):void 0;const b=JSON.stringify(r,null,2);await te.updateResourceYaml(t,s,"deployments",o,b),i({title:"容器配置已保存",description:`${o} 更新已提交`}),n()}catch(r){i({title:"保存失败",description:r?.message||String(r),variant:"destructive"})}finally{D(!1)}};return h?e.jsx(L,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:400:7",className:"bg-slate-900 border-slate-800",children:e.jsxs(G,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:401:9",className:"p-12 text-center",children:[e.jsx(xe,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:402:11",className:"h-6 w-6 animate-spin mx-auto text-slate-500"}),e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:403:11",className:"text-slate-500 mt-3 text-sm",children:"加载中..."})]})}):a?e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:419:5",className:"space-y-4",children:[e.jsxs(L,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:421:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(ie,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:422:9",className:"pb-3",children:e.jsxs(pe,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:423:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(_s,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:424:13",className:"h-4 w-4 text-amber-400"}),"镜像拉取凭证 (imagePullSecrets)",e.jsx(se,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:426:13",variant:"outline",className:"border-slate-700 text-slate-500 text-[10px]",children:"Pod 级别"})]})}),e.jsxs(G,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:429:9",className:"pt-0 space-y-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:430:11",className:"flex items-center gap-2 flex-wrap",children:[F.map((r,b)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:432:15",className:"flex items-center gap-1 bg-slate-800 rounded px-2 py-1",children:[e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:433:17",className:"text-xs text-slate-300 font-mono",children:r}),e.jsx("button",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:434:17",onClick:()=>B(f=>f.filter((P,l)=>l!==b)),className:"text-red-400 hover:text-red-300 ml-1",children:e.jsx(ue,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:435:68",className:"h-3 w-3"})})]},b)),F.length===0&&e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:438:47",className:"text-[11px] text-slate-600",children:"无"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:440:11",className:"flex gap-2",children:[e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:441:13",placeholder:"输入 Secret 名称后回车",className:"bg-slate-800 border-slate-700 text-slate-200 text-xs h-8",onKeyDown:r=>{if(r.key==="Enter"){const b=r.target.value.trim();b&&(B(f=>[...f,b]),r.target.value="")}}}),e.jsxs(u,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:448:13",size:"sm",variant:"outline",className:"h-8 border-slate-700 text-slate-300 text-xs",on Line truncated
-c`,onChange:n=>s({command:Jt(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/DeploymentEditContainers.tsx:639:9",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:640:11",className:"text-slate-400 text-xs",children:"启动参数 (args) — 每行一个"}),e.jsx(st,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:641:11",value:Yt(o.args),placeholder:`--config=/etc/app.yaml
--debug`,onChange:n=>s({args:Jt(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/DeploymentEditContainers.tsx:648:7",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:649:9",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:650:11",className:a,children:[e.jsx(ts,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:650:39",className:"h-3.5 w-3.5 text-cyan-400"})," 环境变量"]}),e.jsxs(u,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:651:11",size:"sm",variant:"outline",className:"h-6 border-slate-700 text-slate-300 text-[11px]",onClick:()=>s({env:[...o.env,{name:"",value:""}]}),children:[e.jsx(ae,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:653:13",className:"h-3 w-3 mr-1"}),"新增"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:656:9",className:"space-y-1.5",children:[o.env.map((n,d)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:658:13",className:"grid grid-cols-[1fr_1.4fr_auto] gap-2",children:[e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:659:15",value:n.name,placeholder:"KEY",onChange:i=>{const p=[...o.env];p[d]={...n,name:i.target.value},s({env:p})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:662:15",value:n.value||"",placeholder:"value",onChange:i=>{const p=[...o.env];p[d]={...n,value:i.target.value},s({env:p})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(u,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:665:15",variant:"ghost",size:"icon",className:"h-8 w-8 text-red-400",onClick:()=>s({env:o.env.filter((i,p)=>p!==d)}),children:e.jsx(ue,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:667:17",className:"h-3.5 w-3.5"})})]},d)),o.env.length===0&&e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:671:34",className:"text-[11px] text-slate-600",children:"无环境变量"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:676:7",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:677:9",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:678:11",className:a,children:[e.jsx(Se,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:678:39",className:"h-3.5 w-3.5 text-indigo-400"})," 端口"]}),e.jsxs(u,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:679:11",size:"sm",variant:"outline",className:"h-6 border-slate-700 text-slate-300 text-[11px]",onClick:()=>s({ports:[...o.ports,{name:"",containerPort:"",protocol:"TCP"}]}),children:[e.jsx(ae,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:681:13",className:"h-3 w-3 mr-1"}),"新增"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:684:9",className:"space-y-1.5",children:[o.ports.map((n,d)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:686:13",className:"grid grid-cols-[1fr_1fr_100px_auto] gap-2",children:[e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:687:15",value:n.name||"",placeholder:"http",onChange:i=>{const p=[...o.ports];p[d]={...n,name:i.target.value},s({ports:p})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:690:15",type:"number",value:n.containerPort,placeholder:"8080",onChange:i=>{const p=[...o.ports];p[d]={...n,containerPort:i.target.value},s({ports:p})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsxs(Le,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:693:15",value:n.protocol||"TCP",onValueChange:i=>{const p=[...o.ports];p[d]={...n,protocol:i},s({ports:p})},children:[e.jsx(Ge,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:694:17",className:"bg-slate-800 border-slate-700 text-slate-200 text-xs h-8",children:e.jsx(nt,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:695:19"})}),e.jsxs(He,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:697:17",className:"bg-slate-900 border-slate-700",children:[e.jsx(ve,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:698:19",value:"TCP",className:"text-slate-200",children:"TCP"}),e.jsx(ve,{"code-path":"src/components/kubernetes/DeploymentEditContainers.tsx:699:19",value:"UDP",className:"text-slate-2 Line truncated
`):""),Rt(Array.isArray(W.searches)?W.searches.join(`
`):"");const me=Array.isArray(W.options)?W.options:[];Me(me.map(le=>({name:le.name||"",value:le.value||""}))),N(!1)},[a]);const Bt=()=>w(x=>[...x,{key:"",value:""}]),Ot=x=>w(j=>j.filter((E,ee)=>ee!==x)),Ue=(x,j)=>w(E=>E.map((ee,re)=>re===x?{...ee,...j}:ee)),xs=async()=>{D(!0);try{const x=JSON.parse(JSON.stringify(I));x.spec=x.spec||{},x.spec.template=x.spec.template||{},x.spec.template.spec=x.spec.template.spec||{};const j=x.spec.template.spec;if(x.spec.strategy={type:V},V==="RollingUpdate"&&(x.spec.strategy.rollingUpdate={maxSurge:M,maxUnavailable:F}),U&&(x.spec.revisionHistoryLimit=Number(U)),S&&(x.spec.progressDeadlineSeconds=Number(S)),O==="nodeName"&&ne.trim())j.nodeName=ne.trim(),delete j.nodeSelector,j.affinity&&delete j.affinity.nodeAffinity;else if(O==="nodeSelector"){const W={};for(const{key:me,value:le}of l){const _e=me.trim();_e&&(W[_e]=le)}Object.keys(W).length>0?j.nodeSelector=W:delete j.nodeSelector,j.nodeName&&delete j.nodeName,j.affinity&&delete j.affinity.nodeAffinity}else if(O==="nodeAffinity"){const W=l.filter(me=>me.key.trim()).map(me=>({key:me.key.trim(),operator:"In",values:[me.value]}));W.length>0?(j.affinity=j.affinity||{},j.affinity.nodeAffinity={requiredDuringSchedulingIgnoredDuringExecution:{nodeSelectorTerms:[{matchExpressions:W}]}}):j.affinity&&delete j.affinity.nodeAffinity,delete j.nodeSelector,j.nodeName&&delete j.nodeName}const E=k.filter(W=>W.key||W.operator==="Exists").map(W=>{const me={};return W.key&&(me.key=W.key),W.operator&&(me.operator=W.operator),W.value&&W.operator!=="Exists"&&(me.value=W.value),W.effect&&(me.effect=W.effect),W.tolerationSeconds&&W.effect==="NoExecute"&&(me.tolerationSeconds=Number(W.tolerationSeconds)),me});E.length>0?j.tolerations=E:delete j.tolerations,J&&(j.dnsPolicy=J),$&&(j.restartPolicy=$),K&&(j.schedulerName=K),Ne&&(j.terminationGracePeriodSeconds=Number(Ne)),A&&(j.serviceAccountName=A);const ee={};ge&&(ee.fsGroup=Number(ge)),g&&(ee.runAsUser=Number(g)),je&&(ee.runAsGroup=Number(je)),We&&(ee.runAsNonRoot=!0),Object.keys(ee).length>0?j.securityContext=ee:delete j.securityContext,Je?j.hostNetwork=!0:delete j.hostNetwork,qe?j.hostIPC=!0:delete j.hostIPC,Ct?j.hostPID=!0:delete j.hostPID,Pt?j.shareProcessNamespace=!0:delete j.shareProcessNamespace;const re=dt.filter(W=>W.ip.trim()).map(W=>({ip:W.ip.trim(),hostnames:W.hostnames.split(/[,\s]+/).map(me=>me.trim()).filter(Boolean)})).filter(W=>W.hostnames.length>0);re.length>0?j.hostAliases=re:delete j.hostAliases;const ke={},ze=Vt.split(`
`).map(W=>W.trim()).filter(Boolean);ze.length>0&&(ke.nameservers=ze);const Ke=Tt.split(`
`).map(W=>W.trim()).filter(Boolean);Ke.length>0&&(ke.searches=Ke);const Ee=it.filter(W=>W.name.trim()).map(W=>{const me={name:W.name.trim()};return W.value.trim()&&(me.value=W.value.trim()),me});Ee.length>0&&(ke.options=Ee),Object.keys(ke).length>0?j.dnsConfig=ke:delete j.dnsConfig;const pt=JSON.stringify(x,null,2);await te.updateResourceYaml(t,s,"deployments",o,pt),i({title:"高级设置已保存",description:`${o} 更新已提交`}),n()}catch(x){i({title:"保存失败",description:x?.message||String(x),variant:"destructive"})}finally{D(!1)}};return h?e.jsx(L,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:328:7",className:"bg-slate-900 border-slate-800",children:e.jsxs(G,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:329:9",className:"p-12 text-center",children:[e.jsx(xe,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:330:11",className:"h-6 w-6 animate-spin mx-auto text-slate-500"}),e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:331:11",className:"text-slate-500 mt-3 text-sm",children:"加载中..."})]})}):a?e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:348:5",className:"space-y-4",children:[e.jsxs(L,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:350:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(ie,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:351:9",className:"pb-3",children:e.jsxs(pe,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:352:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(ct,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:353:13",className:"h-4 w-4 text-blue-400"}),"更新策略 (Strategy)"]})}),e.jsxs(G,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:356:9",className:"pt-0 space-y-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:357:11",className:"flex items-center gap-4",children:[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:V==="RollingUpdate",onChange:()=>R("RollingUpdate"),className:"accent-blue-500"}),"RollingUpdate(滚动更新)"]}),e.jsxs("label",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:363: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:364:15",type:"radio",checked:V==="Recreate",onChange:()=>R("Recreate"),className:"accent-blue-500"}),"Recreate(重建)"]})]}),V==="RollingUpdate"&&e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:370:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:371:15",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:372:17",className:"text-slate-500 text-xs",children:"maxSurge(整数或百分比,超出期望副本数)"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:373:17",value:M,onChange:x=>z(x.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:376:15",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:377:17",className:"text-slate-500 text-xs",children:"maxUnavailable(整数或百分比,不可用上限)"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:378:17",value:F,onChange:x=>B(x.target.value),placeholder:"25%",className:"h-8 mt-1 bg-slate-800 border-slate-700 text-slate-200 text-sm font-mono"})]})]})]})]}),e.jsxs(L,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:387:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(ie,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:388:9",className:"pb-3",children:e.jsxs(pe,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:389:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(ss,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:390:13",className:"h-4 w-4 text-amber-400"}),"历史版本 & 进度"]})}),e.jsxs(G,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:393:9",className:"pt-0 grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:394:11",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:395:13",className:"text-slate-500 text-xs",children:"revisionHistoryLimit(保留 RS 历史)"}),e.jsx(v,{"code-path":"src/c 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/DeploymentEditAdvanced.tsx:667:13",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:668:15",className:"text-slate-500 text-xs",children:"searches(搜索域,每行一个)"}),e.jsx("textarea",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:669:15",value:Tt,onChange:x=>Rt(x.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/DeploymentEditAdvanced.tsx:675:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:676:13",className:"flex items-center justify-between mb-1",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:677:15",className:"text-slate-400 text-xs",children:"options(DNS 选项)"}),e.jsxs(u,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:678:15",size:"sm",variant:"ghost",className:"h-6 text-xs text-slate-400",onClick:()=>Me(x=>[...x,{name:"",value:""}]),children:[e.jsx(ae,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:680:17",className:"h-3 w-3 mr-1"}),"添加"]})]}),it.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:684:15",className:"text-xs text-slate-600 italic",children:"未配置"}):it.map((x,j)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:686:15",className:"flex items-center gap-2 mb-1.5",children:[e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:687:17",value:x.name,onChange:E=>Me(ee=>ee.map((re,ke)=>ke===j?{...re,name:E.target.value}:re)),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/DeploymentEditAdvanced.tsx:689:17",className:"text-slate-600",children:":"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:690:17",value:x.value,onChange:E=>Me(ee=>ee.map((re,ke)=>ke===j?{...re,value:E.target.value}:re)),placeholder:"5(可留空)",className:"flex-1 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx(u,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:692:17",size:"icon",variant:"ghost",className:"h-6 w-6 text-red-400",onClick:()=>Me(E=>E.filter((ee,re)=>re!==j)),children:e.jsx(ue,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:694:19",className:"h-3 w-3"})})]},j))]})]})]}),e.jsxs(L,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:703:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(ie,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:704:9",className:"pb-3",children:e.jsxs(pe,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:705:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(vs,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:706:13",className:"h-4 w-4 text-amber-400"}),"主机别名 (hostAliases)"]})}),e.jsxs(G,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:709:9",className:"pt-0 space-y-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:710:11",className:"flex items-center justify-between mb-1",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:711:13",className:"text-slate-400 text-xs",children:"IP → 主机名映射(注入 Pod 的 /etc/hosts)"}),e.jsxs(u,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:712:13",size:"sm",variant:"ghost",className:"h-6 text-xs text-slate-400",onClick:()=>Ie(x=>[...x,{ip:"",hostnames:""}]),children:[e.jsx(ae,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:714:15",className:"h-3 w-3 mr-1"}),"添加"]})]}),dt.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:718:13",className:"text-xs text-slate-600 italic",children:"未配置"}):dt.map((x,j)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:720:13",className:"flex items-center gap-2",children:[e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:721:15",value:x.ip,onChange:E=>Ie(ee=>ee.map((re,ke)=>ke===j?{...re,ip:E.target.value}:re)),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/DeploymentEditAdvanced.tsx:723:15",className:"text-slate-600",children:"→"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:724:15",value:x.hostnames,onChange:E=>Ie(ee=>ee.map((re,ke)=>ke===j?{...re,hostnames:E.target.value}:re)),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(u,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:726:15",size:"icon",variant:"ghost",className:"h-6 w-6 text-red-400",onClick:()=>Ie(E=>E.filter((ee,re)=>re!==j)),children:e.jsx(ue,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:728:17",className:"h-3 w-3"})})]},j))]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:736:7",cl 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(is,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:414:23",className:"h-2.5 w-2.5"}),c.label,e.jsxs("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:416:23",className:"text-slate-500 text-[9px]",children:[c.protocol," ",c.port,":",c.targetPort]})]},c.name))})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:423:15",className:"space-y-2",children:[e.jsxs(C,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:424:17",className:"text-slate-500 text-[11px]",children:["端口配置 ",e.jsxs("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:425:24",className:"text-slate-600",children:["(",U.ports.length," 个端口)"]})]}),U.ports.map((c,k)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:428:19",className:"flex items-center gap-1.5 p-2 rounded bg-slate-800/50 border border-slate-700/50",children:[e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:430:21",value:c.name,onChange:y=>H(k,"name",y.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:434:21",value:c.protocol,onChange:y=>H(k,"protocol",y.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:436:23",value:"TCP",children:"TCP"}),e.jsx("option",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:437:23",value:"UDP",children:"UDP"})]}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:440:21",value:c.port,onChange:y=>H(k,"port",y.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:443:21",className:"text-slate-600 text-[10px]",children:"→"}),e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:444:21",value:c.targetPort,onChange:y=>H(k,"targetPort",y.target.value),type:"number",placeholder:"targetPort",className:"h-7 w-[72px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),U.type==="NodePort"&&e.jsx(v,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:449:23",value:c.nodePort,onChange:y=>H(k,"nodePort",y.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(u,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:454:21",size:"icon",variant:"ghost",className:"h-6 w-6 text-slate-500 hover:text-red-400",onClick:()=>ne(k),disabled:U.ports.length<=1,children:e.jsx(ft,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:456:23",className:"h-3 w-3"})})]},k)),e.jsxs(u,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:461:17",size:"sm",variant:"outline",className:"h-7 w-full border-dashed border-slate-700 text-slate-400 text-xs",onClick:()=>O(),children:[e.jsx(ae,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:463:19",className:"h-3 w-3 mr-1"}),"添加自定义端口"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:468: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:469:17",className:"text-slate-600",children:"selector (自动检测): "}),Object.keys(V).length>0?Object.entries(V).map(([c,k])=>e.jsxs("code",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:472:21",className:"bg-slate-800 px-1 py-0.5 rounded text-slate-400 ml-1",children:[c,"=",k]},c)):e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:475:19",className:"text-slate-600 italic",children:"未检测到"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:479:15",className:"flex justify-end gap-2 pt-1",children:[e.jsx(u,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:480:17",size:"sm",variant:"ghost",className:"h-7 text-xs text-slate-400",onClick:()=>B(null),children:"取消"}),e.jsx(u,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:481:17",size:"sm",className:"h-7 bg-blue-600 hover:bg-blue-700 text-xs",onClick:l,children:"创建"})]})]})]})]}),e.jsxs(L,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:489:7",className:"bg-slate-900 border-slate-800",children:[e.jsxs(ie,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:490:9",className:"pb-3",children:[e.jsxs("div",{"code-path":"src/components/kube Line truncated
${N?"border-blue-500 text-blue-400":h.available?"border-transparent text-slate-400 hover:text-slate-200":"border-transparent text-slate-600 cursor-not-allowed"}`,children:[e.jsx(I,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:584:15",className:"h-3.5 w-3.5"}),h.label,h.badge&&e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:587:17",className:`text-[9px] px-1 py-0.5 rounded ${N?"bg-blue-500/20 text-blue-300":"bg-slate-800 text-slate-600"}`,children:h.badge})]},h.key)})}),i==="basic"?e.jsx(Xs,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:598:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:d}):i==="containers"?e.jsx(qs,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:608:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:d}):i==="storage"?e.jsx(en,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:618:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:d}):i==="advanced"?e.jsx(tn,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:628:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:d}):i==="service"?e.jsx(nn,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:638:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:d}):null]})}function cn({clusterCode:t,namespace:s,deploymentName:o}){const{toast:a}=Pe(),n=Nt(D=>D.token)||localStorage.getItem("token")||"",d=`${window.location.origin}/api/v1/clusters/${t}/namespaces/${s}/deployments/${o}/update-image`,i=`curl -X POST '${d}' \\
-H 'Authorization: Bearer ${n?n.substring(0,16)+"...":"YOUR_TOKEN"}' \\
-H 'Content-Type: application/json' \\
-d '{"image": "harbor.example.com/app:v1.0", "container": "your-container-name"}'`,p=D=>{navigator.clipboard.writeText(D).then(()=>a({title:"已复制"})).catch(()=>{})};return e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:666:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:667:7",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:668:9",className:"text-slate-400 text-sm",children:"Webhook URL"}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:669:9",className:"flex items-center gap-2 mt-1",children:[e.jsx("code",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:670:11",className:"flex-1 text-xs text-slate-300 bg-slate-800 rounded px-3 py-2 break-all font-mono",children:d}),e.jsx(u,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:671:11",variant:"outline",size:"sm",className:"border-slate-700 text-slate-400 shrink-0",onClick:()=>p(d),children:"复制"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:674:7",children:[e.jsx(C,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:675:9",className:"text-slate-400 text-sm",children:"curl 示例"}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:676:9",className:"relative mt-1",children:[e.jsx("pre",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:677:11",className:"text-xs text-slate-300 bg-slate-800 rounded p-3 overflow-x-auto font-mono whitespace-pre-wrap",children:i}),e.jsx(u,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:678:11",variant:"outline",size:"sm",className:"absolute top-2 right-2 border-slate-700 text-slate-400",onClick:()=>p(i),children:"复制"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:681:7",className:"text-xs text-slate-500 space-y-1",children:[e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:682:9",children:"• 使用 Bearer Token 认证(JWT 登录令牌)"}),e.jsxs("p",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:683:9",children:["• ",e.jsx("code",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:683:14",className:"text-slate-400",children:"image"})," 必填,指定新镜像地址"]}),e.jsxs("p",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:684:9",children:["• ",e.jsx("code",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:684:14",className:"text-slate-400",children:"container"})," 可选,不填则更新第一个容器"]})]})]})}function et({title:t,children:s,onClose:o}){return e.jsx("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:693:5",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:o,children:e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:694:7",className:"bg-slate-900 border border-slate-700 rounded-xl p-6 w-[460px] max-w-[90vw] shadow-2xl",onClick:a=>a.stopPropagation(),children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:695:9",className:"flex items-center justify-between mb-4",children:[e.jsx("h2",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:696:11",className:"text-base font-bold text-slate-100",children:t}),e.jsx(u,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:697:11",variant:"ghost",size:"icon",className:"h-7 w-7 text-slate-400",onClick:o,children:e.jsx(cs,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:697:100",className:"h-4 w-4"})})]}),s]})})}function rn({clusterCode:t,namespace:s,podName:o,containers:a,onClose:n}){const{toast:d}=Pe(),[i,p]=m.useState(""),[D,h]=m.useState(200),[N,I]=m.useState(a[0]||""),[q,V]=m.useState(!1),[R,M]=m.useState(!1),z=async()=>{V(!0);try{const B=await te.getPodLogs(t,s,o,D,N||void 0);p(B?.data?.logs||B?.logs||B||"无日志")}catch{p("获取日志失败")}finally{V(!1)}};m.useEffect(()=>{z()},[N,D]);const F=async()=>{M(!0);const B=Nt.getState().token||"",U="",Y=N?`&container=${encodeURIComponent(N)}`:"",S=`${U}/api/v1/kubernetes/${t}/namespace/${s}/pods/${o}/logs?tail=${D}&stream=true${Y}`;try{const O=(await fetch(S,{headers:{Authorization:`Bearer ${B}`}})).body?.getReader();if(!O)return;const H=new TextDecoder;let ne="";for(;;){const{done:oe,value:r}=await O.read();if(oe)break;ne+=H.decode(r,{stream:!0}),p(ne)}}catch{d({title:"流式日志连接中断",variant:"destructive"})}finally{M(!1)}};return e.jsx("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:752:5",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:n,children:e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:753:7",className:"bg-slate-900 border border-slate-700 rounded-xl w-[90vw] max-w-4xl max-h-[80vh] flex flex-col",onClick:B=>B.stopPropagation(),children:[e.jsxs("div",{"code-path Line truncated
@@ -0,0 +1 @@
import{g as X,r as o,j as e,B as x,O as v,x as O,S as q,I as i,D as J,b as K,c as V,d as W,e as Y,f as Z,L as ee}from"./index-DfyorCky.js";import{L as m}from"./label-BK0h2apY.js";import{C as r,a as l}from"./card-C55cvSHg.js";import{B as D}from"./badge-xNW8x0G1.js";import{c as j}from"./cloud-Dzoer-2i.js";import{R as P}from"./refresh-cw-DUB_tAG-.js";import{P as I}from"./plus-CUG-9kpu.js";import{C as M}from"./circle-check-DWcXrx2k.js";import{C as B}from"./circle-x-DK79Dhg2.js";import{T as se}from"./trash-2-Dx32pOzT.js";const ae=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],F=X("pen",ae);function xe(){const[p,f]=o.useState([]),[y,_]=o.useState(!0),[N,T]=o.useState(""),[b,z]=o.useState("all"),[R,h]=o.useState(!1),[w,C]=o.useState(!1),[d,S]=o.useState(null),[a,t]=o.useState({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""}),$=()=>{S(null),t({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""})},Q=()=>{$(),h(!0)},U=s=>{S(s);const c=n=>n?n.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||"")}),h(!0)},A=async()=>{if(a.name.trim())try{C(!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};d?await j.updateDomain(d.id,s):await j.createDomain(s),h(!1),g()}catch(s){console.error(d?"更新域名失败:":"创建域名失败:",s)}finally{C(!1)}},g=async()=>{try{_(!0);const s=await j.getDomains();f(s?.list||[])}catch(s){console.error("加载域名列表失败:",s),f([])}finally{_(!1)}};o.useEffect(()=>{g()},[]);const G=async s=>{try{await j.deleteDomain(s),g()}catch(c){console.error("删除域名失败:",c)}},L=p.filter(s=>{const c=(s.name||"").toLowerCase().includes(N.toLowerCase())||(s.registrar||"").toLowerCase().includes(N.toLowerCase()),n=b==="all"||s.status===b;return c&&n}),u={total:p.length,active:p.filter(s=>s.status==="active").length,expired:p.filter(s=>s.status==="expired").length,pending:p.filter(s=>s.status==="pending").length,sslEnabled:p.filter(s=>s.ssl_enabled||s.sslEnabled).length},H=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:162:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:164:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:165:9",children:[e.jsx("h1",{"code-path":"src/components/cloud/DomainManager.tsx:166:11",className:"text-2xl font-bold text-slate-100",children:"域名管理"}),e.jsx("p",{"code-path":"src/components/cloud/DomainManager.tsx:167:11",className:"text-slate-400 mt-1",children:"管理域名注册信息和DNS解析记录"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:169:9",className:"flex items-center gap-2",children:[e.jsxs(x,{"code-path":"src/components/cloud/DomainManager.tsx:170:11",variant:"outline",onClick:g,className:"border-slate-700 text-slate-300",children:[e.jsx(P,{"code-path":"src/components/cloud/DomainManager.tsx:171:13",className:`h-4 w-4 mr-2 ${y?"animate-spin":""}`}),"刷新"]}),e.jsxs(x,{"code-path":"src/components/cloud/DomainManager.tsx:174:11",className:"bg-blue-600 hover:bg-blue-700",onClick:Q,children:[e.jsx(I,{"code-path":"src/components/cloud/DomainManager.tsx:175:13",className:"h-4 w-4 mr-2"}),"添加域名"]})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:182:7",className:"grid grid-cols-5 gap-4",children:[e.jsx(r,{"code-path":"src/components/cloud/DomainManager.tsx:183:9",className:"bg-slate-800 border-slate-700",children:e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:184:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:185:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:186:15",children:[e.jsx("p",{"code-path":"src/components/cloud/DomainManager.tsx:187:17",className:"text-slate-400 text-sm",children:"域名总数"}),e.jsx("p",{"code-path":"src/components/cloud/DomainManager.tsx:188:17",className:"text-2xl font-bold text-slate-100 mt-1",children:u.total})]}),e.jsx("div",{"code-path":"src/components/cloud/DomainManager.tsx:190:15",className:"w-10 h-10 rounded-lg bg-blue-500/20 flex items-center justify-center",children:e.jsx(v,{"code-path":"src/components/cloud/DomainManLine truncated
@@ -0,0 +1 @@
import{i as he,k as ue,r as n,j as e,m as G,n as J,J as be,B as ge,A as ve,T as E,w as Q,q as ke}from"./index-DfyorCky.js";import{C as x,a as p}from"./card-C55cvSHg.js";import{B as g}from"./badge-xNW8x0G1.js";import{S as N,a as f,b as y,c as w,d as o}from"./select-D5qUzdAs.js";import{T as Ee,a as je,b as L,c as h,d as Pe,e as d}from"./table-5sHV4Akp.js";import{k as S}from"./kubernetes-J8O09fK7.js";import{R as Ne}from"./refresh-cw-DUB_tAG-.js";import{L as Z}from"./layers-FW4KKJMi.js";import{R as W,C as D,X as K,Y as M,T as V,B as O,a as ee}from"./generateCategoricalChart-6v9BPbG2.js";import{B as H}from"./BarChart-DlFprovY.js";import"./index-CWVNW_qu.js";const se=["#EF4444","#F59E0B","#3B82F6","#8B5CF6","#EC4899","#14B8A6","#F97316","#6366F1","#84CC16","#06B6D4"];function $e(){const{clusterCode:te}=he(),I=ue(),[C,U]=n.useState(!1),[m,X]=n.useState([]),[ne,ae]=n.useState([]),[ce,re]=n.useState([]),[i,oe]=n.useState("all"),[j,le]=n.useState("all"),[T,xe]=n.useState("0"),[c,Y]=n.useState(te||""),[r,q]=n.useState(null),[u,B]=n.useState(""),[b,R]=n.useState(""),[pe,de]=n.useState(null);n.useEffect(()=>{S.getClusters().then(s=>{const t=s?.list||[];if(ae(t),!c&&t.length>0){const a=t[0].code||String(t[0].id);Y(a),I(`/kubernetes/${a}/events`,{replace:!0})}}).catch(()=>{})},[]),n.useEffect(()=>{c&&S.getNamespaces(c).then(s=>{re(Array.isArray(s)?s:s?.list||s?.data||[])}).catch(()=>{})},[c]);const _=n.useCallback(async()=>{if(c){U(!0);try{const s=i==="all"?void 0:i,t=j==="all"?void 0:j,a=await S.getEvents(c,s,t);X(Array.isArray(a)?a:a?.list||[])}catch{X([])}finally{U(!1)}}},[c,i,j]),A=n.useCallback(async()=>{if(c)try{const s=i==="all"?void 0:i,t=parseInt(T)||void 0,a=await S.getEventsSummary(c,s,t);q(a||null)}catch{q(null)}},[c,i,T]);n.useEffect(()=>{_()},[_]),n.useEffect(()=>{A()},[A]);const v=n.useMemo(()=>{let s=m;return u&&(s=s.filter(t=>t.reason===u)),b&&(s=s.filter(t=>(t.object||"").startsWith(b+"/"))),s},[m,u,b]),me=n.useMemo(()=>m.filter(s=>s.type==="Warning").length,[m]),ie=n.useMemo(()=>m.filter(s=>s.type==="Normal").length,[m]),k=n.useMemo(()=>(r?.by_reason||[]).map(t=>({name:t.reason||"Unknown",count:t.count})),[r]),z=n.useMemo(()=>(r?.by_namespace||[]).map(t=>({name:t.namespace||"<cluster>",count:t.count})),[r]),$=n.useMemo(()=>(r?.by_kind||[]).map(t=>({name:t.kind||"Unknown",count:t.count})),[r]),F=s=>s?s.replace("T"," ").substring(0,19):"-",P=s=>{if(!s)return"";const t=Date.now()-new Date(s).getTime();if(t<0)return"";const a=Math.floor(t/6e4);if(a<1)return"刚刚";if(a<60)return`${a}分钟前`;const l=Math.floor(a/60);return l<24?`${l}小时前`:`${Math.floor(l/24)}天前`};return e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:134:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:136:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(G,{"code-path":"src/components/kubernetes/EventsPage.tsx:137:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),c&&e.jsxs(e.Fragment,{children:[e.jsx(J,{"code-path":"src/components/kubernetes/EventsPage.tsx:138:29",className:"h-3 w-3"}),e.jsx(G,{"code-path":"src/components/kubernetes/EventsPage.tsx:138:65",to:`/kubernetes/${c}`,className:"hover:text-slate-300",children:c})]}),e.jsx(J,{"code-path":"src/components/kubernetes/EventsPage.tsx:139:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/EventsPage.tsx:139:45",className:"text-slate-300",children:"事件"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:143:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/EventsPage.tsx:144:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(be,{"code-path":"src/components/kubernetes/EventsPage.tsx:145:11",className:"h-5 w-5 text-yellow-400"}),"事件中心"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:147:9",className:"flex items-center gap-2 flex-wrap",children:[e.jsxs(N,{"code-path":"src/components/kubernetes/EventsPage.tsx:148:11",value:c,onValueChange:s=>{Y(s),I(`/kubernetes/${s}/events`)},children:[e.jsx(f,{"code-path":"src/components/kubernetes/EventsPage.tsx:149:13",className:"w-40 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(y,{"code-path":"src/components/kubernetes/EventsPage.tsx:149:87"})}),e.jsx(w,{"code-path":"src/components/kubernetes/EventsPage.tsx:150:13",className:"bg-slate-800 border-slate-700",children:ne.map(s=>e.jsx(o,{"code-path":"src/components/kubernetes/EventsPage.tsx:151:42",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(N,{"code-path":"src/components/kubernetes/EventsPage.tsx:154:11",value:i,onValueChange:s=>{oe(s),B(""),R("")},children:[e.jsx(f,{"code-path":"src/components/kubernetes/EventsPage.tsx:155:13",className:"w-36 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(y,{"code-path":Line truncated
@@ -0,0 +1,3 @@
import{g as ya,j as a,r as o,h as oa,A as J,B as D,L as aa,T as Na,q as Q,v as Ya,o as ka,W as Wa,D as ra,b as na,c as da,d as ca,e as _a,H as pa,a9 as Qa,t as Xa,I as X,E as as,aq as $a,a as ss,k as es,a7 as ts,w as os,f as va,K as Za,G as Ta}from"./index-DfyorCky.js";import{B as E}from"./badge-xNW8x0G1.js";import{C as z,b as Ga,c as wa,a as k}from"./card-C55cvSHg.js";import{S as ba,a as ua,b as ga,c as fa,d as O}from"./select-D5qUzdAs.js";import{L}from"./label-BK0h2apY.js";import{t as u}from"./index-a3ybMjbR.js";import{s as Fa}from"./server-CjDPBaTN.js";import{z as rs,p as ns,d as ja}from"./monitor-BAaBXIsC.js";import{a as Aa}from"./agent-DqqIRCQX.js";import{T as ds}from"./trending-up-CdusV6gc.js";import{R as ha}from"./refresh-cw-DUB_tAG-.js";import{W as Ma}from"./wifi-FqsslTyA.js";import{A as Ia}from"./arrow-up-down-DnvTt5VG.js";import{T as Ba,a as Oa,b as R,c as K}from"./tabs-CIh_yD4s.js";import{Z as ta}from"./zap-D2uWSK32.js";import{C as cs}from"./copy-DXW4LnkN.js";import{D as hs}from"./download-DoZfYs2h.js";import{P as ms}from"./play-cdPayOtJ.js";import{C as Da}from"./checkbox-CH0bpj6b.js";import{M as is,a as ls}from"./minimize-2-CiCQYRfn.js";import{P as Sa}from"./package-open-CUXo2Tda.js";import{T as xs}from"./trash-2-Dx32pOzT.js";import{E as Ea}from"./external-link-CzIpMNu1.js";import{P as Ca}from"./plus-CUG-9kpu.js";import"./index-CWVNW_qu.js";const ps=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ua=ya("arrow-down",ps);const bs=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Ha=ya("arrow-up",bs);const us=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],gs=ya("wifi-off",us);function fs(s){return s?Array.isArray(s)?s:Array.isArray(s.list)?s.list:Array.isArray(s.items)?s.items:Array.isArray(s.data)?s.data:[]:[]}function js(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 Ds({panel:s}){const r=js();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(ds,{"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/dashbLine 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:B,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(pa,{"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:ma.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((Z,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:Z})]},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 Ws=[{id:"agent",label:"Agent 主机",icon:a.jsx(Q,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:52:43",className:"w-3.5 h-3.5"})},{id:"zabbix",label:"Zabbix",icon:a.jsx(J,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:53:42",className:"w-3.5 h-3.5"})},{id:"prometheus",label:"Prometheus",icon:a.jsx(J,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:54:50",className:"w-3.5 h-3.5"})},{id:"dashboard",label:"自定义",icon:a.jsx($a,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:55:42",className:"w-3.5 h-3.5"})}],_s=()=>{const s=ss(),r=es(),[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,W]=o.useState(10),[v,h]=o.useState(new Set),[A,$]=o.useState(!1),[F,M]=o.useState(null),[I,T]=o.useState(!1),[p,f]=o.useState("install"),[n,l]=o.useState(!1),[S,j]=o.useState(!1),[ma,B]=o.useState(new Set),[d,Z]=o.useState(!1),sa=async()=>{if(await s({title:"批量卸载 Agent",description:`确定卸载选中的 ${ea.length} 台主机的 AIOps Agent?卸载将在后台异步执行。`,confirmText:"卸载",variant:"destructive"})){Z(!0),B(new Set(ea));try{await Aa.batchUninstall(ea),u.success(`已提交:批量卸载 ${ea.length} 台主机的 Agent,后台执行中,30秒后自动刷新`),h(new Set),setTimeout(()=>{q(),B(new Set)},3e4)}catch{u.error("提交失败"),B(new Set)}finally{Z(!1)}}},Pa=Math.max(1,Math.ceil(e.length/y)),q=async()=>{try{c(fs(await oa.get("/agent/latest")))}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]??"",_=C[b]??"";return b==="agent_status"&&(G=t.agent_status||"",_=C.agent_status||""),typeof G=="number"?N==="asc"?G-_:_-G:N==="asc"?String(G).localeCompare(String(_)):String(_).localeCompare(String(G)) Line truncated
@@ -0,0 +1 @@
import{g as os,ap as gs,r as n,j as t,L as ms,q as Y,B as A,aq as us,N as dt,w as bs,o as Ms,x as at,A as Wt,a3 as Hs,D as Kt,b as qt,c as Ut,d as Vt,e as Xt,f as Jt}from"./index-DfyorCky.js";import{a as R}from"./agent-DqqIRCQX.js";import{C,a as S}from"./card-C55cvSHg.js";import{S as Qt,a as Yt,b as Zt,c as ts,d as rt}from"./select-D5qUzdAs.js";import{T as js,a as vs,b as fs,c as G}from"./tabs-CIh_yD4s.js";import{B as Z}from"./badge-xNW8x0G1.js";import{H as W}from"./hard-drive-BbPmnARR.js";import{D as mt}from"./disc-EsE6x5Oh.js";import{C as ut}from"./circle-x-DK79Dhg2.js";import{R as Mt,C as Ht,X as jt,Y as vt,T as ft,q as as}from"./generateCategoricalChart-6v9BPbG2.js";import{A as Nt,a as nt}from"./AreaChart-B2zlWfdX.js";import{R as ss}from"./refresh-cw-DUB_tAG-.js";import{P as Ns}from"./plus-CUG-9kpu.js";import{S as _s}from"./square-pen-BxUFAe0F.js";import{T as ys}from"./trash-2-Dx32pOzT.js";import"./index-CWVNW_qu.js";const ws=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}],["path",{d:"M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"auskq0"}]],ks=os("heart-pulse",ws);const Cs=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],es=os("list",Cs),bt=[{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}];function u(r,T,O){if(!r||r.length===0)return[];const F=Math.max(1,Math.ceil(r.length/O)),d=[];for(let j=0;j<r.length;j+=F){const y=r.slice(j,j+F),w=T.slice(j,j+F),v=y.reduce((it,K)=>it+K,0)/y.length,f=Math.max(...y),z=Math.min(...y),i=w[Math.floor(w.length/2)]||0;d.push({time:new Date(i*1e3).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}),timestamp:i,avg:Number(v.toFixed(2)),max:Number(f.toFixed(2)),min:Number(z.toFixed(2)),count:y.length})}return d.slice(-O)}function M(r){if(!r)return{};if(typeof r=="object")return r;try{return JSON.parse(r)}catch{return{}}}function ct(r){return r>=1024*1024*1024?`${(r/1024/1024/1024).toFixed(1)} GB/s`:r>=1024*1024?`${(r/1024/1024).toFixed(1)} MB/s`:r>=1024?`${(r/1024).toFixed(1)} KB/s`:`${r.toFixed(1)} B/s`}function qs(){const[r]=gs(),T=r.get("host")||"",[O,F]=n.useState([]),[d,j]=n.useState(T),[y,w]=n.useState(!0),[P,v]=n.useState("basic"),[f,z]=n.useState(1),[i,it]=n.useState("avg"),[K,_t]=n.useState([]),[o,yt]=n.useState(null),[b,rs]=n.useState(null),[wt,tt]=n.useState([]),[cs,q]=n.useState(!1),[U,kt]=n.useState(null),[a,N]=n.useState({name:"",hostname:"",probe_type:"http_get",http_url:"",http_method:"GET",http_expect_code:200,http_expect_body:"",tcp_host:"",tcp_port:3306,exec_command:"",timeout:10,interval:60,description:""}),V=n.useCallback(()=>{d&&R.getHealthProbes({hostname:d}).then(s=>{Array.isArray(s)?tt(s):s?.list?tt(s.list):tt([])}).catch(()=>tt([]))},[d]),[k,xt]=n.useState("whitelist"),[X,Ct]=n.useState([]),[ds,st]=n.useState(!1),[St,Tt]=n.useState(!1),pt=n.useCallback(()=>{d&&R.getPortPolicy(d).then(s=>{s?.data&&(xt(s.data.port_filter_mode||"blacklist"),Ct(s.data.port_whitelist||[]))}).catch(()=>{})},[d]);n.useEffect(()=>{pt()},[pt]);const ns=async()=>{if(d){Tt(!0);try{await R.savePortPolicy(d,{port_filter_mode:k,port_whitelist:X}),st(!1)}catch{}finally{Tt(!1)}}};n.useEffect(()=>{V()},[V]);const h=bt.find(s=>s.hours===f)||bt[0];n.useEffect(()=>{R.getLatest().then(s=>{const e=Array.isArray(s)?s:s?.data||s?.list||[];if(F(e),e.length>0&&!d){const l=T?e.find(E=>E.hostname===T):null;j(l?.hostname||e[0]?.hostname||"")}const c=e.find(l=>l.hostname===(d||T));c&&(yt(c),rs(c))}).catch(()=>{}).finally(()=>w(!1))},[d]),n.useEffect(()=>{d&&R.getHistory(d,f).then(s=>{const e=Array.isArray(s)?s:s?.data||s?.list||[];if(_t(e),e.length>0){const c=e[e.length-1];yt(l=>({...l,...c}))}}).catch(()=>_t([])).finally(()=>w(!1))},[d,f]);const g=n.useMemo(()=>{const s=[],e=[],c=[],l=[],E=[],et=[],B=[],$t=[],At=[],Ft=[],It=[],Dt=[],Et=[],Bt=[],Ot=[],Rt=[],zt=[],Gt=[],Lt=[],ht=[],m=[];for(const x of K){const is=x.report_time?new Date(x.report_time).getTime()/1e3:x.created_at?new Date(x.created_at).getTime()/1e3:0;m.push(is),s.push(x.cpu_usage||0),Bt.push(x.cpu_iowait||0),e.push(x.mem_usage||0),Ot.push(x.mem_available||0),c.push(x.load1||0),l.push(x.disk_usage||0);const ot=M(x.disk_info);if(Array.isArray(ot)&&ot.length>0){const ls=ot.find(hs=>hs.mount==="/")||ot[0];ht.push(ls?.inode_usage_pct||0)}else ht.push(0);const $=M(x.net_info);E.push($.tcp_established||0),et.push($.tcp_time_wait||0),B.push($.tcp_close_wait||0),zt.push(($.tcp_established||0)+($.tcp_time_wait||0)+($.tcp_close_wait||0)),$t.push(Line truncated
@@ -0,0 +1,10 @@
import{r as c,j as e,s as V,B as A,al as oe,aj as Re,af as Pe,ac as le,am as Te,ae as $,ag as Y,an as Ee,ah as X,ad as Ae,ai as Me,X as M,D as ue,b as de,c as Ie,d as ie,e as xe,I as B,f as Fe,W as Ge,H as Oe,L as Le,a5 as Be,a3 as ee,q as Ue,G as ze,S as $e,aK as We,aL as qe,aM as He,aN as Ve,aO as te,aP as O,U as Xe,E as Ye,v as Je,T as Ze}from"./index-DfyorCky.js";import{C as _,b as U,c as z,d as pe,a as R}from"./card-C55cvSHg.js";import{B as y}from"./badge-xNW8x0G1.js";import{k as w}from"./kubernetes-J8O09fK7.js";import{t as G}from"./index-a3ybMjbR.js";import{T as Qe,a as et,b as I,c as F}from"./tabs-CIh_yD4s.js";import{C as me}from"./circle-x-DK79Dhg2.js";import{R as tt,C as st,X as rt,Y as nt,T as at}from"./generateCategoricalChart-6v9BPbG2.js";import{A as ct,a as se}from"./AreaChart-B2zlWfdX.js";import{T as re}from"./textarea-NXY8u32k.js";import{L as E}from"./label-BK0h2apY.js";import{u as ot}from"./index-CWVNW_qu.js";import{C as lt}from"./circle-DOZr6_68.js";import{x as ut,a as dt}from"./xterm-DSqgeKvr.js";import{M as it,a as xt}from"./minimize-2-CiCQYRfn.js";import{R as H}from"./refresh-cw-DUB_tAG-.js";import{P as pt}from"./plus-CUG-9kpu.js";import{E as mt}from"./ellipsis-DU5enAwm.js";import{D as bt}from"./download-DoZfYs2h.js";import{T as ht}from"./trash-2-Dx32pOzT.js";function gt({cluster:n,onClose:x}){const[a,g]=c.useState([]),[s,u]=c.useState([]),[d,N]=c.useState([]),[k,C]=c.useState([]),[b,f]=c.useState([]),h=c.useMemo(()=>{if(!a||a.length===0)return{cpuPct:0,memPct:0};let t=0,i=0,m=0;for(const j of a){const D=j.cpu||0,o=j.cpu_usage_m?parseFloat(String(j.cpu_usage_m).replace("m","")):0,l=D>0?o/1e3/D*100:0,v=j.memory_mb||0,P=j.mem_usage_mi?parseFloat(String(j.mem_usage_mi).replace("Mi","").replace("Ki","")):0,q=j.mem_usage_mi?.includes?.("Ki")?P/1024:j.mem_usage_mi?.includes?.("Gi")?P*1024:P,L=v>0?q/v*100:0;(l>0||L>0)&&(t+=l,i+=L,m++)}return{cpuPct:m>0?t/m:0,memPct:m>0?i/m:0}},[a]),p=async t=>{try{const[i,m,j,D,o]=await Promise.all([w.getNodes(t).catch(()=>[]),w.getPods(t).catch(()=>[]),w.getDeployments(t).catch(()=>[]),w.getServices(t).catch(()=>[]),w.getIngresses(t).catch(()=>[])]),l=v=>Array.isArray(v)?v:v?.list||[];g(l(i)),u(l(m)),N(l(j)),C(l(D)),f(l(o))}catch(i){console.error("加载集群详情失败:",i)}};return c.useEffect(()=>{n?.id&&p(n.id)},[n?.id]),e.jsxs(_,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:81:5",className:"bg-slate-900 border-slate-800",children:[e.jsx(U,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:82:7",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:83:9",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:84:11",className:"flex items-center gap-3",children:[e.jsx(V,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:85:13",className:"h-6 w-6 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:86:13",children:[e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:87:15",className:"text-slate-100",children:n.name}),e.jsxs(pe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:88:15",className:"text-slate-500",children:[n.version," · ",n.node_count||0," 节点 · 创建于"," ",n.created_at?new Date(n.created_at).toLocaleDateString():"-"]})]})]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:94:11",variant:"ghost",size:"sm",className:"text-slate-400 hover:text-slate-100",onClick:x,children:[e.jsx(me,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:100:13",className:"h-4 w-4 mr-2"}),"关闭"]})]})}),e.jsx(R,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:105:7",children:e.jsxs(Qe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:106:9",defaultValue:"overview",className:"w-full",children:[e.jsxs(et,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:107:11",className:"bg-slate-800 border border-slate-700 flex-wrap h-auto",children:[e.jsx(I,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:108:13",value:"overview",className:"data-[state=active]:bg-slate-700",children:"概览"}),e.jsxs(I,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:111:13",value:"nodes",className:"data-[state=active]:bg-slate-700",children:["节点 (",a.length,")"]}),e.jsxs(I,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:114:13",value:"pods",className:"data-[state=active]:bg-slate-700",children:["Pod (",s.length,")"]}),e.jsxs(I,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:117:13",value:"deployments",className:"data-[state=active]:bg-slate-700",children:["Deployment (",d.length,")"]}),e.jsxs(I,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:120:13",value:"services",className:"data-[state=active]:bg-slate-700",children:["Service (",kLine 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:243:17",className:"text-xs text-[var(--dg-text-muted)]",children:"粘贴 kubeconfig 内容后将自动解析 API Server 地址"})]})]}),e.jsxs(Fe,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:250:9",children:[e.jsx(A,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:251:11",variant:"outline",onClick:()=>{x(!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(A,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:258:11",onClick:j,disabled:D,className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",children:d?"保存中...":a?"保存":"添加"})]})]})})}function Tt({open:n,onOpenChange:x,clusterId:a,clusterName:g}){const s=c.useRef(null),u=c.useRef(null),d=c.useRef(null),N=c.useRef(null),[k,C]=c.useState(!1),[b,f]=c.useState(!1),[h,p]=c.useState("");return c.useEffect(()=>{n||f(!1)},[n]),c.useEffect(()=>{if(!n||!a)return;const t=new ut.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"}}),i=new dt.FitAddon;t.loadAddon(i),u.current=t,N.current=i;const j=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,D=Ge.getState().token||"",o=`${j.replace(/^http/,"ws").replace("/api/v1","")}/ws/kubectl?token=${encodeURIComponent(D)}&id=${a}`,l=new WebSocket(o);return d.current=l,t.onData(v=>{l.readyState===WebSocket.OPEN&&l.send(JSON.stringify({status:0,data:v}))}),l.onmessage=v=>{try{const P=JSON.parse(v.data);P.status===0&&typeof P.data=="string"&&t.write(P.data)}catch{typeof v.data=="string"&&t.write(v.data)}},l.onopen=()=>{C(!0),p(""),s.current&&(t.open(s.current),requestAnimationFrame(()=>{try{i.fit()}catch{}}),setTimeout(()=>{try{t.focus()}catch{}},150))},l.onclose=()=>{C(!1),t.write(`\r
\x1B[31m[连接已断开]\x1B[0m\r
`)},l.onerror=()=>{p("WebSocket 连接失败"),t.write(`\r
\x1B[31m[连接发生错误]\x1B[0m\r
`)},()=>{try{(l.readyState===WebSocket.OPEN||l.readyState===WebSocket.CONNECTING)&&l.close(),t.dispose()}catch{}u.current=null,d.current=null,C(!1)}},[n,a]),c.useEffect(()=>{if(!n)return;const t=s.current;if(!t)return;let i;const m=new ResizeObserver(()=>{clearTimeout(i),i=setTimeout(()=>{if(N.current&&u.current&&d.current)try{N.current.fit(),u.current.focus();const{cols:j,rows:D}=u.current;d.current.readyState===WebSocket.OPEN&&d.current.send(JSON.stringify({status:1,cols:j,rows:D}))}catch{}},60)});return m.observe(t),()=>{clearTimeout(i),m.disconnect()}},[n]),e.jsx(ue,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:161:5",open:n,onOpenChange:x,children:e.jsxs(de,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:162:7",showCloseButton:!1,onOpenAutoFocus:t=>t.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(Oe,{"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(Le,{"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(it,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:190:29",className:"h-4 w-4"}):e.jsx(xt,{"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:()=>x(!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/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 Qt(){const[n,x]=c.useState([]),[a,g]=c.useState(!0),[s,u]=c.useState(null),[d,N]=c.useState(""),[k,C]=c.useState(!1),[b,f]=c.useState(null),[h,p]=c.useState(null),[t,i]=c.useState(!1),[m,j]=c.useState(null),[D,o]=c.useState(!1),l=async()=>{try{g(!0);const r=await w.getClusters();x(r?.list||[])}catch(r){console.error("加载集群列表失败:",r),x([])}finally{g(!1)}};c.useEffect(()=>{l()},[]);const[,v]=c.useState(null),P=()=>{l().then(()=>{b||setTimeout(async()=>{const K=(await w.getClusters())?.list||[];K.length>0&&L(K[K.length-1].id,!0)},500)})},q=async r=>{try{await w.deleteCluster(r),l()}catch(K){console.error("删除集群失败:",K)}},L=async(r,K)=>{try{K||G.info("正在同步集群资源...");const T=await w.syncCluster(r);K||G.success(T?.message||"同步完成"),l()}catch(T){K||G.error(T?.message||"同步失败")}},we=async()=>{if(!m)return;const r=m.code||String(m.id);try{o(!0),G.info(`正在导出 ${m.name} 所有命名空间的资源...`),await w.exportAllResources(r),G.success("导出完成,已开始下载"),j(null)}catch(K){G.error(K?.message||"导出失败")}finally{o(!1)}},Z=n.filter(r=>(r.name||"").toLowerCase().includes(d.toLowerCase())||(r.version||"").includes(d)),Se=r=>{switch(r){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(ee,{"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-amb Line truncated
@@ -0,0 +1 @@
import{r as t,j as e,B as A,L as y,S as P,I as V,q as W}from"./index-DfyorCky.js";import{C,a as S}from"./card-C55cvSHg.js";import{B as x}from"./badge-xNW8x0G1.js";import{S as $,a as B,b as R,c as T,d as u}from"./select-D5qUzdAs.js";import{T as H,a as U,b,c as o,d as q,e as r}from"./table-5sHV4Akp.js";import{k as M}from"./kubernetes-J8O09fK7.js";import{R as z}from"./refresh-cw-DUB_tAG-.js";import"./index-CWVNW_qu.js";function ee(){const[L,i]=t.useState([]),[c,N]=t.useState(""),[a,k]=t.useState([]),[p,j]=t.useState(!1),[K,_]=t.useState(""),[m,E]=t.useState("all"),g=t.useCallback(async()=>{try{const n=(await M.getClusters())?.list||[];i(n),n.length>0&&!c&&N(String(n[0].id))}catch{i([])}},[]);t.useEffect(()=>{g()},[g]);const h=t.useCallback(async()=>{if(c){j(!0);try{const s=await M.getNodes(c);k(Array.isArray(s)?s:s?.list||[])}catch{k([])}finally{j(!1)}}},[c]);t.useEffect(()=>{h()},[h]);const f=a.filter(s=>(s.name||"").toLowerCase().includes(K.toLowerCase())&&(m==="all"||s.role===m)),F=s=>s==="master"?e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:52:9",className:"bg-blue-500/20 text-blue-400 border-blue-500/30",children:"Master"}):e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:53:9",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:"Worker"}),I=s=>s==="Ready"?e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:57:9",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:s}):e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:58:9",variant:"destructive",children:s||"Unknown"});return e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:61:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:62:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:63:9",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:64:11",className:"text-2xl font-bold text-slate-100",children:"节点管理"}),e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:65:11",className:"text-sm text-slate-500 mt-1",children:"Kubernetes 集群工作节点状态与资源"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:67:9",className:"flex items-center gap-2",children:[e.jsxs($,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:68:11",value:c,onValueChange:N,children:[e.jsx(B,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:69:13",className:"w-48 h-9 bg-slate-800/50 border-slate-700 text-slate-200",children:e.jsx(R,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:70:15",placeholder:"选择集群"})}),e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:72:13",className:"bg-slate-800 border-slate-700",children:L.map(s=>e.jsx(u,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:74:17",value:String(s.id),children:s.name},s.id))})]}),e.jsx(A,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:78:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:h,disabled:p,children:p?e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:79:24",className:"h-4 w-4 animate-spin"}):e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:79:71",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:84:7",className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[{label:"总节点",value:a.length,color:"text-blue-400"},{label:"Master",value:a.filter(s=>s.role==="master").length,color:"text-purple-400"},{label:"Worker",value:a.filter(s=>s.role==="worker").length,color:"text-emerald-400"},{label:"就绪",value:a.filter(s=>s.status==="Ready").length,color:"text-cyan-400"}].map(s=>e.jsx(C,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:91:11",className:"bg-slate-900 border-slate-800",children:e.jsxs(S,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:92:13",className:"p-4",children:[e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:93:15",className:"text-sm text-slate-500",children:s.label}),e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:94:15",className:`text-2xl font-bold ${s.color}`,children:s.value})]})},s.label))}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:100:7",className:"flex items-center gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:101:9",className:"relative w-56",children:[e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:102:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(V,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:103:11",placeholder:"搜索节点...",value:K,onChange:s=>_(s.target.value),className:"pl-9 h-9 bg-slate-800/50 borLine truncated
@@ -0,0 +1 @@
import{r as l,h as u,j as e,S as I,I as z,B as P,K as B,A as y,G as F,N as K,o as V}from"./index-DfyorCky.js";import{C as b,a as M}from"./card-C55cvSHg.js";import{S as q,a as G,b as H,c as Q,d as U}from"./select-D5qUzdAs.js";import{F as W}from"./funnel-D2FHr15I.js";import{P as J}from"./plus-CUG-9kpu.js";import{H as v}from"./hard-drive-BbPmnARR.js";import"./index-CWVNW_qu.js";const N={cpu:{label:"CPU",icon:e.jsx(V,{"code-path":"src/pages/MetricsExplorer.tsx:34:30",className:"h-4 w-4"})},memory:{label:"内存",icon:e.jsx(v,{"code-path":"src/pages/MetricsExplorer.tsx:35:32",className:"h-4 w-4"})},disk:{label:"磁盘",icon:e.jsx(v,{"code-path":"src/pages/MetricsExplorer.tsx:36:30",className:"h-4 w-4"})},network:{label:"网络",icon:e.jsx(K,{"code-path":"src/pages/MetricsExplorer.tsx:37:33",className:"h-4 w-4"})},middleware:{label:"中间件",icon:e.jsx(F,{"code-path":"src/pages/MetricsExplorer.tsx:38:37",className:"h-4 w-4"})},device:{label:"设备",icon:e.jsx(y,{"code-path":"src/pages/MetricsExplorer.tsx:39:32",className:"h-4 w-4"})}};function ae(){const[n,w]=l.useState([]),[j,S]=l.useState([]),[x,C]=l.useState(""),[o,E]=l.useState([]),[k,f]=l.useState([]),[O,T]=l.useState(!0),[m,_]=l.useState(""),L=l.useCallback(async()=>{try{const s=await u.get("/metrics/targets?page_size=200");w(s?.list||[])}catch{}finally{T(!1)}},[]),R=l.useCallback(async()=>{try{const s=await u.get("/metrics/names");S(s||[])}catch{}},[]);l.useEffect(()=>{L(),R()},[]),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=>u.get("/metrics/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 $=m?j.filter(s=>s.toLowerCase().includes(m.toLowerCase())):j,g=n.find(s=>String(s.id)===x),A=$.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),D=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:118:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:120:7",className:"flex items-center gap-4 flex-wrap",children:[e.jsxs(q,{"code-path":"src/pages/MetricsExplorer.tsx:121:9",value:x,onValueChange:C,children:[e.jsx(G,{"code-path":"src/pages/MetricsExplorer.tsx:122:11",className:"w-64 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(H,{"code-path":"src/pages/MetricsExplorer.tsx:123:13",placeholder:O?"加载中...":"选择监控目标..."})}),e.jsx(Q,{"code-path":"src/pages/MetricsExplorer.tsx:125:11",className:"bg-slate-800 border-slate-700 text-slate-200 max-h-80",children:n.map(s=>e.jsx(U,{"code-path":"src/pages/MetricsExplorer.tsx:127:15",value:String(s.id),children:e.jsxs("span",{"code-path":"src/pages/MetricsExplorer.tsx:128:17",className:"flex items-center gap-2",children:[e.jsx("span",{"code-path":"src/pages/MetricsExplorer.tsx:129: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:137:9",className:"relative flex-1 max-w-sm",children:[e.jsx(I,{"code-path":"src/pages/MetricsExplorer.tsx:138:11",className:"absolute left-2.5 top-2 h-4 w-4 text-slate-500"}),e.jsx(z,{"code-path":"src/pages/MetricsExplorer.tsx:139: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(P,{"code-path":"src/pages/MetricsExplorer.tsx:146:9",variant:"ghost",size:"sm",onClick:()=>{E([]),f([])},children:"清除"})]}),x?e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:159:9",className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[e.jsx(b,{"code-path":"src/pages/MetricsExplorer.tsx:161:11",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] lg:col-span-1",children:e.jsxs(M,{"code-path":"src/pages/MetricsExplorer.tsx:162:13",className:"p-4",children:[e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:163:15",className:"flex items-center gap-2 mb-3",children:[e.jsx(B,{"code-path":"src/pages/MetricsExplorer.tsx:164:17",className:"h-4 w-4 text-[var(--dg-text-muted)]"}),e.jsx("h3",{"code-path":"src/pages/MetricsExplorer.tsx:165:17",className:"text-sm font-medium text-[var(--dg-text-primary)]",children:"指标列表"}),e.jsxs("span",{"code-path":"src/pages/MetricsExplorer.tsx:166:17",className:"text-xs text-[var(--dg-text-muted)] ml-auto",children:[o.length," 已选"]})]}),e.jsx("div",{"code-path":"src/pages/MetricsExplorer.tsx:168:15",className:"space-y-4 max-h-[60vh] overflow-y-auto",children:Object.entries(Line truncated
@@ -0,0 +1 @@
import{g as X,r as i,h as L,j as e,L as O,A as R,G as B,q as K,D as W,y as Ne,B as w,b as Y,c as Z,d as J,e as ee,I as y,f as te,a as ve,O as I,x as je,o as be,X as Se}from"./index-DfyorCky.js";import{HostMonitor as ye}from"./HostMonitor-C63FMElJ.js";import{C as h,a as M}from"./card-C55cvSHg.js";import{B as u}from"./badge-xNW8x0G1.js";import{C as fe}from"./circle-DOZr6_68.js";import{L as j}from"./label-BK0h2apY.js";import{S as se,a as ae,b as re,c as oe,d as A}from"./select-D5qUzdAs.js";import{T as ce,a as de,b as $,c as l,d as ie,e as p}from"./table-5sHV4Akp.js";import{H as we}from"./hard-drive-BbPmnARR.js";import{P as ne}from"./plus-CUG-9kpu.js";import{T as xe}from"./trash-2-Dx32pOzT.js";import{S as Pe}from"./switch-CGiGgOnh.js";import{t as C}from"./index-a3ybMjbR.js";import{s as F}from"./monitor-BAaBXIsC.js";import{A as Ce}from"./arrow-up-down-DnvTt5VG.js";import{R as _e}from"./refresh-cw-DUB_tAG-.js";import{C as Te}from"./circle-x-DK79Dhg2.js";import{C as ke}from"./circle-check-DWcXrx2k.js";import"./agent-DqqIRCQX.js";import"./tabs-CIh_yD4s.js";import"./disc-EsE6x5Oh.js";import"./generateCategoricalChart-6v9BPbG2.js";import"./AreaChart-B2zlWfdX.js";import"./square-pen-BxUFAe0F.js";import"./index-CWVNW_qu.js";const De=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],le=X("radio",De);const qe=[["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6.01 18H6",key:"19vcac"}],["path",{d:"M10.01 18H10",key:"uamcmx"}],["path",{d:"M15 10v4",key:"qjz1xs"}],["path",{d:"M17.84 7.17a4 4 0 0 0-5.66 0",key:"1rif40"}],["path",{d:"M20.66 4.34a8 8 0 0 0-11.31 0",key:"6a5xfq"}]],U=X("router",qe);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 D(t,n=0){return t==null||Number.isNaN(t)?"--":t.toFixed(n)}function Le(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 Ie(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 $e(){const[t,n]=i.useState([]),[d,N]=i.useState(!0),[v,_]=i.useState(""),T=i.useCallback(async()=>{try{N(!0),_("");const r=await L.get("/metrics/targets",{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:96:5",className:"space-y-6",children:[d&&e.jsxs("div",{"code-path":"src/pages/MiddlewareMonitor.tsx:98:9",className:"flex items-center justify-center py-12",children:[e.jsx(O,{"code-path":"src/pages/MiddlewareMonitor.tsx:99:11",className:"h-6 w-6 animate-spin text-slate-500 mr-2"}),e.jsx("span",{"code-path":"src/pages/MiddlewareMonitor.tsx:100:11",className:"text-sm text-[var(--dg-text-muted)]",children:"正在加载中间件指标..."})]}),v&&!d&&e.jsx(h,{"code-path":"src/pages/MiddlewareMonitor.tsx:105:9",className:"bg-[var(--dg-bg-secondary)] border-red-500/30",children:e.jsxs(M,{"code-path":"src/pages/MiddlewareMonitor.tsx:106:11",className:"p-6 text-center",children:[e.jsx(R,{"code-path":"src/pages/MiddlewareMonitor.tsx:107:13",className:"h-8 w-8 text-red-400 mx-auto mb-2"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:108:13",className:"text-sm text-red-400",children:v}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:109: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:115:9",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(M,{"code-path":"src/pages/MiddlewareMonitor.tsx:116:11",className:"p-12 text-center",children:[e.jsx(B,{"code-path":"src/pages/MiddlewareMonitor.tsx:117:13",className:"h-12 w-12 text-slate-600 mx-auto mb-4"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:118:13",className:"text-sm text-[var(--dg-text-muted)]",children:"暂无中间件监控目标"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:119:13",className:"text-xs text-[var(--dg-text-muted)] mt-2",children:"需在 Agent 配置 Redis / MySQL 连接信息后启用采集"})]})}),e.jsx(h,{"code-path":"src/pages/MiddlewarLine truncated
@@ -0,0 +1 @@
import{i as X,k as Z,r as n,j as e,m as A,n as O,p as j,B as m,L as i,D as L,y as ee,b as E,c as B,d as R,I as q,f as H,v as ae,A as se,N as te,t as $,T as z}from"./index-DfyorCky.js";import{C as p,a as l}from"./card-C55cvSHg.js";import{B as I}from"./badge-xNW8x0G1.js";import{L as ne}from"./label-BK0h2apY.js";import{T as ce,a as re,b as N,c,d as me,e as s}from"./table-5sHV4Akp.js";import{k as P}from"./kubernetes-J8O09fK7.js";import{R as oe}from"./refresh-cw-DUB_tAG-.js";import{P as pe}from"./plus-CUG-9kpu.js";import{C as le}from"./circle-check-DWcXrx2k.js";import{T as xe}from"./trash-2-Dx32pOzT.js";const de=new Set(["kube-system","kube-public","kube-node-lease","default","devops"]);function fe(){const{clusterCode:t}=X(),Q=Z(),[o,M]=n.useState([]),[u,f]=n.useState(!1),[b,F]=n.useState(""),[J,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 a=await P.getNamespacesDetail(t);M(Array.isArray(a)?a:[])}catch{M([])}finally{f(!1)}}},[t]);n.useEffect(()=>{x()},[x]);const D=async()=>{if(!(!t||!d.trim())){w(!0);try{await P.createNamespace(t,d.trim()),y(""),k(!1),await x()}catch(a){alert(a?.message||"创建失败")}finally{w(!1)}}},K=async()=>{if(!(!t||!g)){S(!0);try{await P.deleteNamespace(t,g),h(null),await x()}catch(a){alert(a?.message||"删除失败")}finally{S(!1)}}},T=o.filter(a=>!b||a.name.toLowerCase().includes(b.toLowerCase())),Y=o.reduce((a,r)=>a+(r.resource_counts?.deployments||0),0),G=o.reduce((a,r)=>a+(r.resource_counts?.pods||0),0),U=o.reduce((a,r)=>a+(r.resource_counts?.services||0),0),V=o.filter(a=>a.has_resource_quota).length;return e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:108:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:110:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(A,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:111:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(O,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:112:9",className:"h-3 w-3"}),e.jsx(A,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:113:9",to:`/kubernetes/${t}`,className:"hover:text-slate-300 transition-colors",children:t}),e.jsx(O,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:114:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:115:9",className:"text-slate-300",children:"命名空间管理"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:119:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:120:9",children:[e.jsxs("h1",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:121:11",className:"text-2xl font-bold text-slate-100 flex items-center gap-2",children:[e.jsx(j,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:122:13",className:"h-6 w-6 text-emerald-400"}),"命名空间管理"]}),e.jsx("p",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:125:11",className:"text-sm text-slate-500 mt-1",children:"命名空间资源配额与生命周期管理"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:127:9",className:"flex items-center gap-2",children:[e.jsx(m,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:128:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:x,disabled:u,children:u?e.jsx(i,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:130:24",className:"h-4 w-4 animate-spin"}):e.jsx(oe,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:130:71",className:"h-4 w-4"})}),e.jsxs(L,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:132:11",open:J,onOpenChange:k,children:[e.jsx(ee,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:133:13",asChild:!0,children:e.jsxs(m,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:134:15",className:"bg-blue-600 hover:bg-blue-700",children:[e.jsx(pe,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:135:17",className:"h-4 w-4 mr-1"}),"创建命名空间"]})}),e.jsxs(E,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:138:13",children:[e.jsx(B,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:139:15",children:e.jsx(R,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:140:17",children:"创建命名空间"})}),e.jsx("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:142:15",className:"space-y-4 py-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:143:17",className:"space-y-2",children:[e.jLine truncated
@@ -0,0 +1 @@
import{i as g,r,j as s,m as l,n as i,s as h,p as b,v as N,x as f,N as u,t as w,A as k}from"./index-DfyorCky.js";import{k as n}from"./kubernetes-J8O09fK7.js";import{F as P}from"./file-text-C9G5abwR.js";const j=[{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:P,desc:"配置字典"},{type:"secrets",label:"Secrets",icon:w,desc:"密钥与凭证"},{type:"hpas",label:"HPAs",icon:k,desc:"水平自动伸缩策略"}];function S(){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([n.getNamespaceDeployments(t,a),n.getNamespacePods(t,a),n.getNamespaceServices(t,a),n.getNamespaceIngresses(t,a),n.getNamespaceConfigMaps(t,a),n.getNamespaceSecrets(t,a),n.getHPAs(t,a),n.getCronJobs(t,a)]),c=o=>Array.isArray(o)?o:o?.list||o?.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:65:5",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:67:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[s.jsx(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:68:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:69:9",className:"h-3 w-3"}),s.jsx(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:70:9",to:`/kubernetes/${t}`,className:"hover:text-slate-300 transition-colors",children:t}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:71:9",className:"h-3 w-3"}),s.jsx("span",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:72:9",className:"text-slate-300",children:a})]}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:76:7",className:"flex items-center justify-between",children:s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:77:9",children:[s.jsxs("h1",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:78: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:79:13",className:"h-6 w-6 text-blue-400"}),a]}),s.jsx("p",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:82:11",className:"text-sm text-slate-500 mt-1",children:"命名空间概览"})]})}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:87:7",className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:j.map(e=>s.jsxs(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:89: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:93:13",className:"flex items-center justify-between mb-2",children:[s.jsx(e.icon,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:94: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:95: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:97: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:98:13",className:"text-sm text-slate-500",children:e.label}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:99:13",className:"text-xs text-slate-600 mt-1",children:e.desc})]},e.type))})]})}export{S as default};
@@ -0,0 +1,3 @@
import{r as g,G as xe,n as te,N as Q,t as T,j as e,B as i,a5 as he,L as A,I as P,i as be,z as ge,k as Ne,p as O,x as ne,A as le,v as de,m as se,S as ke,F as M,H as ve}from"./index-DfyorCky.js";import{C as Re,a as je}from"./card-C55cvSHg.js";import{B as E}from"./badge-xNW8x0G1.js";import{S as I,a as F,b as H,c as J,d as $}from"./select-D5qUzdAs.js";import{T as Pe,a as ye,b as C,c as fe,d as Ee,e as a}from"./table-5sHV4Akp.js";import{c as re,R as Ve,y as we,o as Ce,Y as Se,P as ze,a as _e}from"./PodFileBrowser-BySN2XGN.js";import{L as _}from"./label-BK0h2apY.js";import{T as $e}from"./textarea-NXY8u32k.js";import{u as ie}from"./use-toast-CrSOP4cJ.js";import{k as f}from"./kubernetes-J8O09fK7.js";import{F as ce}from"./file-text-C9G5abwR.js";import{S as W}from"./save-DoGGjfwC.js";import{P as G}from"./plus-CUG-9kpu.js";import{T as U}from"./trash-2-Dx32pOzT.js";import{R as Me}from"./refresh-cw-DUB_tAG-.js";import{D as oe}from"./download-DoZfYs2h.js";import{P as B}from"./pencil-BqUotcjf.js";import{H as Ye}from"./hard-drive-BbPmnARR.js";import"./index-CWVNW_qu.js";import"./copy-DXW4LnkN.js";import"./sparkles-Bld4NX5y.js";import"./xterm-DSqgeKvr.js";import"./box-TTGA1p57.js";import"./rotate-cw-5qcj_h_q.js";import"./minimize-2-CiCQYRfn.js";import"./arrow-left-BDgGyrD0.js";import"./upload-Ba6rlaGS.js";import"./folder-DoMwqvzv.js";function Te(s){try{return JSON.parse(s)}catch{}try{const t=s.split(`
`).filter(o=>!o.trim().startsWith("#"));return JSON.parse(t.join(`
`))}catch{return null}}function Ae({clusterCode:s,namespace:t,resource:o,name:d,onClose:r,onSaved:x}){const{toast:v}=ie(),[w,V]=g.useState(!0),[R,m]=g.useState(!1),[u,b]=g.useState(""),[l,h]=g.useState(null),[N,j]=g.useState("visual"),[n,k]=g.useState(""),p=g.useCallback(async()=>{V(!0);try{const S=await f.getResourceYaml(s,t,o,d),L=re(S);b(S),k(L);const ee=Te(L);h(ee),ee||(j("yaml"),v({title:"可视化编辑不可用",description:"无法解析资源结构,已切换到 YAML 编辑模式"}))}catch(S){v({title:"加载失败",description:S.message,variant:"destructive"})}finally{V(!1)}},[s,t,o,d]);g.useEffect(()=>{p()},[p]);const y=async S=>{m(!0);try{const L=q(S);await f.updateResourceYaml(s,t,o,d,L),v({title:"保存成功",description:`${o}/${d} 已更新`}),x?.(),r()}catch(L){v({title:"保存失败",description:L.message,variant:"destructive"})}finally{m(!1)}},Z=async()=>{m(!0);try{await f.updateResourceYaml(s,t,o,d,n),v({title:"YAML 已应用",description:`${o}/${d} 更新成功`}),x?.(),r()}catch(S){v({title:"保存失败",description:S.message,variant:"destructive"})}finally{m(!1)}};function q(S){return JSON.stringify(S,null,2)}const X={configmaps:{title:"ConfigMap",icon:ce,color:"text-blue-400"},secrets:{title:"Secret",icon:T,color:"text-amber-400"},services:{title:"Service",icon:Q,color:"text-cyan-400"},ingresses:{title:"Ingress",icon:te,color:"text-purple-400"},pvcs:{title:"PersistentVolumeClaim",icon:xe,color:"text-emerald-400"}},Y=X[o]||X.configmaps,D=Y.icon;return e.jsx("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:114:5",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:r,children:e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:115:7",className:"bg-[var(--dg-bg-primary)] border border-[var(--dg-border)] rounded-xl w-[90vw] max-w-3xl max-h-[85vh] flex flex-col shadow-2xl",onClick:S=>S.stopPropagation(),children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:117:9",className:"flex items-center justify-between p-4 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:118:11",className:"flex items-center gap-2",children:[e.jsx(D,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:119:13",className:`h-5 w-5 ${Y.color}`}),e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:120:13",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:121:15",className:"text-lg font-bold text-[var(--dg-text-primary)]",children:[Y.title," 编辑器"]}),e.jsxs("p",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:122:15",className:"text-xs text-[var(--dg-text-muted)]",children:[d," · ",t," · ",s]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:125:11",className:"flex items-center gap-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:127:13",className:"flex rounded-lg border border-[var(--dg-border)] overflow-hidden",children:[e.jsx("button",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:128:15",className:`px-3 py-1.5 text-xs font-medium transition-colors ${N==="visual"?"bg-blue-600 text-white":"bg-transparent text-[var(--dg-text-secondary)] hover:bg-[var(--dg-bg-tertiary)]"}`,onClick:()=>l&&j("visual"),disabled:!l,children:"可视化编辑"}),e.jsx("button",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:133:15",className:`px-3 py-1.5 text-xs font-medium transition-colors ${N==="yaml"?"bg-blue-600 text-white":"bg-transparent text-[var(--dg-text-secondary)] hover:bg-[var(--dg-bg-tertiary)]"}`,onClick:()=>j("yaml"),children:"YAML 编辑"})]}),e.jsx(i,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:138:13",variant:"ghost",size:"icon",className:"h-8 w-8 text-[var(--dg-text-secondary)]",onClick:r,children:e.jsx(he,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:138:119",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:143:9",className:"flex-1 overflow-auto p-4",children:w?e.jsx("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:145:13",className:"flex items-center justify-center h-full py-20",children:e.jsx(A,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:145:76",className:"h-6 w-6 animate-spin text-[var(--dg-text-muted)]"})}):N==="yaml"?e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:147:13",className:"space-y-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:148:15",className:"text-xs text-amber-400/80",children:"⚠️ YAML 编辑模式 — 修改后点击保存。已自动清理只读字段(status/managedFields/uid)"}),e.jsx(Ve,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:149:15",value:n,height:"550px",theme:Ce,exten Line truncated
@@ -0,0 +1 @@
import{i as R,k as M,r as p,j as e,m as g,n as k,q,B,L as j,T as P,w as S,A as F,N as L,v as U}from"./index-DfyorCky.js";import{C as c,a as o}from"./card-C55cvSHg.js";import{B as l}from"./badge-xNW8x0G1.js";import{T as A,a as E,b as D,c as n,d as I,e as r}from"./table-5sHV4Akp.js";import{k as z}from"./kubernetes-J8O09fK7.js";import{R as H}from"./refresh-cw-DUB_tAG-.js";import{C as f}from"./circle-check-DWcXrx2k.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 z.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(k,{"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(k,{"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(q,{"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(B,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:121:9",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",oLine truncated
@@ -0,0 +1 @@
import{g as B,i as Ke,r as i,a as Xe,j as e,L as J,a0 as V,B as p,t as Pe,a4 as Ee,n as ve,I as v,x as ue,a9 as Ye,a5 as Qe,aa as es,v as ss,F as ts,H as os,q as ns,D as cs,b as ds,c as is,d as rs}from"./index-DfyorCky.js";import{C as P,a as E}from"./card-C55cvSHg.js";import{B as j}from"./badge-xNW8x0G1.js";import{T as as,a as ps,b as k,c as C}from"./tabs-CIh_yD4s.js";import{S as $,a as R,b as O,c as I,d as h,C as ls}from"./select-D5qUzdAs.js";import{T as xs}from"./textarea-NXY8u32k.js";import{S as G}from"./switch-CGiGgOnh.js";import{L as y}from"./label-BK0h2apY.js";import{t as m}from"./index-a3ybMjbR.js";import{d as ms,p as g}from"./deploy-B3Sg3N1U.js";import{S as hs}from"./save-DoGGjfwC.js";import{P as ys}from"./play-cdPayOtJ.js";import{P as D}from"./plus-CUG-9kpu.js";import{T as S}from"./trash-2-Dx32pOzT.js";import{C as Ne}from"./circle-stop-s4wxdTEV.js";import{F as gs}from"./file-text-C9G5abwR.js";import{U as js}from"./user-plus-BwUWtcQl.js";import{Z as Ps}from"./zap-D2uWSK32.js";import{W as we}from"./wrench-KfbhOOJm.js";import"./index-CWVNW_qu.js";const Es=[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]],vs=B("flask-conical",Es);const us=[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]],be=B("hand",us);const Ns=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],bs=B("scroll-text",Ns);const fs=[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]],fe=B("webhook",fs),ws={source:"拉取代码",build:"构建",deploy:"部署",test:"测试",custom:"自定义"},ke={GitBranch:V,Wrench:we,Server:ns,FlaskConical:vs,Zap:Ps,Terminal:os,FileCode:ts,Container:ss};function ks(){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 Cs({task:r,selected:d,onSelect:c,onDelete:u}){const a=ke[r.icon]||we;return e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:75: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:81: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:82: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:84:7",className:"flex-1 min-w-0",children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:85: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:86:9",className:"text-xs text-[var(--dg-text-secondary)]",children:r.type})]}),e.jsx(p,{"code-path":"src/components/deploy/PipelineEditor.tsx:88:7",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100",onClick:x=>{x.stopPropagation(),u()},children:e.jsx(S,{"code-path":"src/components/deploy/PipelineEditor.tsx:89:9",className:"w-3.5 h-3.5 text-red-500"})})]})}function Ss({task:r,onUpdate:d}){return r?e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:99:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:100:7",className:"space-y-1",children:[e.jsx(y,{"code-path":"src/components/deploy/PipelineEditor.tsx:100:34",className:"text-xs",children:"任务名称"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineEditor.tsx:100: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:101:7",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:102:9",className:"space-y-1",children:[e.jsx(y,{"code-path":"src/components/deploy/PipelineEditor.tsx:102:36",className:"text-xs",children:"类型"}),e.jsxs($,{"code-path":"src/components/deploy/Line truncated
@@ -0,0 +1 @@
import{g as bs,j as e,L as w,a3 as B,r as n,a as Js,k as Hs,h as fe,B as p,x as W,a0 as E,a7 as I,q as ye,v as ne,N as ue,S as Qs,I as g,O as ve,a4 as Ks,n as be,D as ds,b as ps,c as is,d as xs}from"./index-DfyorCky.js";import{C as ms,a as hs}from"./card-C55cvSHg.js";import{B as y}from"./badge-xNW8x0G1.js";import{T as Us}from"./textarea-NXY8u32k.js";import{L as d}from"./label-BK0h2apY.js";import{S as Z,a as ee,b as se,c as ae,d as v}from"./select-D5qUzdAs.js";import{d as je,p as P}from"./deploy-B3Sg3N1U.js";import{t as x}from"./index-a3ybMjbR.js";import{C as D}from"./circle-x-DK79Dhg2.js";import{P as Pe}from"./plus-CUG-9kpu.js";import{A as R}from"./arrow-right-DyIltvNZ.js";import{L as Xs}from"./layers-FW4KKJMi.js";import{S as js}from"./shield-check-Dcx486cW.js";import{C as Ys}from"./code-L62jFLTC.js";import{C as Me}from"./circle-stop-s4wxdTEV.js";import{P as Zs}from"./play-cdPayOtJ.js";import{H as ea}from"./history-D_9jPUQg.js";import{T as gs}from"./trash-2-Dx32pOzT.js";import{B as sa}from"./box-TTGA1p57.js";import{T as ys}from"./tag-0HCfq8kH.js";import{F as us}from"./file-text-C9G5abwR.js";import"./index-CWVNW_qu.js";const aa=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],ta=bs("package",aa);const na=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],vs=bs("workflow",na);function oa(c){return c.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||`pipeline-${Date.now()}`}function ca(c){switch(c){case"success":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:49:9",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(B,{"code-path":"src/components/deploy/pipeline-helpers.tsx:50:11",className:"h-3 w-3 mr-1"}),"成功"]});case"failed":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:56:9",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:57:11",className:"h-3 w-3 mr-1"}),"失败"]});case"running":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:63:9",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10 animate-pulse",children:[e.jsx(w,{"code-path":"src/components/deploy/pipeline-helpers.tsx:64:11",className:"h-3 w-3 mr-1 animate-spin"}),"运行中"]});default:return e.jsx(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:70:9",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",children:"从未运行"})}}const te=[{key:"checkout",label:"代码检出",icon:E,color:"#6366F1",order:1,needs:["repo"],desc:"从 Git 仓库拉取代码"},{key:"build",label:"构建",icon:sa,color:"#F59E0B",order:2,needs:[],desc:"编译/打包项目"},{key:"test",label:"测试",icon:B,color:"#10B981",order:3,needs:[],desc:"运行单元/集成测试"},{key:"image",label:"镜像打包",icon:ne,color:"#06B6D4",order:4,needs:["registry"],desc:"Docker 构建 & 推送"},{key:"deploy",label:"部署",icon:I,color:"#EF4444",order:5,needs:[],desc:"部署到目标环境"},{key:"verify",label:"验证",icon:js,color:"#3B82F6",order:6,needs:[],desc:"部署后健康检查"}].sort((c,b)=>c.order-b.order);function Ne(c){if(!c)return"-";if(c<60)return`${c}s`;const b=Math.floor(c/60),i=c%60;return i>0?`${b}分${i}秒`:`${b}分`}function ra(c){if(!c)return[];try{const b=typeof c=="string"?JSON.parse(c):c;return Array.isArray(b)?b:[]}catch{return[]}}function La(){const[c,b]=n.useState(""),[i,q]=n.useState([]),[J,L]=n.useState(!0),[M,k]=n.useState({}),[H,T]=n.useState({}),[N,A]=n.useState({}),[F,$]=n.useState("all"),[r,we]=n.useState({}),[Ps,z]=n.useState(!1),[Q,ke]=n.useState(""),[_,_e]=n.useState(""),[Ce,Se]=n.useState(""),[oe,Re]=n.useState(""),[Ee,Be]=n.useState("main"),[De,Le]=n.useState(""),[m,Te]=n.useState(["checkout","build","image","deploy"]),[,Ms]=n.useState(""),[,Ns]=n.useState(""),[ce,Ae]=n.useState("branch"),[Fe,$e]=n.useState("ssh"),[re,ze]=n.useState(""),[le,Oe]=n.useState(!1),[fs,ws]=n.useState([]),[ks,_s]=n.useState([]),[K,Ve]=n.useState(""),[C,Ge]=n.useState(""),[O,Ie]=n.useState("manual"),[We,qe]=n.useState(""),[Je,He]=n.useState(""),[Qe,de]=n.useState(""),[Ke,Ue]=n.useState(""),[j,S]=n.useState([]),[Xe,Ye]=n.useState(""),[Ze,Cs]=n.useState(2),[,Ss]=n.useState([]),[,Rs]=n.useState([]),[Es,Bs]=n.useState([]),[,da]=n.useState([]),[,pa]=n.useState([]),[Ds,es]=n.useState(!1),[V,Ls]=n.useState(null),[ss,as]=n.useState([]),ts=Js(),ns=Hs(),Ts=[{key:"all",label:"全部",icon:Xs,color:"#6B7280"},{key:"production",label:"生产",icon:js,color:"#EF4444"},{key:"testLine truncated
@@ -0,0 +1,3 @@
import{r as n,j as e,D as me,b as he,X as ue,d as ge,e as ye,a5 as be,a6 as fe,n as ee,h as C,W as De,i as je,B as E,a0 as Ne,v as ve,a7 as we,L as $,$ as Re,x as te,a8 as Pe,_ as Be}from"./index-DfyorCky.js";import{B as A}from"./badge-xNW8x0G1.js";import{C as Fe,b as ke,c as Se,a as Ce}from"./card-C55cvSHg.js";import{t as S}from"./index-a3ybMjbR.js";import{F as H}from"./folder-open-IMBifk-r.js";import{M as $e,a as _e}from"./minimize-2-CiCQYRfn.js";import{A as ze}from"./arrow-left-BDgGyrD0.js";import{F as Ee}from"./file-text-C9G5abwR.js";import{D as Ae}from"./download-DoZfYs2h.js";import{H as Z}from"./history-D_9jPUQg.js";import{T as Le}from"./trash-2-Dx32pOzT.js";import{R as Ie}from"./refresh-cw-DUB_tAG-.js";import{P as Te}from"./play-cdPayOtJ.js";import{B as Oe}from"./box-TTGA1p57.js";import{C as I}from"./circle-check-DWcXrx2k.js";import{S as Me}from"./shield-check-Dcx486cW.js";import{C as G}from"./circle-x-DK79Dhg2.js";import{S as Ue}from"./square-9TIYDO_t.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 He({open:s,onOpenChange:o,runId:u,buildNumber:r}){const[x,a]=n.useState(null),[P,B]=n.useState(!1),[N,L]=n.useState(""),[v,i]=n.useState(""),[w,_]=n.useState(!1),F=async c=>{if(u){B(!0),L("");try{const h=c?`?path=${encodeURIComponent(c)}`:"",g=await C.get(`/pipelines/runs/${u}/files${h}`);a(g),i(g?.current||"")}catch(h){L(h?.message||"加载失败"),a(null)}finally{B(!1)}}};n.useEffect(()=>{s&&u&&(i(""),F(""))},[s,u]);const b=async c=>{const h=De.getState().token||"",g=`${location.protocol}//${location.host}/api/v1/pipelines/runs/${u}/files/download?path=${encodeURIComponent(c.path)}&token=${encodeURIComponent(h)}`;window.open(g,"_blank")},R=v?v.split("/").filter(Boolean):[],T=[""].concat(R.map((c,h)=>"/"+R.slice(0,h+1).join("/")));return e.jsx(me,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:105:5",open:s,onOpenChange:o,children:e.jsxs(he,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:106:7",showCloseButton:!1,className:ue("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(ge,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:117:9",className:"sr-only",children:["文件浏览器 #",r]}),e.jsx(ye,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:118:9",className:"sr-only",children:"流水线构建目录文件浏览"}),e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:121: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:122:11",className:"flex items-center gap-2 min-w-0",children:[e.jsx(H,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:123:13",className:"h-4 w-4 text-[var(--dg-text-secondary)] shrink-0"}),e.jsxs("span",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:124:13",className:"text-[var(--dg-text-primary)] font-medium text-sm",children:["#",r," 工作区文件"]})]}),e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:128:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:129:13",onClick:()=>_(!w),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:w?e.jsx($e,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:133:29",className:"h-4 w-4"}):e.jsx(_e,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:133:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:135: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:139:15",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:145: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:T.map((c,h)=>e.jsx("span",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:147:13",className:"flex items-center gap-0.5",children:h===0?e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:149: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:153:19",className:"h-3.5 w-3.5"})}):e.jsxs(e.Fragment,{children:[e.jsx(ee,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:157:19",className:"h-3 w-3 text-[var(--dg-text-muted)] shrink-0"}),e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:158:19",onClick:()=>F(c),className:"text-[varLine truncated
${y?"ring-1 ring-offset-0 scale-[1.02]":"hover:brightness-110"}`,style:{backgroundColor:M,borderColor:U,color:D,borderRadius:xe},children:[de,e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:393:17",children:t.label})]}),!Y&&e.jsx("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:396: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:397: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:404: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:411:7",className:"flex-1 flex flex-col min-h-0",children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:413:9",className:"rounded-md border border-[var(--dg-border)] overflow-hidden mb-4",children:L&&r.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:415:13",className:"text-center py-12",children:[e.jsx($,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:416:15",className:"w-6 h-6 animate-spin mx-auto mb-2 text-[var(--dg-text-muted)]"}),"加载中..."]}):r.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:420: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:421: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:422:15",className:"text-[var(--dg-text-secondary)]",children:'暂无执行记录,点击"立即执行"触发构建'})]}):e.jsxs("table",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:425:13",className:"w-full text-sm",children:[e.jsx("thead",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:426:15",className:"bg-[var(--dg-bg-tertiary)] border-b border-[var(--dg-border)]",children:e.jsxs("tr",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:427:17",children:[e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:428:19",className:"px-2 py-2.5 w-10",children:e.jsx("input",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:429:21",type:"checkbox",checked:b.size===r.length&&r.length>0,onChange:pe,className:"rounded"})}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:432: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:433: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:434: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: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)] hidden md:table-cell",children:"时间"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:438: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:441:15",children:r.map(t=>{const p=Je[t.status]||te;return e.jsxs("tr",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:445: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:449:23",className:"px-2 py-2.5",onClick:l=>l.stopPropagation(),children:e.jsx("input",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:450:25",type:"checkbox",checked:b.has(t.id),onChange:()=>ie(t.id),className:"rounded"})}),e.jsxs("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:453: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:456:23",className:"px-3 py-2.5",children:e.jsxs(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:457:25",className:`text-xs ${Ge[t.status]||""} flex items-center gap-1 w-fit`,children:[e.jsx(p,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:458: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:466:23",className:"px-3 py-2.5",children:e.jsx(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:467:25",variant:"outline",className:"text-xs",children:K(t)})}),e.jsxs("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:469:23",className:"px-3 py-2.5 text-[var(--dg-text-secondary)] flex items-center gap-1",children:[e.jsx(Pe,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:470:25",className:"w-3 h-3"}),t.triggered_by||"admin"]}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:473: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:475:27",className:"flex items-center gap-1 text-blue-400",children:[e.jsx($,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:476:29",className:"w-3 h-3 animate-spin"}),"执行中..."]}):Xe(t.duration)}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:480: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:483:23",className:"px-3 py-2.5 text-right",onClick:l=>l.stopPropagation(),children:e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:484:25",className:"flex justify-end gap-1",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:485:27",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>P(t),children:"日志"}),e.jsxs(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:489:27",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>{oe({id:t.id,buildNumber:t.build_number}),J(!0)},children:[e.jsx(H,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:491:29",className:"w-3.5 h-3.5 mr-1"}),"浏览"]}),t.status==="running"&&e.jsx(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:494:29",variant:"ghost",size:"icon",className:"h-7 w-7 text-red-500",onClick:()=>re(t.id),children:e.jsx(Ue,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:496:31",className:"w-3.5 h-3.5"})})]})})]},t.id)})})]})}),a&&e.jsxs(Fe,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:511:11",className:"flex-1 flex flex-col min-h-0 border-[var(--dg-border)] bg-[var(--dg-bg-secondary)]",children:[e.jsxs(ke,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:512: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:513:15",className:"flex items-center gap-3",children:[e.jsxs(Se,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:514: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:518: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:519:21",className:"w-3 h-3 animate-spin mr-1"}),"实时"]}),i&&e.jsx(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:523: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:528: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:529:17",children:["触发: ",K(a)," (",a.triggered_by||"admin",")"]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:530:17",className:"opacity-40",children:"|"}),e.jsxs("span",{"code-path Line truncated
@@ -0,0 +1 @@
import{r as t,j as e,S as K,I as d,B as m,L as k,C as L,D as E,b as I,c as T,d as B,e as O,f as V}from"./index-DfyorCky.js";import{L as r}from"./label-BK0h2apY.js";import{B as j}from"./badge-xNW8x0G1.js";import{S as P,a as M,b as v,c as b,d as o}from"./select-D5qUzdAs.js";import{p as x}from"./cloud-Dzoer-2i.js";import{P as U}from"./plus-CUG-9kpu.js";import{E as W}from"./external-link-CzIpMNu1.js";import{P as Y}from"./pencil-BqUotcjf.js";import{T as Z}from"./trash-2-Dx32pOzT.js";import{C as $}from"./circle-check-DWcXrx2k.js";import{C as ee}from"./circle-x-DK79Dhg2.js";import"./index-CWVNW_qu.js";const ae={public:"公有云",private:"私有云",hybrid:"混合云"},se={public:"text-blue-400",private:"text-purple-400",hybrid:"text-cyan-400"};function ue(){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,C]=t.useState(null),[w,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=()=>{C(null),c({name:"",code:"",type:"public",status:"active",website:"",description:""}),l(!0)},_=a=>{C(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:124:5",className:"p-6 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:126:7",className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:127:9",className:"flex items-center gap-3 flex-1",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:128:11",className:"relative w-72",children:[e.jsx(K,{"code-path":"src/components/cloud/PlatformManager.tsx:129:13",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(d,{"code-path":"src/components/cloud/PlatformManager.tsx:130: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:137:11",value:u,onValueChange:H,children:[e.jsx(M,{"code-path":"src/components/cloud/PlatformManager.tsx:138:13",className:"w-32 h-9 bg-slate-800/50 border-slate-700",children:e.jsx(v,{"code-path":"src/components/cloud/PlatformManager.tsx:139:15"})}),e.jsxs(b,{"code-path":"src/components/cloud/PlatformManager.tsx:141:13",children:[e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:142:15",value:"all",children:"全部类型"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:143:15",value:"public",children:"公有云"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:144:15",value:"private",children:"私有云"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:145:15",value:"hybrid",children:"混合云"})]})]})]}),e.jsxs(m,{"code-path":"src/components/cloud/PlatformManager.tsx:149:9",onClick:X,className:"gap-2",children:[e.jsx(U,{"code-path":"src/components/cloud/PlatformManager.tsx:150:11",className:"h-4 w-4"}),"添加平台"]})]}),Q?e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:157:9",className:"flex justify-center py-20",children:e.jsx(k,{"code-path":"src/components/cloud/PlatformManager.tsx:158:11",className:"h-6 w-6 animate-spin text-slate-500"})}):D.length===0?e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:161:9",className:"text-center py-20 text-slate-500",children:[e.jsx(L,{"code-path":"src/components/cloud/PlatformManager.tsx:162:11",className:"h-12 w-12 mx-auto mb-3 opacity-40"}),e.jsx("p",{"code-path":"src/components/cloud/PlatformManager.tsx:163:11",children:"暂无云平台数据"})]}):e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:166: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:168: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:172:15",className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:173:17",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:174:19",claLine truncated
@@ -0,0 +1,25 @@
import{r as H,j as y,B as le,a9 as gl,L as St,a5 as Zs,D as Iu,b as Wu,X as xl,d as Fu,e as Vu,H as Hu,n as zu}from"./index-DfyorCky.js";import{u as Ah}from"./use-toast-CrSOP4cJ.js";import{k as wt}from"./kubernetes-J8O09fK7.js";import{C as bl}from"./copy-DXW4LnkN.js";import{S as xs}from"./sparkles-Bld4NX5y.js";import{S as yl}from"./save-DoGGjfwC.js";import{S as kl,a as wl,b as vl,c as Sl,d as Ol}from"./select-D5qUzdAs.js";import{x as Qu,a as $u}from"./xterm-DSqgeKvr.js";import{B as ju}from"./box-TTGA1p57.js";import{R as qu}from"./rotate-cw-5qcj_h_q.js";import{M as Xu,a as Uu}from"./minimize-2-CiCQYRfn.js";import{B as Yu}from"./badge-xNW8x0G1.js";import{H as _u}from"./hard-drive-BbPmnARR.js";import{A as Ku}from"./arrow-left-BDgGyrD0.js";import{U as Gu}from"./upload-Ba6rlaGS.js";import{R as Ju}from"./refresh-cw-DUB_tAG-.js";import{a as Zu,F as ed}from"./folder-DoMwqvzv.js";import{D as td}from"./download-DoZfYs2h.js";function Tr(){return Tr=Object.assign?Object.assign.bind():function(s){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(s[i]=t[i])}return s},Tr.apply(null,arguments)}function id(s,e){if(s==null)return{};var t={};for(var i in s)if({}.hasOwnProperty.call(s,i)){if(e.indexOf(i)!==-1)continue;t[i]=s[i]}return t}function bs(s){if(!s)return"";const e=s.replace(/\r\n/g,`
`).split(`
`),t=[];let i=0;const n=new Set(["uid","resourceVersion","creationTimestamp","generation","selfLink","clusterName","managedFields","generateName"]),r=new Set(["managedFields","ownerReferences"]),o={dnsPolicy:["ClusterFirst"],restartPolicy:["Always"],schedulerName:["default-scheduler"],terminationGracePeriodSeconds:["30"],serviceAccountName:["default"],enableServiceLinks:["true"],progressDeadlineSeconds:["600"],revisionHistoryLimit:["10"]},l={imagePullPolicy:["Always","IfNotPresent"],terminationMessagePath:["/dev/termination-log"],terminationMessagePolicy:["File"]},a=new Set(["kubectl.kubernetes.io/last-applied-configuration","deployment.kubernetes.io/revision","kubectl.kubernetes.io/restartedAt","control-plane.alpha.kubernetes.io/leader","autoscaling.alpha.kubernetes.io/conditions"]),h=["kube-api-access-","default-token-","kube-"];let c=!1,f=!1,u=!1,d=!1,p=!1,m=!1,g=!1,x=!1,k=0;function w(N){return N.length-N.trimStart().length}function T(N){const P=N.trimStart().match(/^([a-zA-Z_][a-zA-Z0-9_./-]*)\s*:/);return P?P[1]:null}function S(N){const P=N.trim().split(":").slice(1).join(":").trim();return P!==""&&!/^[>|]/.test(P)}function A(N){for(i++;i<e.length;){const P=e[i],D=P.trimStart();if(D===""||D.startsWith("#")){i++;continue}if(w(P)<=N)break;i++}}function O(N){const P=T(N);return P?h.some(D=>P.startsWith(D)):!1}for(;i<e.length;){const N=e[i],P=N.trimStart(),D=w(N),M=T(N);if(P===""||P.startsWith("#")){t.push(N),i++;continue}if(D===0&&M==="status"){A(0);continue}if(D===0&&M==="metadata"){c=!0,t.push(N),i++;continue}if(D===0&&M!=="metadata"&&(c=!1,f=!1),D===0&&M==="spec"){u=!0,t.push(N),i++;continue}if(D===0&&M!=="spec"&&(u=!1,d=!1,p=!1,m=!1,x=!1),c){if(D===2&&M==="annotations"){f=!0,t.push(N),i++;continue}if(D<=2&&M!=="annotations"&&(f=!1),D>=2&&D<=4&&P.startsWith("pod-template-hash")&&P.includes(":")){i++;continue}if(D===2&&M&&n.has(M)){S(N)?i++:A(2);continue}if(D===2&&M&&r.has(M)){A(2);continue}if(f&&D>2&&M&&a.has(M)){if(S(N))i++;else{const R=P.split(":").slice(1).join(":").trim();/^[>|]/.test(R)?A(D):i++}continue}}if(u){if(D===2&&M==="template"){t.push(N),i++;continue}if(D===2&&M&&o[M]){const F=P.split(":").slice(1).join(":").trim();if(o[M].includes(F)){i++;continue}}if(D===2&&M==="nodeName"){i++;continue}if(D===2&&M==="spec"){d=!0,k=D,t.push(N),i++;continue}}if(d&&D>k){if(M==="containers"){p=!0,m=!1,t.push(N),i++;continue}if(M==="initContainers"){m=!0,p=!1,t.push(N),i++;continue}if(M==="volumes"){x=!0,t.push(N),i++;continue}if(M&&o[M]){const F=P.split(":").slice(1).join(":").trim();if(o[M].includes(F)){i++;continue}}if(M==="nodeName"){i++;continue}if(M==="serviceAccount"&&P.endsWith(":")){S(N)?i++:A(D);continue}}if((p||m)&&D>=6){if(M&&l[M]){const F=P.split(":").slice(1).join(":").trim();if(l[M].includes(F)){i++;continue}}if(M==="volumeMounts"&&(g=!0),g&&P.startsWith("- name:")){let F=[N],R=i+1,C=!1;for(;R<e.length;){const B=e[R].trimStart();if(B===""||B.startsWith("#")){F.push(e[R]),R++;continue}if(w(e[R])<=D)break;sd(B)&&(C=!0),F.push(e[R]),R++}if(C){i=R;continue}g=!1}}if(x&&D>=4&&P.startsWith("- name:")&&O(P)){const F=D;for(i++;i<e.length;){const R=e[i],C=R.trimStart();if(C===""||C.startsWith("#")){i++;continue}if(w(R)<=F)break;i++}continue}if(P===""&&t.length>0&&t[t.length-1].trim()===""){i++;continue}t.push(N),i++}return t.join(`
`).replace(/\n{3,}/g,`
`).trimEnd()+`
`}function sd(s){return s.includes("mountPath:")&&(s.includes("/var/run/secrets/kubernetes.io")||s.includes("/var/run/secrets/sa"))}const ys={green:"#10b981",orange:"#f59e0b",red:"#ef4444",blue:"#326CE5"};function Ey(s){if(!s)return"#64748b";const e=s.toLowerCase();return["running","available","ready","active","completed","succeeded"].includes(e)?ys.green:["pending","updating","progressing","containercreating"].includes(e)?ys.orange:["failed","error","crashloopbackoff","imagepullbackoff","errimageneverpull"].includes(e)?ys.red:ys.blue}function Ly(s){if(!s)return"-";const e=new Date(s);if(isNaN(e.getTime()))return s;const t=i=>String(i).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}`}function Ny(s,e){if(!s||!e)return null;const t=new Date(s).getTime(),i=new Date(e).getTime();return isNaN(t)||isNaN(i)||i<t?null:Math.max(0,Math.round((i-t)/1e3))}function Iy(s){if(s==null)return"-";if(s<60)return`${s}s`;if(s<3600)return`${Math.floor(s/60)}m${s%60}s`;const e=Math.floor(s/3600),t=Math.floor(s%3600/60);return`${e}h${t}m`}let Dr=[],Mh=[];(()=>{let s="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<s.length;e++)(e%2?Mh:Dr).push(t=t+s[e])})();function nd(s){if(s<768)return!1;for(let e=0,t=Dr.length;;){let i=e+t>>1;if(s<Dr[i])t=i;else if(s>=Mh[i])e=i+1;else return!0;if(e==t)return!1}}function Cl(s){return s>=127462&&s<=127487}const Al=8205;function rd(s,e,t=!0,i=!0){return(t?Ph:od)(s,e,i)}function Ph(s,e,t){if(e==s.length)return e;e&&Th(s.charCodeAt(e))&&Dh(s.charCodeAt(e-1))&&e--;let i=_n(s,e);for(e+=Ml(i);e<s.length;){let n=_n(s,e);if(i==Al||n==Al||t&&nd(n))e+=Ml(n),i=n;else if(Cl(n)){let r=0,o=e-2;for(;o>=0&&Cl(_n(s,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function od(s,e,t){for(;e>0;){let i=Ph(s,e-2,t);if(i<e)return i;e--}return 0}function _n(s,e){let t=s.charCodeAt(e);if(!Dh(t)||e+1==s.length)return t;let i=s.charCodeAt(e+1);return Th(i)?(t-55296<<10)+(i-56320)+65536:t}function Th(s){return s>=56320&&s<57344}function Dh(s){return s>=55296&&s<56320}function Ml(s){return s<65536?1:2}class Y{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=xi(this,e,t);let n=[];return this.decompose(0,e,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(t,this.length,n,1),tt.from(n,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=xi(this,e,t);let i=[];return this.decompose(e,t,i,0),tt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new Wi(this),r=new Wi(e);for(let o=t,l=t;;){if(n.next(o),r.next(o),o=0,n.lineBreak!=r.lineBreak||n.done!=r.done||n.value!=r.value)return!1;if(l+=n.value.length,n.done||l>=i)return!0}}iter(e=1){return new Wi(this,e)}iterRange(e,t=this.length){return new Rh(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Bh(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Y.empty:e.length<=32?new ne(e):tt.from(ne.split(e,[]))}}class ne extends Y{c Line truncated
`){[e,t]=xi(this,e,t);let n="";for(let r=0,o=0;r<=t&&o<this.text.length;o++){let l=this.text[o],a=r+l.length;r>e&&o&&(n+=i),e<a&&t>r&&(n+=l.slice(Math.max(0,e-r),t-r)),r=a+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],n=-1;for(let r of e)i.push(r),n+=r.length+1,i.length==32&&(t.push(new ne(i,n)),i=[],n=-1);return n>-1&&t.push(new ne(i,n)),t}}class tt extends Y{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,n){for(let r=0;;r++){let o=this.children[r],l=n+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,n);n=l+1,i=a+1}}decompose(e,t,i,n){for(let r=0,o=0;o<=t&&r<this.children.length;r++){let l=this.children[r],a=o+l.length;if(e<=a&&t>=o){let h=n&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?i.push(l):l.decompose(e-o,t-o,i,h)}o=a+1}}replace(e,t,i){if([e,t]=xi(this,e,t),i.lines<this.lines)for(let n=0,r=0;n<this.children.length;n++){let o=this.children[n],l=r+o.length;if(e>=r&&t<=l){let a=o.replace(e-r,t-r,i),h=this.lines-o.lines+a.lines;if(a.lines<h>>4&&a.lines>h>>6){let c=this.children.slice();return c[n]=a,new tt(c,this.length-(t-e)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
`){[e,t]=xi(this,e,t);let n="";for(let r=0,o=0;r<this.children.length&&o<=t;r++){let l=this.children[r],a=o+l.length;o>e&&r&&(n+=i),e<a&&t>o&&(n+=l.sliceString(e-o,t-o,i)),o=a+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof tt))return 0;let i=0,[n,r,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,r+=t){if(n==o||r==l)return i;let a=this.children[n],h=e.children[r];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,n)=>i+n.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let p of e)p.flatten(d);return new ne(d,t)}let n=Math.max(32,i>>5),r=n<<1,o=n>>1,l=[],a=0,h=-1,c=[];function f(d){let p;if(d.lines>r&&d instanceof tt)for(let m of d.children)f(m);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof ne&&a&&(p=c[c.length-1])instanceof ne&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,c[c.length-1]=new ne(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>n&&u(),a+=d.lines,h+=d.length+1,c.push(d))}function u(){a!=0&&(l.push(c.length==1?c[0]:tt.from(c,h)),h=-1,a=c.length=0)}for(let d of e)f(d);return u(),l.length==1?l[0]:new tt(l,t)}}Y.empty=new ne([""],0);function ld(s){let e=-1;for(let t of s)e+=t.length+1;return e}function js(s,e,t=0,i=1e9){for(let n=0,r=0,o=!0;r<s.length&&n<=i;r++){let l=s[r],a=n+l.length;a>=t&&(a>i&&(l=l.slice(0,i-n)),n<t&&(l=l.slice(t-n)),o?(e[e.length-1]+=l,o=!1):e.push(l)),n=a+1}return e}function Pl(s,e,t){return js(s,[""],e,t)}class Wi{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],r=this.offsets[i],o=r>>1,l=n instanceof ne?n.text.length:n.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
`,this;e--}else if(n instanceof ne){let a=n.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=n.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof ne?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Rh{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new Wi(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=i?n:t<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Bh{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Y.prototype[Symbol.iterator]=function(){return this.iter()},Wi.prototype[Symbol.iterator]=Rh.prototype[Symbol.iterator]=Bh.prototype[Symbol.iterator]=function(){return this});class ad{constructor(e,t,i,n){this.from=e,this.to=t,this.number=i,this.text=n}get length(){return this.to-this.from}}function xi(s,e,t){return e=Math.max(0,Math.min(s.length,e)),[e,Math.max(e,Math.min(s.length,t))]}function fe(s,e,t=!0,i=!0){return rd(s,e,t,i)}function hd(s){return s>=56320&&s<57344}function cd(s){return s>=55296&&s<56320}function Ce(s,e){let t=s.charCodeAt(e);if(!cd(t)||e+1==s.length)return t;let i=s.charCodeAt(e+1);return hd(i)?(t-55296<<10)+(i-56320)+65536:t}function Ro(s){return s<=65535?String.fromCharCode(s):(s-=65536,String.fromCharCode((s>>10)+55296,(s&1023)+56320))}function it(s){return s<65536?1:2}const Rr=/\r\n?|\n/;var Se=(function(s){return s[s.Simple=0]="Simple",s[s.TrackDel=1]="TrackDel",s[s.TrackBefore=2]="TrackBefore",s[s.TrackAfter=3]="TrackAfter",s})(Se||(Se={}));class lt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,n=0;t<this.sections.length;){let r=this.sections[t++],o=this.sections[t++];o<0?(e(i,n,r),n+=r):n+=o,i+=r}}iterChangedRanges(e,t=!1){Br(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];n<0?e.push(i,n):e.push(n,i)}return new lt(e)}composeDesc(e){return this.empty?e:e.empty?this:Eh(this,e)}mapDesc(e,t=!1){return e.empty?this:Er(this,e,t)}mapPos(e,t=-1,i=Se.Simple){let n=0,r=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],h=n+l;if(a<0){if(h>e)return r+(e-n);r+=l}else{if(i!=Se.Simple&&h>=e&&(i==Se.TrackDel&&n<e&&h>e||i==Se.TrackBefore&&n<e||i==Se.TrackAfter&&h>e))return null;if(h>e||h==e&&t<0&&!l)return e==n||t<0?r:r+a;r+=a}n=h}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return r}touchesRange(e,t=e){for(let i=0,n=0;i<this.sections.length&&n<=t;){let r=this.sections[i++],o=this.sections[i++],l=n+r;if(o>=0&&n<=t&&l>=e)return n<e&&l>t?"cover":!0;n=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+i+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new lt(e)}static create(e){return new lt(e)}}class ae extends lt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Br(this,(t,i,n,r,o)=>e=e.replace(n,n+(i-t),o),!1),e}mapDesc(e,t=!1){return Er(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let n=0,r=0;n<t.length;n+=2){let o=t[n],l=t[n+1];if(l>=0){t[n]=l,t[n+1]=o;let a=n>>1;for(;i.length<a;)i.push(Y.empty);i.push(o?e.slice(r,r+o):Y.empty)}r+=o}return new ae(t,i)}compose(e){return this.empty?e:e.empty?this:Eh(this,e,!0)}map(e,t=!1){return e.empty?this:Er(this,e,t,!0)}iterChanges(e,t=!1){Br(this,e,t)}get desc(){return lt.cr Line truncated
`}get readOnly(){return this.facet(zh)}phrase(e,...t){for(let i of this.facet(U.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,n)=>{if(n=="$")return"$";let r=+(n||1);return!r||r>t.length?i:t[r-1]})),e}languageDataAt(e,t,i=-1){let n=[];for(let r of this.facet(Ih))for(let o of r(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return wd(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:n}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=fe(t,o,!1);if(r(t.slice(a,o))!=ee.Word)break;o=a}for(;l<n;){let a=fe(t,l);if(r(t.slice(l,a))!=ee.Word)break;l=a}return o==l?null:v.range(o+i,l+i)}}U.allowMultipleSelections=Ir;U.tabSize=I.define({combine:s=>s.length?s[0]:4});U.lineSeparator=Wh;U.readOnly=zh;U.phrases=I.define({compare(s,e){let t=Object.keys(s),i=Object.keys(e);return t.length==i.length&&t.every(n=>s[n]==e[n])}});U.languageData=Ih;U.changeFilter=Fh;U.transactionFilter=Vh;U.transactionExtender=Hh;Dn.reconfigure=$.define();function ht(s,e,t={}){let i={};for(let n of s)for(let r of Object.keys(n)){let o=n[r],l=i[r];if(l===void 0)i[r]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,r))i[r]=t[r](l,o);else throw new Error("Config merge conflict for field "+r)}for(let n in e)i[n]===void 0&&(i[n]=e[n]);return i}class Mt{eq(e){return this==e}range(e,t=e){return Vr.create(e,t,this)}}Mt.prototype.startSide=Mt.prototype.endSide=0;Mt.prototype.point=!1;Mt.prototype.mapMode=Se.TrackDel;function Lo(s,e){return s==e||s.constructor==e.constructor&&s.eq(e)}let Vr=class jh{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new jh(e,t,i)}};function Hr(s,e){return s.from-e.from||s.value.startSide-e.value.startSide}class No{constructor(e,t,i,n){this.from=e,this.to=t,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,n=0){let r=i?this.to:this.from;for(let o=n,l=r.length;;){if(o==l)return o;let a=o+l>>1,h=r[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,t,i,n){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,r);r<o;r++)if(n(this.from[r]+e,this.to[r]+e,this.value[r])===!1)return!1}map(e,t){let i=[],n=[],r=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let h=this.value[a],c=this.from[a]+e,f=this.to[a]+e,u,d;if(c==f){let p=t.mapPos(c,h.startSide,h.mapMode);if(p==null||(u=d=p,h.startSide!=h.endSide&&(d=t.mapPos(c,h.endSide),d<u)))continue}else if(u=t.mapPos(c,h.startSide),d=t.mapPos(f,h.endSide),u>d||u==d&&h.startSide>0&&h.endSide<=0)continue;(d-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,d-u)),i.push(h),n.push(u-o),r.push(d-o))}return{mapped:i.length?new No(n,r,i,l):null,pos:o}}}class X{constructor(e,t,i,n){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=n}static create(e,t,i,n){return new X(e,t,i,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:n=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(Hr)),this.isEmpty)return t.length?X.of(t):this;let l=new qh(this,null,-1).goto(0),a=0,h=[],c=new mt;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let f=t[a++];c.addInner(f.from,f.to,f.value)||h.push(f)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!o||n>this.chunkEnd(l.chunkIndex)||r<this.chunkPos[l.chunkIndex])&&c.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||n>l.to||r<l.from||o(l.from,l.to,l.value))&&(c.addInner(l.from,l.to,l.value)||h.push(Vr.create(l.from,l.to,l.value))),l.next());return c.finishInner(this.nextLayer.isEmpty&&!h.length?X.empty:this.nextLayer.update({add:h,filter:o,filterFrom:n,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],n=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],h=e.touchesRange(l,l+a.length);if(h===!1)n=Math.max(n,a.maxPoint),t.push(a),i.push(e.mapPos(l));else if(h===!0){let{mapped:c,pos:f}=a.map(l,e);c&&(n=Math.max(n,c.maxPoint),t.push(c),i.push(f))}}let r=this.nextLayer.map(e);return t.length==0?r:new X(i,t,r||X.empty,n)}between(e,t,i){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let r=this.chunkPos[n],o=this.chunk[n];if(t>=r&&e<=r+o.length&&o.between(r,e-r,t-r,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Ui.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ui.from(e).goto(t)}static compare(e,t,i,n,r=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),l=t Line truncated
`)}static newName(){let e=Ll[El]||1;return Ll[El]=e+1,$r+e.toString(36)}static mount(e,t,i){let n=e[jr],r=i&&i.nonce;n?r&&n.setNonce(r):n=new Sd(e,r),n.mount(Array.isArray(t)?t:[t],e)}}let Nl=new Map;class Sd{constructor(e,t){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let r=Nl.get(i);if(r)return e[jr]=r;this.sheet=new n.CSSStyleSheet,Nl.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[jr]=this}mount(e,t){let i=this.sheet,n=0,r=0;for(let o=0;o<e.length;o++){let l=e[o],a=this.modules.indexOf(l);if(a<r&&a>-1&&(this.modules.splice(a,1),r--,a=-1),a==-1){if(this.modules.splice(r++,0,l),i)for(let h=0;h<l.rules.length;h++)i.insertRule(l.rules[h],n++)}else{for(;r<a;)n+=this.modules[r++].rules.length;n+=l.rules.length,r++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let a=0;a<this.modules.length;a++)o+=this.modules[a].getRules()+`
`;this.styleTag.textContent=o;let l=t.head||t;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Tt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Yi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Od=typeof navigator<"u"&&/Mac/.test(navigator.platform),Cd=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var me=0;me<10;me++)Tt[48+me]=Tt[96+me]=String(me);for(var me=1;me<=24;me++)Tt[me+111]="F"+me;for(var me=65;me<=90;me++)Tt[me]=String.fromCharCode(me+32),Yi[me]=String.fromCharCode(me);for(var Gn in Tt)Yi.hasOwnProperty(Gn)||(Yi[Gn]=Tt[Gn]);function Ad(s){var e=Od&&s.metaKey&&s.shiftKey&&!s.ctrlKey&&!s.altKey||Cd&&s.shiftKey&&s.key&&s.key.length==1||s.key=="Unidentified",t=!e&&s.key||(s.shiftKey?Yi:Tt)[s.keyCode]||s.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function _(){var s=arguments[0];typeof s=="string"&&(s=document.createElement(s));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var n=t[i];typeof n=="string"?s.setAttribute(i,n):n!=null&&(s[i]=n)}e++}for(;e<arguments.length;e++)Xh(s,arguments[e]);return s}function Xh(s,e){if(typeof e=="string")s.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)s.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)Xh(s,e[t]);else throw new RangeError("Unsupported child node: "+e)}let ve=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},qr=typeof document<"u"?document:{documentElement:{style:{}}};const Xr=/Edge\/(\d+)/.exec(ve.userAgent),Uh=/MSIE \d/.test(ve.userAgent),Ur=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ve.userAgent),Rn=!!(Uh||Ur||Xr),Il=!Rn&&/gecko\/(\d+)/i.test(ve.userAgent),Jn=!Rn&&/Chrome\/(\d+)/.exec(ve.userAgent),Wl="webkitFontSmoothing"in qr.documentElement.style,Yr=!Rn&&/Apple Computer/.test(ve.vendor),Fl=Yr&&(/Mobile\/\w+/.test(ve.userAgent)||ve.maxTouchPoints>2);var W={mac:Fl||/Mac/.test(ve.platform),windows:/Win/.test(ve.platform),linux:/Linux|X11/.test(ve.platform),ie:Rn,ie_version:Uh?qr.documentMode||6:Ur?+Ur[1]:Xr?+Xr[1]:0,gecko:Il,gecko_version:Il?+(/Firefox\/(\d+)/.exec(ve.userAgent)||[0,0])[1]:0,chrome:!!Jn,chrome_version:Jn?+Jn[1]:0,ios:Fl,android:/Android\b/.test(ve.userAgent),webkit:Wl,webkit_version:Wl?+(/\bAppleWebKit\/(\d+)/.exec(ve.userAgent)||[0,0])[1]:0,safari:Yr,safari_version:Yr?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ve.userAgent)||[0,0])[1]:0,tabSize:qr.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Io(s,e){for(let t in s)t=="class"&&e.class?e.class+=" "+s.class:t=="style"&&e.style?e.style+=";"+s.style:e[t]=s[t];return e}const sn=Object.create(null);function Wo(s,e,t){if(s==e)return!0;s||(s=sn),e||(e=sn);let i=Object.keys(s),n=Object.keys(e);if(i.length-0!=n.length-0)return!1;for(let r of i)if(r!=t&&(n.indexOf(r)==-1||s[r]!==e[r]))return!1;return!0}function Md(s,e){for(let t=s.attributes.length-1;t>=0;t--){let i=s.attributes[t].name;e[i]==null&&s.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?s.style.cssText=i:s.getAttribute(t)!=i&&s.setAttribute(t,i)}}function Vl(s,e,t){let i=!1;if(e)for(let n in e)t&&n in t||(i=!0,n=="style"?s.style.cssText="":s.removeAttribute(n));if(t)for(let n in t)e&&e[n]==t[n]||(i=!0,n=="style"?s.style.cssText=t[n]:s.setAttribute(n,t[n]));return i}function Pd(s){let e=Object.create(null);for(let t=0;t<s.attributes.length;t++){let i=s.attributes[t];e[i.name]=i.value}return e}class ct{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ge=(function(s){return s[s.Text=0]="Text",s[s.WidgetBefore=1]="WidgetBefore",s[s.WidgetAfter=2]="WidgetAfter",s[s.WidgetRange=3]="WidgetRange",s})(ge||(ge={}));class z extends Mt{constructor(e,t,i,n){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(e){return nLine truncated
`,n=s.state.doc.line(n.number+(t?1:-1)),r=s.bidiSpans(n),h=s.visualLineSide(n,!t)}if(a){if(!a(c))return l}else{if(!i)return h;a=i(c)}l=h}}function mp(s,e,t){let i=s.state.charCategorizer(e),n=i(t);return r=>{let o=i(r);return n==ee.Space&&(n=o),n==o}}function gp(s,e,t,i){let n=e.head,r=t?1:-1;if(n==(t?s.state.doc.length:0))return v.cursor(n,e.assoc);let o=e.goalColumn,l,a=s.contentDOM.getBoundingClientRect(),h=s.coordsAtPos(n,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),c=s.documentTop;if(h)o==null&&(o=h.left-a.left),l=r<0?h.top:h.bottom;else{let p=s.viewState.lineBlockAt(n);o==null&&(o=Math.min(a.right-a.left,s.defaultCharacterWidth*(n-p.from))),l=(r<0?p.top:p.bottom)+c}let f=a.left+o,u=s.viewState.heightOracle.textHeight>>1,d=i??u;for(let p=0;;p+=u){let m=l+(d+p)*r,g=io(s,{x:f,y:m},!1,r);if(t?m>a.bottom:m<a.top)return v.cursor(g.pos,g.assoc);let x=s.coordsAtPos(g.pos,g.assoc),k=x?(x.top+x.bottom)/2:0;if(!x||(t?k>l:k<l))return v.cursor(g.pos,g.assoc,void 0,o)}}function Qi(s,e,t){for(;;){let i=0;for(let n of s)n.between(e-1,e+1,(r,o,l)=>{if(e>r&&e<o){let a=i||t||(e-r<o-e?-1:1);e=a<0?r:o,i=a}});if(!i)return e}}function vc(s,e){let t=null;for(let i=0;i<e.ranges.length;i++){let n=e.ranges[i],r=null;if(n.empty){let o=Qi(s,n.from,0);o!=n.from&&(r=v.cursor(o,-1))}else{let o=Qi(s,n.from,-1),l=Qi(s,n.to,1);(o!=n.from||l!=n.to)&&(r=v.range(n.from==n.anchor?o:l,n.from==n.head?o:l))}r&&(t||(t=e.ranges.slice()),t[i]=r)}return t?v.create(t,e.mainIndex):e}function sr(s,e,t){let i=Qi(s.state.facet(fs).map(n=>n(s)),t.from,e.head>t.from?-1:1);return i==t.from?t:v.cursor(i,i<t.from?1:-1)}class st{constructor(e,t){this.pos=e,this.assoc=t}}function io(s,e,t,i){let n=s.contentDOM.getBoundingClientRect(),r=n.top+s.viewState.paddingTop,{x:o,y:l}=e,a=l-r,h;for(;;){if(a<0)return new st(0,1);if(a>s.viewState.docHeight)return new st(s.state.doc.length,-1);if(h=s.elementAtHeight(a),i==null)break;if(h.type==ge.Text){if(i<0?h.to<s.viewport.from:h.from>s.viewport.to)break;let u=s.docView.coordsAt(i<0?h.from:h.to,i>0?-1:1);if(u&&(i<0?u.top<=a+r:u.bottom>=a+r))break}let f=s.viewState.heightOracle.textHeight/2;a=i>0?h.bottom+f:h.top-f}if(s.viewport.from>=h.to||s.viewport.to<=h.from){if(t)return null;if(h.type==ge.Text){let f=dp(s,n,h,o,l);return new st(f,f==h.from?1:-1)}}if(h.type!=ge.Text)return a<(h.top+h.bottom)/2?new st(h.from,1):new st(h.to,-1);let c=s.docView.lineAt(h.from,2);return(!c||c.length!=h.length)&&(c=s.docView.lineAt(h.from,-2)),new xp(s,o,l,s.textDirectionAt(h.from)).scanTile(c,h.from)}class xp{constructor(e,t,i,n){this.view=e,this.x=t,this.y=i,this.baseDir=n,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:n}=this.bidiSpansAt(e);return n[nt.find(n,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:n}=this.bidiSpansAt(e);return n[nt.find(n,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:n}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+n.from<t)}scan(e,t,i=!1){let n=0,r=e.length-1,o=new Set,l=this.bidiIn(e[0],e[r]),a,h,c=-1,f=1e9,u;e:for(;n<r;){let p=r-n,m=n+r>>1;t:if(o.has(m)){let x=n+Math.floor(Math.random()*p);for(let k=0;k<p;k++){if(!o.has(x)){m=x;break t}x++,x==r&&(x=n)}break e}o.add(m);let g=t(m);if(g)for(let x=0;x<g.length;x++){let k=g[x],w=0;if(!(k.width==0&&g.length>1)){if(k.bottom<this.y)(!a||a.bottom<k.bottom)&&(a=k),w=1;else if(k.top>this.y)(!h||h.top>k.top)&&(h=k),w=-1;else{let T=k.left>this.x?this.x-k.left:k.right<this.x?this.x-k.right:0,S=Math.abs(T);S<f&&(c=m,f=S,u=k),T&&(w=T<0==(this.baseDir==J.LTR)?-1:1)}w==-1&&(!l||this.baseDirAt(e[m],1))?r=m:w==1&&(!l||this.baseDirAt(e[m+1],-1))&&(n=m+1)}}}if(!u){if(!h&&!a)return{i:e[0],after:!1};let p=a&&(!h||this.y-a.bottom<h.top-this.y)?a:h;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(f&&!i){let{top:p,bottom:m}=u;if(a&&a.bottom>(p+p+m)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(h&&h.top<(p+m+m)/3)return this.y=h.top+1,this.scan(e,t,!0)}let d=(l?this.dirAt(e[c],1):this.baseDir)==J.LTR;return{i:c,after:this.x>(u.left+u.right)/2==d}}scanText(e,t){let i=[];for(let r=0;r<e.length;r=fe(e.text,r))i.push(t+r);i.push(t+e.length);let n=this.scan(i,r=>{let o=i[r]-t,l=i[r+1]-t;return Ji(e.dom,o,l).getClientRects()});return n.after?new st(i[n.i+1],-1):new st(i[n.i],1)}scanTile(e,t){if(!e.length)return new st(t,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,t);if(l.isComposite())return this.scanTile(l,t)}let i=[t];for(let l=0,a=t;l<e.children.length;l++)i.push(a+=e.children[l].length);let n=this.scan(i,l=>{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:Ji(a.dom,0,a.length)).getClientRects()}),r=e.children[n.i],o=i[n.i];return r.isText()?this.scanText(r,o):r.isComposite()?this.scanTile(r,o):n.after?new st(i[n.i+1],-1):new st(o,1)}}const ii="￿";class bp{constructor(e,t){this.points=e,this.vi Line truncated
`&&s.lineWrapping&&(i&&(i=v.single(i.main.anchor-1,i.main.head-1)),t={from:r.from,to:r.to,insert:Y.of([" "])}),t)return jo(s,t,i,o);if(i&&!an(i,r)){let l=!1,a="select";return s.inputState.lastSelectionTime>Date.now()-50&&(s.inputState.lastSelectionOrigin=="select"&&(l=!0),a=s.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=vc(n.facet(fs).map(h=>h(s)),i))),s.dispatch({selection:i,scrollIntoView:l,userEvent:a}),!0}else return!1}function jo(s,e,t,i=-1){if(W.ios&&s.inputState.flushIOSKey(e))return!0;let n=s.state.selection.main;if(W.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&s.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ui(s.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>n.head)&&ui(s.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&ui(s.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();s.inputState.composing>=0&&s.inputState.composing++;let o,l=()=>o||(o=vp(s,e,t));return s.state.facet(cc).some(a=>a(s,e.from,e.to,r,l))||s.dispatch(l()),!0}function vp(s,e,t){let i,n=s.state,r=n.selection.main,o=-1;if(e.from==e.to&&e.from<r.from||e.from>r.to){let a=e.from<r.from?-1:1,h=a<0?r.from:r.to,c=Qi(n.facet(fs).map(f=>f(s)),h,a);e.from==c&&(o=c)}if(o>-1)i={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&s.inputState.composing<0){let a=r.from<e.from?n.sliceDoc(r.from,e.from):"",h=r.to>e.to?n.sliceDoc(e.to,r.to):"";i=n.replaceSelection(s.state.toText(a+e.insert.sliceString(0,void 0,s.state.lineBreak)+h))}else{let a=n.changes(e),h=t&&t.main.to<=a.newLength?t.main:void 0;if(n.selection.ranges.length>1&&(s.inputState.composing>=0||s.inputState.compositionPendingChange)&&e.to<=r.to+10&&e.to>=r.to-10){let c=s.state.sliceDoc(e.from,e.to),f,u=t&&wc(s,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=s.state.doc.lineAt(r.head);let d=r.to-e.to;i=n.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:a,range:h||p.map(a)};let m=p.to-d,g=m-c.length;if(s.state.sliceDoc(g,m)!=c||m>=f.from&&g<=f.to)return{range:p};let x=n.changes({from:g,to:m,insert:e.insert}),k=p.to-r.to;return{changes:x,range:h?v.range(Math.max(0,h.anchor+k),Math.max(0,h.head+k)):p.map(x)}})}else i={changes:a,selection:h&&n.selection.replaceRange(h)}}let l="input.type";return(s.composing||s.inputState.compositionPendingChange&&s.inputState.compositionEndedAt>Date.now()-50)&&(s.inputState.compositionPendingChange=!1,l+=".compose",s.inputState.compositionFirstChange&&(l+=".start",s.inputState.compositionFirstChange=!1)),n.update(i,{userEvent:l,scrollIntoView:!0})}function Cc(s,e,t,i){let n=Math.min(s.length,e.length),r=0;for(;r<n&&s.charCodeAt(r)==e.charCodeAt(r);)r++;if(r==n&&s.length==e.length)return null;let o=s.length,l=e.length;for(;o>0&&l>0&&s.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,r-Math.min(o,l));t-=o+a-r}if(o<r&&s.length<e.length){let a=t<=r&&t>=o?r-t:0;r-=a,l=r+(l-o),o=r}else if(l<r){let a=t<=r&&t>=l?r-t:0;r-=a,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function Sp(s){let e=[];if(s.root.activeElement!=s.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:n,focusOffset:r}=s.observer.selectionRange;return t&&(e.push(new Ul(t,i)),(n!=t||r!=i)&&e.push(new Ul(n,r))),e}function Op(s,e){if(s.length==0)return null;let t=s[0].pos,i=s.length==2?s[1].pos:t;return t>-1&&i>-1?v.single(t+e,i+e):null}function an(s,e){return e.head==s.main.head&&e.anchor==s.main.anchor}class Cp{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,W.safari&&e.contentDOM.addEventListener("input",()=>null),W.gecko&&Hp(e.contentDOM.ownerDocument)}handleEvent(e){!Ep(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let n of i.observers)n(this.view,t);for(let n of i.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Ap(e),i=this.handlers,n=this.view.contentDOM; Line truncated
`))};if((W.mac||W.android)&&f.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:l,to:a,insert:Y.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);jo(e,f,v.single(this.toEditorPos(i.selectionStart,u),this.toEditorPos(i.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from<f.to&&!f.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let n=[],r=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=e.coordsForChar(o);r=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||r||new DOMRect,n.push(r)}t.updateCharacterBounds(i.rangeStart,n)},this.handlers.textformatupdate=i=>{let n=[];for(let r of i.getTextFormats()){let o=r.underlineStyle,l=r.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(r.rangeStart),h=this.toEditorPos(r.rangeEnd);if(a<h){let c=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;n.push(z.mark({attributes:{style:c}}).range(a,h))}}}e.dispatch({effects:mc.of(z.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let n=Ki(i.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,n=this.pendingContextChange;return e.changes.iterChanges((r,o,l,a,h)=>{if(i)return;let c=h.length-(o-r);if(n&&o>=n.to)if(n.from==r&&n.to==o&&n.insert.eq(h)){n=this.pendingContextChange=null,t+=c,this.to+=c;return}else n=null,this.revertPending(e.state);if(r+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(r<this.to){if(r<this.from||o>this.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),h.toString()),this.to+=c}t+=c}),n&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),n=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(i,n)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class L{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureReque Line truncated
--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,ao),Om={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let or=null;function Cm(){var s;if(or==null&&typeof document<"u"&&document.body){let e=document.body.style;or=((s=e.tabSize)!==null&&s!==void 0?s:e.MozTabSize)!=null}return or||!1}const Ys=I.define({combine(s){let e=ht(s,{render:null,specialChars:Sm,addSpecialChars:null});return(e.replaceTabs=!Cm())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,ao)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,ao)),e}});function Am(s={}){return[Ys.of(s),Mm()]}let ma=null;function Mm(){return ma||(ma=se.fromClass(class{constructor(s){this.view=s,this.decorations=z.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(s.state.facet(Ys)),this.decorations=this.decorator.createDeco(s)}makeDecorator(s){return new vm({regexp:s.specialChars,decoration:(e,t,i)=>{let{doc:n}=t.state,r=Ce(e[0],0);if(r==9){let o=n.lineAt(i),l=t.state.tabSize,a=Ci(o.text,l,i-o.from);return z.replace({widget:new Rm((l-a%l)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=z.replace({widget:new Dm(s,r)}))},boundary:s.replaceTabs?void 0:/[^]/})}update(s){let e=s.state.facet(Ys);s.startState.facet(Ys)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(s.view)):this.decorations=this.decorator.updateDeco(s,this.decorations)}},{decorations:s=>s.decorations}))}const Pm="•";function Tm(s){return s>=32?Pm:s==10?"␤":String.fromCharCode(9216+s)}class Dm extends ct{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Tm(this.code),i=e.state.phrase("Control character")+" "+(Om[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,t);if(n)return n;let r=document.createElement("span");return r.textContent=t,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class Rm extends ct{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Bm(){return Lm}const Em=z.line({class:"cm-activeLine"}),Lm=se.fromClass(class{constructor(s){this.decorations=this.getDeco(s)}update(s){(s.docChanged||s.selectionSet)&&(this.decorations=this.getDeco(s.view))}getDeco(s){let e=-1,t=[];for(let i of s.state.selection.ranges){let n=s.lineBlockAt(i.head);n.from>e&&(t.push(Em.range(n.from)),e=n.from)}return z.set(t)}},{decorations:s=>s.decorations});class Nm extends ct{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Hi(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),n=Gi(t[0],i.direction!="rtl"),r=parseInt(i.lineHeight);return n.bottom-n.top>r*1.5?{left:n.left,right:n.right,top:n.top,bottom:n.top+r}:n}ignoreEvent(){return!1}}function Im(s){let e=se.fromClass(class{constructor(t){this.view=t,this.placeholder=s?z.set([z.widget({widget:new Nm(s),side:1}).range(0)]):z.none}get decorations(){return this.view.state.doc.length?z.none:this.placeholder}},{decorations:t=>t.decorations});return typeof s=="string"?[e,L.contentAttributes.of({"aria-placeholder":s})]:e}const ho=2e3;function Wm(s,e,t){let i=Math.min(e.line,t.line),n=Math.max(e.line,t.line),r=[];if(e.off>ho||t.off>ho||e.col<0||t.col<0){let o=Math.min(e.off,t.off),l=Math.max(e.off,t.off);for(let a=i;a<=n;a++){let h=s.doc.line(a);h.length<=l&&r.push(v.range(h.from+o,h.to+l))}}else{let o=Math.min(e.col,t.col),l=Math.max(e.col,t.col);for(let a=i;a<=n;a++){let h=s.doc.line(a),c=Qr(h.text,o,s.tabSize,!0);if(c<0)r.push(v.cursor(h.to));else{let f=Qr(h.text,l,s.tabSize);r.push(v.range(h.from+c,h.from+f))}}}return r}function Fm(s,e){let t=s.coordsAtPos(s.viewport.from);return t?Math.round(Math.abs((t.left-e)/s.defaultCharacterWidth)):-1}function ga(s,e){let t=s.posAtCoords({x:e.clientX,y:e.clientY},!1),i=s.state.doc.lineAt(t),n=t-i.from,r=n>ho?-1:n==i.length?Fm(s,e.clientX):Ci(i.text,s.state.tabSize,t-i.from);return{line:i.number,col:r,off:n}}function Vm(s,e){let t=ga(s,e),i=s.s Line truncated
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Jx(this):new _x(this)}getCursor(e,t=0,i){let n=e.doc?e:U.create({doc:e});return i==null&&(i=n.doc.length),this.regexp?ni(this,n,t,i):si(this,n,t,i)}}class lu{constructor(e){this.spec=e}}function Ux(s,e,t){return(i,n,r,o)=>{if(t&&!t(i,n,r,o))return!1;let l=i>=o&&n<=o+r.length?r.slice(i-o,n-o):e.doc.sliceString(i,n);return s(l,e,i,n)}}function si(s,e,t,i){let n;return s.wholeWord&&(n=Yx(e.doc,e.charCategorizer(e.selection.main.head))),s.test&&(n=Ux(s.test,e,n)),new Si(e.doc,s.unquoted,t,i,s.caseSensitive?void 0:r=>r.toLowerCase(),n)}function Yx(s,e){return(t,i,n,r)=>((r>t||r+n.length<i)&&(r=Math.max(0,t-2),n=s.sliceString(r,Math.min(s.length,i+2))),(e(kn(n,t-r))!=ee.Word||e(wn(n,t-r))!=ee.Word)&&(e(wn(n,i-r))!=ee.Word||e(kn(n,i-r))!=ee.Word))}class _x extends lu{constructor(e){super(e)}nextMatch(e,t,i){let n=si(this.spec,e,i,e.doc.length).nextOverlapping();if(n.done){let r=Math.min(e.doc.length,t+this.spec.unquoted.length);n=si(this.spec,e,0,r).nextOverlapping()}return n.done||n.value.from==t&&n.value.to==i?null:n.value}prevMatchInRange(e,t,i){for(let n=i;;){let r=Math.max(t,n-1e4-this.spec.unquoted.length),o=si(this.spec,e,r,n),l=null;for(;!o.nextOverlapping().done;)l=o.value;if(l)return l;if(r==t)return null;n-=1e4}}prevMatch(e,t,i){let n=this.prevMatchInRange(e,0,t);return n||(n=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),n&&(n.from!=t||n.to!=i)?n:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=si(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let r=si(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)n(r.value.from,r.value.to)}}function Kx(s,e,t){return(i,n,r)=>(!t||t(i,n,r))&&s(r[0],e,i,n)}function ni(s,e,t,i){let n;return s.wholeWord&&(n=Gx(e.charCategorizer(e.selection.main.head))),s.test&&(n=Kx(s.test,e,n)),new nu(e.doc,s.search,{ignoreCase:!s.caseSensitive,test:n},t,i)}function kn(s,e){return s.slice(fe(s,e,!1),e)}function wn(s,e){return s.slice(e,fe(s,e))}function Gx(s){return(e,t,i)=>!i[0].length||(s(kn(i.input,i.index))!=ee.Word||s(wn(i.input,i.index))!=ee.Word)&&(s(wn(i.input,i.index+i[0].length))!=ee.Word||s(kn(i.input,i.index+i[0].length))!=ee.Word)}class Jx extends lu{nextMatch(e,t,i){let n=ni(this.spec,e,i,e.doc.length).next();return n.done&&(n=ni(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=1;;n++){let r=Math.max(t,i-n*1e4),o=ni(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let n=i.length;n>0;n--){let r=+i.slice(0,n);if(r>0&&r<e.match.length)return e.match[r]+i.slice(n)}return t})}matchAll(e,t){let i=ni(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let r=ni(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)n(r.value.from,r.value.to)}}const ss=$.define(),ol=$.define(),At=ye.define({create(s){return new kr(So(s).create(),null)},update(s,e){for(let t of e.effects)t.is(ss)?s=new kr(t.value.create(),s.panel):t.is(ol)&&(s=new kr(s.query,t.value?ll:null));return s},provide:s=>Zi.from(s,e=>e.panel)});class kr{constructor(e,t){this.query=e,this.panel=t}}const Zx=z.mark({class:"cm-searchMatch"}),eb=z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),tb=se.fromClass(class{constructor(s){this.view=s,this.decorations=this.highlight(s.state.field(At))}update(s){let e=s.state.field(At);(e!=s.startState.field(At)||s.docChanged||s.selectionSet||s.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:s,panel:e}){if(!e||!s.spec.valid)return z.none;let{view:t}=this,i=new mt;for(let n=0,r=t.visibleRanges,o=r.length;n<o;n++){let{from:l,to:a}=r[n];for(;n<o-1&&a>r[n+1].from-500;)a=r[++n].to;s.highlight(t.state,l,a,(h,c)=>{let f=t.state.selection.ranges.some(u=>u.from==h&&u.to==c);i.add(h,c,f?eb:Zx)})}return i.finish()}},{decorations:s=>s.decorations});function ms(s){return e=>{let t=e.state.field(At,!1);return t&&t.query.spec.valid?s(e,t):cu(e)}}const vn=ms((s,{query:e})=>{let{to:t}=s.state.selection.main,i=e.nextMatch(s.state,t,t);if(!i)return!1;let n=v.single(i.from,i.to),r=s.state.facet(Mi);return s.dispatch({selection:n,effects:[al(s,i),r.scrollToMatch(n.main,s)],userEvent:"select.search"}),hu(s),!0}),Sn=ms((s,{query:e})=>{let{state:t}=s,{from:i}=t.selection.main,n=e.prevMatch(t,i,i);if(!n)return Line truncated
\x1B[33m⚠ bash 不可用,请切换 /bin/sh 后重连。\x1B[0m`),d.current=!0;return}P.write(C.includes("\x1B")?C:`\r
\x1B[31m${C}\x1B[0m\r
`)}}catch{typeof F.data=="string"&&P.write(F.data)}},M.onclose=F=>{m(R=>R==="error"?R:"closed"),d.current||P.write(`\r
\x1B[33m[连接已关闭]\x1B[0m\r
`)},M.onerror=F=>{console.error("[PodExec:connect] WS error event fired, readyState=",M.readyState,"type=",F.type),m("error"),P.write(`\r
\x1B[31m[连接发生错误]\x1B[0m\r
`)}},[t,i,n,k,T]);H.useEffect(()=>{if(!s)return;if(!t){console.error("[PodExec:initEffect] ABORT: clusterId is falsy:",t);return}if(!n){console.error("[PodExec:initEffect] ABORT: podName is falsy:",n);return}let P=!1,D=0;const M=performance.now(),F=()=>{if(P)return;const R=a.current;if(!R){D++,D<20?requestAnimationFrame(F):console.error("[PodExec:tryInit] FAILED: containerRef still null after 20 retries (",Math.round(performance.now()-M),"ms)");return}const C=new Qu.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"}}),B=new $u.FitAddon;C.loadAddon(B),h.current=C,f.current=B,C.onData(j=>{c.current&&c.current.readyState===WebSocket.OPEN?c.current.send(JSON.stringify({status:0,data:j})):console.warn("[PodExec:term] TX dropped — WS not open, readyState=",c.current?.readyState)}),C.open(R),requestAnimationFrame(()=>{try{B.fit()}catch{}}),u.current=!0,A()};return requestAnimationFrame(F),()=>{P=!0}},[s,t,n]),H.useEffect(()=>{if(!s){try{c.current?.close()}catch{}try{h.current?.dispose()}catch{}h.current=null,c.current=null,f.current=null,u.current=!1,m("idle")}},[s]),H.useEffect(()=>{s&&h.current&&u.current&&A()},[k,T]),H.useEffect(()=>{if(!s)return;const P=a.current;if(!P)return;let D;const M=new ResizeObserver(()=>{clearTimeout(D),D=setTimeout(()=>{if(f.current&&h.current)try{f.current.fit(),h.current.focus();const{cols:F,rows:R}=h.current;c.current?.readyState===WebSocket.OPEN&&c.current.send(JSON.stringify({status:1,cols:F,rows:R}))}catch{}},60)});return M.observe(P),()=>{clearTimeout(D),M.disconnect()}},[s,g]);const O=p==="connected"?"bg-emerald-400":p==="error"?"bg-red-400":p==="closed"?"bg-slate-500":"bg-amber-400",V=p==="connected"?"已连接":p==="connecting"?"连接中":p==="error"?"连接错误":p==="closed"?"已断开":"空闲",N=H.useCallback(()=>{try{h.current?.focus()}catch{}},[]);return y.jsx(Iu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:279:5",open:s,onOpenChange:e,children:y.jsxs(Wu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:280:7",showCloseButton:!1,className:xl("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",g?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:g?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"960px",width:"92vw"},children:[y.jsxs(Fu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:289:9",className:"sr-only",children:["exec — ",n]}),y.jsx(Vu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:290:9",className:"sr-only",children:"进入 Pod 容器执行命令"}),y.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:[y.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:294:11",className:"flex items-center gap-2 text-sm min-w-0",children:[y.jsx("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:295:13",className:xl("w-2 h-2 rounded-full shrink-0",O),title:V}),y.jsx(Hu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:296:13",className:"h-4 w-4 text-blue-400 shrink-0"}),y.jsxs("span",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:297:13",className:"text-[var(--dg-text-primary)] font-medium truncate",children:["exec — ",n]}),p==="connecting"&&y.jsx(St,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:298:44",className:"h-3 w-3 animate-spin text-[var(--dg-text-muted)]"}),y.jsx("span",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:299:13",className:"text-xs text-[var(--dg-text-muted)]",children:V})]}),y.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:301:11",className:"flex items-center gap-2",children:[r.length>0&&y.jsxs(kl,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:303:15",value:k,onValueChange:w,children:[y.jsxs(wl,{"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:[y.jsx(ju,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:305:19",className:"h-3 w-3 mr-1 text-[var(--dg-text-muted)]"}),y.jsx(vl,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:306:19",placeholder:"容器"})]}),y.jsx(Sl,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:308:17",children:r.map(P=>y.jsx(Ol,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:308:55",value:P,children:P} Line truncated
@@ -0,0 +1 @@
import{i as H,k as U,r as c,j as e,m as N,n as f,A as V,B as W,o as F}from"./index-DfyorCky.js";import{C as i,a as x}from"./card-C55cvSHg.js";import{B as L}from"./badge-xNW8x0G1.js";import{S as v,a as C,b as y,c as S,d as P}from"./select-D5qUzdAs.js";import{T as z,a as D,b as u,c as d,d as G,e as n}from"./table-5sHV4Akp.js";import{k as b}from"./kubernetes-J8O09fK7.js";import{R as K}from"./refresh-cw-DUB_tAG-.js";import{H as q}from"./hard-drive-BbPmnARR.js";import"./index-CWVNW_qu.js";function te(){const{clusterCode:w}=H(),g=U(),[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:81:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:82:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(N,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:83:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),a&&e.jsxs(e.Fragment,{children:[e.jsx(f,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:84:29",className:"h-3 w-3"}),e.jsx(N,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:84:65",to:`/kubernetes/${a}`,className:"hover:text-slate-300",children:a})]}),e.jsx(f,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:85:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:85:45",className:"text-slate-300",children:"Pod 资源用量"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:88:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:89:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(V,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:89:86",className:"h-5 w-5 text-blue-400"}),"Pod 资源用量"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:90:9",className:"flex items-center gap-2",children:[e.jsxs(v,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:91:11",value:a,onValueChange:s=>{j(s),g(`/kubernetes/${s}/metrics/pods`)},children:[e.jsx(C,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:92:13",className:"w-44 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(y,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:92:87"})}),e.jsx(S,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:93:13",className:"bg-slate-800 border-slate-700",children:A.map(s=>e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:94:42",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(v,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:97:11",value:l,onValueChange:B,children:[e.jsx(C,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:98:13",className:"w-36 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(y,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:98:87",placeholder:"所有命名空间"})}),e.jsxs(S,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:99:13",className:"bg-slate-800 border-slate-700",children:[e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:100:15",value:"all",className:"text-xs",children:"所有命名空间"}),$.map(s=>e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:101:36",value:s,className:"text-xs",children:s},s))]})]}),e.jsxs(W,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:104:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:h,disabled:m,children:[e.jsx(K,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:105:13",className:`h-3 w-3 mr-1 ${m?"animate-spin":""}`}),"刷新"]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:111:7",className:"grid grid-cols-3 gap-3",children:[e.jsx(i,{"code-path":"src/components/kubernetes/PodMeLine truncated
@@ -0,0 +1 @@
import{a as ee,r as t,j as e,S as se,I as u,B as j,L as O,M as ae,D as oe,b as te,c as ce,d as ne,e as re,f as le}from"./index-DfyorCky.js";import{L as i}from"./label-BK0h2apY.js";import{B as A}from"./badge-xNW8x0G1.js";import{C as V}from"./checkbox-CH0bpj6b.js";import{T as de,a as ie,b as H,c as r,d as pe,e as l}from"./table-5sHV4Akp.js";import{S as y,a as C,b as w,c as S,d as R}from"./select-D5qUzdAs.js";import{r as M}from"./server-CjDPBaTN.js";import{t as N}from"./index-a3ybMjbR.js";import{P as ge}from"./plus-CUG-9kpu.js";import{T as $}from"./trash-2-Dx32pOzT.js";import{C as xe}from"./circle-check-DWcXrx2k.js";import{C as he}from"./circle-x-DK79Dhg2.js";import{P as me}from"./pencil-BqUotcjf.js";import"./index-CWVNW_qu.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 Le(){const D=ee(),[T,L]=t.useState([]),[F,P]=t.useState(!0),[f,Q]=t.useState(""),[b,W]=t.useState("all"),[c,d]=t.useState([]),[X,p]=t.useState(!1),[g,I]=t.useState(null),[B,z]=t.useState(!1),[a,n]=t.useState({name:"",code:"",provider:"aliyun",location:"",status:"active",endpoint:""}),x=t.useCallback(async()=>{P(!0);try{const o=(await M.list())?.list||[];L(o)}catch{L([])}finally{P(!1)}},[]);t.useEffect(()=>{x()},[x]);const h=T.filter(s=>{const o=s.name?.toLowerCase().includes(f.toLowerCase())||s.code?.toLowerCase().includes(f.toLowerCase()),v=b==="all"||s.provider===b;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=()=>{I(null),n({name:"",code:"",provider:"aliyun",location:"",status:"active",endpoint:""}),p(!0)},K=s=>{I(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:185:5",className:"p-6 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:187:7",className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:188:9",className:"flex items-center gap-3 flex-1",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:189:11",className:"relative w-72",children:[e.jsx(se,{"code-path":"src/components/cloud/RegionManager.tsx:190:13",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(u,{"code-path":"src/components/cloud/RegionManager.tsx:191:13",placeholder:"搜索区域名称或编码...",value:f,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:198:11",value:b,onValueChange:W,children:[e.jsx(C,{"code-path":"src/components/cloud/RegionManager.tsx:199:13",className:"w-32 h-9 bg-slate-800/50 border-slate-700",children:e.jsx(w,{"code-path":"src/components/cloud/RegionManager.tsx:200:15"})}),e.jsxs(S,{"code-path":"src/components/cloud/RegionManager.tsx:202:13",children:[e.jsx(R,{"code-path":"src/components/cloud/RegionManager.tsx:203:15",value:"all",children:"全部云商"}),Object.entries(k).map(([s,o])=>e.jsx(R,{"code-path":"src/components/cloud/RegionManager.tsx:205:17",value:s,children:o},s))]})]})]}),e.jsxs(j,{"code-path":"src/components/cloud/RegionManager.tsx:210:9",onClick:J,className:"gap-2",children:[e.jsx(ge,{"code-path":"src/components/cloud/RegionManager.tsx:211:11",className:"h-4 w-4"}),"添加区域"]})]}),c.length>0&&e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:218: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:219:11",className:"text-sm text-slate-300",children:["已选择 ",e.jsx("span",{"code-path":"src/components/cloud/RegionManager.tsx:220:17",className:"font-semibold text-slate-100",children:c.length})," 个区域"]}),e.jsxs("div",{"code-paLine truncated
@@ -0,0 +1,17 @@
import{j as t,a3 as Z,L as $,x as Lt,D as P,b as B,c as O,d as A,e as I,I as D,f as V,B as p,F as tt,a2 as et,U as _t,R as ot,H as zt,a as $t,r as i,S as Pt}from"./index-DfyorCky.js";import{S as st,a as at,b as ct,c as nt,d as z}from"./select-D5qUzdAs.js";import{T as Bt,a as Ot,b as J,c as K}from"./tabs-CIh_yD4s.js";import{C as rt}from"./checkbox-CH0bpj6b.js";import{t as l}from"./index-a3ybMjbR.js";import{s as j,t as At}from"./automation-mtL167W_.js";import{B as N}from"./badge-xNW8x0G1.js";import{C as It}from"./circle-x-DK79Dhg2.js";import{L as b}from"./label-BK0h2apY.js";import{T as Vt}from"./textarea-NXY8u32k.js";import{S as it}from"./square-pen-BxUFAe0F.js";import{C as pt,b as Rt,c as Ht,d as qt,a as lt}from"./card-C55cvSHg.js";import{P as Qt}from"./play-cdPayOtJ.js";import{C as Ut}from"./copy-DXW4LnkN.js";import{T as mt}from"./trash-2-Dx32pOzT.js";import{P as Xt}from"./plus-CUG-9kpu.js";import"./index-CWVNW_qu.js";function Gt(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:66: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:78:14",variant:"outline",className:"gap-1",children:[t.jsx(Lt,{"code-path":"src/components/automation/script-helpers.tsx:78:57",className:"w-3 h-3"}),"等待中"]});case"running":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:80:14",variant:"default",className:"bg-blue-500 gap-1",children:[t.jsx($,{"code-path":"src/components/automation/script-helpers.tsx:80:69",className:"w-3 h-3 animate-spin"}),"执行中"]});case"success":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:82:14",variant:"default",className:"bg-green-600 gap-1",children:[t.jsx(Z,{"code-path":"src/components/automation/script-helpers.tsx:82:70",className:"w-3 h-3"}),"成功"]});case"failed":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:84:14",variant:"destructive",className:"gap-1",children:[t.jsx(It,{"code-path":"src/components/automation/script-helpers.tsx:84:61",className:"w-3 h-3"}),"失败"]});default:return t.jsx(N,{"code-path":"src/components/automation/script-helpers.tsx:86:14",variant:"secondary",children:o||"未知"})}}const Jt=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:C})=>t.jsx(P,{"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(O,{"code-path":"src/components/automation/ScriptFormDialog.tsx:40:9",children:[t.jsx(A,{"code-path":"src/components/automation/ScriptFormDialog.tsx:41:11",children:s!==null?"编辑脚本":"新建脚本"}),t.jsx(I,{"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(b,{"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(b,{"code-path":"src/components/automation/ScriptFormDialog.tsx:55:15",children:"类型"}),t.jsxs(st,{"code-path":"src/components/automation/ScriptFormDialog.tsx:56:15",value:m.type,onValueChange:f,children:[t.jsx(at,{"code-path":"src/components/automation/ScriptFormDialog.tsx:57:17",children:t.jsx(ct,{"code-path":"src/components/automation/ScriptFormDialog.tsx:57:32"})}),t.jsx(nt,{"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(b,{"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(b,{"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(b,{"code-path":"src/components/automation/ScriptFormDialog.tsx:86:17",children:"编码"}),t.jsx(D,{"code-path":"src/compone Line truncated
@@ -0,0 +1,11 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CHhHmizP.js","./index-DfyorCky.js","./index-1EStmE-w.css","./dashboard-BjQPIG2G.js","./server-CjDPBaTN.js","./kubernetes-J8O09fK7.js","./deploy-B3Sg3N1U.js","./automation-mtL167W_.js","./monitor-BAaBXIsC.js","./agent-DqqIRCQX.js","./cloud-Dzoer-2i.js","./system-BgtMMm0X.js","./ai-BTgmlP5Q.js"])))=>i.map(i=>d[i]);
import{g as He,j as e,q as Ee,A as Fr,r as t,aT as kr,D as Te,b as Re,c as Ue,d as Me,e as Be,s as xr,P as $e,M as Ge,a3 as ar,a9 as ge,n as _e,B as g,S as ir,I as H,$ as Oe,f as Je,W as vr,X as Se,a5 as fe,t as hr,L as Le,af as Er,ac as _r,ak as Tr,ae as Qe,ah as Rr,ad as Mr,ag as Br,aw as Pr,h as Ar,a4 as $r,N as Or,H as cr,aK as gr,aL as ur,aM as Sr,aN as br,aO as Ke,aP as we,a as zr}from"./index-DfyorCky.js";import{C as me,a as xe}from"./card-C55cvSHg.js";import{C as ue}from"./checkbox-CH0bpj6b.js";import{b as ze,e as re,T as Lr,a as Hr,c as le,d as Ur}from"./table-5sHV4Akp.js";import{S as Ce,a as Ie,b as Fe,c as ke,d as O}from"./select-D5qUzdAs.js";import{s as se,r as Dr}from"./server-CjDPBaTN.js";import{R as Vr}from"./rotate-cw-5qcj_h_q.js";import{t as V}from"./index-a3ybMjbR.js";import{B as A}from"./badge-xNW8x0G1.js";import{c as ye}from"./cloud-Dzoer-2i.js";import{R as pe}from"./refresh-cw-DUB_tAG-.js";import{x as Wr,a as Gr}from"./xterm-DSqgeKvr.js";import{c as jr,s as Kr}from"./deploy-B3Sg3N1U.js";import{M as qr,a as Jr}from"./minimize-2-CiCQYRfn.js";import{F as Nr}from"./folder-open-IMBifk-r.js";import{U as Xe}from"./upload-Ba6rlaGS.js";import{a as nr,F as Qr}from"./folder-DoMwqvzv.js";import{A as Xr}from"./arrow-left-BDgGyrD0.js";import{D as Ye}from"./download-DoZfYs2h.js";import{T as Ze}from"./trash-2-Dx32pOzT.js";import{L}from"./label-BK0h2apY.js";import{T as dr}from"./textarea-NXY8u32k.js";import{S as Yr}from"./save-DoGGjfwC.js";import{H as Zr}from"./hard-drive-BbPmnARR.js";import{E as es}from"./ellipsis-DU5enAwm.js";import{S as rs}from"./square-pen-BxUFAe0F.js";import{P as ss}from"./plus-CUG-9kpu.js";import"./index-CWVNW_qu.js";const ts=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],er=He("chevron-left",ts);const os=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],qe=He("file-spreadsheet",os);const as=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],cs=He("folder-plus",as);const ns=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],ds=He("power",ns);function ls({servers:s}){const m=s.filter(o=>o.status==="running").length,a=s.filter(o=>o.status==="maintenance").length,c=s.filter(o=>o.status==="stopped").length;return e.jsxs("div",{"code-path":"src/components/server/ServerStatsCards.tsx:15:5",className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[e.jsx(me,{"code-path":"src/components/server/ServerStatsCards.tsx:16:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(xe,{"code-path":"src/components/server/ServerStatsCards.tsx:17:9",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/server/ServerStatsCards.tsx:18:11",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ServerStatsCards.tsx:19:13",children:[e.jsx("p",{"code-path":"src/components/server/ServerStatsCards.tsx:20:15",className:"text-sm text-[var(--dg-text-muted)]",children:"服务器总数"}),e.jsx("p",{"code-path":"src/components/server/ServerStatsCards.tsx:21:15",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:s.length})]}),e.jsx("div",{"code-path":"src/components/server/ServerStatsCards.tsx:23:13",className:"p-3 rounded-lg bg-[var(--dg-blue)]/10 text-[var(--dg-blue)]",children:e.jsx(Ee,{"code-path":"src/components/server/ServerStatsCards.tsx:24:15",className:"h-5 w-5"})})]})})}),e.jsx(me,{"code-path":"src/components/server/ServerStatsCards.tsx:29:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(xe,{"code-path":"src/components/server/ServerStatsCards.tsx:30:9",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/server/ServerStatsCards.tsx:31:11",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ServerStatsCards.tsx:32:13",children:[e.jsx("p",{"code-path":"src/components/server/ServerStatsCards.tsx:33:15",className:"text-sm text-[var(--dg-text-muted)]",children:"运行中"}),e.jsx("p",{"code-path":"src/components/server/ServerStatsCards.tsx:34:15",className:"text-2xl font-bold text-emerald-400",children:m})]}),e.jsx("div",{"code-path":"src/components/server/ServerStatsCards.tsx:36:13",className:"p-3 rounded-lg bg-emerald-500/10 text-emerald-400",children:e.jsx(Fr,{"code-path":"src/components/server/ServerStatsCards.tsx:37:15",className:"h-5 w-5"})})]})})}),e.jsx(me,{"code-path":"src/components/server/ServerStatsCards.tsx:42:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(xeLine truncated
\x1B[31m[连接已关闭]\x1B[0m\r
`)},B.onerror=()=>{d.write(`\r
\x1B[31m[连接发生错误]\x1B[0m\r
`)},()=>{try{B.close(),d.dispose()}catch{}j.current=null,x.current=null,I(!1)}},[s,a,k]),t.useEffect(()=>{if(!s)return;const d=b.current;if(!d)return;let S;const _=new ResizeObserver(()=>{clearTimeout(S),S=setTimeout(()=>{if(w.current&&j.current&&x.current)try{w.current.fit(),j.current.focus();const{cols:J,rows:W}=j.current;x.current.readyState===WebSocket.OPEN&&x.current.send(JSON.stringify({status:1,cols:J,rows:W}))}catch{}},60)});return _.observe(d),()=>{clearTimeout(S),_.disconnect()}},[s]),e.jsx(Te,{"code-path":"src/components/server/TerminalDialog.tsx:196:5",open:s,onOpenChange:m,children:e.jsxs(Re,{"code-path":"src/components/server/TerminalDialog.tsx:197:7",showCloseButton:!1,className:Se("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",n?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:n?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"900px",width:"90vw"},children:[e.jsxs(Me,{"code-path":"src/components/server/TerminalDialog.tsx:209:9",className:"sr-only",children:["终端 - ",c]}),e.jsx(Be,{"code-path":"src/components/server/TerminalDialog.tsx:210:9",className:"sr-only",children:"SSH 终端连接"}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:212: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:213:11",className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{"code-path":"src/components/server/TerminalDialog.tsx:214:13",className:Se("w-2 h-2 rounded-full",N?"bg-emerald-400":"bg-red-400")}),e.jsx("span",{"code-path":"src/components/server/TerminalDialog.tsx:215:13",className:"text-[var(--dg-text-primary)] font-medium",children:c}),e.jsxs("span",{"code-path":"src/components/server/TerminalDialog.tsx:216:13",className:"text-[var(--dg-text-muted)]",children:["(",o,")"]})]}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:218:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/server/TerminalDialog.tsx:219:13",onClick:()=>y(!n),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:n?e.jsx(qr,{"code-path":"src/components/server/TerminalDialog.tsx:223:29",className:"h-4 w-4"}):e.jsx(Jr,{"code-path":"src/components/server/TerminalDialog.tsx:223:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/server/TerminalDialog.tsx:225:13",onClick:()=>m(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(fe,{"code-path":"src/components/server/TerminalDialog.tsx:229:15",className:"h-4 w-4"})})]})]}),!k&&e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:235:11",className:"p-6 flex flex-col items-center justify-center gap-4",style:{height:"480px"},children:[e.jsx(hr,{"code-path":"src/components/server/TerminalDialog.tsx:236:13",className:"h-12 w-12 text-amber-400"}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:237:13",className:"text-center",children:[e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:238:15",className:"text-[var(--dg-text-primary)] font-medium mb-1",children:"服务器未配置认证凭据"}),e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:239:15",className:"text-sm text-[var(--dg-text-muted)]",children:"请选择一个凭据用于 SSH 连接"})]}),F.length===0?e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:242:15",className:"text-xs text-[var(--dg-text-muted)]",children:"暂无可用凭据,请先去「凭证配置」添加"}):e.jsxs("select",{"code-path":"src/components/server/TerminalDialog.tsx:244:15",value:u,onChange:d=>f(d.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:249:17",value:"",children:"-- 选择凭据 --"}),F.map(d=>e.jsxs("option",{"code-path":"src/components/server/TerminalDialog.tsx:251:19",value:String(d.id),children:[d.type==="ssh_key"?"🔑":"🔒"," ",d.name]},d.id))]}),e.jsx(g,{"code-path":"src/components/server/TerminalDialog.tsx:257:13",onClick:$,disabled:!u||h,className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",children:h?"关联中...":"确认连接"})]}),k&&e.jsx("div",{"code-path":"src/components/server/TerminalDialog.tsx:268:11",ref:b,className:"bg-[#0a0e14]",style:{height:n?"calc(100vh - 49px)":"480px"}})]})})}const is=s=>s<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1048576).toFixed(2)} MB`;function vs({open:s,onOpenChange:m,serverId:a,serverName:c}){const[o,i]=t.useState([]),[b,j]=t.useState([]),[x,w]=t.useState("/"),[N,I]=t.useState(!1),[n,y]=t.useState(""),[F,T]=t.useState(!1),u=t.useRef(null),f=t.useCallback(async d=>{if(a){I(!0),y(" Line truncated
`).replace(/\r/g,`
`).split(`
`).filter(o=>o.trim());if(m.length<2)return[];const a=lr(m[0]).map(o=>o.toLowerCase()),c=[];for(let o=1;o<m.length;o++){const i=lr(m[o]),b={};a.forEach((j,x)=>{b[j]=i[x]??""}),c.push(b)}return c}function gs(s){return/^(\d{1,3}\.){3}\d{1,3}$/.test(s)&&s.split(".").every(m=>Number(m)>=0&&Number(m)<=255)}function us(){const s=["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(`
`),m=new Blob(["\uFEFF"+s],{type:"text/csv;charset=utf-8;"}),a=URL.createObjectURL(m),c=document.createElement("a");c.href=a,c.download="servers-template.csv",c.click(),URL.revokeObjectURL(a)}function Ss({open:s,onClose:m}){const[a,c]=t.useState(1),[o,i]=t.useState(""),[,b]=t.useState("password"),[j,x]=t.useState(null),[w,N]=t.useState(!1),[I,n]=t.useState([]),[y,F]=t.useState([]),[T,u]=t.useState(!1),[f,h]=t.useState([]),[v,k]=t.useState(""),[z,$]=t.useState("22");t.useEffect(()=>{if(!s)return;let l=!1;return(async()=>{try{const[R,D]=await Promise.all([Dr.list(),jr.list()]);if(l)return;const ee=R?.list??[];F(ee.map(M=>({id:String(M.id??""),name:M.name??"",code:M.code??""}))),h(D?.list??[])}catch{l||(F([]),h([]))}})(),()=>{l=!0}},[s]);const d=async()=>{if(a===2&&j){N(!0);try{const l=await j.text(),R=hs(l);if(R.length===0){V.error("文件无有效数据,请使用模板格式(首行为表头)"),N(!1);return}const D=new Set,ee=R.map((M,te)=>{const G=(M.hostname??"").trim(),P=(M.ip??"").trim(),K={row:te+2,hostname:G,ip:P,port:Number(M.port)||22,username:(M.username??"").trim()||"root",os:M.os??"",cpu:Number(M.cpu)||0,memory:Number(M.memory)||0,disk:Number(M.disk)||0,tags:M.tags??"",status:"valid",message:"有效"},oe=[];G||oe.push("主机名缺失"),P?gs(P)||oe.push("IP格式错误"):oe.push("IP缺失");const ve=`${G}|${P}`;return G&&P&&D.has(ve)?oe.push("重复行"):D.add(ve),oe.length>0&&(K.status="error",K.message=oe.join("、")),K});n(ee),c(a+1)}catch{V.error("文件解析失败,请确认是 CSV 格式")}finally{N(!1)}}else c(a+1)},S=()=>{a>1&&c(a-1)},_=l=>{l.target.files&&l.target.files[0]&&x(l.target.files[0])},J=()=>{c(1),i(""),$("22"),k(""),x(null),n([])},W=async()=>{const l=I.filter(R=>R.status==="valid");if(l.length!==0){u(!0);try{const R=l.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})),ee=await se.batchCreate({servers:R,region_id:o||void 0,credential_id:v?Number(v):void 0,default_port:Number(z)||22})??{},M=ee.success??0,te=ee.skipped??0,G=ee.failed??0;V.success(`导入完成:成功 ${M},跳过 ${te},失败 ${G}`),J(),m()}catch(R){V.error(R?.message||"导入失败,请重试")}finally{u(!1)}}},B=()=>{m(),J()},U=I.filter(l=>l.status==="valid").length,Q=I.filter(l=>l.status==="warning").length,Z=I.filter(l=>l.status==="error").length,ie=[{id:1,title:"配置"},{id:2,title:"上传"},{id:3,title:"确认"}];return e.jsx(Te,{"code-path":"src/components/server/ExcelServerImport.tsx:278:5",open:s,onOpenChange:B,children:e.jsxs(Re,{"code-path":"src/components/server/ExcelServerImport.tsx:279:7",className:"max-w-3xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsxs(Ue,{"code-path":"src/components/server/ExcelServerImport.tsx:280:9",children:[e.jsx(Me,{"code-path":"src/components/server/ExcelServerImport.tsx:281:11",className:"text-xl",children:"CSV 批量导入服务器"}),e.jsx(Be,{"code-path":"src/components/server/ExcelServerImport.tsx:282:11",className:"sr-only",children:"通过 CSV 文件批量导入服务器资产"})]}),e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:286:9",className:"flex items-center justify-center mb-6",children:ie.map((l,R)=>e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:288:13",className:"flex items-center",children:[e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:289:15",className:`flex items-center justify-center w-8 h-8 rounded-full ${a===l.id?"bg-blue-600 text-white":a>l.id?"bg-emerald-600 text-white":"bg-[var(--dg-bg-secondary)] text-[var(--dg-text-muted)]"}`,children:a>l.id?e.jsx(ge,{"code-path":"src/components/server/ExcelServerImport.tsx:296:32",className:"h-4 w-4"}):l.id}),e.jsx("span",{"code-path":"src/components/server/ExcelServerImport.tsx:298:15",className:`ml-2 text-sm ${a===l.id?"text-[var(--dg-text-primary)]":"text-[var(--dg-text-muted)]"}`,children:l.title}),R<ie.length-1&&e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:302:17",className:"w-12 h-0.5 bg-[var(--dg-border)] mx-3"})]},l.id))}),a===1&&e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:310:11",className:"space-y-6",children:[e.jsx(me,{"code-path":"src/components/server/ExcelServerImport.tsx:312:13",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(xe,{"code-path":"src/components/server/ExcelServerImport.tsx:313:15",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:314:17",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:315:19",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:316:21",className:"w-10 h-10 rounded-lg bg-emerald-500/20 flex items-center justify-center",children:e.jsx(qe,{"code-path":"src/components/server/ExcelServerImpor Line truncated
`),Y=new Blob(["\uFEFF"+de],{type:"text/csv;charset=utf-8;"}),q=URL.createObjectURL(Y),ae=document.createElement("a");ae.href=q,ae.download=`servers_${new Date().toISOString().slice(0,10)}.csv`,ae.click(),URL.revokeObjectURL(q),V.success(`已导出 ${m.length} 台服务器`)},or=8;return e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:371:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:373:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:374:9",children:[e.jsx("h1",{"code-path":"src/components/server/ServerManager.tsx:375:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:"服务器管理"}),e.jsx("p",{"code-path":"src/components/server/ServerManager.tsx:376:11",className:"text-sm text-[var(--dg-text-muted)] mt-1",children:"管理云平台服务器资产"})]}),e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:378:9",className:"flex items-center gap-2",children:[e.jsxs(g,{"code-path":"src/components/server/ServerManager.tsx:379: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:()=>K(),children:[e.jsx(pe,{"code-path":"src/components/server/ServerManager.tsx:384:13",className:Se("h-4 w-4 mr-2",c&&"animate-spin")}),"刷新"]}),e.jsxs(g,{"code-path":"src/components/server/ServerManager.tsx:387: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:ne,children:[e.jsx(Ye,{"code-path":"src/components/server/ServerManager.tsx:392:13",className:"h-4 w-4 mr-2"}),"导出"]}),e.jsxs(gr,{"code-path":"src/components/server/ServerManager.tsx:395:11",children:[e.jsx(ur,{"code-path":"src/components/server/ServerManager.tsx:396:13",asChild:!0,children:e.jsxs(g,{"code-path":"src/components/server/ServerManager.tsx:397: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(Xe,{"code-path":"src/components/server/ServerManager.tsx:398:17",className:"h-4 w-4 mr-2"}),"批量导入"]})}),e.jsxs(Sr,{"code-path":"src/components/server/ServerManager.tsx:402: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:403:15",children:"选择导入方式"}),e.jsx(Ke,{"code-path":"src/components/server/ServerManager.tsx:404:15",className:"bg-[var(--dg-border)]"}),e.jsxs(we,{"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:()=>n(!0),children:[e.jsx(xr,{"code-path":"src/components/server/ServerManager.tsx:409:17",className:"h-4 w-4 mr-2 text-[var(--dg-blue)]"}),"云主机导入",e.jsx("span",{"code-path":"src/components/server/ServerManager.tsx:411:17",className:"ml-2 text-xs text-[var(--dg-text-muted)]",children:"从云平台同步"})]}),e.jsxs(we,{"code-path":"src/components/server/ServerManager.tsx:413:15",className:"hover:bg-[var(--dg-bg-hover)] cursor-pointer focus:bg-[var(--dg-bg-hover)] focus:text-[var(--dg-text-primary)]",onClick:()=>F(!0),children:[e.jsx(qe,{"code-path":"src/components/server/ServerManager.tsx:417:17",className:"h-4 w-4 mr-2 text-emerald-400"}),"CSV导入",e.jsx("span",{"code-path":"src/components/server/ServerManager.tsx:419:17",className:"ml-2 text-xs text-[var(--dg-text-muted)]",children:"hostname + IP 即可"})]})]})]}),e.jsxs(g,{"code-path":"src/components/server/ServerManager.tsx:423:11",className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",onClick:Ae,children:[e.jsx(ss,{"code-path":"src/components/server/ServerManager.tsx:427:13",className:"h-4 w-4 mr-2"}),"添加服务器"]})]})]}),e.jsx(ls,{"code-path":"src/components/server/ServerManager.tsx:434:7",servers:m}),e.jsx(me,{"code-path":"src/components/server/ServerManager.tsx:437:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(xe,{"code-path":"src/components/server/ServerManager.tsx:438:9",className:"p-0",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:440:11",className:"flex items-center justify-between flex-wrap gap-4 p-4",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:441:13",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:442:15",className:"relative w-64",children:[e.jsx(ir,{"code-path":"src/components/server/ServerManager.tsx:443:17",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/components/server/ServerManager.tsx:444:17",placeholder: Line truncated
@@ -0,0 +1,2 @@
import{r as o,u as q,j as s,D as X,b as G,c as Y,d as Z,a8 as le,e as ss,I as S,f as ms,B as i,P as qs,a3 as Js,N as Ws,L as Ns,S as Ne,U as re,t as Us,a as Xs,a4 as ve,aa as de,y as Vs,V as Te,E as pe,l as z,z as Le}from"./index-DfyorCky.js";import{T as De,a as fe,b as Hs,c as Ks}from"./tabs-CIh_yD4s.js";import{B as os}from"./badge-xNW8x0G1.js";import{C as xs,a as hs,b as Ss,c as js,d as us}from"./card-C55cvSHg.js";import{T as Ps,a as zs,b as J,c as U,d as Es,e as T}from"./table-5sHV4Akp.js";import{S as ws,a as Cs,b as Ms,c as Is,d as B}from"./select-D5qUzdAs.js";import{S as vs}from"./square-pen-BxUFAe0F.js";import{U as Qs}from"./upload-Ba6rlaGS.js";import{D as ie}from"./download-DoZfYs2h.js";import{C as Gs}from"./circle-x-DK79Dhg2.js";import{R as Ys}from"./refresh-cw-DUB_tAG-.js";import{P as Zs}from"./plus-CUG-9kpu.js";import{M as Ue,P as we}from"./phone-DgvWDdJl.js";import{T as se}from"./trash-2-Dx32pOzT.js";import{t as Q}from"./index-a3ybMjbR.js";import{T as Ce}from"./textarea-NXY8u32k.js";import{L as fs}from"./label-BK0h2apY.js";import{C as Me}from"./checkbox-CH0bpj6b.js";import{S as bs}from"./switch-CGiGgOnh.js";import{U as Ie}from"./user-plus-BwUWtcQl.js";import{H as ke}from"./history-D_9jPUQg.js";import"./index-CWVNW_qu.js";function Re({open:e,onOpenChange:r,editingUser:t,form:n,setForm:d,saving:x,onSubmit:D}){const[N,b]=o.useState([]);return o.useEffect(()=>{if(!e)return;let a=!1;return(async()=>{try{const u=await q.getRoles();if(a)return;const I=u?.list??[];b(I.map(L=>({id:String(L.id??""),name:L.name??L.code??""})))}catch{a||b([])}})(),()=>{a=!0}},[e]),s.jsx(X,{"code-path":"src/components/system/UserFormDialog.tsx:78:5",open:e,onOpenChange:r,children:s.jsxs(G,{"code-path":"src/components/system/UserFormDialog.tsx:79:7",className:"bg-slate-900 border-slate-800",children:[s.jsxs(Y,{"code-path":"src/components/system/UserFormDialog.tsx:80:9",children:[s.jsxs(Z,{"code-path":"src/components/system/UserFormDialog.tsx:81:11",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(le,{"code-path":"src/components/system/UserFormDialog.tsx:82:13",className:"h-5 w-5 text-blue-400"}),t?"编辑用户":"新建用户"]}),s.jsx(ss,{"code-path":"src/components/system/UserFormDialog.tsx:85:11",className:"text-slate-500",children:t?"修改用户信息":"创建新的系统用户"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:90:9",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:91:11",className:"grid grid-cols-2 gap-4",children:[s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:92:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:93:15",className:"text-xs text-slate-500",children:"用户名"}),s.jsx(S,{"code-path":"src/components/system/UserFormDialog.tsx:94:15",value:n.username,onChange:a=>d({...n,username:a.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:102:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:103:15",className:"text-xs text-slate-500",children:"昵称"}),s.jsx(S,{"code-path":"src/components/system/UserFormDialog.tsx:104:15",value:n.nickname,onChange:a=>d({...n,nickname:a.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:111:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:112:15",className:"text-xs text-slate-500",children:"邮箱"}),s.jsx(S,{"code-path":"src/components/system/UserFormDialog.tsx:113:15",value:n.email,onChange:a=>d({...n,email:a.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:120:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:121:15",className:"text-xs text-slate-500",children:"手机号"}),s.jsx(S,{"code-path":"src/components/system/UserFormDialog.tsx:122:15",value:n.phone,onChange:a=>d({...n,phone:a.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:129:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:130:15",className:"text-xs text-slate-500",children:"角色"}),s.jsxs(ws,{"code-path":"src/components/system/UserFormDialog.tsx:131:15",value:n.role,onValueChange:a=>d({...n,role:a}),children:[s.jsx(Cs,{"code-path":"src/components/system/UserFormDialog.tsx:132:17",className:"bg-slate-800/50Line truncated
`).filter(h=>h.trim()&&!h.startsWith(""));if(c.length<2)return;const K=c[0].split(",").map(h=>h.trim().toLowerCase()),is=K.findIndex(h=>h.includes("用户名")||h.includes("username")),Rs=K.findIndex(h=>h.includes("昵称")||h.includes("name")||h.includes("显示名")),Fs=K.findIndex(h=>h.includes("邮箱")||h.includes("email")||h.includes("mail")),Ls=K.findIndex(h=>h.includes("手机")||h.includes("phone")),_s=K.findIndex(h=>h.includes("角色")||h.includes("role")),ys=K.findIndex(h=>h.includes("密码")||h.includes("password")),gs=[];for(let h=1;h<c.length;h++){const ns=c[h].split(",").map(Os=>Os.trim());gs.push({username:is>=0?ns[is]:"",nickname:Rs>=0?ns[Rs]:"",email:Fs>=0?ns[Fs]:"",phone:Ls>=0?ns[Ls]:"",role:_s>=0?ns[_s]:"",password:ys>=0?ns[ys]:""})}$(gs),ts(null)},cs.readAsText(P,"UTF-8")},ps=async()=>{j.setImporting(!0);try{const l=await q.batchImport({users:g,skip_existing:!0});ts(l),await W()}catch(l){ts({code:500,message:l?.message||"导入失败"})}finally{j.setImporting(!1)}};return s.jsxs("div",{"code-path":"src/components/system/SystemManager.tsx:232:5",className:"space-y-6",children:[s.jsx("div",{"code-path":"src/components/system/SystemManager.tsx:234:7",className:"flex items-center justify-between",children:s.jsxs("div",{"code-path":"src/components/system/SystemManager.tsx:235:9",children:[s.jsx("h1",{"code-path":"src/components/system/SystemManager.tsx:236:11",className:"text-2xl font-bold text-slate-100",children:"系统管理"}),s.jsx("p",{"code-path":"src/components/system/SystemManager.tsx:237:11",className:"text-sm text-slate-500 mt-1",children:"用户、权限与系统配置"})]})}),s.jsxs(De,{"code-path":"src/components/system/SystemManager.tsx:242:7",value:n,onValueChange:d,className:"w-full",children:[s.jsxs(fe,{"code-path":"src/components/system/SystemManager.tsx:243:9",className:"bg-slate-800 border border-slate-700",children:[s.jsxs(Hs,{"code-path":"src/components/system/SystemManager.tsx:244:11",value:"users",className:"data-[state=active]:bg-slate-700",children:[s.jsx(de,{"code-path":"src/components/system/SystemManager.tsx:245:13",className:"h-4 w-4 mr-2"}),"用户管理"]}),s.jsxs(Hs,{"code-path":"src/components/system/SystemManager.tsx:248:11",value:"roles",className:"data-[state=active]:bg-slate-700",children:[s.jsx(Us,{"code-path":"src/components/system/SystemManager.tsx:249:13",className:"h-4 w-4 mr-2"}),"角色权限"]}),s.jsxs(Hs,{"code-path":"src/components/system/SystemManager.tsx:252:11",value:"settings",className:"data-[state=active]:bg-slate-700",children:[s.jsx(pe,{"code-path":"src/components/system/SystemManager.tsx:253:13",className:"h-4 w-4 mr-2"}),"系统设置"]})]}),s.jsx(Ks,{"code-path":"src/components/system/SystemManager.tsx:258:9",value:"users",className:"mt-4 space-y-4",children:s.jsx(Ae,{"code-path":"src/components/system/SystemManager.tsx:259:11",searchQuery:x,setSearchQuery:D,filteredUsers:ls,loading:a,selectedUser:I,setSelectedUser:L,getUserStatusBadge:as,dialogOpen:y,setDialogOpen:k,editingUser:f,form:C,setForm:_,saving:F,handleSubmit:V,openCreate:rs,openEdit:ds,handleDelete:v,importDialogOpen:p,setImportDialogOpen:O,importPreview:g,setImportPreview:$,importing:j.importing,importResult:es,setImportResult:ts,handleCsvUpload:H,handleBatchImport:ps,ldapUsers:j.ldapUsers,ldapSelected:j.ldapSelected,setLdapSelected:j.setLdapSelected,ldapLoading:j.ldapLoading,ldapImportOUs:j.ldapImportOUs,ldapImportOUDN:j.ldapImportOUDN,setLdapImportOUDN:j.setLdapImportOUDN,loadLdapUsers:j.loadLdapUsers,handleLdapImport:j.handleLdapImport,setLdapUsers:j.setLdapUsers})}),s.jsx(Ks,{"code-path":"src/components/system/SystemManager.tsx:299:9",value:"roles",className:"mt-4 space-y-4",children:s.jsx(Ee,{"code-path":"src/components/system/SystemManager.tsx:300:11",selectedRole:w,setSelectedRole:R})}),s.jsx(Ks,{"code-path":"src/components/system/SystemManager.tsx:306:9",value:"settings",className:"mt-4",children:s.jsx(Ve,{"code-path":"src/components/system/SystemManager.tsx:307:11",...j.settingsTabProps})})]})]})}export{gt as SystemManager};
@@ -0,0 +1 @@
import{g as Ue,j as e,q as Te,G as Fe,N as Je,p as Ge,s as de,O as Ke,i as qe,a as Ze,r as p,B as v,L as je,R as es,S as ss,I as Ve,D as Ne,b as ve,c as Se,d as Ce,e as Ee,f as ts}from"./index-DfyorCky.js";import{C as oe,a as ne,b as os,c as ns,d as as}from"./card-C55cvSHg.js";import{L as ae}from"./label-BK0h2apY.js";import{B as _e}from"./badge-xNW8x0G1.js";import{S as ce,a as re,b as le,c as ie,d as Z}from"./select-D5qUzdAs.js";import{T as cs}from"./textarea-NXY8u32k.js";import{k as _}from"./kubernetes-J8O09fK7.js";import{t as j}from"./index-a3ybMjbR.js";import{B as rs}from"./box-TTGA1p57.js";import{Z as ls}from"./zap-D2uWSK32.js";import{P as Me}from"./pencil-BqUotcjf.js";import{R as is}from"./refresh-cw-DUB_tAG-.js";import{P as ps}from"./plus-CUG-9kpu.js";import{S as ds}from"./save-DoGGjfwC.js";import{T as ms}from"./trash-2-Dx32pOzT.js";import"./index-CWVNW_qu.js";const us=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],$e=Ue("link-2",us),pe={cluster:"集群",loadbalancer:"Ingress",service:"Service",app:"Deployment",server:"Node",database:"数据库",external:"外部服务",custom:"自定义"},xs=[{value:"database",label:"数据库",desc:"MySQL / Redis / PostgreSQL 等"},{value:"external",label:"外部服务",desc:"外部 API / CDN / DNS 等"},{value:"custom",label:"自定义",desc:"其他自定义节点"}],X=u=>u.startsWith("custom-");function $(u,h="h-5 w-5"){switch(u){case"server":return e.jsx(Te,{"code-path":"src/components/kubernetes/topology-helpers.tsx:31:27",className:h});case"loadbalancer":return e.jsx(Ke,{"code-path":"src/components/kubernetes/topology-helpers.tsx:32:33",className:h});case"cluster":return e.jsx(de,{"code-path":"src/components/kubernetes/topology-helpers.tsx:33:28",className:h});case"app":return e.jsx(Ge,{"code-path":"src/components/kubernetes/topology-helpers.tsx:34:24",className:h});case"service":return e.jsx(Je,{"code-path":"src/components/kubernetes/topology-helpers.tsx:35:28",className:h});case"database":return e.jsx(Fe,{"code-path":"src/components/kubernetes/topology-helpers.tsx:36:29",className:h});case"external":return e.jsx(ls,{"code-path":"src/components/kubernetes/topology-helpers.tsx:37:29",className:h});case"custom":return e.jsx(rs,{"code-path":"src/components/kubernetes/topology-helpers.tsx:38:27",className:h});default:return e.jsx(Te,{"code-path":"src/components/kubernetes/topology-helpers.tsx:39:21",className:h})}}function ee(u){switch(u){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"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(u,h,D,Y,x){const V=[],l=[],z=Math.max(1,h.length,D.length,Y.length,x.length),L=Math.max(900,Math.min(z*130,2400)),r=[60,180,320,480,640],N=o=>{const i=Math.min(o,12);if(i===0)return[];if(i===1)return[L/2];const c=L/(i+1);return Array.from({length:i},(d,g)=>c*(g+1))},E=`cluster-${u.id}`;V.push({id:E,name:u.name||"集群",type:"cluster",x:L/2,y:r[0],data:{kind:"cluster",version:u.version,status:u.status,api_server:u.api_server,node_count:u.node_count,pod_count:u.pod_count}});const R=h.slice(0,12),B=N(R.length);R.forEach((o,i)=>{const c=`ingress-${o.id}`;V.push({id:c,name:o.name,type:"loadbalancer",x:B[i],y:r[1],data:{kind:"ingress",namespace:o.namespace,backend:o.backend,tls:o.tls,hosts:o.hosts}}),l.push({id:`e-${E}-${c}`,source:E,target:c,label:"route"})});const f=D.slice(0,12),A=N(f.length);f.forEach((o,i)=>{const c=`service-${o.id}`;V.push({id:c,name:o.name,type:"service",x:A[i],y:r[2],data:{kind:"service",namespace:o.namespace,type:o.type,cluster_ip:o.cluster_ip,external_ip:o.external_ip,selector:o.selector}})}),R.length>0&&f.length>0?R.forEach(o=>{const i=`ingress-${o.id}`,c=(o.backend||"").split(":")[0].trim();let d=f.filter(g=>g.name===c);d.length===0&&(d=f.filter(g=>g.namespace===o.namespace)),d.length===0&&(d=[f[0]]),d.forEach(g=>l.push({id:`e-${i}-service-${g.id}`,source:i,target:`service-${g.id}`,label:"→"}))}):f.length>0&&f.forEach(o=>l.push({id:`e-${E}-service-${o.id}`,source:E,target:`service-${o.id}`,label:"expose"}));const T=Y.slice(0,12),F=N(T.length);T.forEach((o,i)=>{const c=`deploy-${o.id}`;V.push({id:c,name:o.name,type:"app",x:F[i],y:r[3],data:{kind:"deployment",namespace:o.namespace,replicas:o.replicas,ready_replicas:o.ready_replicas,available_replicas:o.available_replicas,image:o.image}})}),f.length>0&&T.length>0&&f.forEach(o=>{const i=`s Line truncated
@@ -0,0 +1 @@
import{r,j as e,A as ge,$ as z,x as H,S as Te,I as ue,B as y,U as je,K as Me,D as K,b as Q,c as U,d as Z,a0 as Ne,e as G,a1 as w,a2 as fe,a3 as ve,a4 as ye,n as we,q as be}from"./index-DfyorCky.js";import{B as N}from"./badge-xNW8x0G1.js";import{C as p,a as x,b,c as S}from"./card-C55cvSHg.js";import{S as C,a as D,b as I,c as L,d as n}from"./select-D5qUzdAs.js";import{T as Se,a as Ce,b as R,c as A}from"./tabs-CIh_yD4s.js";import{L as s}from"./label-BK0h2apY.js";import{t as B}from"./index-a3ybMjbR.js";import{t as F}from"./monitor-BAaBXIsC.js";import{L as De}from"./layers-FW4KKJMi.js";import{R as Ie}from"./refresh-cw-DUB_tAG-.js";import{T as Le}from"./trending-up-CdusV6gc.js";import{C as Re}from"./circle-x-DK79Dhg2.js";import{C as Ae}from"./code-L62jFLTC.js";import{B as Be}from"./box-TTGA1p57.js";import{Z as Fe}from"./zap-D2uWSK32.js";import{A as Oe}from"./arrow-right-DyIltvNZ.js";import"./index-CWVNW_qu.js";const _e=()=>{const[O,J]=r.useState([]),[l,X]=r.useState([]),[W,k]=r.useState(!1),[f,Y]=r.useState(""),[g,_]=r.useState("all"),[T,ee]=r.useState("all"),[u,ae]=r.useState("1h"),[te,re]=r.useState("traces"),[m,ce]=r.useState(null),[o,se]=r.useState(null),[oe,E]=r.useState(!1),[ne,$]=r.useState(!1);r.useEffect(()=>{me()},[u]);const me=async()=>{await Promise.all([P(),de()])},P=async()=>{k(!0);try{const a=await F.getTraces({timeRange:u,service:g,status:T});J(a.data||[])}catch{B.error("获取链路数据失败")}finally{k(!1)}},de=async()=>{try{const a=await F.getServices(u);X(a.data||[])}catch{B.error("获取服务数据失败")}},ie=async a=>{try{return(await F.getTraceDetail(a)).data}catch{return B.error("获取链路详情失败"),null}},v=a=>{switch(a){case"success":return e.jsxs(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:140:16",variant:"default",className:"bg-green-500 gap-1",children:[e.jsx(ve,{"code-path":"src/components/monitor/trace/TraceManager.tsx:140:72",className:"w-3 h-3"}),"成功"]});case"error":return e.jsxs(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:142:16",variant:"destructive",className:"gap-1",children:[e.jsx(Re,{"code-path":"src/components/monitor/trace/TraceManager.tsx:142:63",className:"w-3 h-3"}),"错误"]});case"pending":return e.jsxs(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:144:16",variant:"outline",className:"gap-1",children:[e.jsx(H,{"code-path":"src/components/monitor/trace/TraceManager.tsx:144:59",className:"w-3 h-3"}),"进行中"]});default:return e.jsx(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:146:16",variant:"secondary",children:"未知"})}},pe=a=>{switch(a){case"client":return e.jsx(Oe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:152:29",className:"w-4 h-4"});case"server":return e.jsx(be,{"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(Be,{"code-path":"src/components/monitor/trace/TraceManager.tsx:155:31",className:"w-4 h-4"});default:return e.jsx(Ae,{"code-path":"src/components/monitor/trace/TraceManager.tsx:156:23",className:"w-4 h-4"})}},xe=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=O.filter(a=>{const t=a.traceId.toLowerCase().includes(f.toLowerCase())||a.operationName.toLowerCase().includes(f.toLowerCase()),i=g==="all"||a.serviceName===g,c=T==="all"||a.status===T;return t&&i&&c}),le=Array.from(new Set(O.map(a=>a.serviceName))),he=a=>{const t=new Map,i=[];return a.forEach(c=>{t.set(c.spanId,{...c,children:[]})}),a.forEach(c=>{const j=t.get(c.spanId);if(c.parentSpanId&&t.has(c.parentSpanId)){const h=t.get(c.parentSpanId);h.children=h.children||[],h.children.push(j)}else i.push(j)}),i},q=({span:a,level:t,totalDuration:i})=>{const[c,j]=r.useState(!0),h=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:()=>{se(a),$(!0)},children:[a.children?.length>0&&e.jsx(y,{"code-path":"src/components/monitor/trace/TraceManager.tsx:222:13",variant:"ghost",size:"sm",className:"h-4 w-4 p-0 mr-1",onClick:M=>{M.stopPropagation(),j(!c)},children:c?e.jsx(ye,{"code-path":"src/components/monitor/trace/TraceManager.tsx:228:27",className:"w-3 h-3"}):e.jsx(we,{"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/compoLine truncated
@@ -0,0 +1 @@
import{g as R,a as F,r as o,j as e,B as t,L as I,aa as w,t as O,I as u,D as T,b as _,c as A,d as H}from"./index-DfyorCky.js";import{B as $}from"./badge-xNW8x0G1.js";import{L as y}from"./label-BK0h2apY.js";import{t as a}from"./index-a3ybMjbR.js";import{d as n}from"./deploy-B3Sg3N1U.js";import{R as q}from"./refresh-cw-DUB_tAG-.js";import{P as K}from"./plus-CUG-9kpu.js";import{P as X}from"./pencil-BqUotcjf.js";import{T as J}from"./trash-2-Dx32pOzT.js";import{U as Q}from"./user-plus-BwUWtcQl.js";const V=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]],W=R("user-x",V);function de(){const g=F(),[G,k]=o.useState([]),[C,M]=o.useState(!0),[S,D]=o.useState({}),[z,p]=o.useState(!1),[l,U]=o.useState(null),[i,m]=o.useState(""),[x,h]=o.useState(""),[j,v]=o.useState(!1),[f,N]=o.useState({}),c=async()=>{M(!0);try{const s=await n.getGroups();k(s?.list||[])}catch{a.error("加载失败")}finally{M(!1)}};o.useEffect(()=>{c()},[]);const E=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("添加失败")}},P=async(s,r,d)=>{if(await g({title:"移除成员",description:`确定从组中移除「${d}」?`}))try{await n.removeGroupMember(s,r),a.success("已移除"),c()}catch{a.error("移除失败")}},B=s=>D(r=>({...r,[s]:!r[s]}));return e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:81:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:82:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:83:9",children:[e.jsx("h2",{"code-path":"src/components/deploy/UserGroupsManager.tsx:84:11",className:"text-lg font-semibold text-[var(--dg-text-primary)]",children:"用户组管理"}),e.jsx("p",{"code-path":"src/components/deploy/UserGroupsManager.tsx:85:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"创建用户组,将组授权给流水线,组内成员自动获得流水线权限"})]}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:87:9",className:"flex items-center gap-2",children:[e.jsxs(t,{"code-path":"src/components/deploy/UserGroupsManager.tsx:88:11",variant:"outline",size:"sm",onClick:c,children:[e.jsx(q,{"code-path":"src/components/deploy/UserGroupsManager.tsx:88:68",className:"w-4 h-4 mr-1"}),"刷新"]}),e.jsxs(t,{"code-path":"src/components/deploy/UserGroupsManager.tsx:89:11",size:"sm",onClick:()=>{U(null),m(""),h(""),p(!0)},children:[e.jsx(K,{"code-path":"src/components/deploy/UserGroupsManager.tsx:90:13",className:"w-4 h-4 mr-1"}),"新建用户组"]})]})]}),C?e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:96:9",className:"flex justify-center py-12",children:e.jsx(I,{"code-path":"src/components/deploy/UserGroupsManager.tsx:96: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:98:9",className:"text-center py-12 text-[var(--dg-text-secondary)]",children:[e.jsx(w,{"code-path":"src/components/deploy/UserGroupsManager.tsx:99:11",className:"w-10 h-10 mx-auto mb-3 opacity-30"}),e.jsx("p",{"code-path":"src/components/deploy/UserGroupsManager.tsx:100:11",children:"暂无用户组,点击「新建用户组」创建"})]}):e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:103:9",className:"space-y-3",children:G.map(s=>e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:105: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:106:15",className:"flex items-center justify-between p-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:107:17",className:"flex items-center gap-3",style:{cursor:"pointer"},onClick:()=>B(s.id),children:[e.jsx(O,{"code-path":"src/components/deploy/UserGroupsManager.tsx:108:19",className:"w-5 h-5 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:109:19",children:[e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:110:21",className:"font-medium text-Line truncated
@@ -0,0 +1,2 @@
import{i as Ue,k as Te,z as Re,r as d,j as e,B as x,p as ne,R as Le,F as $e,E as Ae,G as Me,v as he,A as ze,H as Be}from"./index-DfyorCky.js";import{C as V,a as W,b as y,c as S}from"./card-C55cvSHg.js";import{B as j}from"./badge-xNW8x0G1.js";import{T as ce,a as le,b as C,c as h,d as de,e as i}from"./table-5sHV4Akp.js";import{k as U}from"./kubernetes-J8O09fK7.js";import{u as Oe}from"./use-toast-CrSOP4cJ.js";import{Y as ie,S as w,f as me,s as I,P as Fe,a as He}from"./PodFileBrowser-BySN2XGN.js";import{A as _e}from"./arrow-left-BDgGyrD0.js";import{T as Ye}from"./tag-0HCfq8kH.js";import{H as De}from"./hard-drive-BbPmnARR.js";import{M as Ee}from"./minus-UVrx3jLc.js";import{P as Ie}from"./plus-CUG-9kpu.js";import"./copy-DXW4LnkN.js";import"./sparkles-Bld4NX5y.js";import"./save-DoGGjfwC.js";import"./select-D5qUzdAs.js";import"./index-CWVNW_qu.js";import"./xterm-DSqgeKvr.js";import"./box-TTGA1p57.js";import"./rotate-cw-5qcj_h_q.js";import"./minimize-2-CiCQYRfn.js";import"./upload-Ba6rlaGS.js";import"./refresh-cw-DUB_tAG-.js";import"./folder-DoMwqvzv.js";import"./download-DoZfYs2h.js";function n({label:t,value:m,sub:P,color:u}){return e.jsx(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:28:5",className:"bg-slate-900 border-slate-800",children:e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:29:7",className:"p-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:30:9",className:"text-xs text-slate-500",children:t}),e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:31:9",className:"text-base font-bold mt-0.5",style:{color:u||"#e2e8f0"},children:m}),P&&e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:32:17",className:"text-[10px] text-slate-600 mt-0.5",children:P})]})})}function pe({labels:t}){const m=Object.entries(t||{});return m.length===0?e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:41:36",className:"text-xs text-slate-600",children:"无"}):e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:43:5",className:"flex flex-wrap gap-1.5",children:m.map(([P,u])=>e.jsxs(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:45:9",variant:"outline",className:"border-slate-700 text-slate-400 text-[10px] font-mono",children:[P,"=",u]},P))})}function gs(){const t=Ue(),m=Te(),P=Re(),{toast:u}=Oe(),o=t.clusterCode||"",r=t.namespace||"",c=t.name||"",p=P.pathname.includes("/DaemonSet/")?"DaemonSet":"StatefulSet",T=t.mode==="yaml"?"yaml":"view",[N,ke]=d.useState(null),[R,ue]=d.useState([]),[be,J]=d.useState(!0),[ge,L]=d.useState(!1),[v,F]=d.useState(1),[$,A]=d.useState(!1),[H,q]=d.useState(null),[_,G]=d.useState(null),[we,K]=d.useState(!1),M=d.useCallback(async()=>{J(!0);try{const[s,l]=await Promise.all([U.getResourceYaml(o,r,p.toLowerCase()+"s",c).catch(()=>""),U.getPods(o).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);ke(f);const E=(Array.isArray(l)?l:l?.list||l?.data||[]).filter(O=>{const Ce=O.name||O.metadata?.name||"",re=O.namespace||O.namespace_name||"";return Ce.startsWith(c)&&(!re||re===r)});ue(E)}catch(s){console.error("load error",s)}finally{J(!1)}},[o,r,c,p]);d.useEffect(()=>{M()},[M]);const Q=s=>{s!==T&&m(`/kubernetes/${o}/namespace/${r}/workload/${s}/${p}/${c}`,{replace:!0})},je=async()=>{if(confirm(`确认重启 ${p} ${c}?
将触发滚动重启。`)){A(!0);try{p==="StatefulSet"?await U.restartStatefulSet(o,r,c):await U.restartDaemonSet(o,r,c),u({title:"重启指令已下发",description:`${p} 滚动重启已触发`}),setTimeout(M,1e3)}catch(s){u({title:"重启失败",description:s?.message||String(s),variant:"destructive"})}finally{A(!1)}}},Pe=async()=>{A(!0);try{await U.scaleStatefulSet(o,r,c,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||[],z=k.replicas??1,ee=b.readyReplicas??0,Ve=b.currentReplicas??0,We=b.updatedReplicas??0,Y=b.desiredNumberScheduled??0,Ne=b.currentNumberScheduled??0,se=b.numberReady??0,fe=b.numberAvailable??0,ve=b.updatedNumberScheduled??0,g=p==="StatefulSet",B=g?ee===z&&z>0:se===Y&&Y>0,a=k.updateStrategy||{},D=a.type||"RollingUpdate",te=k.volumeClaimTemplates||[],ye=k.selector?.matchLabels||{},Se=N?.metadata?.labels||{},ae=N?.metadata?.annotations||{};return e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:183:5",className:"p-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:185:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:186:9",className:"flex items-center gap-3",children:[e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:187:11",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-slate-200",onClick:()=>m(-1),children:e.jsx(_e,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:188:13",className:"h-4 w-4"})}),e.jsx(ne,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:190:11",className:"h-5 w-5 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:191:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:192:13",className:"flex items-center gap-2",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:193:15",className:"text-lg font-bold text-slate-100",children:c}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:194:15",variant:"outline",className:"border-slate-700 text-slate-400",children:p}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:195:15",variant:"outline",className:"border-slate-700 text-slate-400",children:r}),B?e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:197:19",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:"健康"}):e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:198:19",className:"bg-amber-500/20 text-amber-400 border-amber-500/30",children:"更新中"})]}),e.jsxs("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:200:13",className:"text-xs text-slate-500 mt-0.5",children:["集群: ",o]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:203:9",className:"flex items-center gap-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:205:11",className:"flex items-center gap-1 bg-slate-900 border border-slate-800 rounded-lg p-0.5",children:[e.jsx("button",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:206:13",className:`px-3 py-1 text-xs rounded transition-colors ${T==="view"?"bg-blue-500/20 text-blue-400":"text-slate-400 hover:text-slate-200"}`,onClick:()=>Q("view"),children:"查看"}),e.jsx("button",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:210:13",className:`px-3 py-1 text-xs rounded transition-colors ${T==="yaml"?"bg-blue-500/20 text-blue-400":"text-slate-400 hover:text-slate-200"}`,onClick:()=>Q("yaml"),children:"YAML"})]}),g&&e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:217:13",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",onClick:()=>{F(z),L(!0)},children:[e.jsx(ne,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:219:15",className:"h-3.5 w-3.5 mr-1"}),"伸缩"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:222:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",disabled:$,onClick:je,children:[e.jsx(Le,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:224:13",className:"h-3.5 w-3.5 mr-1"}),$?"重启中...":"重启"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:226:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",onClick:()=>K(!0),children:[e.jsx($e,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:228:13",className:"h-3.5 w-3.5 mr-1"}),"YAML"]})]})]}),be?e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewP Line truncated
+1
View File
@@ -0,0 +1 @@
import{h as t}from"./index-DfyorCky.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
@@ -0,0 +1,4 @@
import{h as o,W as h}from"./index-DfyorCky.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};
@@ -0,0 +1 @@
import{g as o}from"./index-DfyorCky.js";const e=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],r=o("arrow-left",e);export{r as A};
@@ -0,0 +1 @@
import{g as o}from"./index-DfyorCky.js";const r=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],a=o("arrow-right",r);export{a as A};
@@ -0,0 +1 @@
import{g as o}from"./index-DfyorCky.js";const e=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],a=o("arrow-up-down",e);export{a as A};
@@ -0,0 +1 @@
import{h as e}from"./index-DfyorCky.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
@@ -0,0 +1 @@
import{j as n,Y as s,X as o,Z as d}from"./index-DfyorCky.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 v({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{v as B};
+1
View File
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const o=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],e=a("box",o);export{e as B};
+1
View File
@@ -0,0 +1 @@
import{j as r,X as s}from"./index-DfyorCky.js";function d({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:7:5","data-slot":"card",className:s("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...t})}function e({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:20:5","data-slot":"card-header",className:s("@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 c({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:33:5","data-slot":"card-title",className:s("leading-none font-semibold",a),...t})}function n({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:43:5","data-slot":"card-description",className:s("text-muted-foreground text-sm",a),...t})}function i({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:66:5","data-slot":"card-content",className:s("px-6",a),...t})}export{d as C,i as a,e as b,c,n as d};
@@ -0,0 +1 @@
import{r as i,j as o,ac as L,ad as O,ae as _,af as H,ag as N,ah as j,ai as X,X as G,a9 as K}from"./index-DfyorCky.js";import{u as U}from"./index-CWVNW_qu.js";var y="Checkbox",[$]=L(y),[J,I]=$(y);function Q(t){const{__scopeCheckbox:n,checked:c,children:l,defaultChecked:a,disabled:e,form:h,name:b,onCheckedChange:d,required:k,value:x="on",internal_do_not_use_render:u}=t,[p,v]=H({prop:c,defaultProp:a??!1,onChange:d,caller:y}),[m,C]=i.useState(null),[g,r]=i.useState(null),s=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:s,required:k,defaultChecked:f(a)?!1:a,isFormControl:E,bubbleInput:g,setBubbleInput:r};return o.jsx(J,{scope:n,...R,children:V(u)?u(R):l})}var w="CheckboxTrigger",S=i.forwardRef(({__scopeCheckbox:t,onKeyDown:n,onClick:c,...l},a)=>{const{control:e,value:h,disabled:b,checked:d,required:k,setControl:x,setChecked:u,hasConsumerStoppedPropagationRef:p,isFormControl:v,bubbleInput:m}=I(w,t),C=N(a,x),g=i.useRef(d);return i.useEffect(()=>{const r=e?.form;if(r){const s=()=>u(g.current);return r.addEventListener("reset",s),()=>r.removeEventListener("reset",s)}},[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(c,r=>{u(s=>f(s)?!0:!s),m&&v&&(p.current=r.isPropagationStopped(),p.current||r.stopPropagation())})})});S.displayName=w;var B=i.forwardRef((t,n)=>{const{__scopeCheckbox:c,name:l,checked:a,defaultChecked:e,required:h,disabled:b,value:d,onCheckedChange:k,form:x,...u}=t;return o.jsx(Q,{__scopeCheckbox:c,checked:a,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:c}),p&&o.jsx(A,{__scopeCheckbox:c})]})})});B.displayName=y;var M="CheckboxIndicator",T=i.forwardRef((t,n)=>{const{__scopeCheckbox:c,forceMount:l,...a}=t,e=I(M,c);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,...a,ref:n,style:{pointerEvents:"none",...t.style}})})});T.displayName=M;var q="CheckboxBubbleInput",A=i.forwardRef(({__scopeCheckbox:t,...n},c)=>{const{control:l,hasConsumerStoppedPropagationRef:a,checked:e,defaultChecked:h,required:b,disabled:d,name:k,value:x,form:u,bubbleInput:p,setBubbleInput:v}=I(q,t),m=N(c,v),C=U(e),g=X(l);i.useEffect(()=>{const s=p;if(!s)return;const E=window.HTMLInputElement.prototype,P=Object.getOwnPropertyDescriptor(E,"checked").set,D=!a.current;if(C!==e&&P){const F=new Event("click",{bubbles:D});s.indeterminate=f(e),P.call(s,f(e)?!1:e),s.dispatchEvent(F)}},[p,C,e,a]);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%)"}})});A.displayName=q;function V(t){return typeof t=="function"}function f(t){return t==="indeterminate"}function z(t){return f(t)?"indeterminate":t?"checked":"unchecked"}function Z({className:t,...n}){return o.jsx(B,{"code-path":"src/components/ui/checkbox.tsx:14:5","data-slot":"checkbox",className:G("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(T,{"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(K,{"code-path":"src/components/ui/checkbox.tsx:26:9",className:"size-3.5"})})})}export{Z as C};
+1
View File
@@ -0,0 +1 @@
import{g as c}from"./index-DfyorCky.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],r=c("circle",e);export{r as C};
@@ -0,0 +1 @@
import{g as c}from"./index-DfyorCky.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],r=c("circle-check",e);export{r as C};
@@ -0,0 +1 @@
import{g as c}from"./index-DfyorCky.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],r=c("circle-stop",e);export{r as C};
@@ -0,0 +1 @@
import{g as c}from"./index-DfyorCky.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],o=c("circle-x",e);export{o as C};
+1
View File
@@ -0,0 +1 @@
import{h as e}from"./index-DfyorCky.js";const c={getAccounts:async()=>e.get("/cloud-accounts"),createAccount:async t=>e.post("/cloud-accounts",t),updateAccount:async(t,n)=>e.put(`/cloud-accounts/${t}`,n),deleteAccount:async t=>e.delete(`/cloud-accounts/${t}`),syncRegions:async t=>e.post(`/cloud-accounts/${t}/sync-regions`),getAccountRegions:async t=>e.get(`/cloud-accounts/${t}/regions`),discoverInstances:async(t,n)=>e.post(`/cloud-accounts/${t}/discover-instances`,{regions:n}),importInstances:async(t,n,s)=>e.post(`/cloud-accounts/${t}/import-instances`,{instances:n,...s}),getDomains:async t=>e.get("/domains",t),createDomain:async t=>e.post("/domains",t),updateDomain:async(t,n)=>e.put(`/domains/${t}`,n),deleteDomain:async t=>e.delete(`/domains/${t}`)},a={list:async()=>e.get("/platforms"),create:async t=>e.post("/platforms",t),update:async(t,n)=>e.put(`/platforms/${t}`,n),delete:async t=>e.delete(`/platforms/${t}`)},l={getStats:async()=>e.get("/cloud-billings/stats"),list:async t=>e.get("/cloud-billings",t),create:async t=>e.post("/cloud-billings",t),batchCreate:async t=>e.post("/cloud-billings/batch",{records:t}),remove:async t=>e.delete(`/cloud-billings/${t}`),getProviders:async()=>e.get("/cloud-billings/providers"),listAlertRules:async()=>e.get("/billing-alerts"),createAlertRule:async t=>e.post("/billing-alerts",t),updateAlertRule:async(t,n)=>e.put(`/billing-alerts/${t}`,n),deleteAlertRule:async t=>e.delete(`/billing-alerts/${t}`),toggleAlertRule:async t=>e.post(`/billing-alerts/${t}/toggle`)};export{l as b,c,a as p};
+1
View File
@@ -0,0 +1 @@
import{g as o}from"./index-DfyorCky.js";const e=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],c=o("code",e);export{c as C};
+1
View File
@@ -0,0 +1 @@
import{g as c}from"./index-DfyorCky.js";const e=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],t=c("copy",e);export{t as C};
@@ -0,0 +1 @@
import{h as t}from"./index-DfyorCky.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
View File
@@ -0,0 +1 @@
import{h as t}from"./index-DfyorCky.js";const p={getPipelines:async e=>t.get("/pipelines",e),getPipelineDetail:async e=>t.get(`/pipelines/${e}`),createPipeline:async e=>t.post("/pipelines",e),updatePipeline:async(e,s)=>t.put(`/pipelines/${e}`,s),deletePipeline:async e=>t.delete(`/pipelines/${e}`),triggerPipeline:async e=>t.post(`/pipelines/${e}/trigger`),getRuns:async e=>t.get(`/pipelines/${e}/runs`),stopRun:async(e,s)=>t.post(`/pipelines/${e}/runs/${s}/stop`),getRunLog:async(e,s)=>t.get(`/pipelines/${e}/runs/${s}/log`),getMembers:async e=>t.get(`/pipelines/${e}/members`),addMember:async(e,s)=>t.post(`/pipelines/${e}/members`,s),removeMember:async(e,s)=>t.delete(`/pipelines/${e}/members/${s}`),assignGroup:async(e,s)=>t.post(`/pipelines/${e}/groups`,s)},r={getRepos:()=>t.get("/deploy/repos"),getRepo:e=>t.get(`/deploy/repos/${e}`),createRepo:e=>t.post("/deploy/repos",e),updateRepo:(e,s)=>t.put(`/deploy/repos/${e}`,s),deleteRepo:e=>t.delete(`/deploy/repos/${e}`),getRegistries:()=>t.get("/deploy/registries"),getRegistry:e=>t.get(`/deploy/registries/${e}`),createRegistry:e=>t.post("/deploy/registries",e),updateRegistry:(e,s)=>t.put(`/deploy/registries/${e}`,s),deleteRegistry:e=>t.delete(`/deploy/registries/${e}`),getEnvironments:()=>t.get("/deploy/environments"),createEnvironment:e=>t.post("/deploy/environments",e),updateEnvironment:(e,s)=>t.put(`/deploy/environments/${e}`,s),deleteEnvironment:e=>t.delete(`/deploy/environments/${e}`),getItemRoles:()=>t.get("/admin/item-roles"),createItemRole:e=>t.post("/admin/item-roles",e),updateItemRole:(e,s)=>t.put(`/admin/item-roles/${e}`,s),deleteItemRole:e=>t.delete(`/admin/item-roles/${e}`),getUserItemRoles:e=>t.get(`/admin/users/${e}/item-roles`),assignItemRole:(e,s)=>t.post(`/admin/users/${e}/item-roles`,s),removeItemRole:(e,s)=>t.delete(`/admin/users/${e}/item-roles/${s}`),getGroups:()=>t.get("/deploy/groups"),createGroup:e=>t.post("/deploy/groups",e),updateGroup:(e,s)=>t.put(`/deploy/groups/${e}`,s),deleteGroup:e=>t.delete(`/deploy/groups/${e}`),getGroupMembers:e=>t.get(`/deploy/groups/${e}/members`),addGroupMember:(e,s)=>t.post(`/deploy/groups/${e}/members`,s),removeGroupMember:(e,s)=>t.delete(`/deploy/groups/${e}/members/${s}`),getTools:()=>t.get("/deploy/tools"),getTool:e=>t.get(`/deploy/tools/${e}`),updateTool:(e,s)=>t.put(`/deploy/tools/${e}`,s),installTool:(e,s)=>t.post(`/deploy/tools/${e}/install`,s?{version:s}:{}),checkTool:e=>t.post(`/deploy/tools/${e}/check`),getToolVersions:e=>t.get(`/deploy/tools/${e}/versions`)},l={list:()=>t.get("/credentials"),create:e=>t.post("/credentials",e),update:(e,s)=>t.put(`/credentials/${e}`,s),delete:e=>t.delete(`/credentials/${e}`)},i={assign:(e,s)=>t.post(`/servers/${e}/assign-credential`,{credential_id:s})};export{l as c,r as d,p,i as s};
+1
View File
@@ -0,0 +1 @@
import{g as c}from"./index-DfyorCky.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],r=c("disc",e);export{r as D};
@@ -0,0 +1 @@
import{g as o}from"./index-DfyorCky.js";const a=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],e=o("download",a);export{e as D};
@@ -0,0 +1 @@
import{g as c}from"./index-DfyorCky.js";const e=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],r=c("ellipsis",e);export{r as E};
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const e=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],n=a("external-link",e);export{n as E};
@@ -0,0 +1 @@
import{g as e}from"./index-DfyorCky.js";const a=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],o=e("file-text",a);export{o as F};
+1
View File
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const o=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],c=a("file",o);const e=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],d=a("folder",e);export{c as F,d as a};
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const o=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],c=a("folder-open",o);export{c as F};
+1
View File
@@ -0,0 +1 @@
import{g as e}from"./index-DfyorCky.js";const n=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],a=e("funnel",n);export{a as F};
@@ -0,0 +1,61 @@
import{aV as Gn,aU as ue,r as N,ab as te,_ as T}from"./index-DfyorCky.js";var ka,ih;function Re(){if(ih)return ka;ih=1;var e=Array.isArray;return ka=e,ka}var Da,ah;function qm(){if(ah)return Da;ah=1;var e=typeof Gn=="object"&&Gn&&Gn.Object===Object&&Gn;return Da=e,Da}var Na,oh;function it(){if(oh)return Na;oh=1;var e=qm(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return Na=r,Na}var qa,uh;function Dn(){if(uh)return qa;uh=1;var e=it(),t=e.Symbol;return qa=t,qa}var Ba,ch;function Vx(){if(ch)return Ba;ch=1;var e=Dn(),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 Ba=a,Ba}var La,sh;function Yx(){if(sh)return La;sh=1;var e=Object.prototype,t=e.toString;function r(n){return t.call(n)}return La=r,La}var Fa,lh;function gt(){if(lh)return Fa;lh=1;var e=Dn(),t=Vx(),r=Yx(),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 Fa=o,Fa}var Ua,fh;function mt(){if(fh)return Ua;fh=1;function e(t){return t!=null&&typeof t=="object"}return Ua=e,Ua}var Wa,hh;function Cr(){if(hh)return Wa;hh=1;var e=gt(),t=mt(),r="[object Symbol]";function n(i){return typeof i=="symbol"||t(i)&&e(i)==r}return Wa=n,Wa}var za,ph;function Zl(){if(ph)return za;ph=1;var e=Re(),t=Cr(),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 za=i,za}var Ha,dh;function Pt(){if(dh)return Ha;dh=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return Ha=e,Ha}var Ga,vh;function Jl(){if(vh)return Ga;vh=1;var e=gt(),t=Pt(),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 Ga=o,Ga}var Ka,yh;function Zx(){if(yh)return Ka;yh=1;var e=it(),t=e["__core-js_shared__"];return Ka=t,Ka}var Xa,gh;function Jx(){if(gh)return Xa;gh=1;var e=Zx(),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 Xa=r,Xa}var Va,mh;function Bm(){if(mh)return Va;mh=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 Va=r,Va}var Ya,bh;function Qx(){if(bh)return Ya;bh=1;var e=Jl(),t=Jx(),r=Pt(),n=Bm(),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 Ya=l,Ya}var Za,xh;function ew(){if(xh)return Za;xh=1;function e(t,r){return t?.[r]}return Za=e,Za}var Ja,wh;function Xt(){if(wh)return Ja;wh=1;var e=Qx(),t=ew();function r(n,i){var a=t(n,i);return e(a)?a:void 0}return Ja=r,Ja}var Qa,Oh;function ra(){if(Oh)return Qa;Oh=1;var e=Xt(),t=e(Object,"create");return Qa=t,Qa}var eo,_h;function tw(){if(_h)return eo;_h=1;var e=ra();function t(){this.__data__=e?e(null):{},this.size=0}return eo=t,eo}var to,Sh;function rw(){if(Sh)return to;Sh=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return to=e,to}var ro,Ah;function nw(){if(Ah)return ro;Ah=1;var e=ra(),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 ro=i,ro}var no,Ph;function iw(){if(Ph)return no;Ph=1;var e=ra(),t=Object.prototype,r=t.hasOwnProperty;function n(i){var a=this.__data__;return e?a[i]!==void 0:r.call(a,i)}return no=n,no}var io,Th;function aw(){if(Th)return io;Th=1;var e=ra(),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 io=r,io}var ao,Eh;function ow(){if(Eh)return ao;Eh=1;var e=tw(),t=rw(),r=nw(),n=iw(),i=aw();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,ao=a,ao}var oo,jh;function uw(){if(jh)return oo;jh=1;function e(){this.__data__=[],this.size=0}return oo=e,oo}var uo,Mh;function Ql(){if(Mh)return uo;Mh=1;function e(t,r){return t===r||t!==t&&r!==r}return uo=e,uo}var co,Ch;function na(){if(Ch)return co;Ch=1;var e=Ql();function t(r,n){for(var i=r.length;i--;)if(e(r[i][0],n))return i;return-1}return co=t,co}var so,$h;function cw(){if($h)return so;$h=1;var e=na(),t=Array.prototype,r=t.splice;function n(i){var a=this.__data__,o=e(a,i);if(o<0)return!1;var u=a.length-1;return o==u?a.pop():Line truncated
A`).concat(o,",").concat(o,",0,1,1,").concat(2*u,",").concat(a,`
H`).concat(Fe,"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(Fe/8,"h").concat(Fe,"v").concat(Fe*3/4,"h").concat(-Fe,"z"),className:"recharts-legend-icon"});if(T.isValidElement(n.legendIcon)){var s=QO({},n);return delete s.legendIcon,T.cloneElement(n.legendIcon,s)}return T.createElement(lf,{fill:c,cx:a,cy:a,size:Fe,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:Fe,height:Fe},l={display:u==="horizontal"?"inline-block":"block",marginRight:10},h={display:"inline-block",verticalAlign:"middle",marginRight:4};return a.map(function(d,g){var v=d.formatter||c,p=te(tn(tn({"recharts-legend-item":!0},"legend-item-".concat(g),!0),"inactive",d.inactive));if(d.type==="none")return null;var m=Y(d.value)?null:d.value;ht(!Y(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",Ks({className:p,style:l,key:"legend-item-".concat(g)},ci(n.props,d,g)),T.createElement(Ls,{width:o,height:o,viewBox:f,style:h},n.renderIcon(d)),T.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},v?v(m,d,g):m))})}},{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);tn(ff,"displayName","Legend");tn(ff,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var Zo,Mp;function c1(){if(Mp)return Zo;Mp=1;var e=ia();function t(){this.__data__=new e,this.size=0}return Zo=t,Zo}var Jo,Cp;function s1(){if(Cp)return Jo;Cp=1;function e(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n}return Jo=e,Jo}var Qo,$p;function l1(){if($p)return Qo;$p=1;function e(t){return this.__data__.get(t)}return Qo=e,Qo}var eu,Ip;function f1(){if(Ip)return eu;Ip=1;function e(t){return this.__data__.has(t)}return eu=e,eu}var tu,Rp;function h1(){if(Rp)return tu;Rp=1;var e=ia(),t=ef(),r=tf(),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 tu=i,tu}var ru,kp;function fb(){if(kp)return ru;kp=1;var e=ia(),t=c1(),r=s1(),n=l1(),i=f1(),a=h1();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,ru=o,ru}var nu,Dp;function p1(){if(Dp)return nu;Dp=1;var e="__lodash_hash_undefined__";function t(r){return this.__data__.set(r,e),this}return nu=t,nu}var iu,Np;function d1(){if(Np)return iu;Np=1;function e(t){return this.__data__.has(t)}return iu=e,iu}var au,qp;function hb(){if(qp)return au;qp=1;var e=tf(),t=p1(),r=d1();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,au=n,au}var ou,Bp;function pb(){if(Bp)return ou;Bp=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 ou=e,ou}var uu,Lp;function db(){if(Lp)return uu;Lp=1;function e(t,r){return t.has(r)}return uu=e,uu}var cu,Fp;function vb(){if(Fp)return cu;Fp=1;var e=hb(),t=pb(),r=db(),n=1,i=2;function a(o,u,c,s,f,l){var h=c&n,d=o.length,g=u.length;if(d!=g&&!(h&&g>d))return!1;var v=l.get(o),p=l.get(u);if(v&&p)return v==u&&p==o;var m=-1,x=!0,w=c&i?new e:void 0;for(l.set(o,u),l.set(u,o);++m<d;){var O=o[m],y=u[m];if(s)var b=h?s(y,O,m,u,o,l):s(O,y,m,o,u,l);if(b!==void 0){if(b)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 cu=a,cu}var su,Up;function v1(){if(Up)return su;Up=1;var e=it(),t=e.Uint8Array;return su=t,su}var lu,Wp;function y1(){if(Wp)return lu;Wp=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(i,a){n[++r]=[a,i]}),n}return lu=e,lu}var fu,zp;function hf(){if(zp)return fu;zp=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(i){n[++r]=i}),n}return fu=e,fu}var hu,Hp;function g1(){if(Hp)return hu;Hp=1;var e=Dn(),t=v1(),r=Ql(),n=vb(),i=y1(),a=hf(),o=1,u=2,c="[object Boolean]",s="[object Date]",f="[object Error]",l="[object Map]",h="[object Number]",d="[object RegExp]",g="[object Set]",v="[object String]",p="[object Symbol]",m="[object ArrayBuffer]",x="[object DataView]",w=e?e.prototype:void 0,O=w?w.valueOf:void 0;function y(b,_,S,P,M,A,E){switch(S){case x:if(b.byteLength!=_.byteLength||b.byteOffset!=_.byteOffset)re Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function k_(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 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 N_(e){if(Array.isArray(e))return e}function wv(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 kc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?wv(Object(r),!0).forEach(function(n){q_(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wv(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function q_(e,t,r){return t=B_(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B_(e){var t=L_(e,"string");return rn(t)=="symbol"?t:t+""}function L_(e,t){if(rn(e)!="object"||!e)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 F_(e){return Array.isArray(e)&&xe(e[0])&&xe(e[1])?e.join(" ~ "):e}var U_=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,g=t.labelClassName,v=t.label,p=t.labelFormatter,m=t.accessibilityLayer,x=m===void 0?!1:m,w=function(){if(f&&f.length){var E={padding:0,margin:0},j=(h?mf(f,h):f).map(function(I,$){if(I.type==="none")return null;var R=kc({display:"block",paddingTop:4,paddingBottom:4,color:I.color||"#000"},u),D=I.formatter||l||F_,B=I.value,L=I.name,z=B,G=L;if(D&&z!=null&&G!=null){var U=D(B,L,I,$,f);if(Array.isArray(U)){var K=I_(U,2);z=K[0],G=K[1]}else z=U}return T.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat($),style:R},xe(G)?T.createElement("span",{className:"recharts-tooltip-item-name"},G):null,xe(G)?T.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,T.createElement("span",{className:"recharts-tooltip-item-value"},z),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=kc({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},a),y=kc({margin:0},s),b=!Z(v),_=b?v:"",S=te("recharts-default-tooltip",d),P=te("recharts-tooltip-label",g);b&&p&&f!==void 0&&f!==null&&(_=p(v,f));var M=x?{role:"status","aria-live":"assertive"}:{};return T.createElement("div",Ys({className:S,style:O},M),T.createElement("p",{className:P,style:y},T.isValidElement(_)?_:"".concat(_)),w())};function nn(e){"@babel/helpers - typeof";return nn=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},nn(e)}function Xn(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=z_(e,"string");return nn(t)=="symbol"?t:t+""}function z_(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 qr="recharts-tooltip-wrapper",H_={visibility:"hidden"};function G_(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return te(qr,Xn(Xn(Xn(Xn({},"".concat(qr,"-right"),q(r)&&t&&q(t.x)&&r>=t.x),"".concat(qr,"-left"),q(r)&&t&&q(t.x)&&r<t.x),"".concat(qr,"-bottom"),q(n)&&t&&q(t.y)&&n>=t.y),"".concat(qr,"-top"),q(n)&&t&&q(t.y)&&n<t.y))}function Ov(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 g=l+u,v=c[n]+s;return g>v?Math.max(f,c[n]):Math.max(l,c[n])}function K_(e){ Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PS(e,t){if(e){if(typeof e=="string")return kv(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 kv(e,t)}}function kv(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 TS(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 ES(e){if(Array.isArray(e))return e}var RD=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,g=e.debounce,v=g===void 0?0:g,p=e.id,m=e.className,x=e.onResize,w=e.style,O=w===void 0?{}:w,y=N.useRef(null),b=N.useRef();b.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=SS(_,2),P=S[0],M=S[1],A=N.useCallback(function(j,I){M(function($){var R=Math.round(j),D=Math.round(I);return $.containerWidth===R&&$.containerHeight===D?$:{containerWidth:R,containerHeight:D}})},[]);N.useEffect(function(){var j=function(L){var z,G=L[0].contentRect,U=G.width,K=G.height;A(U,K),(z=b.current)===null||z===void 0||z.call(b,U,K)};v>0&&(j=Nb(j,v,{trailing:!0,leading:!1}));var I=new ResizeObserver(j),$=y.current.getBoundingClientRect(),R=$.width,D=$.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;ht(Nt(o)||Nt(c),`The width(%s) and height(%s) are both fixed numbers,
maybe you don't need to use a ResponsiveContainer.`,o,c),ht(!r||r>0,"The aspect(%s) must be greater than zero.",r);var $=Nt(o)?j:o,R=Nt(c)?I:c;r&&r>0&&($?R=$/r:R&&($=R*r),h&&R>h&&(R=h)),ht($>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.`,$,R,o,c,f,l,r);var D=!Array.isArray(d)&&ft(d.type).endsWith("Chart");return T.Children.map(d,function(B){return T.isValidElement(B)?N.cloneElement(B,Vn({width:$,height:R},D?{style:Vn({height:"100%",width:"100%",maxHeight:R,maxWidth:$},B.props.style)}:{})):B})},[r,d,c,h,l,f,P,o]);return T.createElement("div",{id:p?"".concat(p):void 0,className:te("recharts-responsive-container",m),style:Vn(Vn({},O),{},{width:o,height:c,minWidth:f,minHeight:l,maxHeight:h}),ref:y},E)}),qb=function(t){return null};qb.displayName="Cell";function on(e){"@babel/helpers - typeof";return on=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},on(e)}function Dv(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 el(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Dv(Object(r),!0).forEach(function(n){jS(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Dv(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function jS(e,t,r){return t=MS(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MS(e){var t=CS(e,"string");return on(t)=="symbol"?t:t+""}function CS(e,t){if(on(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(on(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var er={widthCache:{},cacheCount:0},$S=2e3,IS={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},Nv="recharts_measurement_span";function RS(e){var t=el({},e);return Object.keys(t).forEach(function(r){t[r]||delete t[r]}),t}var Yr=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Bn.isSsr)return{width:0,height:0};var n=RS(r),i=JSON.stringify({text:t,copyStyle:n});if(er.widthCache[i])return er.widthCache[i];try{var a=document.getElementById(Nv);a||(a=document.createElement("span"),a.setAttribute("id",Nv),a.setAttribute("aria-hidden","true"),document.body.appendChild(a));var o=el(el({},IS),n);Object.assign(a.style,o),a.textContent="".concat(t);var u=a.getBoundingClientRect(),c={width:u.width,height:u.height};return er.widthCache[i]=c,++er.cacheCount>$S&&(er.cacheCount=0,er.widthCache={}),c}catch{return{width:0,height:0}}},kS=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};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 mi(e,t){return BS(e)||qS(e,t)||NS(e,t)||DS()}function DS(){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 NS(e,t){if(e){if(typeof e=="string")return qv(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 qv(e,t)}}function qv(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 BS(e){if(Array.isArray(e))return e}function LS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bv(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,US(n.key),n)}}function FS(e,t,r){return t&&Bv(e.prototype,t),r&&Bv(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function US(e){var t=WS(e,"string");return un(t)=="symbol"?t:t+""}function WS(e,t){if(un(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(un(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Lv=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Fv=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,zS=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,HS=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,Bb={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},GS=Object.keys(Bb),nr="NaN";function KS(e,t){return e*Bb[t]}var Yn=(function(){function e(t,r){LS(this,e),this.num=t,this.unit=r,this.num=t,this.unit=r,Number.isNaN(t)&&(this.unit=""),r!==""&&!zS.test(r)&&(this.num=NaN,this.unit=""),GS.includes(r)&&(this.num=KS(t,r),this.unit="px")}return FS(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=HS.exec(r))!==null&&n!==void 0?n:[],a=mi(i,3),o=a[1],u=a[2];return new e(parseFloat(o),u??"")}}])})();function Lb(e){if(e.includes(nr))return nr;for(var t=e;t.includes("*")||t.includes("/");){var r,n=(r=Lv.exec(t))!==null&&r!==void 0?r:[],i=mi(n,4),a=i[1],o=i[2],u=i[3],c=Yn.parse(a??""),s=Yn.parse(u??""),f=o==="*"?c.multiply(s):c.divide(s);if(f.isNaN())return nr;t=t.replace(Lv,f.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var l,h=(l=Fv.exec(t))!==null&&l!==void 0?l:[],d=mi(h,4),g=d[1],v=d[2],p=d[3],m=Yn.parse(g??""),x=Yn.parse(p??""),w=v==="+"?m.add(x):m.subtract(x);if(w.isNaN())return nr;t=t.replace(Fv,w.toString())}return t}var Uv=/\(([^()]*)\)/;function XS(e){for(var t=e;t.includes("(");){var r=Uv.exec(t),n=mi(r,2),i=n[1];t=t.replace(Uv,Lb(i))}return t}function VS(e){var t=e.replace(/\s+/g,"");return t=XS(t),t=Lb(t),t}function YS(e){try{return VS(e)}catch{return nr}}function Uc(e){var t=YS(e.slice(5,-1));return t===nr?"":t}var ZS=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],JS=["dx","dy","angle","className","breakAll"];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 Wv(e,t){if(e==null)return{};var r=QS(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 QS(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 zv(e,t){return nA(e)||rA(e,t)||tA(e,t)||eA()}function eA(){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 tA(e,t){if(e){if(typeof e=="string")return Hv(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 Hv(e,t)}}function Hv(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 rA(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 nA(e){if(Array.isArray(e))return e}var Fb=/[ \f\n\r\t\v\u2028\u2029]+/,Ub=function(t){var r=t.children,n=t.breakAll,i=t.style;try{var a=[];Z(r)||(n?a=r.toString().split(""):a=r.toString().split(Fb));var o=a.map(function(c){return{word:c,width:Yr(c,i).width}}),u=n?0:Yr(" ",i).width;return{wordsWithComputedWidth:o,spaceWidth:u}}catch{return null}},iA=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 $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return $.reduce(function(R,D){var B=D.word,L=D.width,z=R[R.length-1];if(z&&(i==null||a||z.width+L+n<Number(i)))z.words.push(B),z.width+=L+n;else{var G={words:[B],width:L};R.push(G)}return R},[])},d=h(r),g=function($){return $.reduce(function(R,D){return R.width>D.width?R:D})};if(!f)return d;for(var v="…",p=function($){var R=l.slice(0,$),D=Ub({breakAll:s,style:c,children:R+v}).wordsWithComputedWidth,B=h(D),L=B.length>o||g(B).width>Number(i);return[L,B]},m=0,x=l.length-1,w=0,O;m<=x&&w<=l.length-1;){var y=Math.floor((m+x)/2),b=y-1,_=p(b),S=zv(_,2),P=S[0],M=S[1],A=p(y),E=zv(A,1),j=E[0];if(!P&&!j&&(m=y+1),P&&j&&(x=y-1),!P&&j){O=M;break}w++}return O||d},Gv=function(t){var r=Z(t)?[]:t.toString().split(Fb);return[{words:r}]},aA=function(t){var r=t.width,n=t.scaleToFit,i=t.children,a=t.style,o=t.breakAll,u=t.maxLines;if((r||n)&&!Bn.isSsr){var c,s,f=Ub({breakAll:o,children:i,style:a});if(f){var l=f.wordsWithComputedWidth,h=f.spaceWidth;c=l,s=h}else return Gv(i);return iA({breakAll:o,children:i,maxLines:u,style:a},c,s,r,n)}return Gv(i)},Kv="#808080",bi=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,g=t.verticalAnchor,v=g===void 0?"end":g,p=t.fill,m=p===void 0?Kv:p,x=Wv(t,ZS),w=N.useMemo(function(){return aA({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,b=x.angle,_=x.className,S=x.breakAll,P=Wv(x,JS);if(!xe(n)||!xe(a))return null;var M=n+(q(O)?O:0),A=a+(q(y)?y:0),E;switch(v){case"start":E=Uc("calc(".concat(s,")"));break;case"middle":E=Uc("calc(".concat((w.length-1)/2," * -").concat(u," + (").concat(s," / 2))"));break;default:E=Uc("calc(".concat(w.length-1," * -").concat(u,")"));break}var j=[];if(l){var I=w[0].width,$=x.width;j.push("scale(".concat((q($)?$/I:1)/I,")"))}return b&&j.push("rotate(".concat(b,", ").concat(M,", ").concat(A,")")),j.length&&(P.transform=j.join(" ")),T.createElement("text",tl({},ee(P,!0),{x:M,y:A,className:te("recharts-text",_),textAnchor:d,fill:m.includes("url")?Kv:m}),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 St(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function oA(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function xf(e){let t,r,n;e.length!==2?(t=St,r=(u,c)=>St(e(u),c),n=(u,c)=>e(u)-c):(t=e===St||e===oA?e:uA,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 uA(){return 0}function Wb(e){return e===null?NaN:+e}function*cA(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const sA=xf(St),Ln=sA.right;xf(Wb).center;class Xv extends Map{constructor(t,r=hA){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(Vv(this,t))}has(t){return super.has(Vv(this,t))}set(t,r){return super.set(lA(this,t),r)}delete(t){return super.delete(fA(this,t))}}function Vv({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function lA({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set( Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YT(e,t){if(e){if(typeof e=="string")return sl(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 sl(e,t)}}function ZT(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function JT(e){if(Array.isArray(e))return sl(e)}function sl(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 QT=function(t){return t},E0={},j0=function(t){return t===E0},Uy=function(t){return function r(){return arguments.length===0||arguments.length===1&&j0(arguments.length<=0?void 0:arguments[0])?r:t.apply(void 0,arguments)}},eE=function e(t,r){return t===1?r:Uy(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!==E0}).length;return o>=t?r.apply(void 0,i):e(t-o,Uy(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 j0(l)?c.shift():l});return r.apply(void 0,XT(f).concat(c))}))})},_a=function(t){return eE(t.length,t)},ll=function(t,r){for(var n=[],i=t;i<r;++i)n[i-t]=i;return n},tE=_a(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(r){return t[r]}).map(e)}),rE=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(!r.length)return QT;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))}},fl=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},M0=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 nE(e){var t;return e===0?t=1:t=Math.floor(new ie(e).abs().log(10).toNumber())+1,t}function iE(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 aE=_a(function(e,t,r){var n=+e,i=+t;return n+r*(i-n)}),oE=_a(function(e,t,r){var n=t-+e;return n=n||1/0,(r-e)/n}),uE=_a(function(e,t,r){var n=t-+e;return n=n||1/0,Math.max(0,Math.min(1,(r-e)/n))});const Sa={rangeStep:iE,getDigitCount:nE,interpolateNumber:aE,uninterpolateNumber:oE,uninterpolateTruncation:uE};function hl(e){return lE(e)||sE(e)||C0(e)||cE()}function cE(){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 lE(e){if(Array.isArray(e))return pl(e)}function dn(e,t){return pE(e)||hE(e,t)||C0(e,t)||fE()}function fE(){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 C0(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 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 hE(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 pE(e){if(Array.isArray(e))return e}function $0(e){var t=dn(e,2),r=t[0],n=t[1],i=r,a=n;return r>n&&(i=n,a=r),[i,a]}function I0(e,t,r){if(e.lte(0))return new ie(0);var n=Sa.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 dE(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(Sa.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=rE(tE(function(c){return i.add(new ie(c-o).mul(n)).toNumber()}),ll);return u(0,t)}function R0(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=I0(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?R0(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 vE(e){var t=dn(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=$0([r,n]),c=dn(u,2),s=c[0],f=c[1];if(s===-1/0||f===1/0){var l=f===1/0?[s].concat(hl(ll(0,i-1).map(function(){return 1/0}))):[].concat(hl(ll(0,i-1).map(function(){return-1/0})),[f]);return r>n?fl(l):l}if(s===f)return dE(s,i,a);var h=R0(s,f,o,a),d=h.step,g=h.tickMin,v=h.tickMax,p=Sa.rangeStep(g,v.add(new ie(.1).mul(d)),d);return r>n?fl(p):p}function yE(e,t){var r=dn(e,2),n=r[0],i=r[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=$0([n,i]),u=dn(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=I0(new ie(s).sub(c).div(f-1),a,0),h=[].concat(hl(Sa.rangeStep(new ie(c),new ie(s).sub(new ie(.99).mul(l)),l)),[s]);return n>i?fl(h):h}var gE=M0(vE),mE=M0(yE),bE="Invariant failed";function Gt(e,t){throw new Error(bE)}var xE=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function mr(e){"@babel/helpers - typeof";return mr=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},mr(e)}function Ci(){return Ci=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},Ci.apply(this,arguments)}function wE(e,t){return AE(e)||SE(e,t)||_E(e,t)||OE()}function OE(){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 _E(e,t){if(e){if(typeof e=="string")return Wy(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 Wy(e,t)}}function Wy(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 SE(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 AE(e){if(Array.isArray(e))return e}function PE(e,t){if(e==null)return{};var r=TE(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 TE(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 EE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jE(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,N0(n.key),n)}}function ME(e,t,r){return t&&jE(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function CE(e,t,r){return t=$i(t),$E(e,k0()?Reflect.construct(t,r||[],$i(e).constructor):t.apply(e,r))}function $E(e,t){if(t&&(mr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return IE(e)}function IE(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function k0(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(k0=function(){return!!e})()}function $i(e){return $i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$i(e)}function RE(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&&dl(e,t)}function dl(e,t){return dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},dl(e,t)}function D0(e,t,r){return t=N0(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function N0(e){var t=kE(e,"string");return mr(t)=="symbol"?t:t+""}function kE(e,t){if(mr(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(mr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Aa=(function(e){function t(){return EE(this,t),CE(this,t,arguments)}return RE(t,e),ME(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=PE(n,xE),d=ee(h,!1);this.props.direction==="x"&&f.type!=="number"&&Gt();var g=c.map(function(v){var p=s(v,u),m=p.x,x=p.y,w=p.value,O=p.errorVal;if(!O)return null;var y=[],b,_;if(Array.isArray(O)){var S=wE(O,2);b=S[0],_=S[1]}else b=_=O;if(a==="vertical"){var P=f.scale,M=x+i,A=M+o,E=M-o,j=P(w-b),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 $=l.scale,R=m+i,D=R-o,B=R+o,L=$(w-b),z=$(w+_);y.push({x1:D,y1:z,x2:B,y2:z}),y.push({x1:R,y1:L,x2:R,y2:z}),y.push({x1:D,y1:L,x2:B,y2:L})}return T.createElement(_e,Ci({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",Ci({},G,{key:"line-".concat(G.x1,"-").concat(G.x2,"-").concat(G.y1,"-").concat(G.y2)}))}))});return T.createElement(_e,{className:"recharts-errorBars"},g)}}])})(T.Component);D0(Aa,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});D0(Aa,"displayName","ErrorBar");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 zy(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 Rt(e){for(var t=1;t<argume Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function LE(e,t){if(e){if(typeof e=="string")return vl(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 vl(e,t)}}function FE(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function UE(e){if(Array.isArray(e))return vl(e)}function vl(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 Gy(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 he(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Gy(Object(r),!0).forEach(function(n){sr(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gy(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function sr(e,t,r){return t=WE(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function WE(e){var t=zE(e,"string");return yn(t)=="symbol"?t:t+""}function zE(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(t==="string"?String:Number)(e)}function Je(e,t,r){return Z(e)||Z(t)?r:xe(t)?We(e,t,r):Y(t)?t(e):r}function Jr(e,t,r,n){var i=UT(e,function(u){return Je(u,t)});if(r==="number"){var a=i.filter(function(u){return q(u)||parseFloat(u)});return a.length?[Oa(a),wa(a)]:[1/0,-1/0]}var o=n?i.filter(function(u){return!Z(u)}):i;return o.map(function(u){return xe(u)||u instanceof Date?u:""})}var HE=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(Ve(l-f)!==Ve(h-l)){var g=[];if(Ve(h-l)===Ve(c[1]-c[0])){d=h;var v=l+c[1]-c[0];g[0]=Math.min(v,(v+f)/2),g[1]=Math.max(v,(v+f)/2)}else{d=f;var p=h+c[1]-c[0];g[0]=Math.min(l,(p+l)/2),g[1]=Math.max(l,(p+l)/2)}var m=[Math.min(l,(d+l)/2),Math.max(l,(d+l)/2)];if(t>m[0]&&t<=m[1]||t>=g[0]&&t<=g[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},Hf=function(t){var r,n=t,i=n.type.displayName,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?he(he({},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},GE=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 g=f[l[h]],v=g.items,p=g.cateAxisId,m=v.filter(function(_){return ft(_.type).indexOf("Bar")>=0});if(m&&m.length){var x=m[0].type.defaultProps,w=x!==void 0?he(he({},x),m[0].props):m[0].props,O=w.barSize,y=w[p];o[y]||(o[y]=[]);var b=Z(O)?r:O;o[y].push({item:m[0],stackList:m.slice(1),barSize:Z(b)?void 0:Ye(b,n,0)})}}return o},KE=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=Ye(r,i,0,!0),f,l=[];if(o[0].barSize===+o[0].barSize){var h=!1,d=i/c,g=o.reduce(function(O,y){return O+y.barSize||0},0);g+=(c-1)*s,g>=i&&(g-=(c-1)*s,s=0),g>=i&&d>0&&(h=!0,d*=.9,g=c*d);var v=(i-g)/2>>0,p={offset:v-s,size:0};f=o.reduce(function(O,y){var b={item:y.item,position:{offset:p.offset+p.size+s,size:h?d:y.barSize}},_=[].concat(Hy(O),[b]);return p=_[_.length-1].position,y.stackList&&y.stackList.length&&y.stackList.forEach(function(S){_.push({item:S,position:p})}),_},l)}else{var m=Ye(n,i,0,!0);i-2*m-(c-1)*s<=0&&(s=0);var x=(i-2*m-(c-1)*s)/c;x>1&&(x>>=0);var w=u===+u?Math.min(x,u):x;f=o.reduce(function(O,y,b){var _=[].concat(Hy(O),[{item:y.item,position:{offset:m+(x+s)*b+(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},XE=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 fj(e,t){if(e){if(typeof e=="string")return Qy(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 Qy(e,t)}}function Qy(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 hj(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 pj(e){if(Array.isArray(e))return e}var Ri=Math.PI/180,dj=function(t){return t*180/Math.PI},Pe=function(t,r,n,i){return{x:t+Math.cos(-Ri*i)*n,y:r+Math.sin(-Ri*i)*n}},vj=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},DD=function(t,r,n,i,a){var o=t.width,u=t.height,c=t.startAngle,s=t.endAngle,f=Ye(t.cx,o,o/2),l=Ye(t.cy,u,u/2),h=vj(o,u,n),d=Ye(t.innerRadius,h,0),g=Ye(t.outerRadius,h,h*.8),v=Object.keys(r);return v.reduce(function(p,m){var x=r[m],w=x.domain,O=x.reversed,y;if(Z(x.range))i==="angleAxis"?y=[c,s]:i==="radiusAxis"&&(y=[d,g]),O&&(y=[y[1],y[0]]);else{y=x.range;var b=y,_=sj(b,2);c=_[0],s=_[1]}var S=W0(x,a),P=S.realScaleType,M=S.scale;M.domain(w).range(y),z0(M);var A=H0(M,ut(ut({},x),{},{realScaleType:P})),E=ut(ut(ut({},x),A),{},{range:y,radius:g,realScaleType:P,scale:M,cx:f,cy:l,innerRadius:d,outerRadius:g,startAngle:c,endAngle:s});return ut(ut({},p),{},X0({},m,E))},{})},yj=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))},gj=function(t,r){var n=t.x,i=t.y,a=r.cx,o=r.cy,u=yj({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:dj(s),angleInRadian:s}},mj=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}},bj=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},eg=function(t,r){var n=t.x,i=t.y,a=gj({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=mj(r),l=f.startAngle,h=f.endAngle,d=u,g;if(l<=h){for(;d>h;)d-=360;for(;d<l;)d+=360;g=d>=l&&d<=h}else{for(;d>l;)d-=360;for(;d<h;)d+=360;g=d>=h&&d<=l}return g?ut(ut({},r),{},{radius:o,angle:bj(d,r)}):null},ND=function(t){return!N.isValidElement(t)&&!Y(t)&&typeof t!="boolean"?t.className:""};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 xj=["offset"];function wj(e){return Aj(e)||Sj(e)||_j(e)||Oj()}function Oj(){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 _j(e,t){if(e){if(typeof e=="string")return gl(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 gl(e,t)}}function Sj(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Aj(e){if(Array.isArray(e))return gl(e)}function gl(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 Pj(e,t){if(e==null)return{};var r=Tj(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 Tj(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 tg(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 be(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tg(Object(r),!0).forEach(function(n){Ej(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ej(e,t,r){return t=jj(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jj(e){var t=Mj(e,"string");return mn(t)=="symbol"?t:t+""}function Mj(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 bn(){return bn=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},bn.apply(this,arguments)}var Cj=function(t){var r=t.value,n=t.formatter,i=Z(t.children)?r:t.children;return Y(n)?n(i):i},$j=function(t,r){var n=Ve(r-t),i=Math.min(Math.abs(r-t),360);return n*i},Ij=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,g=c.endAngle,v=c.clockWise,p=(l+h)/2,m=$j(d,g),x=m>=0?1:-1,w,O;i==="insideStart"?(w=d+x*o,O=v):i==="insideEnd"?(w=g-x*o,O=!v):i==="end"&&(w=g+x*o,O=v),O=m<=0?O:!O;var y=Pe(s,f,p,w),b=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(b.x,",").concat(b.y),S=Z(t.id)?ua("recharts-radial-line-"):t.id;return T.createElement("text",bn({},n,{dominantBaseline:"central",className:te("recharts-radial-bar-label",u)}),T.createElement("defs",null,T.createElement("path",{id:S,d:_})),T.createElement("textPath",{xlinkHref:"#".concat(S)},r))},Rj=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),g=d.x,v=d.y;return{x:g,y:v,textAnchor:g>=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,m=Pe(o,u,p,h),x=m.x,w=m.y;return{x,y:w,textAnchor:"middle",verticalAnchor:"middle"}},kj=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",g=l>0?"start":"end",v=s>=0?1:-1,p=v*i,m=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 be(be({},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:g};return be(be({},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:m,verticalAnchor:"middle"};return be(be({},y),n?{width:Math.max(y.x-n.x,0),height:f}:{})}if(a==="right"){var b={x:u+s+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"};return be(be({},b),n?{width:Math.max(n.x+n.width-b.x,0),height:f}:{})}var _=n?{width:s,height:f}:{};return a==="insideLeft"?be({x:u+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"},_):a==="insideRight"?be({x:u+s-p,y:c+f/2,textAnchor:m,verticalAnchor:"middle"},_):a==="insideTop"?be({x:u+s/2,y:c+h,textAnchor:"middle",verticalAnchor:g},_):a==="insideBottom"?be({x:u+s/2,y:c+f-h,textAnchor:"middle",verticalAnchor:d},_):a==="insideTopLeft"?be({x:u+p,y:c+h,textAnchor:x,verticalAnchor:g},_):a==="insideTopRight"?be({x:u+s-p,y:c+h,textAnchor:m,verticalAnchor:g},_):a==="insideBottomLeft"?be({x:u+p,y:c+f-h,textAnchor:x,verticalAnchor:d},_):a==="insideBottomRight"?be({x:u+s-p,y:c+f-h,textAnchor:m,verticalAnchor:d},_):$r(a)&&(q(a.x)||Nt(a.x))&&(q(a.y)||Nt(a.y))?be({x:u+Ye(a.x,s),y:c+Ye(a.y,f),textAnchor:"end",verticalAnchor:"end"},_):be({x:u+s/2,y:c+f/2,textAnchor:"middle",verticalAnchor:"middle"},_)},Dj=function(t){return"cx"in t&&q(t.cx)};function Ee(e){var t=e.offset,r=t===void 0?5:t,n=Pj(e,xj),i=be({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||Z(u)&&Z(c)&&!N.isValidElement(s)&&!Y(s))return null;if(N.isValidElement(s))return N.cloneElement(s,i);var d;if(Y(s)){if(d=N.createElement(s,i),N.isValidElement(d))return d}else d=Cj(i);var g=Dj(a),v=ee(i,!0);if(g&&(o==="insideStart"||o==="insideEnd"||o==="end"))return Ij(i,d,v);var p=g?Rj(i):kj(i);return T.createElement(bi,bn({className:te("recharts-label",l)},v,p,{breakAll:h}),d)}Ee.displayName="Label";var V0=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,g=t.left,v=t.width,p=t.height,m=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(g))return{x:d,y:g,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:m}:t.viewBox?t.viewBox:{}},Nj=function(t,r){return t?t===!0?T.createElement(Ee,{key:"label-implicit",viewBox:r}):xe(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}):Y(t)?T.createElement(Ee,{key:"label-implicit",content:t,viewBox:r}):$r(t)?T.createElement(Ee,bn({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=V0(t),o=Ze(i,Ee).map(function(c,s){return N.cloneElement(c,{viewBox:r||a,key:"label-".concat(s)})});if(!n)return o;var u=Nj(t.label,r||a);return[u].concat(wj(o))};Ee.parseViewBox=V0;Ee.renderCallByParent=qj;var os,rg;function Bj(){if(rg)return os;rg=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return os=e,os}var Lj=Bj();const Fj=ue(Lj);function xn(e){"@babel/helpers - typeof";return xn=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},xn(e)}var Uj=["valueAccessor"],Wj=["data","dataKey","clockWise","id","textBreakAll"];function zj(e){return Xj(e)||Kj(e)| Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gj(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 Kj(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Xj(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}function ki(){return ki=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},ki.apply(this,arguments)}function ng(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 ig(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ng(Object(r),!0).forEach(function(n){Vj(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ng(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vj(e,t,r){return t=Yj(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yj(e){var t=Zj(e,"string");return xn(t)=="symbol"?t:t+""}function Zj(e,t){if(xn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(xn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ag(e,t){if(e==null)return{};var r=Jj(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 Jj(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 Qj=function(t){return Array.isArray(t.value)?Fj(t.value):t.value};function Wt(e){var t=e.valueAccessor,r=t===void 0?Qj:t,n=ag(e,Uj),i=n.data,a=n.dataKey,o=n.clockWise,u=n.id,c=n.textBreakAll,s=ag(n,Wj);return!i||!i.length?null:T.createElement(_e,{className:"recharts-label-list"},i.map(function(f,l){var h=Z(a)?r(f,l):Je(f&&f.payload,a),d=Z(u)?{}:{id:"".concat(u,"-").concat(l)};return T.createElement(Ee,ki({},ee(f,!0),s,d,{parentViewBox:f.parentViewBox,value:h,textBreakAll:c,viewBox:Ee.parseViewBox(Z(o)?f:ig(ig({},f),{},{clockWise:o})),key:"label-".concat(l),index:l}))}))}Wt.displayName="LabelList";function eM(e,t){return e?e===!0?T.createElement(Wt,{key:"labelList-implicit",data:t}):T.isValidElement(e)||Y(e)?T.createElement(Wt,{key:"labelList-implicit",data:t,content:e}):$r(e)?T.createElement(Wt,ki({data:t},e,{key:"labelList-implicit"})):null:null}function tM(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=Ze(n,Wt).map(function(o,u){return N.cloneElement(o,{data:t,key:"labelList-".concat(u)})});if(!r)return i;var a=eM(e.label,t);return[a].concat(zj(i))}Wt.renderCallByParent=tM;function wn(e){"@babel/helpers - typeof";return wn=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},wn(e)}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 og(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 ug(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?og(Object(r),!0).forEach(function(n){rM(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):og(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function rM(e,t,r){return t=nM(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nM(e){var t=iM(e,"string");return wn(t)=="symbol"?t:t+""}function iM(e,t){if(wn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(wn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var aM=function(t,r){var n=Ve 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),g=Pe(r,n,i,s);h+="L ".concat(g.x,",").concat(g.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},oM=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=Ve(f-s),h=ti({cx:r,cy:n,radius:a,angle:s,sign:l,cornerRadius:o,cornerIsExternal:c}),d=h.circleTangency,g=h.lineTangency,v=h.theta,p=ti({cx:r,cy:n,radius:a,angle:f,sign:-l,cornerRadius:o,cornerIsExternal:c}),m=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(g.x,",").concat(g.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
`):Y0({cx:r,cy:n,innerRadius:i,outerRadius:a,startAngle:s,endAngle:f});var y="M ".concat(g.x,",").concat(g.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(m.x,",").concat(m.y,`
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(x.x,",").concat(x.y,`
`);if(i>0){var b=ti({cx:r,cy:n,radius:i,angle:s,sign:l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),_=b.circleTangency,S=b.lineTangency,P=b.theta,M=ti({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},uM={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Z0=function(t){var r=ug(ug({},uM),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=te("recharts-sector",h),g=o-a,v=Ye(u,g,0,!0),p;return v>0&&Math.abs(f-l)<360?p=oM({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,g/2),forceCornerRadius:c,cornerIsExternal:s,startAngle:f,endAngle:l}):p=Y0({cx:n,cy:i,innerRadius:a,outerRadius:o,startAngle:f,endAngle:l}),T.createElement("path",bl({},ee(r,!0),{className:d,d:p,role:"img"}))};function On(e){"@babel/helpers - typeof";return On=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},On(e)}function xl(){return xl=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},xl.apply(this,arguments)}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 sg(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){cM(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 cM(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=lM(e,"string");return On(t)=="symbol"?t:t+""}function lM(e,t){if(On(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(On(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var lg={curveBasisClosed:EO,curveBasisOpen:jO,curveBasis:TO,curveBumpX:pO,curveBumpY:dO,curveLinearClosed:MO,curveLinear:la,curveMonotoneX:CO,curveMonotoneY:$O,curveNatural:IO,curveStep:RO,curveStepAfter:DO,curveStepBefore:kO},ri=function(t){return t.x===+t.x&&t.y===+t.y},Wr=function(t){return t.x},zr=function(t){return t.y},fM=function(t,r){if(Y(t))return t;var n="curve".concat(ca(t));return(n==="curveMonotone"||n==="curveBump")&&r?lg["".concat(n).concat(r==="vertical"?"Y":"X")]:lg[n]||la},hM=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=fM(n,u),l=s?a.filter(function(v){return ri(v)}):a,h;if(Array.isArray(o)){var d=s?o.filter(function(v){return ri(v)}):o,g=l.map(function(v,p){return sg(sg({},v),{},{base:d[p]})});return u==="vertical"?h=Kn().y(zr).x1(Wr).x0(function(v){return v.base.x}):h=Kn().x(Wr).y1(zr).y0(function(v){return v.base.y}),h.defined(ri).curve(f),h(g)}return u==="vertical"&&q(o)?h=Kn().y(zr).x1(Wr).x0(o):q(o)?h=Kn().x(Wr).y1(zr).y0(o):h=Zm().x(Wr).y(zr),h.defined(ri).curve(f),h(l)},fg=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?hM(t):i;return N.createElement("path",xl({},ee(t,!1),ui(t),{className:te("recharts-curve",r),d:o,ref:a}))},us={exports:{}},cs,hg;function pM(){if(hg)return cs;hg=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return cs=e,cs}var ss,pg;function dM(){if(pg)return ss;pg=1;var e=pM();function t(){}function r(){}return r.resetWarningCache=t,ss=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},ss}var dg;function vM(){return dg||(dg=1,us.exports=dM()()),us.exports}var yM=vM();const ne=ue(yM),{getOwnPropertyNames:gM,getOwnPropertySymbols:mM}=Object,{hasOwnProperty:bM}=Object.prototype;function ls(e,t){return function(n,i,a){return e(n,i,a)&&t(n,i,a)}}function ni(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 xM(e){return e?. Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function aC(e,t){if(e){if(typeof e=="string")return wg(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 wg(e,t)}}function wg(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 oC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function uC(e){if(Array.isArray(e))return e}function cC(){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=nC(o),c=u[0],s=u.slice(1);if(typeof c=="number"){xg(i.bind(null,s),c);return}i(c),xg(i.bind(null,s));return}wl(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 _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 Og(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?Og(Object(r),!0).forEach(function(n){Q0(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Og(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Q0(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=lC(e,"string");return _n(t)==="symbol"?t:String(t)}function lC(e,t){if(_n(e)!=="object"||e===null)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 fC=function(t,r){return[Object.keys(t),Object.keys(r)].reduce(function(n,i){return n.filter(function(a){return i.includes(a)})})},hC=function(t){return t},pC=function(t){return t.replace(/([A-Z])/g,function(r){return"-".concat(r.toLowerCase())})},Qr=function(t,r){return Object.keys(r).reduce(function(n,i){return _g(_g({},n),{},Q0({},i,t(i,r[i])))},{})},Sg=function(t,r,n){return t.map(function(i){return"".concat(pC(i)," ").concat(r,"ms ").concat(n)}).join(",")};function dC(e,t){return gC(e)||yC(e,t)||ex(e,t)||vC()}function vC(){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 yC(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 gC(e){if(Array.isArray(e))return e}function mC(e){return wC(e)||xC(e)||ex(e)||bC()}function bC(){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 ex(e,t){if(e){if(typeof e=="string")return Ol(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 Ol(e,t)}}function xC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function wC(e){if(Array.isArray(e))return Ol(e)}function Ol(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 Ni=1e-4,tx=function(t,r){return[0,3*t,3*r-6*t,3*t-3*r+1]},rx=function(t,r){return t.map(function(n,i){return n*Math.pow(r,i)}).reduce(function(n,i){return n+i})},Ag=function(t,r){return function(n){var i=tx(t,r);return rx(i,n)}},OC=function(t,r){return function(n){var i=tx(t,r),a=[].concat(mC(i.map(function(o,u){return o*u}).slice(1)),[0]);return rx(a,n)}},Pg=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=dC(s,4);i=f[0],a=f[1],o=f[2],u=f[3]}}}var l=Ag(i,o),h=Ag(a,u),d=OC(i,o),g=function(m){return m>1?1:m<0?0:m},v=function(m){for(var x=m>1?1:m,w=x,O=0;O<8;++O){var y=l(w)-x,b=d(w);if(Math.abs(y-x)<Ni||b<Ni)return h(w);w=g(w-y/b)}return h(w)};return v.isStepper=!1,v},_C=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,g=h*a,v=h+(d-g)*u/1e3,p=h*u/1e3+f;return Math.abs(p-l)<Ni&&Math.abs(v)<Ni?[l,0]:[p,v]};return c.isStepper=!0,c.dt=u,c},SC=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 Pg(i);case"spring":return _C();default:if(i.split("(")[0]==="cubic-bezier")return Pg(i)}return typeof i=="function"?i:null};function Sn(e){"@babel/helpers - typeof";return Sn=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},Sn(e)}function Tg(e){return TC(e)||PC(e)||nx(e)||AC()}function AC(){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 PC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function TC(e){if(Array.isArray(e))return Sl(e)}function Eg(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?Eg(Object(r),!0).forEach(function(n){_l(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Eg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _l(e,t,r){return t=EC(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function EC(e){var t=jC(e,"string");return Sn(t)==="symbol"?t:String(t)}function jC(e,t){if(Sn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Sn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function MC(e,t){return IC(e)||$C(e,t)||nx(e,t)||CC()}function CC(){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 nx(e,t){if(e){if(typeof e=="string")return Sl(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 Sl(e,t)}}function Sl(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 $C(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 IC(e){if(Array.isArray(e))return e}var qi=function(t,r,n){return t+(r-t)*n},Al=function(t){var r=t.from,n=t.to;return r!==n},RC=function e(t,r,n){var i=Qr(function(a,o){if(Al(o)){var u=t(o.from,o.to,o.velocity),c=MC(u,2),s=c[0],f=c[1];return Ae(Ae({},o),{},{from:s,velocity:f})}return o},r);return n<1?Qr(function(a,o){return Al(o)?Ae(Ae({},o),{},{velocity:qi(o.velocity,i[a].velocity,n),from:qi(o.from,i[a].from,n)}):o},r):e(t,i,n-1)};const kC=(function(e,t,r,n,i){var a=fC(e,t),o=a.reduce(function(p,m){return Ae(Ae({},p),{},_l({},m,[e[m],t[m]]))},{}),u=a.reduce(function(p,m){return Ae(Ae({},p),{},_l({},m,{from:e[m],velocity:0,to:t[m]}))},{}),c=-1,s,f,l=function(){return null},h=function(){return Qr(function(m,x){return x.from},u)},d=function(){return!Object.values(u).filter(Al).length},g=function(m){s||(s=m);var x=m-s,w=x/r.dt;u=RC(r,u,w),i(Ae(Ae(Ae({},e),t),h())),s=m,d()||(c=requestAnimationFrame(l))},v=function(m){f||(f=m);var x=(m-f)/n,w=Qr(function(y,b){return qi.apply(void 0,Tg(b).concat([r(x)]))},o);if(i(Ae(Ae(Ae({},e),t),w)),x<1)c=requestAnimationFrame(l);else{var O=Qr(function(y,b){return qi.apply(void 0,Tg(b).concat([r(1)]))},o);i(Ae(Ae(Ae({},e),t),O))}};return l=r.isStepper?g:v,function(){return requestAnimationFrame(l),function(){cancelAnimationFrame(c)}}});function br(e){"@babel/helpers - typeof";return br=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},br(e)}var DC=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function NC(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 fs(e){return UC(e)||FC(e)||LC(e)||BC()}function BC(){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 LC(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 FC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function UC(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 jg(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 Ge(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?jg(Object(r),!0).forEach(function(n){Vr(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vr(e,t,r){return t=ix(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function WC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zC(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,ix(n.key),n)}}function HC(e,t,r){return t&&zC(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function ix(e){var t=GC(e,"string");return br(t)==="symbol"?t:String(t)}function GC(e,t){if(br(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(br(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function KC(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&&Tl(e,t)}function Tl(e,t){return Tl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Tl(e,t)}function XC(e){var t=VC();return function(){var n=Bi(e),i;if(t){var a=Bi(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return El(this,i)}}function El(e,t){if(t&&(br(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jl(e)}function jl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function VC(){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 Bi(e){return Bi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Bi(e)}var At=(function(e){KC(r,e);var t=XC(r);function r(n,i){var a;WC(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(jl(a)),a.changeStyle=a.changeStyle.bind(jl(a)),!u||d<=0)return a.state={style:{}},typeof h=="function"&&(a.state={style:f}),El(a);if(l&&l.length)a.state={style:l[0].style};else if(s){if(typeof h=="function")return a.state={style:s},El(a);a.state={style:c?Vr({},c,s):s}}else a.state={style:{}};return a}return HC(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?Vr({},c,f):f};this.state&&h&&(c&&h[c]!==f||!c&&h!==f)&&this.setState(d);return}if(!(tC(i.to,f)&&i.canBegin&&i.isActive)){var g=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=g||s?l:i.to;if(this.state&&h){var p={style:c?Vr({},c,v):v};(c&&h[c]!==v||!c&&h!==v)&&this.setState(p)}this.runAnimation(Ge(Ge({},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 JC(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 QC(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 e$(e){if(Array.isArray(e))return 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){t$(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 t$(e,t,r){return t=r$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r$(e){var t=n$(e,"string");return An(t)=="symbol"?t:t+""}function n$(e,t){if(An(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(An(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ig=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 g=Math.min(o,a);f="M ".concat(t,",").concat(r+u*g,`
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t+c*g,",").concat(r,`
L `).concat(t+n-c*g,",").concat(r,`
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t+n,",").concat(r+u*g,`
L `).concat(t+n,",").concat(r+i-u*g,`
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t+n-c*g,",").concat(r+i,`
L `).concat(t+c*g,",").concat(r+i,`
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t,",").concat(r+i-u*g," Z")}else f="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(i," h ").concat(-n," Z");return f},i$=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},a$={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Gf=function(t){var r=$g($g({},a$),t),n=N.useRef(),i=N.useState(-1),a=YC(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,g=r.animationEasing,v=r.animationDuration,p=r.animationBegin,m=r.isAnimationActive,x=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||f===0||l===0)return null;var w=te("recharts-rectangle",d);return x?T.createElement(At,{canBegin:o>0,from:{width:f,height:l,x:c,y:s},to:{width:f,height:l,x:c,y:s},duration:v,animationEasing:g,isActive:x},function(O){var y=O.width,b=O.height,_=O.x,S=O.y;return T.createElement(At,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,isActive:m,easing:g},T.createElement("path",Li({},ee(r,!0),{className:w,d:Ig(_,S,y,b,h),ref:n})))}):T.createElement("path",Li({},ee(r,!0),{className:w,d:Ig(c,s,f,l,h)}))};function Ml(){return Ml=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},Ml.apply(this,arguments)}var ax=function(t){var r=t.cx,n=t.cy,i=t.r,a=t.className,o=te("recharts-dot",a);return r===+r&&n===+n&&i===+i?N.createElement("circle",Ml({},ee(t,!1),ui(t),{className:o,cx:r,cy:n,r:i})):null};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)}var o$=["x","y","top","left","width","height","className"];function Cl(){return Cl=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},Cl.apply(this,arguments)}function Rg(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 u$(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rg(Object(r),!0).forEach(function(n){c$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function c$(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=l$(e,"string");return Pn(t)=="symbol"?t:t+""}function l$(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 f$(e,t){if(e==null)return{};var r=h$(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 h$(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 p$=function(t,r,n,i,a,o){return"M".concat(t,",").concat(a,"v").concat(i,"M").concat(o,",").concat(r,"h").concat(n)},d$=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,g=t.className,v=f$(t,o$),p=u$({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",Cl({},ee(p,!0),{className:te("recharts-cross",g),d:p$(n,a,l,d,u,s)}))},hs,kg;function v$(){if(kg)return hs;kg=1;var e=xb(),t=e(Object.getPrototypeOf,Object);return hs=t,hs}var ps,Dg;function y$(){if(Dg)return ps;Dg=1;var e=gt(),t=v$(),r=mt(),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 ps=s,ps}var g$=y$();const m$=ue(g$);var ds,Ng;function b$(){if(Ng Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S$(e,t){if(e){if(typeof e=="string")return qg(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 qg(e,t)}}function qg(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 A$(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 P$(e){if(Array.isArray(e))return e}function Bg(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 Lg(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Bg(Object(r),!0).forEach(function(n){T$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function T$(e,t,r){return t=E$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E$(e){var t=j$(e,"string");return Tn(t)=="symbol"?t:t+""}function j$(e,t){if(Tn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Tn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Fg=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},M$={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},C$=function(t){var r=Lg(Lg({},M$),t),n=N.useRef(),i=N.useState(-1),a=O$(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,g=r.animationEasing,v=r.animationDuration,p=r.animationBegin,m=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||h!==+h||f===0&&l===0||h===0)return null;var x=te("recharts-trapezoid",d);return m?T.createElement(At,{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:g,isActive:m},function(w){var O=w.upperWidth,y=w.lowerWidth,b=w.height,_=w.x,S=w.y;return T.createElement(At,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,easing:g},T.createElement("path",Fi({},ee(r,!0),{className:x,d:Fg(_,S,O,y,b),ref:n})))}):T.createElement("g",null,T.createElement("path",Fi({},ee(r,!0),{className:x,d:Fg(c,s,f,l,h)})))},$$=["option","shapeType","propTransformer","activeClassName","isActive"];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)}function I$(e,t){if(e==null)return{};var r=R$(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 R$(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 Ug(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 Ui(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ug(Object(r),!0).forEach(function(n){k$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ug(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function k$(e,t,r){return t=D$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function D$(e){var t=N$(e,"string");return En(t)=="symbol"?t:t+""}function N$(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("@@t Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gR(e,t){if(e){if(typeof e=="string")return bm(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 bm(e,t)}}function bm(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 mR(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 bR(e){if(Array.isArray(e))return e}function Dl(){return Dl=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},Dl.apply(this,arguments)}var xR=function(t,r){var n;return T.isValidElement(t)?n=T.cloneElement(t,r):Y(t)?n=t(r):n=T.createElement("line",Dl({},r,{className:"recharts-reference-line-line"})),n},wR=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 g=s.y,v=t.y.apply(g,{position:o});if(rt(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 m=s.x,x=t.x.apply(m,{position:o});if(rt(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(b){return t.apply(b,{position:o})});return rt(s,"discard")&&dI(y,function(b){return!t.isInRange(b)})?null:y}return null};function OR(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=rR(),f=Ox(i),l=_x(a),h=aR();if(!s||!h)return null;ht(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var d=Kf({x:f.scale,y:l.scale}),g=xe(t),v=xe(r),p=n&&n.length===2,m=wR(d,g,v,p,h,e.position,f.orientation,l.orientation,e);if(!m)return null;var x=vR(m,2),w=x[0],O=w.x,y=w.y,b=x[1],_=b.x,S=b.y,P=rt(e,"hidden")?"url(#".concat(s,")"):void 0,M=mm(mm({clipPath:P},ee(e,!0)),{},{x1:O,y1:y,x2:_,y2:S});return T.createElement(_e,{className:te("recharts-reference-line",u)},xR(o,M),Ee.renderCallByParent(e,zI({x1:O,y1:y,x2:_,y2:S})))}var Qf=(function(e){function t(){return uR(this,t),lR(this,t,arguments)}return pR(t,e),sR(t,[{key:"render",value:function(){return T.createElement(OR,this.props)}}])})(T.Component);Jf(Qf,"displayName","ReferenceLine");Jf(Qf,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function Nl(){return Nl=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},Nl.apply(this,arguments)}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)}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){ja(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 _R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function SR(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,Tx(n.key),n)}}function AR(e,t,r){return t&&SR(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function PR(e,t,r){return t=Vi(t),TR(e,Px()?Reflect.construct(t,r||[],Vi(e).constructor):t.apply(e,r))}function TR(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 ER(e)}function ER(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Px(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Px=function(){return!!e})()}function Vi(e){return Vi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vi(e)}function jR( Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lk(e,t){if(e){if(typeof e=="string")return Gl(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 Gl(e,t)}}function Fk(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Uk(e){if(Array.isArray(e))return Gl(e)}function Gl(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 Kl=function(t,r,n,i,a){var o=Ze(t,Qf),u=Ze(t,Ma),c=[].concat(jm(o),jm(u)),s=Ze(t,$a),f="".concat(i,"Id"),l=i[0],h=r;if(c.length&&(h=c.reduce(function(v,p){if(p.props[f]===n&&rt(p.props,"extendDomain")&&q(p.props[l])){var m=p.props[l];return[Math.min(v[0],m),Math.max(v[1],m)]}return v},h)),s.length){var d="".concat(l,"1"),g="".concat(l,"2");h=s.reduce(function(v,p){if(p.props[f]===n&&rt(p.props,"extendDomain")&&q(p.props[d])&&q(p.props[g])){var m=p.props[d],x=p.props[g];return[Math.min(v[0],m,x),Math.max(v[1],m,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},$s={exports:{}},Mm;function Wk(){return Mm||(Mm=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),g=r?r+s:s;return c._events[g]?c._events[g].fn?c._events[g]=[c._events[g],d]:c._events[g].push(d):(c._events[g]=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,g=new Array(d);h<d;h++)g[h]=l[h].fn;return g},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,g){var v=r?r+s:s;if(!this._events[v])return!1;var p=this._events[v],m=arguments.length,x,w;if(p.fn){switch(p.once&&this.removeListener(s,p.fn,void 0,!0),m){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,g),!0}for(w=1,x=new Array(m-1);w<m;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),m){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(m-1);y<m;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 g=this._events[d];if(g.fn)g.fn===f&&(!h||g.once)&&(!l||g.context===l)&&o(this,d);else{for(var v=0,p=[],m=g.length;v<m;v++)(g[v].fn!==f||h&&!g[v].once||l&&g[v].context!==l)&&p.push(g[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})($s)),$s.exports}var zk=Wk();const Hk=ue(zk);var Is=new Hk,Rs="recharts.syncMouseEvents";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 Gk(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kk(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,Ux(n.key),n)}}function Xk(e,t,r){return t&&Kk(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function ks(e,t,r){return t=Ux(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ux(e){var t=Vk(e,"string");return Rn(t)=="symbol"?t:t+""}function Vk(e Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uD(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 cD(e){if(Array.isArray(e))return e}function Im(e,t){if(e==null)return{};var r=sD(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 sD(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 lD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fD(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,Gx(n.key),n)}}function hD(e,t,r){return t&&fD(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function pD(e,t,r){return t=ta(t),dD(e,zx()?Reflect.construct(t,r||[],ta(e).constructor):t.apply(e,r))}function dD(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 vD(e)}function vD(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zx(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(zx=function(){return!!e})()}function ta(e){return ta=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ta(e)}function yD(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&&Xl(e,t)}function Xl(e,t){return Xl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Xl(e,t)}function Mr(e){return bD(e)||mD(e)||Hx(e)||gD()}function gD(){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 Hx(e,t){if(e){if(typeof e=="string")return Vl(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 Vl(e,t)}}function mD(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bD(e){if(Array.isArray(e))return Vl(e)}function Vl(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 Rm(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 C(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rm(Object(r),!0).forEach(function(n){H(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function H(e,t,r){return t=Gx(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gx(e){var t=xD(e,"string");return jr(t)=="symbol"?t:t+""}function xD(e,t){if(jr(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(jr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var wD={xAxis:["bottom","top"],yAxis:["left","right"]},OD={width:"100%",height:"100%"},Kx={x:0,y:0};function ai(e){return e}var _D=function(t,r){return r==="horizontal"?t.x:r==="vertical"?t.y:r==="centric"?t.angle:t.radius},SD=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 C(C(C({},i),Pe(i.cx,i.cy,u,o)),{},{angle:o,radius:u})}var c=a.coordinate,s=i.angle;return C(C(C({},i),Pe(i.cx,i.cy,c,s)),{},{angle:s,radius:c})}return Kx},Ia=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(Mr(u),Mr(s)):u},[]);return o.length>0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function Xx(e){return e==="number"?[0,"auto"]:void 0}var Yl=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,u=Ia(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=oi(d,o.dataKey,i)}else h=l&&l[n]||u[n];return h?[].concat(Mr(c),[K0(s,h)]):c},[])},km=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=_D(a,n),u=t.orderedTooltipTicks,c=t.tooltipAxis,s=t.tooltipTicks,f=HE(o,u,s,c);if(f>=0&&s){var l=s[f]&&s[f].value,h=Yl(t,r,f,l),d=SD(n,u,f,a);return{activeTooltipIndex:f,activeLabel:l,activePayload:h,activeCoordinate:d}}return null},AD=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=F0(f,a);return n.reduce(function(g,v){var p,m=v.type.defaultProps!==void 0?C(C({},v.type.defaultProps),v.props):v.props,x=m.type,w=m.dataKey,O=m.allowDataOverflow,y=m.allowDuplicatedCategory,b=m.scale,_=m.ticks,S=m.includeHidden,P=m[o];if(g[P])return g;var M=Ia(t.data,{graphicalItems:i.filter(function(U){var K,ce=o in U.props?U.props[o]:(K=U.type.defaultProps)===null||K===void 0?void 0:K[o];return ce===P}),dataStartIndex:c,dataEndIndex:s}),A=M.length,E,j,I;Zk(m.domain,O,x)&&(E=yl(m.domain,null,O),d&&(x==="number"||b!=="auto")&&(I=Jr(M,w,"category")));var $=Xx(x);if(!E||E.length===0){var R,D=(R=m.domain)!==null&&R!==void 0?R:$;if(w){if(E=Jr(M,w,x),x==="category"&&d){var B=Nw(E);y&&B?(j=E,E=Wi(0,A)):y||(E=Zy(D,E,v).reduce(function(U,K){return U.indexOf(K)>=0?U:[].concat(Mr(U),[K])},[]))}else if(x==="category")y?E=E.filter(function(U){return U!==""&&!Z(U)}):E=Zy(D,E,v).reduce(function(U,K){return U.indexOf(K)>=0||K===""||Z(K)?U:[].concat(Mr(U),[K])},[]);else if(x==="number"){var L=YE(M,i.filter(function(U){var K,ce,pe=o in U.props?U.props[o]:(K=U.type.defaultProps)===null||K===void 0?void 0:K[o],ke="hide"in U.props?U.props.hide:(ce=U.type.defaultProps)===null||ce===void 0?void 0:ce.hide;return pe===P&&(S||!ke)}),w,a,f);L&&(E=L)}d&&(x==="number"||b!=="auto")&&(I=Jr(M,w,"category"))}else d?E=Wi(0,A):u&&u[P]&&u[P].hasStack&&x==="number"?E=h==="expand"?[0,1]:G0(u[P].stackGroups,c,s):E=L0(M,i.filter(function(U){var K=o in U.props?U.props[o]:U.type.defaultProps[o],ce="hide"in U.props?U.props.hide:U.type.defau Line truncated
@@ -0,0 +1 @@
import{g as e}from"./index-DfyorCky.js";const y=[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]],a=e("hard-drive",y);export{a as H};
@@ -0,0 +1 @@
import{g as o}from"./index-DfyorCky.js";const t=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],a=o("history",t);export{a as H};
+1
View File
@@ -0,0 +1 @@
*,: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
+1
View File
@@ -0,0 +1 @@
import{l as s,u as i}from"./index-DfyorCky.js";import{d as e}from"./dashboard-BjQPIG2G.js";import{r as t,s as A}from"./server-CjDPBaTN.js";import{k as m}from"./kubernetes-J8O09fK7.js";import{c as d,d as x,p as f,s as c}from"./deploy-B3Sg3N1U.js";import{c as u,s as g,t as k}from"./automation-mtL167W_.js";import{a as C,b as h,d as z,p as D,s as S,t as y,z as E}from"./monitor-BAaBXIsC.js";import{a as L}from"./agent-DqqIRCQX.js";import{b as q,c as w,p as B}from"./cloud-Dzoer-2i.js";import{b as G,a as H,l as I,s as K,t as M}from"./system-BgtMMm0X.js";import{a as O}from"./ai-BTgmlP5Q.js";export{L as agentApi,O as aiApi,C as alertApi,h as alertCenterApi,G as approvalApi,H as auditApi,q as billingApi,w as cloudApi,d as credentialApi,u as cronJobApi,z as dashboardApi,e as dashboardStatsApi,x as deployApi,m as kubernetesApi,s as ldapApi,I as loginLogApi,f as pipelineApi,B as platformApi,D as promDatasourceApi,t as regionApi,g as scriptApi,A as serverApi,c as serverCredentialApi,K as sessionCommandApi,S as siteApi,k as taskExecutionApi,M as terminalSessionApi,y as traceApi,i as userApi,E as zabbixDatasourceApi};
+1
View File
@@ -0,0 +1 @@
import{r as u}from"./index-DfyorCky.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
@@ -0,0 +1,103 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Dashboard-iCzLAtNG.js","./dashboard-BjQPIG2G.js","./server-CjDPBaTN.js","./kubernetes-J8O09fK7.js","./card-C55cvSHg.js","./trending-up-CdusV6gc.js","./trending-down-BGTWG_dA.js","./minus-UVrx3jLc.js","./badge-xNW8x0G1.js","./hard-drive-BbPmnARR.js","./generateCategoricalChart-6v9BPbG2.js","./AreaChart-B2zlWfdX.js","./BarChart-DlFprovY.js","./memory-stick-QMV-0CnU.js","./arrow-right-DyIltvNZ.js","./circle-DOZr6_68.js","./ServerManager-JxMW-hQt.js","./checkbox-CH0bpj6b.js","./index-CWVNW_qu.js","./table-5sHV4Akp.js","./select-D5qUzdAs.js","./rotate-cw-5qcj_h_q.js","./index-a3ybMjbR.js","./cloud-Dzoer-2i.js","./refresh-cw-DUB_tAG-.js","./xterm-DSqgeKvr.js","./xterm-DXOU9pbP.css","./deploy-B3Sg3N1U.js","./minimize-2-CiCQYRfn.js","./folder-open-IMBifk-r.js","./upload-Ba6rlaGS.js","./folder-DoMwqvzv.js","./arrow-left-BDgGyrD0.js","./download-DoZfYs2h.js","./trash-2-Dx32pOzT.js","./label-BK0h2apY.js","./textarea-NXY8u32k.js","./save-DoGGjfwC.js","./ellipsis-DU5enAwm.js","./square-pen-BxUFAe0F.js","./plus-CUG-9kpu.js","./CloudAccountManager-DU9759_X.js","./circle-check-DWcXrx2k.js","./circle-x-DK79Dhg2.js","./pencil-BqUotcjf.js","./DomainManager-CIA5bu9u.js","./RegionManager-Bj8EPK6w.js","./PlatformManager-DvSL1hbm.js","./external-link-CzIpMNu1.js","./CloudBilling-BUyc8wKP.js","./switch-CGiGgOnh.js","./KubernetesClusters-CsRHjVkA.js","./tabs-CIh_yD4s.js","./ClusterOverviewPage-CYcNLUM0.js","./use-toast-CrSOP4cJ.js","./NodeDetailPage-MBEvAdV0.js","./NamespaceOverviewPage-qjFlj_lA.js","./file-text-C9G5abwR.js","./NamespaceManagementPage-Do5kDmHW.js","./NamespaceResourcePage-Byljvm8v.js","./PodFileBrowser-BySN2XGN.js","./copy-DXW4LnkN.js","./sparkles-Bld4NX5y.js","./box-TTGA1p57.js","./DeploymentDetailPage--48QYro1.js","./history-D_9jPUQg.js","./play-cdPayOtJ.js","./zap-D2uWSK32.js","./disc-EsE6x5Oh.js","./pause-D_famo9P.js","./WorkloadViewPage-Koq6nkyo.js","./tag-0HCfq8kH.js","./TopologyView-scPjlVYA.js","./KubernetesNodes-DNrQwI__.js","./PodMetricsPage-DjvvN_IG.js","./EventsPage-Dbw7LuoJ.js","./layers-FW4KKJMi.js","./CapacityPage-Dz7l4ubk.js","./AlertManager-BaUrn6Bk.js","./monitor-BAaBXIsC.js","./AlertRuleDialog-DnF-_Zoj.js","./message-square-DyxabBvb.js","./phone-DgvWDdJl.js","./ApprovalFlow-5mIFjuJZ.js","./system-BgtMMm0X.js","./funnel-D2FHr15I.js","./ScriptManager-BFWlhlzw.js","./automation-mtL167W_.js","./SystemManager-D4SbaG04.js","./user-plus-BwUWtcQl.js","./AuditPage-BdPy-cgE.js","./CredentialManager-DlhOOSIa.js","./PipelineManager-C1vaTQ2Z.js","./shield-check-Dcx486cW.js","./code-L62jFLTC.js","./circle-stop-s4wxdTEV.js","./DeployCredentials-XbkP4xDn.js","./wrench-KfbhOOJm.js","./PipelineEditor-DrEZIuvh.js","./PipelineRunDetail-CwWLRhgo.js","./square-9TIYDO_t.js","./DeployRBAC-QV1xM1Jn.js","./UserGroupsManager-nOJ7di7Y.js","./CronJobManager-BMfKpm0z.js","./package-open-CUXo2Tda.js","./AIOpsAssistant-DFQDT-tz.js","./agent-DqqIRCQX.js","./ai-BTgmlP5Q.js","./wifi-FqsslTyA.js","./AIAlertAnalyzer-B9ptAIV7.js","./AIPredictiveAnalytics-Dr8sfqna.js","./AlertCenter-C3WMw6jA.js","./TraceManager-D4FRDBfs.js","./HostMonitor-C63FMElJ.js","./GrafanaDashboard-BoB6WmDi.js","./arrow-up-down-DnvTt5VG.js","./MonitorCenter-Cdfxw79h.js","./MetricsExplorer-CQYGy4Dt.js","./DatasourcePage-brk0z6d8.js"])))=>i.map(i=>d[i]);
function PS(n,r){for(var l=0;l<r.length;l++){const s=r[l];if(typeof s!="string"&&!Array.isArray(s)){for(const i in s)if(i!=="default"&&!(i in n)){const u=Object.getOwnPropertyDescriptor(s,i);u&&Object.defineProperty(n,i,u.get?u:{enumerable:!0,get:()=>s[i]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(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 IO=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ly(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var nd={exports:{}},Xo={};var Lg;function qS(){if(Lg)return Xo;Lg=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function l(s,i,u){var f=null;if(u!==void 0&&(f=""+u),i.key!==void 0&&(f=""+i.key),"key"in i){u={};for(var p in i)p!=="key"&&(u[p]=i[p])}else u=i;return i=u.ref,{$$typeof:n,type:s,key:f,ref:i!==void 0?i:null,props:u}}return Xo.Fragment=r,Xo.jsx=l,Xo.jsxs=l,Xo}var Hg;function VS(){return Hg||(Hg=1,nd.exports=qS()),nd.exports}var h=VS(),ad={exports:{}},ye={};var Ug;function GS(){if(Ug)return ye;Ug=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),f=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),w=Symbol.iterator;function A(T){return T===null||typeof T!="object"?null:(T=w&&T[w]||T["@@iterator"],typeof T=="function"?T:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,E={};function M(T,Y,F){this.props=T,this.context=Y,this.refs=E,this.updater=F||_}M.prototype.isReactComponent={},M.prototype.setState=function(T,Y){if(typeof T!="object"&&typeof T!="function"&&T!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,T,Y,"setState")},M.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function H(){}H.prototype=M.prototype;function D(T,Y,F){this.props=T,this.context=Y,this.refs=E,this.updater=F||_}var j=D.prototype=new H;j.constructor=D,C(j,M.prototype),j.isPureReactComponent=!0;var q=Array.isArray;function Z(){}var G={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function W(T,Y,F){var J=F.ref;return{$$typeof:n,type:T,key:Y,ref:J!==void 0?J:null,props:F}}function se(T,Y){return W(T.type,Y,T.props)}function he(T){return typeof T=="object"&&T!==null&&T.$$typeof===n}function ge(T){var Y={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(F){return Y[F]})}var Ae=/\/+/g;function xe(T,Y){return typeof T=="object"&&T!==null&&T.key!=null?ge(""+T.key):Y.toString(36)}function ve(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(Z,Z):(T.status="pending",T.then(function(Y){T.status==="pending"&&(T.status="fulfilled",T.value=Y)},function(Y){T.status==="pending"&&(T.status="rejected",T.reason=Y)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function z(T,Y,F,J,ce){var me=typeof T;(me==="undefined"||me==="boolean")&&(T=null);var te=!1;if(T===null)te=!0;else switch(me){case"bigint":case"string":case"number":te=!0;break;case"object":switch(T.$$typeof){case n:case r:te=!0;break;case x:return te=T._init,z(te(T._payload),Y,F,J,ce)}}if(te)return ce=ce(T),te=J===""?"."+xe(T,0):J,q(ce)?(F="",te!=null&&(F=te.replace(Ae,"$&/")+"/"),z(ce,Y,F,"",function(qt){return qt})):ce!=null&&(he(ce)&&(ce=se(ce,F+(ce.key==null||T&&T.key===ce.key?"":(""+ce.key).replace(Ae,"$&/")+"/")+te)),Y.push(ce)),1;te=0;var Qe=J===""?".":J+":";if(q(T))for(var Le=0;Le<T.length;Le++)J=T[Le],me=Qe+xe(J,Le),te+=z(J,Y,F,me,ce);else if(Le=A(T),typeof Le=="function")for(T=Le.call(T),Le=0;!(J=T.next()).done;)J=J.value,me=Qe+xe(J,Le++),te+=z(J,Y,F,me,ce);else if(me==="object"){if(typeof T.then=="function")return z(ve(T),Y,F,J,ce);throw Y=String(T),Error("Objects are not valid as a React child (found: "+(Y==="[object Object]"?"object wLine truncated
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
`+fn+e+Ca}var Bi=!1;function Pi(e,t){if(!e||Bi)return"";Bi=!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(B){var U=B}Reflect.construct(e,[],Q)}else{try{Q.call()}catch(B){U=B}e.call(Q.prototype)}}else{try{throw Error()}catch(B){U=B}(Q=e())&&typeof Q.catch=="function"&&Q.catch(function(){})}}catch(B){if(B&&U&&typeof B.stack=="string")return[B.stack,U.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 R=y.split(`
`),L=S.split(`
`);for(c=o=0;o<R.length&&!R[o].includes("DetermineComponentFrameRoot");)o++;for(;c<L.length&&!L[c].includes("DetermineComponentFrameRoot");)c++;if(o===R.length||c===L.length)for(o=R.length-1,c=L.length-1;1<=o&&0<=c&&R[o]!==L[c];)c--;for(;1<=o&&0<=c;o--,c--)if(R[o]!==L[c]){if(o!==1||c!==1)do if(o--,c--,0>c||R[o]!==L[c]){var V=`
`+R[o].replace(" at new "," at ");return e.displayName&&V.includes("<anonymous>")&&(V=V.replace("<anonymous>",e.displayName)),V}while(1<=o&&0<=c);break}}}finally{Bi=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?_a(a):""}function v0(e,t){switch(e.tag){case 26:case 27:case 5:return _a(e.type);case 16:return _a("Lazy");case 13:return e.child!==t&&t!==null?_a("Suspense Fallback"):_a("Suspense");case 19:return _a("SuspenseList");case 0:case 15:return Pi(e.type,!1);case 11:return Pi(e.type.render,!1);case 1:return Pi(e.type,!0);case 31:return _a("Activity");default:return""}}function Lf(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 qi=Object.prototype.hasOwnProperty,Vi=n.unstable_scheduleCallback,Gi=n.unstable_cancelCallback,y0=n.unstable_shouldYield,x0=n.unstable_requestPaint,Rt=n.unstable_now,b0=n.unstable_getCurrentPriorityLevel,Hf=n.unstable_ImmediatePriority,Uf=n.unstable_UserBlockingPriority,pl=n.unstable_NormalPriority,S0=n.unstable_LowPriority,Bf=n.unstable_IdlePriority,w0=n.log,E0=n.unstable_setDisableYieldValue,Jr=null,Tt=null;function $n(e){if(typeof w0=="function"&&E0(e),Tt&&typeof Tt.setStrictMode=="function")try{Tt.setStrictMode(Jr,e)}catch{}}var Mt=Math.clz32?Math.clz32:_0,A0=Math.log,C0=Math.LN2;function _0(e){return e>>>=0,e===0?32:31-(A0(e)/C0|0)|0}var ml=256,gl=262144,vl=4194304;function Ra(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 yl(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=Ra(o):(y&=S,y!==0?c=Ra(y):a||(a=S&~e,a!==0&&(c=Ra(a))))):(S=o&~d,S!==0?c=Ra(S):y!==0?c=Ra(y):a||(a=o&~e,a!==0&&(c=Ra(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 Wr(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function R0(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 Pf(){var e=vl;return vl<<=1,(vl&62914560)===0&&(vl=4194304),e}function Yi(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function eo(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function T0(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,R=e.expirationTimes,L=e.hiddenUpdates;for(a=y&~a;0<a;){var V=31-Mt(a),Q=1<<V;S[V]=0,R[V]=-1;var U=L[V];if(U!==null)for(L[V]=null,V=0;V<U.length;V++){var B=U[V];B!==null&&(B.lane&=-536870913)}a&=~Q}o!==0&&qf(e,o,0),d!==0&&c===0&&e.tag!==0&&(e.suspendedLanes|=d&~(y&~t))}function qf(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var o=31-Mt(t);e.entangledLanes|=t,e.entanglements[o]=e.entanglements[o]|1073741824|a&261930}function Vf(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var o=31-Mt(a),c=1<<o;c&t|e[o]&t&&(e[o]|=t),a&=~c}}function Gf(e,t){var a=t&-t;return a=(a&42)!==0?1:Xi(a),(a&(e.suspendedLanes|t))!==0?0:a}function Xi(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 Qi(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Yf(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Mg(e.type))}function Xf(e,t){var a=$.p;try{return $.p=e,t()}finally{$.p=a}}var Fn=Math.random().toString(36).slice(2),st="__reactFiber$"+Fn,vt="__reactProps$"+Fn,Ia="__reactContainer$"+Fn,Ki="__reactEvents$"+Fn,M0="__reactListeners$"+Fn,O0="__reactHandles$"+Fn,Qf="__reactResources$"+Fn,to="__reactMarker$"+Fn;function $i(e){delete e[st],delete e[vt],delete e[Ki],delete e[M0],delete e[O0]}function Ja(e){var t=e[st];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ia]||a[st]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=hg(e);e!==null;){if(a=e[st])return a;e=hg(e)}return t}e=a,a=e.parentNode}return null}function Wa(e){if(e=e[st]||e[Ia]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function no(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[Qf];return t||(t=e[Qf]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ot(e){e[to]=!0}var Kf=new Set,$f={};function Ta(e,t){tr(e,t),tr(e+"Capture",t)}function tr(e,t){for($f[e]=t,e=0;e<t.length;e++)Kf.add(t[e])}var j0=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u21 Line truncated
`).replace(iS,"")}function ag(e,t){return t=ng(t),ng(e)===t}function Ue(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":bl(e,"class",o);break;case"tabIndex":bl(e,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":bl(e,a,o);break;case"style":ah(e,o,d);break;case"data":if(t!=="object"){bl(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=wl(""+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"&&Ue(e,t,"name",c.name,c,null),Ue(e,t,"formEncType",c.formEncType,c,null),Ue(e,t,"formMethod",c.formMethod,c,null),Ue(e,t,"formTarget",c.formTarget,c,null)):(Ue(e,t,"encType",c.encType,c,null),Ue(e,t,"method",c.method,c,null),Ue(e,t,"target",c.target,c,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(a);break}o=wl(""+o),e.setAttribute(a,o);break;case"onClick":o!=null&&(e.onclick=_n);break;case"onScroll":o!=null&&Re("scroll",e);break;case"onScrollEnd":o!=null&&Re("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=wl(""+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":Re("beforetoggle",e),Re("toggle",e),xl(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":xl(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=L0.get(a)||a,xl(e,a,o))}}function Uu(e,t,a,o,c,d){switch(a){case"style":ah(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&&Re("scroll",e);break;case"onScrollEnd":o!=null&&Re("scrollend",e);break;case"onClick":o!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"inne Line truncated
Please change the parent <Route path="${E}"> to <Route path="${E==="/"?"*":`${E}/*`}">.`)}let x=Ct(),b;if(r){let E=typeof r=="string"?Yr(r):r;$e(g==="/"||E.pathname?.startsWith(g),`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 "${g}" but pathname "${E.pathname}" was given in the \`location\` prop.`),b=E}else b=x;let w=b.pathname||"/",A=w;if(g!=="/"){let E=g.replace(/^\//,"").split("/");A="/"+w.replace(/^\//,"").split("/").slice(E.length).join("/")}let _=iy(n,{pathname:A});en(v||_!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),en(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.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=q2(_&&_.map(E=>Object.assign({},E,{params:Object.assign({},f,E.params),pathname:bn([g,s.encodeLocation?s.encodeLocation(E.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?g:bn([g,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(ll.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...b},navigationType:"POP"}},C):C}function H2(){let n=Q2(),r=w2(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 U2=m.createElement(H2,null),xy=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=j2(n.digest);l&&(n=l)}let r=n!==void 0?m.createElement(tn.Provider,{value:this.props.routeContext},m.createElement(Wd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?m.createElement(B2,{error:n},r):r}};xy.contextType=C2;var cd=new WeakMap;function B2({children:n,error:r}){let{basename:l}=m.useContext(Pt);if(typeof r=="object"&&r&&"digest"in r&&typeof r.digest=="string"){let s=O2(r.digest);if(s){let i=cd.get(r);if(i)throw i;let u=fy(s.location,l);if(dy&&!cd.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 cd.set(r,f),f}return m.createElement("meta",{httpEquiv:"refresh",content:`0;url=${u.absoluteURL||u.to}`})}}return n}function P2({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(tn.Provider,{value:n},l)}function q2(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);$e(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,p=-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)&&(p=x),b.route.id){let{loaderData:w,errors:A}=s,_=b.route.loader&&!w.hasOwnProperty(b.route.id)&&(!A||A[b.route.idLine truncated
.`.concat(ET,` {
overflow: hidden `).concat(s,`;
padding-right: `).concat(p,"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(p,"px ").concat(s,`;
`),l==="padding"&&"padding-right: ".concat(p,"px ").concat(s,";")].filter(Boolean).join(""),`
}
.`).concat(Fs,` {
right: `).concat(p,"px ").concat(s,`;
}
.`).concat(Zs,` {
margin-right: `).concat(p,"px ").concat(s,`;
}
.`).concat(Fs," .").concat(Fs,` {
right: 0 `).concat(s,`;
}
.`).concat(Zs," .").concat(Zs,` {
margin-right: 0 `).concat(s,`;
}
body[`).concat(Pr,`] {
`).concat(AT,": ").concat(p,`px;
}
`)},Zv=function(){var n=parseInt(document.body.getAttribute(Pr)||"0",10);return isFinite(n)?n:0},GT=function(){m.useEffect(function(){return document.body.setAttribute(Pr,(Zv()+1).toString()),function(){var n=Zv()-1;n<=0?document.body.removeAttribute(Pr):document.body.setAttribute(Pr,n.toString())}},[])},YT=function(n){var r=n.noRelative,l=n.noImportant,s=n.gapMode,i=s===void 0?"margin":s;GT();var u=m.useMemo(function(){return PT(i)},[i]);return m.createElement(qT,{styles:VT(u,!r,i,l?"":"!important")})},Kd=!1;if(typeof window<"u")try{var qs=Object.defineProperty({},"passive",{get:function(){return Kd=!0,!0}});window.addEventListener("test",qs,qs),window.removeEventListener("test",qs,qs)}catch{Kd=!1}var Hr=Kd?{passive:!1}:!1,XT=function(n){return n.tagName==="TEXTAREA"},y1=function(n,r){if(!(n instanceof Element))return!1;var l=window.getComputedStyle(n);return l[r]!=="hidden"&&!(l.overflowY===l.overflowX&&!XT(n)&&l[r]==="visible")},QT=function(n){return y1(n,"overflowY")},KT=function(n){return y1(n,"overflowX")},Iv=function(n,r){var l=r.ownerDocument,s=r;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var i=x1(n,s);if(i){var u=b1(n,s),f=u[1],p=u[2];if(f>p)return!0}s=s.parentNode}while(s&&s!==l.body);return!1},$T=function(n){var r=n.scrollTop,l=n.scrollHeight,s=n.clientHeight;return[r,l,s]},FT=function(n){var r=n.scrollLeft,l=n.scrollWidth,s=n.clientWidth;return[r,l,s]},x1=function(n,r){return n==="v"?QT(r):KT(r)},b1=function(n,r){return n==="v"?$T(r):FT(r)},ZT=function(n,r){return n==="h"&&r==="rtl"?-1:1},IT=function(n,r,l,s,i){var u=ZT(n,window.getComputedStyle(r).direction),f=u*s,p=l.target,g=r.contains(p),v=!1,x=f>0,b=0,w=0;do{if(!p)break;var A=b1(n,p),_=A[0],C=A[1],E=A[2],M=C-E-u*_;(_||M)&&x1(n,p)&&(b+=M,w+=_);var H=p.parentNode;p=H&&H.nodeType===Node.DOCUMENT_FRAGMENT_NODE?H.host:H}while(!g&&p!==document.body||g&&(r.contains(p)||r===p));return(x&&Math.abs(b)<1||!x&&Math.abs(w)<1)&&(v=!0),v},Vs=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},JT=function(n,r){return n[0]===r[0]&&n[1]===r[1]},WT=function(n){return`
.block-interactivity-`.concat(n,` {pointer-events: none;}
.allow-interactivity-`).concat(n,` {pointer-events: all;}
`)},eM=0,Ur=[];function tM(n){var r=m.useRef([]),l=m.useRef([0,0]),s=m.useRef(),i=m.useState(eM++)[0],u=m.useState(v1)[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=wT([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 p=m.useCallback(function(C,E){if("touches"in C&&C.touches.length===2||C.type==="wheel"&&C.ctrlKey)return!f.current.allowPinchZoom;var M=Vs(C),H=l.current,D="deltaX"in C?C.deltaX:H[0]-M[0],j="deltaY"in C?C.deltaY:H[1]-M[1],q,Z=C.target,G=Math.abs(D)>Math.abs(j)?"h":"v";if("touches"in C&&G==="h"&&Z.type==="range")return!1;var K=window.getSelection(),W=K&&K.anchorNode,se=W?W===Z||W.contains(Z):!1;if(se)return!1;var he=Iv(G,Z);if(!he)return!0;if(he?q=G:(q=G==="v"?"h":"v",he=Iv(G,Z)),!he)return!1;if(!s.current&&"changedTouches"in C&&(D||j)&&(s.current=q),!q)return!0;var ge=s.current||q;return IT(ge,E,C,ge==="h"?D:j)},[]),g=m.useCallback(function(C){var E=C;if(!(!Ur.length||Ur[Ur.length-1]!==u)){var M="deltaY"in E?Jv(E):Vs(E),H=r.current.filter(function(q){return q.name===E.type&&(q.target===E.target||E.target===q.shadowParent)&&JT(q.delta,M)})[0];if(H&&H.should){E.cancelable&&E.preventDefault();return}if(!H){var D=(f.current.shards||[]).map(Wv).filter(Boolean).filter(function(q){return q.contains(E.target)}),j=D.length>0?p(E,D[0]):!f.current.noIsolation;j&&E.cancelable&&E.preventDefault()}}},[]),v=m.useCallback(function(C,E,M,H){var D={name:C,delta:E,target:M,should:H,shadowParent:nM(M)};r.current.push(D),setTimeout(function(){r.current=r.current.filter(function(j){return j!==D})},1)},[]),x=m.useCallback(function(C){l.current=Vs(C),s.current=void 0},[]),b=m.useCallback(function(C){v(C.type,Jv(C),C.target,p(C,n.lockRef.current))},[]),w=m.useCallback(function(C){v(C.type,Vs(C),C.target,p(C,n.lockRef.current))},[]);m.useEffect(function(){return Ur.push(u),n.setCallbacks({onScrollCapture:b,onWheelCapture:b,onTouchMoveCapture:w}),document.addEventListener("wheel",g,Hr),document.addEventListener("touchmove",g,Hr),document.addEventListener("touchstart",x,Hr),function(){Ur=Ur.filter(function(C){return C!==u}),document.removeEventListener("wheel",g,Hr),document.removeEventListener("touchmove",g,Hr),document.removeEventListener("touchstart",x,Hr)}},[]);var A=n.removeScrollBar,_=n.inert;return m.createElement(m.Fragment,null,_?m.createElement(u,{styles:WT(i)}):null,A?m.createElement(YT,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function nM(n){for(var r=null;n!==null;)n instanceof ShadowRoot&&(r=n.host,n=n.host),n=n.parentNode;return r}const aM=jT(g1,tM);var Cf=m.forwardRef(function(n,r){return m.createElement(zi,vn({},n,{ref:r,sideCar:aM}))});Cf.classNames=zi.classNames;var $d=["Enter"," "],rM=["ArrowDown","PageUp","Home"],S1=["ArrowUp","PageDown","End"],oM=[...rM,...S1],lM={ltr:[...$d,"ArrowRight"],rtl:[...$d,"ArrowLeft"]},sM={ltr:["ArrowLeft"],rtl:["ArrowRight"]},fl="Menu",[rl,iM,cM]=a1(fl),[Fa,w1]=Aa(fl,[cM,Mi,s1]),ki=Mi(),E1=s1(),[uM,Za]=Fa(fl),[dM,hl]=Fa(fl),A1=n=>{const{__scopeMenu:r,open:l=!1,children:s,dir:i,onOpenChange:u,modal:f=!0}=n,p=ki(r),[g,v]=m.useState(null),x=m.useRef(!1),b=ht(u),w=uf(i);return m.useEffect(()=>{const A=()=>{x.current=!0,document.addEventListener("pointerdown",_,{capture:!0,once:!0}),document.addEventListener("pointermove",_,{capture:!0,once:!0})},_=()=>x.current=!1;return document.addEventListener("keydown",A,{capture:!0}),()=>{document.removeEventListener("keydown",A,{capture:!0}),document.removeEventListener("pointerdown",_,{capture:!0}),document.removeEventListener("pointermove",_,{capture:!0})}},[]),h.jsx(Px,{...p,children:h.jsx(uM,{scope:r,open:l,onOpenChange:b,content:g,onContentChange:v,children:h.jsx(dM,{scope:r,onClose:m.useCallback(()=>b(!1),[b]),isUsingKeyboardRef:x,dir:w,modal:f,children:s})})})};A1.displayName=fl;var fM="MenuAnchor",_f=m.forwardRef((n,r)=>{const{__scopeMenu:l,...s}=n,i=ki(l);return h.jsx(qx,{...i,...s,ref:r})});_f.displayName=fM;var Rf="MenuPortal",[hM,C1]=Fa(Rf,{forceMount:void 0}),_1=n=>{const{__scopeMenu:r,forceMount:l,children:s,container:i}=n,u=Za(Rf,r);return h.jsx(hM,{scope:r,forceMount:l,children:h.jsx(_t,{present:l||u.open,children:h.jsx(Oi,{asChild:!0,container:i,children:s})})})};_1.displayName=Rf;var Wt="MenuContent",[pM,Tf]=Fa(Wt),R1=m.forwardRef((n,r)=>{const l=C1(Wt,n.__scopeMenu),{forceMount:s=l.forceMount,...i}=n,u=Za(Wt,n.__scopeMenu),f=hl(Wt,n.__scopeMenu);return h.jsx(rl.Provider,{scope:n.__scopeMenu,children:h.jsx(_t,{present:s||u.open,children:h.jsx(rl.Slot,{scope:n.__scopeMenu,children:f.modal?h.jsx(mM,{...i,ref:r}):h.jsx(gM,{...i,ref:r})})})})}),mM=m.forwardRef((n,r)=>{const l=Za(Wt,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},P5="DialogDescriptionWarning",q5=({contentRef:n,descriptionId:r})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${m0(P5).contentName}}.`;return m.useEffect(()=>{const i=n.current?.getAttribute("aria-describedby");r&&i&&(document.getElementById(r)||console.warn(s))},[s,n,r]),null},V5=t0,G5=a0,Y5=o0,X5=l0,Q5=s0,K5=c0,$5=d0,F5=h0;function Z5({...n}){return h.jsx(V5,{"code-path":"src/components/ui/dialog.tsx:10:10","data-slot":"dialog",...n})}function n4({...n}){return h.jsx(G5,{"code-path":"src/components/ui/dialog.tsx:16:10","data-slot":"dialog-trigger",...n})}function I5({...n}){return h.jsx(Y5,{"code-path":"src/components/ui/dialog.tsx:22:10","data-slot":"dialog-portal",...n})}function J5({className:n,...r}){return h.jsx(X5,{"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 W5({className:n,children:r,showCloseButton:l=!0,showOverlay:s=!0,...i}){return h.jsxs(I5,{"code-path":"src/components/ui/dialog.tsx:58:5","data-slot":"dialog-portal",children:[s&&h.jsx(J5,{"code-path":"src/components/ui/dialog.tsx:59:23"}),h.jsxs(Q5,{"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&&h.jsxs(F5,{"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:[h.jsx(UC,{"code-path":"src/components/ui/dialog.tsx:74:13"}),h.jsx("span",{"code-path":"src/components/ui/dialog.tsx:75:13",className:"sr-only",children:"Close"})]})]})]})}function eO({className:n,...r}){return h.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 tO({className:n,...r}){return h.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 nO({className:n,...r}){return h.jsx(K5,{"code-path":"src/components/ui/dialog.tsx:111:5","data-slot":"dialog-title",className:Ce("text-lg leading-none font-semibold",n),...r})}function aO({className:n,...r}){return h.jsx($5,{"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 a4(){const n=m.useContext(g0);if(!n)throw new Error("useConfirm must be used within ConfirmProvider");return n.confirm}function rO({children:n}){const[r,l]=m.useState(!1),[s,i]=m.useState({title:"确认操作",description:"",confirmText:"确认",cancelText:"取消",variant:"default"}),[u,f]=m.useState(null),p=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))},[]),g=()=>{l(!1),u?.(!0),f(null)},v=()=>{l(!1),u?.(!1),f(null)};return h.jsxs(g0.Provider,{"code-path":"src/components/ui/confirm-dialog.tsx:68:5",value:{confirm:p},children:[n,h.jsx(Z5,{"code-path":"src/components/ui/confirm-dialog.tsx:70:7",open:r,onOpenChange:x=>{x||v()},children:h.jsxs(W5,{"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:[h.jsxs(eO,{"code-path":"src/components/ui/confirm-dialog.tsx:72:11",children:[h.jsx(nO,{"code-path":"src/components/ui/confirm-dialog.tsx:73:13",className:"text-slate-100",children:s.title}),s.description&&h.jsx(aO,{"code-path":"src/components/ui/confirm-dialog.tsx:75:15",className:"text-slate-400",children:s.description})]}),h.jsxs(tO,{"code-path":"src/components/ui/confirm-dialog.tsx:78:11",className:"gap-2 sm:gap-2",children:[h.jsx(At,{"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); }
}
`,iO=[{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 cO(){const n=Kr(),{theme:r,setTheme:l}=zy(),[s,i]=m.useState("admin"),[u,f]=m.useState("123456"),[p,g]=m.useState(!1),[v,x]=m.useState(!1),[b,w]=m.useState(""),[A,_]=m.useState(!1);m.useEffect(()=>{_(!0)},[]);const C=async E=>{E.preventDefault(),w(""),x(!0);try{const M=await lO.login(s,u);yn.getState().login(M.user,M.token),localStorage.setItem("token",M.token),n("/",{replace:!0})}catch(M){const H=M instanceof Error?M.message:"登录失败,请检查用户名和密码";w(H)}finally{x(!1)}};return h.jsxs(h.Fragment,{children:[h.jsx("style",{"code-path":"src/components/auth/Login.tsx:102:7",children:sO}),h.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:[iO.map((E,M)=>h.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-${M}`)),h.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:h.jsxs(Is,{"code-path":"src/components/auth/Login.tsx:139:11",children:[h.jsx(Js,{"code-path":"src/components/auth/Login.tsx:140:13",asChild:!0,children:h.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:h.jsx(Wy,{"code-path":"src/components/auth/Login.tsx:152:17",className:"size-5"})})}),h.jsxs(Ws,{"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:[h.jsx(Fd,{"code-path":"src/components/auth/Login.tsx:160:15",className:"text-[var(--dg-text-secondary)]",children:"主题切换"}),h.jsx(ei,{"code-path":"src/components/auth/Login.tsx:161:15",className:"bg-[var(--dg-border)]"}),sf.map(E=>h.jsxs(Zo,{"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:[h.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)"}}),h.jsxs("div",{"code-path":"src/components/auth/Login.tsx:179:19",className:"flex-1 min-w-0",children:[h.jsx("span",{"code-path":"src/components/auth/Login.tsx:180:21",className:"text-sm font-medium block",children:E.name}),h.jsx("span",{"code-path":"src/components/auth/Login.tsx:181:21",className:"text-xs opacity-60 block truncate",children:E.description})]}),r===E.id&&h.jsx(Zy,{"code-path":"src/components/auth/Login.tsx:183:43",className:"size-4 shrink-0 text-[var(--dg-blue)]"})]},E.id))]})]})}),h.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:[h.jsxs("div",{"code-path":"src/components/auth/Login.tsx:205:11",className:"text-center mb-8",children:[h.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-gradient-end))",boxShadow:" Line truncated
**时间:** ${new Date().toISOString()}
**URL:** ${window.location.href}
**用户代理:** ${navigator.userAgent}
### 错误信息
\`\`\`
${r?.name}: ${r?.message}
\`\`\`
### 组件堆栈
\`\`\`
${l?.componentStack}
\`\`\`
`;navigator.clipboard.writeText(s).then(()=>{alert("错误信息已复制到剪贴板,请粘贴到 Issue 中")})};render(){return this.state.hasError?this.props.fallback?this.props.fallback:h.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:61:9",className:"min-h-[60vh] flex items-center justify-center p-6",children:h.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:62:11",className:"dg-card max-w-lg w-full p-8 text-center space-y-6",children:[h.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:64:13",className:"mx-auto w-16 h-16 rounded-2xl bg-red-500/10 flex items-center justify-center",children:h.jsx(li,{"code-path":"src/components/layout/ErrorBoundary.tsx:65:15",className:"h-8 w-8 text-red-400"})}),h.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:69:13",children:[h.jsx("h2",{"code-path":"src/components/layout/ErrorBoundary.tsx:70:15",className:"text-xl font-bold text-[var(--dg-text-primary)]",children:"页面出现错误"}),h.jsx("p",{"code-path":"src/components/layout/ErrorBoundary.tsx:73:15",className:"text-sm text-[var(--dg-text-muted)] mt-2",children:"抱歉,该页面遇到了意外错误。您可以尝试重新加载或返回首页。"})]}),this.state.error&&h.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:80:15",className:"text-left",children:h.jsxs("details",{"code-path":"src/components/layout/ErrorBoundary.tsx:81:17",className:"group",children:[h.jsxs("summary",{"code-path":"src/components/layout/ErrorBoundary.tsx:82: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:[h.jsx(yv,{"code-path":"src/components/layout/ErrorBoundary.tsx:83:21",className:"h-3.5 w-3.5"}),"查看错误详情"]}),h.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:86:19",className:"mt-2 p-3 rounded-lg bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] overflow-auto max-h-48",children:[h.jsxs("code",{"code-path":"src/components/layout/ErrorBoundary.tsx:87: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&&h.jsx("pre",{"code-path":"src/components/layout/ErrorBoundary.tsx:91:23",className:"text-xs text-[var(--dg-text-muted)] mt-2 whitespace-pre-wrap",children:this.state.errorInfo.componentStack})]})]})}),h.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:101:13",className:"flex items-center justify-center gap-3",children:[h.jsxs(At,{"code-path":"src/components/layout/ErrorBoundary.tsx:102:15",variant:"outline",className:"dg-btn-secondary",onClick:this.handleGoHome,children:[h.jsx(Iy,{"code-path":"src/components/layout/ErrorBoundary.tsx:107:17",className:"h-4 w-4 mr-1.5"}),"返回首页"]}),h.jsxs(At,{"code-path":"src/components/layout/ErrorBoundary.tsx:110:15",className:"dg-btn-primary",onClick:this.handleRetry,children:[h.jsx(AC,{"code-path":"src/components/layout/ErrorBoundary.tsx:114:17",className:"h-4 w-4 mr-1.5"}),"重新加载"]}),h.jsxs(At,{"code-path":"src/components/layout/ErrorBoundary.tsx:117:15",variant:"outline",className:"dg-btn-ghost",onClick:this.handleReport,children:[h.jsx(yv,{"code-path":"src/components/layout/ErrorBoundary.tsx:122:17",className:"h-4 w-4 mr-1.5"}),"复制错误"]})]})]})}):this.props.children}}const hO=m.lazy(()=>be(()=>import("./Dashboard-iCzLAtNG.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url).then(n=>({default:n.Dashboard}))),pO=m.lazy(()=>be(()=>import("./ServerManager-JxMW-hQt.js"),__vite__mapDeps([16,4,17,18,19,20,2,21,22,8,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,9,38,39,40]),import.meta.url).then(n=>({default:n.ServerManager}))),mO=m.lazy(()=>be(()=>import("./CloudAccountManager-DU9759_X.js"),__vite__mapDeps([41,35,4,8,23,24,40,42,43,44,34]),import.meta.url).then(n=>({default:n.CloudAccountManager}))),gO=m.lazy(()=>be(()=>import("./DomainManager-CIA5bu9u.js"),__vite__mapDeps([45,35,4,8,23,24,40,42,43,34]),import.meta.url).then(n=>({default:n.DomainManager}))),vO=m.lazy(()=>be(()=>import("./RegionManager-Bj8EPK6w.js"),__vite__mapDeps([46,35,8,17,18,19,20,2,22,40,34,42,43,44]),import.meta.url).then(n=>({default:n.RegionManager}))),yO=m.lazy(()=>be(()=>import("./PlatformManager-DvSL1hbm.js"),__vite__mapDeps([47,35,8,20,18,23,40,48,44,34,42,43]),import.meta.url).then(n=>({default:n.PlatformManager}))),xO=m.lazy(()=>be(()=>import("./CloudBilling-BUyc8wKP.js"),__vite__mapDeps([49,35,4,8,50,18,20,22,23,5,6,24,40,44,34]),import.meta.url).then(n=>({default:n.CloudBilling}))),bO=m.lazy(()=>be(()=>import("./KubernetesClusters-CsRHjVkA.js"),__vite__mapDeps([51,4,8,3,22,52,43,10,11,36,35,18,15,25,26,28,24,40,38,33,34]),import.meta.url).then(n=>({default:n.KubernetesClusters}))),SO=m.lazy(()=>be(()=>import("./ClusterOverviewPage-CYcNLUM0.js"),__vite__mapDeps([53,4,8,19,3,54,24]),import.meta.url).then(n=>({default:n.default})) Line truncated
+1
View File
@@ -0,0 +1 @@
import{_ as m}from"./index-DfyorCky.js";function y(n){if(typeof document>"u")return;let a=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",a.appendChild(t),t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n))}Array(12).fill(0);let b=1;class v{constructor(){this.subscribe=a=>(this.subscribers.push(a),()=>{const t=this.subscribers.indexOf(a);this.subscribers.splice(t,1)}),this.publish=a=>{this.subscribers.forEach(t=>t(a))},this.addToast=a=>{this.publish(a),this.toasts=[...this.toasts,a]},this.create=a=>{var t;const{message:e,...h}=a,s=typeof a?.id=="number"||((t=a.id)==null?void 0:t.length)>0?a.id:b++,c=this.toasts.find(d=>d.id===s),p=a.dismissible===void 0?!0:a.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),c?this.toasts=this.toasts.map(d=>d.id===s?(this.publish({...d,...a,id:s,title:e}),{...d,...a,id:s,dismissible:p,title:e}):d):this.addToast({title:e,...h,dismissible:p,id:s}),s},this.dismiss=a=>(a?(this.dismissedToasts.add(a),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:a,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),a),this.message=(a,t)=>this.create({...t,message:a}),this.error=(a,t)=>this.create({...t,message:a,type:"error"}),this.success=(a,t)=>this.create({...t,type:"success",message:a}),this.info=(a,t)=>this.create({...t,type:"info",message:a}),this.warning=(a,t)=>this.create({...t,type:"warning",message:a}),this.loading=(a,t)=>this.create({...t,type:"loading",message:a}),this.promise=(a,t)=>{if(!t)return;let e;t.loading!==void 0&&(e=this.create({...t,promise:a,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));const h=Promise.resolve(a instanceof Function?a():a);let s=e!==void 0,c;const p=h.then(async r=>{if(c=["resolve",r],m.isValidElement(r))s=!1,this.create({id:e,type:"default",message:r});else if(w(r)&&!r.ok){s=!1;const o=typeof t.error=="function"?await t.error(`HTTP error! status: ${r.status}`):t.error,f=typeof t.description=="function"?await t.description(`HTTP error! status: ${r.status}`):t.description,u=typeof o=="object"&&!m.isValidElement(o)?o:{message:o};this.create({id:e,type:"error",description:f,...u})}else if(r instanceof Error){s=!1;const o=typeof t.error=="function"?await t.error(r):t.error,f=typeof t.description=="function"?await t.description(r):t.description,u=typeof o=="object"&&!m.isValidElement(o)?o:{message:o};this.create({id:e,type:"error",description:f,...u})}else if(t.success!==void 0){s=!1;const o=typeof t.success=="function"?await t.success(r):t.success,f=typeof t.description=="function"?await t.description(r):t.description,u=typeof o=="object"&&!m.isValidElement(o)?o:{message:o};this.create({id:e,type:"success",description:f,...u})}}).catch(async r=>{if(c=["reject",r],t.error!==void 0){s=!1;const l=typeof t.error=="function"?await t.error(r):t.error,o=typeof t.description=="function"?await t.description(r):t.description,g=typeof l=="object"&&!m.isValidElement(l)?l:{message:l};this.create({id:e,type:"error",description:o,...g})}}).finally(()=>{s&&(this.dismiss(e),e=void 0),t.finally==null||t.finally.call(t)}),d=()=>new Promise((r,l)=>p.then(()=>c[0]==="reject"?l(c[1]):r(c[1])).catch(l));return typeof e!="string"&&typeof e!="number"?{unwrap:d}:Object.assign(e,{unwrap:d})},this.custom=(a,t)=>{const e=t?.id||b++;return this.create({jsx:a(e),id:e,...t}),e},this.getActiveToasts=()=>this.toasts.filter(a=>!this.dismissedToasts.has(a.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const i=new v,x=(n,a)=>{const t=a?.id||b++;return i.addToast({title:n,...a,id:t}),t},w=n=>n&&typeof n=="object"&&"ok"in n&&typeof n.ok=="boolean"&&"status"in n&&typeof n.status=="number",k=x,E=()=>i.toasts,T=()=>i.getActiveToasts(),S=Object.assign(k,{success:i.success,info:i.info,warning:i.warning,error:i.error,custom:i.custom,message:i.message,promise:i.promise,dismiss:i.dismiss,loading:i.loading},{getHistory:E,getToasts:T});y("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%)Line truncated
+32
View File
@@ -0,0 +1,32 @@
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};
@@ -0,0 +1,2 @@
import{h as n,W as i}from"./index-DfyorCky.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,t)=>n.put(`/kubernetes-clusters/${e}`,t),deleteCluster:async e=>n.delete(`/kubernetes-clusters/${e}`),getNodes:async e=>n.get(`/kubernetes-clusters/${e}/nodes`),getClusterNodes:async e=>n.get(`/kubernetes/${e}/nodes`),getNodeDetail:async(e,t)=>n.get(`/kubernetes/${e}/nodes/${encodeURIComponent(t)}`),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,t)=>n.put(`/kubernetes-clusters/${e}/topology`,{layout_data:t}),getPodLogs:async(e,t,s,r=200,a)=>{const c=new URLSearchParams({tail:String(r)});return a&&c.set("container",a),n.get(`/kubernetes/${e}/namespace/${t}/pods/${s}/logs?${c}`)},getPodLogsEnhanced:async(e,t,s,r={})=>{const a=new URLSearchParams;r.container&&a.set("container",r.container),r.tailLines&&r.tailLines>0&&a.set("tailLines",String(r.tailLines)),r.previous&&a.set("previous","true"),r.sinceTime&&a.set("sinceTime",r.sinceTime);const c=a.toString();return n.get(`/kubernetes/${e}/namespace/${t}/pods/${s}/logs${c?`?${c}`:""}`)},buildPodLogsStreamUrl:(e,t,s,r={})=>{const a=new URLSearchParams;return a.set("stream","true"),r.container&&a.set("container",r.container),r.tailLines&&r.tailLines>0&&a.set("tailLines",String(r.tailLines)),r.previous&&a.set("previous","true"),r.sinceTime&&a.set("sinceTime",r.sinceTime),`${`${window.location.protocol}//${window.location.host}`}/api/v1/kubernetes/${e}/namespace/${t}/pods/${s}/logs?${a}`},execPod:async(e,t,s,r,a)=>n.post(`/kubernetes/${e}/namespace/${t}/pods/${s}/exec`,{command:r,container:a}),buildPodExecWsUrl:(e,t,s,r,a)=>{const l=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`.replace(/^http/,"ws").replace("/api/v1",""),$=i.getState().token||"",u=new URLSearchParams;r&&u.set("container",r),a&&u.set("command",a),$&&u.set("token",$);const p=u.toString();return`${l}/ws/kubernetes-exec/${e}/namespaces/${t}/pods/${s}${p?`?${p}`:""}`},listPodFiles:async(e,t,s,r,a)=>n.post(`/kubernetes/${e}/namespace/${t}/pods/${s}/files/list`,{path:r,container:a}),buildPodFileDownloadUrl:(e,t,s,r,a)=>{const c=new URLSearchParams({path:r});a&&c.set("container",a);const o=i.getState().token||"";return o&&c.set("token",o),`${`${window.location.protocol}//${window.location.host}`}/api/v1/kubernetes/${e}/namespace/${t}/pods/${s}/files/download?${c}`},readPodFileText:async(e,t,s,r,a)=>{const c=m.buildPodFileDownloadUrl(e,t,s,r,a),o=await fetch(c);if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.text()},uploadPodFile:async(e,t,s,r,a,c)=>{const o=new FormData;o.append("file",a),o.append("path",r),c&&o.append("container",c);const l=i.getState().token||localStorage.getItem("token")||"",$=`${window.location.protocol}//${window.location.host}`,u=await fetch(`${$}/api/v1/kubernetes/${e}/namespace/${t}/pods/${s}/files/upload`,{method:"POST",headers:l?{Authorization:`Bearer ${l}`}:{},body:o}),p=await u.json();if(!u.ok||p.code!==200)throw new Error(p.message||`HTTP ${u.status}`);return p.data},scaleDeployment:async(e,t,s,r)=>n.post(`/kubernetes/${e}/namespace/${t}/deployments/${s}/scale`,{replicas:r}),restartDeployment:async(e,t,s)=>n.post(`/kubernetes/${e}/namespace/${t}/deployments/${s}/restart`),pauseDeployment:async(e,t,s)=>n.post(`/kubernetes/${e}/namespace/${t}/deployments/${s}/pause`),resumeDeployment:async(e,t,s)=>n.post(`/kubernetes/${e}/namespace/${t}/deployments/${s}/resume`),updateDeploymentImage:async(e,t,s,r,a)=>n.post(`/kubernetes/${e}/namespace/${t}/deployments/${s}/update-image`,{image:r,container_name:a}),getHPAs:async(e,t)=>t?n.get(`/kubernetes/${e}/namespace/${t}/hpas`):n.get(`/kubernetes/${e}/hpas`),createHPA:async(e,t)=>n.post(`/kubernetes/${e}/namespace/${t.namespace}/hpas`,t),deleteHPA:async(e,t,s)=>n.delete(`/kubernetes/${e}/namespace/${t}/hpas/${s}`),getCronJobs:async(e,t)=>t?n.get(`/kubernetes/${e}/namespace/${t}/cronjobs`):n.get(`/kubernetes-clusters/${e}/cronjobs`),createCronJob:async(e,t)=>n.post(`/kubernetes/${e}/namespace/${t.namespace}/cronjobs`,t),suspendCronJob:async(e,t,s,r)=>n.post(`/kubernetes/${e}/namespace/${t}/cronjobs/${s}/suspend`,{suspend:r}),triggerCronJob:async(e,t,s)=>n.post(`/kubernetes/${e}/namespace/${t}/cronjobs/${s}/trigger`),deleteCronJob:async(e,t,s)=>n.delete(`/kubernetes/${e}/namespace/${t}/cronjobs/${s}`),getNamespaceDeployments:async(e,t)=>n.get(`/kubernetes/${e}/namespace/${t}/deployments`),getNamespacePods:asyLine truncated
`),a=new Blob(["\uFEFF"+r],{type:"text/csv;charset=utf-8;"}),c=document.createElement("a");c.href=URL.createObjectURL(a),c.download=e,c.click()},exportAsJSON:(e,t)=>{const s=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),r=document.createElement("a");r.href=URL.createObjectURL(s),r.download=e,r.click()},getPodMetrics:async(e,t)=>{const s=t?{namespace:t}:void 0;return n.get(`/kubernetes/${e}/metrics/pods`,s)},getEvents:async(e,t,s)=>{const r={};return t&&(r.namespace=t),s&&(r.type=s),n.get(`/kubernetes/${e}/events`,r)},getEventsSummary:async(e,t,s)=>{const r={};return t&&(r.namespace=t),s&&(r.hours=s),n.get(`/kubernetes/${e}/events/summary`,r)},getCapacity:async(e,t)=>{const s=t?{namespace:t}:void 0;return n.get(`/kubernetes/${e}/capacity`,s)},getMultiClusterComparison:async()=>n.get("/kubernetes/compare"),applyYAML:async(e,t)=>n.post(`/kubernetes/${e}/yaml/apply`,{yaml:t}),getReplicaSets:async(e,t)=>n.get(`/kubernetes/${e}/namespace/${t}/replicasets`),getDeploymentRevisions:async(e,t,s)=>n.get(`/kubernetes/${e}/namespace/${t}/deployments/${s}/revisions`),rollbackDeployment:async(e,t,s,r)=>n.post(`/kubernetes/${e}/namespace/${t}/deployments/${s}/rollback`,{revision:r}),getDeployment:async(e,t,s)=>{try{return await n.get(`/kubernetes/${e}/namespace/${t}/deployments/${s}`)}catch{const r=await n.get(`/kubernetes/${e}/namespace/${t}/deployments`);return(Array.isArray(r)?r:r?.list||r?.items||r?.data||[]).find(c=>c.name===s)||null}},getNamespacesDetail:async e=>n.get(`/kubernetes/${e}/namespaces/detail`),getNamespaceDetail:async(e,t)=>n.get(`/kubernetes/${e}/namespace/${t}/detail`),createNamespace:async(e,t,s)=>n.post(`/kubernetes/${e}/namespaces`,{name:t,labels:s||{}}),deleteNamespace:async(e,t)=>n.delete(`/kubernetes/${e}/namespaces/${t}`)};export{m as k};
+1
View File
@@ -0,0 +1 @@
import{r as i,j as o,ao as c,X as f}from"./index-DfyorCky.js";var m=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],b=m.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 w({className:a,...e}){return o.jsx(v,{"code-path":"src/components/ui/label.tsx:13:5","data-slot":"label",className:f("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{w as L};
+1
View File
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const e=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],t=a("layers",e);export{t as L};
@@ -0,0 +1 @@
import{g as e}from"./index-DfyorCky.js";const t=[["path",{d:"M12 12v-2",key:"fwoke6"}],["path",{d:"M12 18v-2",key:"qj6yno"}],["path",{d:"M16 12v-2",key:"heuere"}],["path",{d:"M16 18v-2",key:"s1ct0w"}],["path",{d:"M2 11h1.5",key:"15p63e"}],["path",{d:"M20 18v-2",key:"12ehxp"}],["path",{d:"M20.5 11H22",key:"khsy7a"}],["path",{d:"M4 18v-2",key:"1c3oqr"}],["path",{d:"M8 12v-2",key:"1mwtfd"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["rect",{x:"2",y:"6",width:"20",height:"10",rx:"2",key:"1qcswk"}]],k=e("memory-stick",t);export{k as M};
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const e=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],o=a("message-square",e);export{o as M};
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const t=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],m=a("maximize-2",t);const e=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],o=a("minimize-2",e);export{o as M,m as a};
+1
View File
@@ -0,0 +1 @@
import{g as o}from"./index-DfyorCky.js";const s=[["path",{d:"M5 12h14",key:"1ays0h"}]],e=o("minus",s);export{e as M};
@@ -0,0 +1 @@
import{h as t}from"./index-DfyorCky.js";const r={getAlerts:async e=>t.get("/alerts",e),getRules:async()=>t.get("/alerts/rules"),createRule:async e=>t.post("/alerts/rules",e),updateRule:async(e,s)=>t.put(`/alerts/rules/${e}`,s),deleteRule:async e=>t.delete(`/alerts/rules/${e}`),batchDeleteRules:async e=>t.delete("/alerts/rules/batch-delete",{ids:e}),toggleRule:async e=>t.post(`/alerts/rules/${e}/toggle`),acknowledge:async e=>t.post(`/alerts/${e}/ack`),getNotifyChannels:async()=>t.get("/alerts/notify-channels"),createNotifyChannel:async e=>t.post("/alerts/notify-channels",e),updateNotifyChannel:async(e,s)=>t.put(`/alerts/notify-channels/${e}`,s),deleteNotifyChannel:async e=>t.delete(`/alerts/notify-channels/${e}`),testNotifyChannel:async e=>t.post(`/alerts/notify-channels/${e}/test`),getContacts:async()=>t.get("/alerts/contacts"),createContact:async e=>t.post("/alerts/contacts",e),updateContact:async(e,s)=>t.put(`/alerts/contacts/${e}`,s),deleteContact:async e=>t.delete(`/alerts/contacts/${e}`),getContactGroups:async()=>t.get("/alerts/contact-groups"),createContactGroup:async e=>t.post("/alerts/contact-groups",e),updateContactGroup:async(e,s)=>t.put(`/alerts/contact-groups/${e}`,s),deleteContactGroup:async e=>t.delete(`/alerts/contact-groups/${e}`)},n={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`),silence:async(e,s)=>({success:!0}),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})},c={getStats:async()=>t.get("/site/stats"),getTasks:async()=>t.get("/site/tasks"),createTask:async e=>t.post("/site/tasks",e),deleteTask:async e=>t.delete(`/site/tasks/${e}`),toggleTask:async(e,s)=>t.put(`/site/tasks/${e}`,{enabled:s})},l={getTraces:async e=>({data:[],total:0}),getServices:async e=>({data:[],total:0}),getTraceDetail:async e=>({data:{spans:[]}})},u={getDashboards:async()=>({data:[],total:0}),getDatasources:async()=>({data:[],total:0}),createDashboard:async e=>({success:!1}),updateDashboard:async(e,s)=>({success:!1}),deleteDashboard:async e=>({success:!1}),createDatasource:async e=>({success:!1})},o={list:()=>t.get("/prometheus-datasources"),get:e=>t.get(`/prometheus-datasources/${e}`),create:e=>t.post("/prometheus-datasources",e),update:(e,s)=>t.put(`/prometheus-datasources/${e}`,s),delete:e=>t.delete(`/prometheus-datasources/${e}`),setDefault:e=>t.post(`/prometheus-datasources/${e}/default`),testConnection:e=>t.post("/prometheus-datasources/test",e)},p={list:()=>t.get("/zabbix-datasources"),get:e=>t.get(`/zabbix-datasources/${e}`),create:e=>t.post("/zabbix-datasources",e),update:(e,s)=>t.put(`/zabbix-datasources/${e}`,s),delete:e=>t.delete(`/zabbix-datasources/${e}`),setDefault:e=>t.post(`/zabbix-datasources/${e}/default`),testConnection:e=>t.post("/zabbix-datasources/test",e)};export{r as a,n as b,u as d,o as p,c as s,l as t,p as z};
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const e=[["path",{d:"M12 22v-9",key:"x3hkom"}],["path",{d:"M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z",key:"2ntwy6"}],["path",{d:"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13",key:"1pmm1c"}],["path",{d:"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z",key:"12ttoo"}]],t=a("package-open",e);export{t as P};
+1
View File
@@ -0,0 +1 @@
import{g as e}from"./index-DfyorCky.js";const t=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],o=e("pause",t);export{o as P};
+1
View File
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const e=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],c=a("pencil",e);export{c as P};
+1
View File
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const o=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],c=a("mail",o);const e=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],n=a("phone",e);export{c as M,n as P};
+1
View File
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const o=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],e=a("play",o);export{e as P};
+1
View File
@@ -0,0 +1 @@
import{g as e}from"./index-DfyorCky.js";const o=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],t=e("plus",o);export{t as P};
@@ -0,0 +1 @@
import{g as e}from"./index-DfyorCky.js";const t=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],c=e("refresh-cw",t);export{c as R};
@@ -0,0 +1 @@
import{g as t}from"./index-DfyorCky.js";const o=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],a=t("rotate-cw",o);export{a as R};
+1
View File
@@ -0,0 +1 @@
import{g as a}from"./index-DfyorCky.js";const e=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],o=a("save",e);export{o as S};
Loaded 100 of 314 files, more files were not shown because too many files have changed in this diff. Show more