@yuku123/z-team-component 0.2.102 → 0.2.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/package.json +1 -1
  2. package/dist/ChangeLogView-BIlT58NX.js +0 -542
  3. package/dist/ComponentDoc-bhNM4jiY.js +0 -8035
  4. package/dist/InvitationManagementPage-9AmXUw6E.js +0 -495
  5. package/dist/OnboardingPage-B9oWippy.js +0 -393
  6. package/dist/ScheduledTasks-CkNxtgeb.js +0 -12127
  7. package/dist/SystemShell-Cz3bn2dt.js +0 -688
  8. package/dist/_commonjsHelpers-B52_cu2H.js +0 -26
  9. package/dist/admin-logs-BuwxECUY.js +0 -198
  10. package/dist/api-DL_MM5cW.js +0 -20
  11. package/dist/browser-jb_PFvU3.js +0 -1538
  12. package/dist/createWorkspaceWsHandler-B6LYCL3Q.js +0 -13142
  13. package/dist/ctc-sso-DtJHC-2M.js +0 -117
  14. package/dist/echarts-B1OU1xr4.js +0 -16
  15. package/dist/history-BlrA1eaW.js +0 -41
  16. package/dist/index-2dGExnjZ.js +0 -2217
  17. package/dist/index-B1AYMWHS.js +0 -10169
  18. package/dist/index-B5F1N9_V.js +0 -42049
  19. package/dist/index-B8O2io7L.js +0 -315
  20. package/dist/index-BIXeUFLa.js +0 -479
  21. package/dist/index-BPqoN-aE.js +0 -242
  22. package/dist/index-BTs7b4SV.js +0 -118
  23. package/dist/index-BYMhgsLe.js +0 -178
  24. package/dist/index-BZBxvwcT.js +0 -169
  25. package/dist/index-BZCQSW-G.js +0 -1222
  26. package/dist/index-B_LJRFsK.js +0 -339
  27. package/dist/index-BdmM-NHL.js +0 -5892
  28. package/dist/index-BmHFHD_e.js +0 -112
  29. package/dist/index-BohoJQPr.js +0 -7631
  30. package/dist/index-C1wsTstT.js +0 -434
  31. package/dist/index-C1wtrBjM.js +0 -8
  32. package/dist/index-C815hPWS.js +0 -430
  33. package/dist/index-CbH8YeqA.js +0 -913
  34. package/dist/index-CsweV-yM.js +0 -142
  35. package/dist/index-D3vyICxK.js +0 -2699
  36. package/dist/index-DKgyKXWm.js +0 -1640
  37. package/dist/index-DQHEr9-I.js +0 -93
  38. package/dist/index-DU-PHfEr.js +0 -189
  39. package/dist/index-DWsfQMp8.js +0 -208
  40. package/dist/index-DhDdFRHC.js +0 -279
  41. package/dist/index-DvTMESfc.js +0 -132
  42. package/dist/index-fl0m6QYf.js +0 -316
  43. package/dist/index-lux3nNJP.js +0 -574
  44. package/dist/index-mwtsohOK.js +0 -951
  45. package/dist/index-qd4awhFI.js +0 -956
  46. package/dist/index.js +0 -10
  47. package/dist/index.module-CAa-2T7m.js +0 -72
  48. package/dist/index.module-UI0iz8K0.js +0 -42
  49. package/dist/instance-4ACm8YFK.js +0 -216
  50. package/dist/menuPermission-C7yt7uNG.js +0 -60
  51. package/dist/mobile-client-O3yr9h6t.js +0 -24
  52. package/dist/pages.js +0 -21
  53. package/dist/send-default-agent-team-message-YRd0CkeT.js +0 -35
  54. package/dist/spark-md5-Dld54a-T.js +0 -178
  55. package/dist/sso-user-GnlYnP83.js +0 -43
  56. package/dist/training-CyK00fwu.js +0 -450
  57. package/dist/webide-SjnHsCZF.js +0 -5233
  58. package/dist/z-team-component.css +0 -1
@@ -1,242 +0,0 @@
1
- import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
- import { Navigate as i, useLocation as b } from "react-router-dom";
3
- import { Alert as u } from "antd";
4
- import { DashboardOutlined as v, ClusterOutlined as r, ContainerOutlined as y, CloudServerOutlined as l, BranchesOutlined as O, RocketOutlined as g, AlertOutlined as k, FileTextOutlined as S, DatabaseOutlined as c, CloudOutlined as f, DeploymentUnitOutlined as z } from "@ant-design/icons";
5
- import { W as P } from "./index-BmHFHD_e.js";
6
- import { M as D } from "./ComponentDoc-bhNM4jiY.js";
7
- import "./index-B1AYMWHS.js";
8
- const a = "K8s 管理面的数据源在**独立运维平台 z-ops**:/z-team/ops/k8s/** 由 z-ops 仓的 z-ops-web 提供(K8sController 注册 /z-team/ops/k8s,HpaController 注册 /z-team/ops/k8s/hpa)。**z-opc 主壳不承载它**:主壳制品 BOOT-INF/lib 里 0 个 z-ops-*,主壳 nginx 路由总表里也没有^/z-team/ops 这条反代规则 ⇒ 实测 GET /z-team/ops/k8s/nodes 得到的是 SPA 兜底页(HTTP 200 + text/html + 451B,与必假路径逐字节相同),不是后端 JSON。该页面的真实入口在 z-ops 独立平台(集群内端口 8886,其前端路由 /ops/k8s)。", E = [
9
- {
10
- title: "DevOps 运维",
11
- icon: /* @__PURE__ */ e(r, {}),
12
- items: [
13
- {
14
- key: "devops-dashboard",
15
- label: "运维总览",
16
- icon: /* @__PURE__ */ e(v, {}),
17
- path: "/ops/devops/dashboard",
18
- desc: "集群概览与资源统计"
19
- },
20
- {
21
- key: "devops-nodes",
22
- label: "节点管理",
23
- icon: /* @__PURE__ */ e(r, {}),
24
- path: "/ops/devops/nodes",
25
- desc: "K8s 节点列表与状态"
26
- },
27
- {
28
- key: "devops-pods",
29
- label: "Pod 管理",
30
- icon: /* @__PURE__ */ e(y, {}),
31
- path: "/ops/devops/pods",
32
- desc: "Pod 列表、日志、终端"
33
- },
34
- {
35
- key: "devops-hpa",
36
- label: "弹性伸缩",
37
- icon: /* @__PURE__ */ e(l, {}),
38
- path: "/ops/devops/hpa",
39
- desc: "HPA 自动扩缩容策略"
40
- },
41
- {
42
- key: "devops-registry",
43
- label: "镜像仓库",
44
- icon: /* @__PURE__ */ e(l, {}),
45
- path: "/ops/devops/registry",
46
- desc: "容器镜像统一管理"
47
- },
48
- {
49
- key: "devops-pipeline",
50
- label: "流水线",
51
- icon: /* @__PURE__ */ e(O, {}),
52
- path: "/ops/devops/pipeline",
53
- desc: "CI/CD 流水线编排"
54
- },
55
- {
56
- key: "devops-release",
57
- label: "发布管理",
58
- icon: /* @__PURE__ */ e(g, {}),
59
- path: "/ops/devops/release",
60
- desc: "应用发布与回滚"
61
- },
62
- {
63
- key: "devops-monitor",
64
- label: "监控告警",
65
- icon: /* @__PURE__ */ e(k, {}),
66
- path: "/ops/devops/monitor",
67
- desc: "Prometheus/Grafana 监控"
68
- },
69
- {
70
- key: "devops-logs",
71
- label: "日志管理",
72
- icon: /* @__PURE__ */ e(S, {}),
73
- path: "/ops/devops/logs",
74
- desc: "Loki 集中日志查询"
75
- },
76
- {
77
- key: "devops-dba",
78
- label: "DBA 工单",
79
- icon: /* @__PURE__ */ e(c, {}),
80
- path: "/ops/devops/dba",
81
- desc: "数据库运维工单"
82
- }
83
- ]
84
- },
85
- {
86
- title: "基础设施",
87
- icon: /* @__PURE__ */ e(r, {}),
88
- items: [
89
- {
90
- key: "ops-channel",
91
- label: "渠道管理",
92
- icon: /* @__PURE__ */ e(f, {}),
93
- path: "/ops/channel",
94
- desc: "部署渠道配置与管理"
95
- },
96
- {
97
- key: "ops-env",
98
- label: "环境管理",
99
- icon: /* @__PURE__ */ e(l, {}),
100
- path: "/ops/delivery",
101
- desc: "运行环境配置与管理"
102
- },
103
- {
104
- key: "ops-deploy",
105
- label: "部署管理",
106
- icon: /* @__PURE__ */ e(z, {}),
107
- path: "/ops/deployment",
108
- desc: "应用部署与发布管理"
109
- },
110
- {
111
- key: "ops-repo",
112
- label: "仓库管理",
113
- icon: /* @__PURE__ */ e(c, {}),
114
- path: "/ops/repo-mgmt",
115
- desc: "代码仓库与镜像管理"
116
- }
117
- ]
118
- },
119
- {
120
- title: "资源管理",
121
- icon: /* @__PURE__ */ e(l, {}),
122
- items: [
123
- {
124
- key: "resource",
125
- label: "资源管理",
126
- icon: /* @__PURE__ */ e(l, {}),
127
- path: "/resource/domain",
128
- desc: "域名、ECS、RDS、OSS 管理"
129
- }
130
- ]
131
- }
132
- ];
133
- function p({ label: o }) {
134
- return /* @__PURE__ */ n("div", { style: { padding: 40, textAlign: "center", color: "#999" }, children: [
135
- /* @__PURE__ */ n("h2", { children: [
136
- "🚧 ",
137
- o
138
- ] }),
139
- /* @__PURE__ */ e("p", { children: "功能开发中..." })
140
- ] });
141
- }
142
- function t({ label: o, reason: d, message: h = "该页面未孵化,因为后端接口尚不可用" }) {
143
- return /* @__PURE__ */ n("div", { style: { padding: 40, maxWidth: 720, margin: "0 auto" }, children: [
144
- /* @__PURE__ */ n("h2", { style: { textAlign: "center" }, children: [
145
- "🧪 ",
146
- o
147
- ] }),
148
- /* @__PURE__ */ e(
149
- u,
150
- {
151
- type: "warning",
152
- showIcon: !0,
153
- message: h,
154
- description: d
155
- }
156
- )
157
- ] });
158
- }
159
- function s({ label: o }) {
160
- return /* @__PURE__ */ e(
161
- t,
162
- {
163
- label: o,
164
- message: "该页面未孵化,因为组件从来不在本仓",
165
- reason: "组件从未迁进本仓:z-opc 的 src 目录下没有这个组件,历史上也没有任何提交 import 过它(OPS_ROUTES 里留着一个解析不到的标识符)。要恢复这一页,得先把组件从 z-ops 迁进来并接上它自己的后端;在那之前这里刻意不放假表格。"
166
- }
167
- );
168
- }
169
- function m() {
170
- const { pathname: o } = b();
171
- return /* @__PURE__ */ e(i, { to: `${o}?mode=middleware`, replace: !0 });
172
- }
173
- const A = [...D, "/script"], T = [
174
- // ─── 运维中心 ───
175
- // ⚠ 这一族路由的组件从来没有从 z-ops 迁进来(见 UnmigratedPage 注释)。原先直接写
176
- // <ChannelPage/> 之类会在**模块求值期**抛 ReferenceError 并白屏整个前端,不是只坏这一页。
177
- { path: "/ops", element: /* @__PURE__ */ e(i, { to: "/ops/devops", replace: !0 }) },
178
- { path: "/ops/channel", element: /* @__PURE__ */ e(s, { label: "渠道管理" }) },
179
- { path: "/ops/delivery", element: /* @__PURE__ */ e(s, { label: "环境管理" }) },
180
- { path: "/ops/deployment", element: /* @__PURE__ */ e(s, { label: "部署管理" }) },
181
- { path: "/ops/deployment/:id", element: /* @__PURE__ */ e(s, { label: "部署管理" }) },
182
- { path: "/ops/repo-mgmt", element: /* @__PURE__ */ e(s, { label: "仓库管理" }) },
183
- { path: "/ops/git-platform", element: /* @__PURE__ */ e(s, { label: "仓库管理" }) },
184
- // ─── DevOps 子路由(K8s 管理面:**本宿主不承载** ⇒ 显式占位,见 DEVOPS_MIGRATED_NOTE)───
185
- // ⚠ 这 4 条原先挂的是真组件(OpsDashboard / K8sNodeList / K8sPodList / K8sHpaList),
186
- // 而它们的 API_BASE = '/z-team/ops/k8s'(OpsK8s/api.ts)——
187
- // **该前缀的 handler 在 z-ops 仓的 z-ops-web 里**(K8sController @RequestMapping("/z-team/ops/k8s")
188
- // / HpaController @RequestMapping("/z-team/ops/k8s/hpa")),**不在 z-opc 主壳**:
189
- // ① 主壳 boot jar 的 BOOT-INF/lib 里 0 个 z-ops-*;
190
- // ② 主壳 nginx 路由总表里没有 `^/z-team/ops` 这条反代规则;
191
- // ⇒ 生产实测 GET /z-team/ops/k8s/nodes → HTTP 200 + text/html + 451B
192
- // (sha16 92c38b6b20edc50d,与必假路径逐字节相同)= **SPA 兜底页**。
193
- // ⇒ 这 4 条是「菜单项点进去是页面、数据源在后端不存在」的**断头路**
194
- // (卡 TASK-20261023-056 · ops-001~004)。
195
- // ⇒ 修法 = **撤菜单项的落地形态**:不再渲染真组件、不再发任何打到 /z-team/ops 的请求,
196
- // 改渲染显式占位并写明**实测到的堵点**与归属平台(口径见 003_辅助能力/
197
- // frontend-incubation-audit/SKILL.md:占位不许写成空表/全 0 的假绿)。
198
- // ⚠ 菜单项**保留**(不删条目):深链进来要有明确去处,而不是白屏或落回 SPA 兜底。
199
- { path: "/ops/devops", element: /* @__PURE__ */ e(t, { label: "DevOps 运维", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
200
- { path: "/ops/devops/dashboard", element: /* @__PURE__ */ e(t, { label: "运维总览", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
201
- { path: "/ops/devops/nodes", element: /* @__PURE__ */ e(t, { label: "节点管理", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
202
- { path: "/ops/devops/pods", element: /* @__PURE__ */ e(t, { label: "Pod 管理", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
203
- { path: "/ops/devops/hpa", element: /* @__PURE__ */ e(t, { label: "弹性伸缩", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
204
- { path: "/ops/devops/registry", element: /* @__PURE__ */ e(p, { label: "镜像仓库" }) },
205
- { path: "/ops/devops/pipeline", element: /* @__PURE__ */ e(p, { label: "流水线" }) },
206
- { path: "/ops/devops/release", element: /* @__PURE__ */ e(p, { label: "发布管理" }) },
207
- { path: "/ops/devops/monitor", element: /* @__PURE__ */ e(p, { label: "监控告警" }) },
208
- { path: "/ops/devops/logs", element: /* @__PURE__ */ e(p, { label: "日志管理" }) },
209
- { path: "/ops/devops/dba", element: /* @__PURE__ */ e(p, { label: "DBA 工单" }) },
210
- // ─── 资源管理 ───
211
- { path: "/resource", element: /* @__PURE__ */ e(i, { to: "/resource/domain", replace: !0 }) },
212
- { path: "/resource/domain", element: /* @__PURE__ */ e(s, { label: "域名管理" }) },
213
- { path: "/resource/ecs", element: /* @__PURE__ */ e(s, { label: "ECS 管理" }) },
214
- { path: "/resource/rds", element: /* @__PURE__ */ e(s, { label: "RDS 管理" }) },
215
- { path: "/resource/oss", element: /* @__PURE__ */ e(s, { label: "OSS 管理" }) },
216
- // ─── 已迁到中间件面的前缀 → 旧深链交还中间件面 ───
217
- // ⚠ 必须排在最后:matchWorkbenchPath 先全表精确、再全表通配,
218
- // 但本面自己的 /ops/* 与 /resource/* 都在前面,不会被这几条吃掉。
219
- ...A.flatMap((o) => [
220
- { path: o, element: /* @__PURE__ */ e(m, {}) },
221
- { path: `${o}/*`, element: /* @__PURE__ */ e(m, {}) }
222
- ])
223
- ];
224
- function U({
225
- activePathOverride: o,
226
- menuOnly: d = !1
227
- } = {}) {
228
- return /* @__PURE__ */ e(
229
- P,
230
- {
231
- groups: E,
232
- routes: T,
233
- mode: "ops",
234
- emptyText: "请从左侧菜单选择运维模块",
235
- activePathOverride: o,
236
- menuOnly: d
237
- }
238
- );
239
- }
240
- export {
241
- U as default
242
- };
@@ -1,118 +0,0 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- import { useState as y, useMemo as d } from "react";
3
- import { useNavigate as G, useLocation as k } from "react-router-dom";
4
- import { CodeOutlined as L, DownOutlined as N, RightOutlined as O, AppstoreOutlined as v, TableOutlined as A, DatabaseOutlined as w, RobotOutlined as H, FunctionOutlined as M, ApartmentOutlined as W, EyeOutlined as C, BranchesOutlined as $, DeploymentUnitOutlined as p, SafetyCertificateOutlined as g } from "@ant-design/icons";
5
- import R from "@yuku123/z-lc-component";
6
- import { f as U, M as x } from "./menuPermission-C7yt7uNG.js";
7
- import { d as b } from "./ComponentDoc-bhNM4jiY.js";
8
- const D = "_shell_1n5c7_7", E = "_sidebar_1n5c7_15", P = "_sidebarHeader_1n5c7_26", j = "_menuList_1n5c7_37", K = "_menuGroup_1n5c7_43", T = "_menuGroupHeader_1n5c7_47", B = "_menuGroupLabel_1n5c7_65", F = "_menuGroupArrow_1n5c7_69", q = "_menuSubList_1n5c7_74", z = "_menuSubItemWrap_1n5c7_80", J = "_menuSubItem_1n5c7_80", Q = "_menuSubItemActive_1n5c7_101", V = "_menuSubItemIcon_1n5c7_108", X = "_menuSubItemLabel_1n5c7_113", Y = "_main_1n5c7_118", t = {
9
- shell: D,
10
- sidebar: E,
11
- sidebarHeader: P,
12
- menuList: j,
13
- menuGroup: K,
14
- menuGroupHeader: T,
15
- menuGroupLabel: B,
16
- menuGroupArrow: F,
17
- menuSubList: q,
18
- menuSubItemWrap: z,
19
- menuSubItem: J,
20
- menuSubItemActive: Q,
21
- menuSubItemIcon: V,
22
- menuSubItemLabel: X,
23
- main: Y
24
- }, r = [
25
- {
26
- title: "应用",
27
- items: [
28
- { key: "apps", label: "应用列表", icon: /* @__PURE__ */ e(v, {}), path: "apps" }
29
- ]
30
- },
31
- {
32
- title: "建模",
33
- items: [
34
- { key: "designer", label: "Schema 设计器", icon: /* @__PURE__ */ e(A, {}), path: "designer" },
35
- { key: "db-import", label: "从数据库导入", icon: /* @__PURE__ */ e(w, {}), path: "db-import" },
36
- { key: "admin-ai", label: "AI 建模", icon: /* @__PURE__ */ e(H, {}), path: "admin/ai" }
37
- ]
38
- },
39
- {
40
- title: "配置",
41
- items: [
42
- { key: "admin-dicts", label: "数据字典", icon: /* @__PURE__ */ e(M, {}), path: "admin/dicts" },
43
- { key: "admin-relations", label: "实体关系", icon: /* @__PURE__ */ e(W, {}), path: "admin/relations" },
44
- { key: "admin-views", label: "视图配置", icon: /* @__PURE__ */ e(C, {}), path: "admin/views" },
45
- { key: "admin-pipelines", label: "Pipeline", icon: /* @__PURE__ */ e($, {}), path: "admin/pipelines" },
46
- { key: "admin-workflows", label: "流程绑定", icon: /* @__PURE__ */ e(p, {}), path: "admin/workflows" }
47
- ]
48
- },
49
- {
50
- title: "运行",
51
- items: [
52
- { key: "admin-permissions", label: "权限矩阵", icon: /* @__PURE__ */ e(g, {}), path: "admin/permissions", permission: "PERMISSION_MANAGE" },
53
- { key: "admin-deployments", label: "部署记录", icon: /* @__PURE__ */ e(p, {}), path: "admin/deployments" }
54
- ]
55
- }
56
- ], c = "/lc";
57
- function Z(l) {
58
- if (!l.startsWith(c)) return null;
59
- const m = l.slice(c.length).replace(/^\//, "");
60
- for (const o of r)
61
- for (const s of o.items)
62
- if (m === s.path || m.startsWith(`${s.path}/`)) return s.key;
63
- return null;
64
- }
65
- function le() {
66
- const l = G(), { pathname: m } = k(), o = b((n) => n.currentUser), s = b((n) => n.permissionState), [_, h] = y(
67
- new Set(r.map((n) => n.title))
68
- ), S = d(
69
- () => s === "failed" ? r : U(r, o),
70
- [o, s]
71
- ), I = d(() => Z(m), [m]), f = (n) => {
72
- h((u) => {
73
- const i = new Set(u);
74
- return i.has(n) ? i.delete(n) : i.add(n), i;
75
- });
76
- };
77
- return /* @__PURE__ */ a("div", { className: t.shell, children: [
78
- /* @__PURE__ */ a("aside", { className: t.sidebar, children: [
79
- /* @__PURE__ */ a("div", { className: t.sidebarHeader, children: [
80
- /* @__PURE__ */ e(L, {}),
81
- /* @__PURE__ */ e("span", { children: "研发工作台" })
82
- ] }),
83
- /* @__PURE__ */ e(x, {}),
84
- /* @__PURE__ */ e("nav", { className: t.menuList, children: S.map((n) => {
85
- const u = !_.has(n.title);
86
- return /* @__PURE__ */ a("div", { className: t.menuGroup, children: [
87
- /* @__PURE__ */ a(
88
- "div",
89
- {
90
- className: t.menuGroupHeader,
91
- onClick: () => f(n.title),
92
- children: [
93
- /* @__PURE__ */ e("span", { className: t.menuGroupLabel, children: n.title }),
94
- /* @__PURE__ */ e("span", { className: t.menuGroupArrow, children: u ? /* @__PURE__ */ e(N, {}) : /* @__PURE__ */ e(O, {}) })
95
- ]
96
- }
97
- ),
98
- u && /* @__PURE__ */ e("ul", { className: t.menuSubList, children: n.items.map((i) => /* @__PURE__ */ a(
99
- "li",
100
- {
101
- className: `${t.menuSubItemWrap} ${t.menuSubItem} ${I === i.key ? t.menuSubItemActive : ""}`,
102
- onClick: () => l(`${c}/${i.path}`),
103
- children: [
104
- /* @__PURE__ */ e("span", { className: t.menuSubItemIcon, children: i.icon }),
105
- /* @__PURE__ */ e("span", { className: t.menuSubItemLabel, children: i.label })
106
- ]
107
- },
108
- i.key
109
- )) })
110
- ] }, n.title);
111
- }) })
112
- ] }),
113
- /* @__PURE__ */ e("main", { className: t.main, children: /* @__PURE__ */ e(R, {}) })
114
- ] });
115
- }
116
- export {
117
- le as default
118
- };
@@ -1,178 +0,0 @@
1
- import { AppLayout as v, ErrorBoundary as z, LoginPage as _, StatusTag as j, defaultStatusMap as F } from "@yuku123/z-frontend-common";
2
- import { b as y } from "./ComponentDoc-bhNM4jiY.js";
3
- import { z as V, E as Q, A as X, D as Y, F as Z, O as $, G as ee, R as te, H as re, I as ae, J as oe, K as ne, L as le, L as ie, N as se } from "./ComponentDoc-bhNM4jiY.js";
4
- import { jsxs as r, Fragment as h, jsx as e } from "react/jsx-runtime";
5
- import { useState as n, useEffect as R } from "react";
6
- import { Alert as I, Space as x, Button as l, Tag as c, Result as T } from "antd";
7
- import { ReloadOutlined as g, UserAddOutlined as b, TeamOutlined as E, PlusOutlined as w, CodeOutlined as A } from "@ant-design/icons";
8
- import { ListTable as f } from "@yuku123/z-frontend-common/ui";
9
- const q = y, O = {
10
- LEADER: "red",
11
- WORKER: "blue",
12
- OBSERVER: "default"
13
- };
14
- function B() {
15
- const [i] = n(!1), [s] = n([]);
16
- return /* @__PURE__ */ r(h, { children: [
17
- /* @__PURE__ */ e(
18
- I,
19
- {
20
- type: "info",
21
- showIcon: !0,
22
- style: { marginBottom: 16 },
23
- title: "IM 群组 (含 STOMP 实时消息) 后端服务尚未启动",
24
- description: "当前展示群组列表占位。等 z-agent-team 后端就绪后切换为完整 IM 客户端。"
25
- }
26
- ),
27
- /* @__PURE__ */ e(
28
- f,
29
- {
30
- cardTitle: /* @__PURE__ */ r("span", { children: [
31
- /* @__PURE__ */ e(E, { style: { marginRight: 8 } }),
32
- "Agent 群组 IM"
33
- ] }),
34
- cardExtra: /* @__PURE__ */ r(x, { children: [
35
- /* @__PURE__ */ e(l, { icon: /* @__PURE__ */ e(g, {}), loading: i, children: "刷新" }),
36
- /* @__PURE__ */ e(l, { type: "primary", icon: /* @__PURE__ */ e(b, {}), disabled: !0, children: "创建群组" })
37
- ] }),
38
- rows: s,
39
- columns: [
40
- { title: "群组编码", dataIndex: "teamCode", width: 200, ellipsis: !0 },
41
- { title: "群组名称", dataIndex: "teamName", width: 200 },
42
- {
43
- title: "我的角色",
44
- dataIndex: "role",
45
- width: 120,
46
- render: (a) => /* @__PURE__ */ e(c, { color: O[a] || "default", children: a || "-" })
47
- },
48
- { title: "成员数", dataIndex: "memberCount", width: 100 },
49
- { title: "最近消息", dataIndex: "lastMessage", width: 240, ellipsis: !0 },
50
- { title: "更新时间", dataIndex: "updatedAt", width: 180 }
51
- ],
52
- rowKey: "teamCode",
53
- loading: i,
54
- searchKeys: ["teamCode", "teamName"],
55
- searchPlaceholder: "按群组编码 / 名称过滤",
56
- emptyTitle: "暂无群组",
57
- emptyDescription: "当前还没有 IM 群组。"
58
- }
59
- )
60
- ] });
61
- }
62
- const D = {
63
- CREATING: { text: "创建中", color: "processing" },
64
- RUNNING: { text: "运行中", color: "success" },
65
- STOPPED: { text: "已停止", color: "default" },
66
- ERROR: { text: "错误", color: "error" }
67
- }, M = {
68
- GIT: { text: "GIT 模式", color: "blue" },
69
- SHARED: { text: "SHARED 模式", color: "purple" }
70
- };
71
- function U() {
72
- const [i, s] = n([]), [d, a] = n(!1), [u, m] = n(null), p = async () => {
73
- a(!0), m(null);
74
- try {
75
- s([]);
76
- } catch (t) {
77
- m((t == null ? void 0 : t.message) || "加载失败");
78
- } finally {
79
- a(!1);
80
- }
81
- };
82
- return R(() => {
83
- p();
84
- }, []), /* @__PURE__ */ r(h, { children: [
85
- u && /* @__PURE__ */ e(
86
- I,
87
- {
88
- type: "warning",
89
- showIcon: !0,
90
- style: { marginBottom: 16 },
91
- title: "后端 API 暂未连接",
92
- description: u
93
- }
94
- ),
95
- /* @__PURE__ */ e(
96
- f,
97
- {
98
- cardTitle: /* @__PURE__ */ r("span", { children: [
99
- /* @__PURE__ */ e(A, { style: { marginRight: 8 } }),
100
- "WebIDE 容器管理"
101
- ] }),
102
- cardExtra: /* @__PURE__ */ r(x, { children: [
103
- /* @__PURE__ */ e(l, { icon: /* @__PURE__ */ e(g, {}), onClick: p, loading: d, children: "刷新" }),
104
- /* @__PURE__ */ e(l, { type: "primary", icon: /* @__PURE__ */ e(w, {}), disabled: !0, children: "新建 WebIDE" })
105
- ] }),
106
- rows: i,
107
- columns: [
108
- { title: "容器ID", dataIndex: "containerId", width: 220, ellipsis: !0 },
109
- {
110
- title: "模式",
111
- dataIndex: "mode",
112
- width: 120,
113
- render: (t) => {
114
- const o = M[t] || { text: t, color: "default" };
115
- return /* @__PURE__ */ e(c, { color: o.color, children: o.text });
116
- }
117
- },
118
- { title: "Git URL", dataIndex: "gitUrl", width: 240, ellipsis: !0 },
119
- { title: "分支", dataIndex: "branch", width: 120 },
120
- {
121
- title: "状态",
122
- dataIndex: "status",
123
- width: 120,
124
- render: (t) => {
125
- const o = D[t] || { text: t, color: "default" };
126
- return /* @__PURE__ */ e(c, { color: o.color, children: o.text });
127
- }
128
- },
129
- { title: "创建时间", dataIndex: "createdAt", width: 180 }
130
- ],
131
- rowKey: "containerId",
132
- loading: d,
133
- scroll: { x: 1e3 },
134
- searchKeys: ["containerId", "branch"],
135
- searchPlaceholder: "按容器 ID / 分支过滤",
136
- emptyTitle: "暂无容器",
137
- emptyDescription: "后端 z-webide 服务尚未启动"
138
- }
139
- )
140
- ] });
141
- }
142
- function H() {
143
- return /* @__PURE__ */ e(
144
- T,
145
- {
146
- title: "Debug Playground",
147
- subTitle: "AI 调试沙盒功能开发中...",
148
- extra: /* @__PURE__ */ e(l, { type: "primary", children: "敬请期待" })
149
- }
150
- );
151
- }
152
- export {
153
- B as AgentTeamIM,
154
- v as AppLayout,
155
- V as CurlImportModal,
156
- H as DebugPlayground,
157
- Q as EndpointsTab,
158
- X as EnvironmentsTab,
159
- z as ErrorBoundary,
160
- _ as LoginPage,
161
- Y as MockPlatform,
162
- Z as MockTemplateHelper,
163
- $ as OpenApiImportModal,
164
- ee as Overview,
165
- te as RecordingsTab,
166
- re as RequestLogsTab,
167
- ae as ScenariosTab,
168
- j as StatusTag,
169
- oe as TestCasesTab,
170
- U as Webide,
171
- y as authRequest,
172
- ne as createRequest,
173
- q as ctcRequest,
174
- le as default,
175
- F as defaultStatusMap,
176
- ie as request,
177
- se as setupInterceptors
178
- };