@yuku123/z-team-component 0.2.29 → 0.2.31

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 (49) hide show
  1. package/dist/{ChangeLogView-CG-o5YP1.js → ChangeLogView-FLd1wS8H.js} +1 -1
  2. package/dist/ComponentDoc-CUhlRqDo.js +3843 -0
  3. package/dist/DebugPlayground-cxffrMgF.js +15 -0
  4. package/dist/{InvitationManagementPage-ByJuWwA_.js → InvitationManagementPage-DBAAQ3Qq.js} +90 -85
  5. package/dist/{OnboardingPage-D58h1JK_.js → OnboardingPage-zLHkQLok.js} +2 -2
  6. package/dist/SmartWorkbench.module-DzQskKT0.js +85 -0
  7. package/dist/SystemShell-yMCZOMUN.js +635 -0
  8. package/dist/{admin-logs-C2V1ElH9.js → admin-logs-Dv86pFvY.js} +2 -2
  9. package/dist/{api--Fg0hL9Y.js → api-19TXED_O.js} +52 -39
  10. package/dist/api-63lPU5Cs.js +20 -0
  11. package/dist/{createWorkspaceWsHandler-CqGqcTh_.js → createWorkspaceWsHandler-CBk4DqP4.js} +6 -5
  12. package/dist/{index-CDKg_qI5.js → index-B5_xKK08.js} +1140 -1153
  13. package/dist/{index-D2S8FrNc.js → index-BCBBZW4m.js} +358 -347
  14. package/dist/{index-D5u3BjCZ.js → index-BIJnjJd5.js} +2 -2
  15. package/dist/{index-bbwTcNjB.js → index-BTLD5gUt.js} +3 -3
  16. package/dist/{index-CiMxCTOS.js → index-B_EBV24V.js} +1 -1
  17. package/dist/{index-DOVOWiGU.js → index-BbjzrjsP.js} +1134 -1132
  18. package/dist/{index-BafC42Cl.js → index-Bd57t_yF.js} +1 -1
  19. package/dist/{index-C2aPiQSz.js → index-BjqYiZpC.js} +3 -3
  20. package/dist/{index-BaCiSbPR.js → index-BoGVJ0hC.js} +1 -1
  21. package/dist/{index-C01UUprh.js → index-BpuJ9Njb.js} +7016 -6946
  22. package/dist/index-C6vfXs2f.js +1329 -0
  23. package/dist/{index-CcFJEYgr.js → index-C815hPWS.js} +55 -52
  24. package/dist/{index-DvIHX7lZ.js → index-CcpWacSZ.js} +243 -236
  25. package/dist/index-CrC94bvI.js +169 -0
  26. package/dist/{index-Dky6GVc1.js → index-CwIgdJYL.js} +9 -9
  27. package/dist/{index-Da7ls5q6.js → index-DOPkM2W8.js} +6 -6
  28. package/dist/{index-CTD7k9dP.js → index-DYgD6BuB.js} +4 -4
  29. package/dist/{index-Da3doGtf.js → index-JMzBzwiO.js} +57 -54
  30. package/dist/{index-BwFEDHy3.js → index-VHvEmmhf.js} +5 -5
  31. package/dist/{index-CRac8IT2.js → index-icI-ZchA.js} +3 -3
  32. package/dist/{index-Dao4uqQd.js → index-x4-W5ClM.js} +4 -4
  33. package/dist/index.js +7 -6
  34. package/dist/{instance-1QEDBRqA.js → instance-D951fRuD.js} +1 -1
  35. package/dist/pages.js +13 -9
  36. package/dist/{schedule-C89oiqIR.js → schedule-DD50-7cs.js} +1 -1
  37. package/dist/{send-default-agent-team-message-CxkWi3XC.js → send-default-agent-team-message-Bbs2rMNf.js} +1 -1
  38. package/dist/{sso-user-BE1Ell5F.js → sso-user-BEY5ICaR.js} +1 -1
  39. package/dist/{training-o-vSBkqP.js → training-B-9tNFQw.js} +1 -1
  40. package/dist/{useAppStore-wgWaxcyc.js → useAppStore-BQN-26ns.js} +1 -1
  41. package/dist/{webide-BxD6cYe-.js → webide-P867RFZi.js} +4 -4
  42. package/dist/z-team-component.css +1 -1
  43. package/package.json +2 -2
  44. package/dist/ProjectApp-oUbzb0Io.js +0 -3818
  45. package/dist/SmartWorkbench.module-xRRmpTTw.js +0 -85
  46. package/dist/SystemShell-D4mGsT0X.js +0 -604
  47. package/dist/api-3-Ykp2ll.js +0 -19
  48. package/dist/index-B8mNsH88.js +0 -1411
  49. package/dist/index-DYDba1NC.js +0 -187
@@ -0,0 +1,635 @@
1
+ import { jsxs as p, jsx as e } from "react/jsx-runtime";
2
+ import { useNavigate as W, useLocation as f, Navigate as l } from "react-router-dom";
3
+ import { useMemo as S, useState as G, Suspense as ee, lazy as u } from "react";
4
+ import { DownOutlined as O, RightOutlined as N, AppstoreOutlined as U, UserOutlined as te, SafetyCertificateOutlined as L, CloudOutlined as D, DeploymentUnitOutlined as z, AuditOutlined as T, CodeOutlined as w, FolderOpenOutlined as ne, DesktopOutlined as F, DashboardOutlined as y, ProfileOutlined as x, BookOutlined as ae, ApartmentOutlined as oe, FileImageOutlined as ce, FileTextOutlined as A, CalendarOutlined as b, ApiOutlined as le, ProjectOutlined as K, ClusterOutlined as se, DatabaseOutlined as pe, TeamOutlined as ie, BarChartOutlined as H } from "@ant-design/icons";
5
+ import { ProductApp as re } from "@yuku123/z-product-component";
6
+ const me = "_container_wbul9_7", ue = "_sidebar_wbul9_17", de = "_menuList_wbul9_37", he = "_menuGroup_wbul9_44", be = "_menuGroupHeader_wbul9_48", ge = "_menuGroupIcon_wbul9_66", ke = "_menuGroupLabel_wbul9_75", _e = "_menuGroupArrow_wbul9_80", ye = "_menuSubList_wbul9_87", Se = "_menuSubItem_wbul9_93", Ae = "_menuSubItemActive_wbul9_110", we = "_menuSubItemIcon_wbul9_117", ve = "_menuSubGroup_wbul9_132", De = "_menuSubGroupHeader_wbul9_136", Pe = "_menuSubGroupHeaderActive_wbul9_154", fe = "_menuSubGroupLabel_wbul9_158", Me = "_main_wbul9_169", Ie = "_detailPanel_wbul9_179", Ce = "_detailHeader_wbul9_189", Ge = "_detailIcon_wbul9_196", Oe = "_detailTitle_wbul9_209", Ne = "_detailDesc_wbul9_216", Le = "_detailAction_wbul9_223", ze = "_goBtn_wbul9_228", Te = "_emptyState_wbul9_248", a = {
7
+ container: me,
8
+ sidebar: ue,
9
+ menuList: de,
10
+ menuGroup: he,
11
+ menuGroupHeader: be,
12
+ menuGroupIcon: ge,
13
+ menuGroupLabel: ke,
14
+ menuGroupArrow: _e,
15
+ menuSubList: ye,
16
+ menuSubItem: Se,
17
+ menuSubItemActive: Ae,
18
+ menuSubItemIcon: we,
19
+ menuSubGroup: ve,
20
+ menuSubGroupHeader: De,
21
+ menuSubGroupHeaderActive: Pe,
22
+ menuSubGroupLabel: fe,
23
+ main: Me,
24
+ detailPanel: Ie,
25
+ detailHeader: Ce,
26
+ detailIcon: Ge,
27
+ detailTitle: Oe,
28
+ detailDesc: Ne,
29
+ detailAction: Le,
30
+ goBtn: ze,
31
+ emptyState: Te
32
+ };
33
+ function P(c) {
34
+ return c.flatMap((s) => [s, ...P(s.children ?? [])]);
35
+ }
36
+ const xe = {
37
+ title: "测试中心",
38
+ icon: /* @__PURE__ */ e(y, {}),
39
+ items: [
40
+ {
41
+ key: "test-dashboard",
42
+ label: "测试总览",
43
+ icon: /* @__PURE__ */ e(y, {}),
44
+ path: "/test/qa/dashboard",
45
+ desc: "测试统计、趋势与套件健康度"
46
+ },
47
+ {
48
+ key: "test-design",
49
+ label: "用例与编排",
50
+ icon: /* @__PURE__ */ e(A, {}),
51
+ children: [
52
+ {
53
+ key: "test-case",
54
+ label: "测试用例",
55
+ icon: /* @__PURE__ */ e(A, {}),
56
+ path: "/test/qa/cases",
57
+ desc: "接口用例与断言模板"
58
+ },
59
+ {
60
+ key: "test-suite",
61
+ label: "测试套件",
62
+ icon: /* @__PURE__ */ e(se, {}),
63
+ path: "/test/qa/suites",
64
+ desc: "步骤编排与变量传递"
65
+ },
66
+ {
67
+ key: "test-plan",
68
+ label: "测试计划",
69
+ icon: /* @__PURE__ */ e(K, {}),
70
+ path: "/test/qa/plans",
71
+ desc: "套件组合与环境绑定"
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ key: "test-exec",
77
+ label: "执行与调度",
78
+ icon: /* @__PURE__ */ e(b, {}),
79
+ children: [
80
+ {
81
+ key: "test-run",
82
+ label: "执行记录",
83
+ icon: /* @__PURE__ */ e(b, {}),
84
+ path: "/test/qa/runs",
85
+ desc: "执行触发、状态与报告"
86
+ },
87
+ {
88
+ key: "test-schedule",
89
+ label: "定时调度",
90
+ icon: /* @__PURE__ */ e(b, {}),
91
+ path: "/test/qa/schedules",
92
+ desc: "cron 定时执行"
93
+ },
94
+ {
95
+ key: "test-e2e",
96
+ label: "E2E 测试",
97
+ icon: /* @__PURE__ */ e(F, {}),
98
+ path: "/test/qa/e2e",
99
+ desc: "浏览器自动化测试"
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ key: "test-support",
105
+ label: "环境与工具",
106
+ icon: /* @__PURE__ */ e(D, {}),
107
+ children: [
108
+ {
109
+ key: "test-env",
110
+ label: "环境管理",
111
+ icon: /* @__PURE__ */ e(D, {}),
112
+ path: "/test/qa/envs",
113
+ desc: "多环境变量管理"
114
+ },
115
+ {
116
+ key: "test-mock",
117
+ label: "Mock 平台",
118
+ icon: /* @__PURE__ */ e(pe, {}),
119
+ path: "/test/mock",
120
+ desc: "API Mock 服务管理"
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ key: "test-eval",
126
+ label: "智能测评",
127
+ icon: /* @__PURE__ */ e(H, {}),
128
+ children: [
129
+ {
130
+ key: "test-eval-start",
131
+ label: "发起测评",
132
+ icon: /* @__PURE__ */ e(y, {}),
133
+ path: "/test/evaluation/start",
134
+ desc: "Agent 质量测评"
135
+ },
136
+ {
137
+ key: "test-eval-schedule",
138
+ label: "自动测评",
139
+ icon: /* @__PURE__ */ e(b, {}),
140
+ path: "/test/evaluation/schedule",
141
+ desc: "定时批量测评"
142
+ },
143
+ {
144
+ key: "test-eval-group",
145
+ label: "群聊评测",
146
+ icon: /* @__PURE__ */ e(ie, {}),
147
+ path: "/test/evaluation/group",
148
+ desc: "群聊场景评测"
149
+ },
150
+ {
151
+ key: "test-eval-report",
152
+ label: "分析报告",
153
+ icon: /* @__PURE__ */ e(H, {}),
154
+ path: "/test/evaluation/report",
155
+ desc: "测评结果分析"
156
+ }
157
+ ]
158
+ }
159
+ ]
160
+ }, Q = [
161
+ {
162
+ title: "认证与权限",
163
+ icon: /* @__PURE__ */ e(L, {}),
164
+ items: [
165
+ {
166
+ key: "4a-account",
167
+ label: "账号管理",
168
+ icon: /* @__PURE__ */ e(te, {}),
169
+ path: "/ctc/4a/account",
170
+ desc: "用户账号创建、编辑与状态管理"
171
+ },
172
+ {
173
+ key: "4a-role",
174
+ label: "角色管理",
175
+ icon: /* @__PURE__ */ e(L, {}),
176
+ path: "/ctc/4a/role",
177
+ desc: "角色定义与权限分配"
178
+ },
179
+ {
180
+ key: "4a-app",
181
+ label: "应用管理",
182
+ icon: /* @__PURE__ */ e(U, {}),
183
+ path: "/ctc/4a/application",
184
+ desc: "应用注册、资源与权限配置"
185
+ },
186
+ {
187
+ key: "4a-tenant",
188
+ label: "租户管理",
189
+ icon: /* @__PURE__ */ e(D, {}),
190
+ path: "/ctc/4a/tenant",
191
+ desc: "多租户管理与配置"
192
+ },
193
+ {
194
+ key: "4a-org",
195
+ label: "组织管理",
196
+ icon: /* @__PURE__ */ e(z, {}),
197
+ path: "/ctc/4a/org",
198
+ desc: "组织架构与部门管理"
199
+ },
200
+ {
201
+ key: "4a-permission",
202
+ label: "权限管理",
203
+ icon: /* @__PURE__ */ e(T, {}),
204
+ path: "/ctc/4a/permission",
205
+ desc: "细粒度权限控制与审批"
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ title: "开发与工具",
211
+ icon: /* @__PURE__ */ e(w, {}),
212
+ items: [
213
+ {
214
+ key: "script",
215
+ label: "脚本中心",
216
+ icon: /* @__PURE__ */ e(w, {}),
217
+ path: "/script/manage",
218
+ desc: "DSL 脚本注册与执行"
219
+ },
220
+ { key: "lc", label: "研发中心", icon: /* @__PURE__ */ e(w, {}), path: "/lc/apps", desc: "低代码应用开发与管理" },
221
+ {
222
+ key: "tool-curl",
223
+ label: "短链管理",
224
+ icon: /* @__PURE__ */ e(ne, {}),
225
+ path: "/z-tool/curl",
226
+ desc: "短链接创建与管理"
227
+ },
228
+ {
229
+ key: "tool-webide",
230
+ label: "WebIDE 容器",
231
+ icon: /* @__PURE__ */ e(F, {}),
232
+ path: "/z-tool/webide",
233
+ desc: "在线 IDE 代码编辑器"
234
+ }
235
+ ]
236
+ },
237
+ {
238
+ title: "产品认知",
239
+ icon: /* @__PURE__ */ e(x, {}),
240
+ items: [
241
+ {
242
+ key: "product-board",
243
+ label: "产品全景",
244
+ icon: /* @__PURE__ */ e(y, {}),
245
+ path: "/z-product/board",
246
+ desc: "业务/产品/研发三线可见的全量认知(术语·模型·链路·设计稿·缺口)"
247
+ },
248
+ {
249
+ key: "product-blueprint",
250
+ label: "产品蓝图",
251
+ icon: /* @__PURE__ */ e(x, {}),
252
+ path: "/z-product/blueprint",
253
+ desc: "AI 的唯一入口:后端实时投影的全量认知快照"
254
+ },
255
+ {
256
+ key: "product-glossary",
257
+ label: "统一语言",
258
+ icon: /* @__PURE__ */ e(ae, {}),
259
+ path: "/z-product/glossary",
260
+ desc: "术语仲裁表:标准词/别名/适用范围/反例"
261
+ },
262
+ {
263
+ key: "product-concept",
264
+ label: "领域模型",
265
+ icon: /* @__PURE__ */ e(oe, {}),
266
+ path: "/z-product/concept-model",
267
+ desc: "概念与关系画布(四种投影)"
268
+ },
269
+ {
270
+ key: "product-scenarios",
271
+ label: "用户链路",
272
+ icon: /* @__PURE__ */ e(z, {}),
273
+ path: "/z-product/scenarios",
274
+ desc: "端到端场景:步骤引用领域概念"
275
+ },
276
+ {
277
+ key: "product-designs",
278
+ label: "设计稿 ⇄ 模型",
279
+ icon: /* @__PURE__ */ e(ce, {}),
280
+ path: "/z-product/designs",
281
+ desc: "设计与认知的双向收敛回路"
282
+ }
283
+ ]
284
+ },
285
+ {
286
+ title: "业务流程",
287
+ icon: /* @__PURE__ */ e(A, {}),
288
+ items: [
289
+ {
290
+ key: "workflow",
291
+ label: "流程中心",
292
+ icon: /* @__PURE__ */ e(T, {}),
293
+ path: "/workflow/dashboard",
294
+ desc: "工作流定义与审批管理"
295
+ },
296
+ {
297
+ key: "task",
298
+ label: "任务中心",
299
+ icon: /* @__PURE__ */ e(A, {}),
300
+ path: "/task/dashboard",
301
+ desc: "任务创建、分配与跟踪"
302
+ },
303
+ {
304
+ key: "schedule",
305
+ label: "调度中心",
306
+ icon: /* @__PURE__ */ e(b, {}),
307
+ path: "/schedule/dashboard",
308
+ desc: "定时任务调度与管理"
309
+ },
310
+ {
311
+ key: "subscribe",
312
+ label: "订阅中心",
313
+ icon: /* @__PURE__ */ e(le, {}),
314
+ path: "/subscribe/list",
315
+ desc: "第三方数据订阅与拉取"
316
+ },
317
+ {
318
+ key: "project",
319
+ label: "项目中心",
320
+ icon: /* @__PURE__ */ e(K, {}),
321
+ path: "/project/list",
322
+ desc: "项目创建与进度管理"
323
+ }
324
+ ]
325
+ }
326
+ ], v = [...Q, xe];
327
+ function He({
328
+ activePathOverride: c,
329
+ menuOnly: s = !1,
330
+ visibleGroups: i
331
+ } = {}) {
332
+ const g = W(), { pathname: M } = f(), k = S(
333
+ () => i ? v.filter((n) => i.includes(n.title)) : Q,
334
+ [i]
335
+ ), [Z, V] = G(
336
+ new Set(v.map((n) => n.title))
337
+ ), [I, Y] = G(
338
+ () => new Set(
339
+ v.flatMap((n) => n.items).filter((n) => n.children).map((n) => n.key)
340
+ )
341
+ ), _ = S(() => {
342
+ var r;
343
+ const n = c ?? M;
344
+ return ((r = k.flatMap((o) => P(o.items)).find(
345
+ (o) => o.path === n
346
+ )) == null ? void 0 : r.key) ?? null;
347
+ }, [c, M, k]), J = (n) => {
348
+ V((r) => {
349
+ const o = new Set(r);
350
+ return o.has(n) ? o.delete(n) : o.add(n), o;
351
+ });
352
+ }, X = (n) => {
353
+ Y((r) => {
354
+ const o = new Set(r);
355
+ return o.has(n) ? o.delete(n) : o.add(n), o;
356
+ });
357
+ }, C = (n) => {
358
+ n.path && g(n.path);
359
+ }, d = k.flatMap((n) => P(n.items)).find(
360
+ (n) => n.key === _
361
+ );
362
+ return /* @__PURE__ */ p("div", { className: a.container, children: [
363
+ /* @__PURE__ */ e("aside", { className: a.sidebar, children: /* @__PURE__ */ e("nav", { className: a.menuList, children: k.map((n) => {
364
+ const r = Z.has(n.title);
365
+ return /* @__PURE__ */ p("div", { className: a.menuGroup, children: [
366
+ /* @__PURE__ */ p(
367
+ "div",
368
+ {
369
+ className: a.menuGroupHeader,
370
+ onClick: () => J(n.title),
371
+ children: [
372
+ /* @__PURE__ */ e("span", { className: a.menuGroupIcon, children: n.icon }),
373
+ /* @__PURE__ */ e("span", { className: a.menuGroupLabel, children: n.title }),
374
+ /* @__PURE__ */ e("span", { className: a.menuGroupArrow, children: r ? /* @__PURE__ */ e(O, {}) : /* @__PURE__ */ e(N, {}) })
375
+ ]
376
+ }
377
+ ),
378
+ r && /* @__PURE__ */ e("ul", { className: a.menuSubList, children: n.items.map(
379
+ (o) => o.children ? (
380
+ /* 子菜单分组头 — 可折叠; active 项落在其中时高亮 */
381
+ /* @__PURE__ */ p("li", { className: a.menuSubGroup, children: [
382
+ /* @__PURE__ */ p(
383
+ "div",
384
+ {
385
+ className: `${a.menuSubGroupHeader} ${o.children.some((m) => m.key === _) ? a.menuSubGroupHeaderActive : ""}`,
386
+ onClick: () => X(o.key),
387
+ children: [
388
+ /* @__PURE__ */ e("span", { className: a.menuGroupIcon, children: o.icon }),
389
+ /* @__PURE__ */ e("span", { className: a.menuSubGroupLabel, children: o.label }),
390
+ /* @__PURE__ */ e("span", { className: a.menuGroupArrow, children: I.has(o.key) ? /* @__PURE__ */ e(O, {}) : /* @__PURE__ */ e(N, {}) })
391
+ ]
392
+ }
393
+ ),
394
+ I.has(o.key) && /* @__PURE__ */ e("ul", { className: a.menuSubList, children: o.children.map((m) => /* @__PURE__ */ p(
395
+ "li",
396
+ {
397
+ className: `${a.menuSubItem} ${_ === m.key ? a.menuSubItemActive : ""}`,
398
+ onClick: () => C(m),
399
+ children: [
400
+ /* @__PURE__ */ e(
401
+ "span",
402
+ {
403
+ className: a.menuSubItemIcon,
404
+ children: m.icon
405
+ }
406
+ ),
407
+ /* @__PURE__ */ e("span", { children: m.label })
408
+ ]
409
+ },
410
+ m.key
411
+ )) })
412
+ ] }, o.key)
413
+ ) : /* @__PURE__ */ p(
414
+ "li",
415
+ {
416
+ className: `${a.menuSubItem} ${_ === o.key ? a.menuSubItemActive : ""}`,
417
+ onClick: () => C(o),
418
+ children: [
419
+ /* @__PURE__ */ e("span", { className: a.menuSubItemIcon, children: o.icon }),
420
+ /* @__PURE__ */ e("span", { children: o.label })
421
+ ]
422
+ },
423
+ o.key
424
+ )
425
+ ) })
426
+ ] }, n.title);
427
+ }) }) }),
428
+ s ? null : /* @__PURE__ */ e("main", { className: a.main, children: d ? /* @__PURE__ */ p("div", { className: a.detailPanel, children: [
429
+ /* @__PURE__ */ p("div", { className: a.detailHeader, children: [
430
+ /* @__PURE__ */ e("div", { className: a.detailIcon, children: d.icon }),
431
+ /* @__PURE__ */ p("div", { children: [
432
+ /* @__PURE__ */ e("h2", { className: a.detailTitle, children: d.label }),
433
+ /* @__PURE__ */ e("p", { className: a.detailDesc, children: d.desc })
434
+ ] })
435
+ ] }),
436
+ /* @__PURE__ */ e("div", { className: a.detailAction, children: /* @__PURE__ */ p(
437
+ "button",
438
+ {
439
+ className: a.goBtn,
440
+ onClick: () => g(d.path),
441
+ children: [
442
+ "进入 ",
443
+ d.label
444
+ ]
445
+ }
446
+ ) })
447
+ ] }) : /* @__PURE__ */ p("div", { className: a.emptyState, children: [
448
+ /* @__PURE__ */ e(U, { style: { fontSize: 48, color: "#ccc" } }),
449
+ /* @__PURE__ */ e("p", { children: "点击左侧菜单进入对应功能模块" })
450
+ ] }) })
451
+ ] });
452
+ }
453
+ const je = "_shell_10jrt_6", qe = "_main_10jrt_21", Ee = "_empty_10jrt_31", Re = "_emptyIcon_10jrt_41", $e = "_emptyText_10jrt_46", h = {
454
+ shell: je,
455
+ main: qe,
456
+ empty: Ee,
457
+ emptyIcon: Re,
458
+ emptyText: $e
459
+ }, t = (c, s) => u(() => c().then((i) => ({ default: i[s] }))), Be = t(() => import("@yuku123/z-ctc-component"), "AccountManagement"), We = t(() => import("@yuku123/z-ctc-component"), "ApplicationManagement"), Ue = t(() => import("@yuku123/z-ctc-component"), "AuditPage"), Fe = t(() => import("@yuku123/z-ctc-component"), "CtcOverview"), Ke = t(() => import("@yuku123/z-ctc-component"), "DictPage"), Qe = t(() => import("@yuku123/z-ctc-component"), "OrgPage"), Ze = t(() => import("@yuku123/z-ctc-component"), "PermissionManagement"), Ve = t(() => import("@yuku123/z-ctc-component"), "RoleManagement"), j = t(() => import("@yuku123/z-ctc-component"), "SurlManagement"), Ye = t(() => import("@yuku123/z-ctc-component"), "TenantManagement"), Je = t(() => import("@yuku123/z-agent-component"), "AgentAppList"), Xe = t(() => import("@yuku123/z-agent-component"), "AgentDashboard"), q = t(() => import("@yuku123/z-agent-component"), "AgentInstanceManager"), et = t(() => import("@yuku123/z-agent-component"), "AkManage"), tt = t(() => import("@yuku123/z-agent-component"), "BucketList"), nt = t(() => import("@yuku123/z-agent-component"), "LlmManage"), at = t(() => import("@yuku123/z-agent-component"), "McpPage"), ot = t(() => import("@yuku123/z-agent-component"), "ObjectBrowser"), ct = t(() => import("@yuku123/z-agent-component"), "ScriptCenterPage"), lt = t(() => import("@yuku123/z-agent-component"), "ScriptProductizationPage"), st = t(() => import("@yuku123/z-agent-component"), "SkillMarket"), pt = t(() => import("@yuku123/z-agent-component"), "TemplateMarket"), it = t(() => import("./index-CrC94bvI.js"), "AgentTeamIM"), E = t(() => import("./index-CrC94bvI.js"), "DebugPlayground"), rt = t(() => import("./index-CrC94bvI.js"), "Overview"), R = t(() => import("./index-CrC94bvI.js"), "Webide"), mt = u(() => import("./OnboardingPage-zLHkQLok.js")), ut = u(() => import("./InvitationManagementPage-DBAAQ3Qq.js")), dt = t(() => import("@yuku123/z-config-component"), "ConfigApp"), ht = t(() => import("@yuku123/z-task-component"), "TaskApp"), bt = t(() => import("@yuku123/z-wf-component"), "WorkflowApp"), gt = t(() => import("@yuku123/z-schedule-component"), "ScheduleApp"), kt = t(() => import("@yuku123/z-mist-component"), "MistApp"), _t = t(() => import("@yuku123/z-meta-component"), "MetaApp"), yt = t(() => import("@yuku123/z-msg-component"), "MsgApp"), St = t(() => import("@yuku123/z-rpc-component"), "RpcApp"), At = u(() => import("./ComponentDoc-CUhlRqDo.js").then((c) => c.k)), wt = u(() => import("./ComponentDoc-CUhlRqDo.js").then((c) => c.l)), vt = t(() => import("@yuku123/z-config-component"), "ComponentDocPage"), Dt = t(() => import("@yuku123/z-task-component"), "ComponentDocPage"), Pt = t(() => import("@yuku123/z-wf-component"), "ComponentDocPage"), ft = t(() => import("@yuku123/z-schedule-component"), "ComponentDocPage"), Mt = t(() => import("@yuku123/z-mist-component"), "ComponentDocPage"), It = t(() => import("@yuku123/z-meta-component"), "ComponentDocPage"), Ct = t(() => import("@yuku123/z-msg-component"), "ComponentDocPage"), Gt = t(() => import("@yuku123/z-rpc-component"), "ComponentDocPage"), Ot = t(() => import("@yuku123/z-kb-component"), "ComponentDocPage"), Nt = t(() => import("@yuku123/z-product-component"), "ComponentDocPage"), Lt = t(() => import("@yuku123/z-oss-component"), "ComponentDocPage"), zt = t(() => import("@yuku123/z-vector-component"), "ComponentDocPage"), Tt = t(() => import("@yuku123/z-graph-component"), "ComponentDocPage"), xt = t(() => import("@yuku123/z-gw-component"), "ComponentDocPage"), Ht = t(() => import("@yuku123/z-cache-component"), "ComponentDocPage"), jt = t(() => import("@yuku123/z-mq-component"), "ComponentDocPage"), qt = t(() => import("@yuku123/z-ctc-component"), "ComponentDocPage"), Et = t(() => import("@yuku123/z-agent-component"), "ComponentDocPage"), Rt = t(() => import("@yuku123/z-lc-component"), "ComponentDocPage"), $t = t(() => import("@yuku123/z-qa-component"), "ComponentDocPage"), Bt = u(() => import("./ComponentDoc-CUhlRqDo.js").then((c) => c.j)), $ = u(() => import("@yuku123/z-qa-component"));
460
+ function Wt() {
461
+ return /* @__PURE__ */ p("div", { className: h.empty, children: [
462
+ /* @__PURE__ */ e("div", { className: h.emptyIcon, children: "📋" }),
463
+ /* @__PURE__ */ e("div", { className: h.emptyText, children: "请从左侧菜单选择模块" })
464
+ ] });
465
+ }
466
+ function Ut() {
467
+ const { pathname: c } = f();
468
+ return /* @__PURE__ */ e(l, { to: c.replace(/^\/product/, "/z-product"), replace: !0 });
469
+ }
470
+ const B = [
471
+ // ─── 顶层 / 概览 ───
472
+ { path: "/overview", element: /* @__PURE__ */ e(rt, {}) },
473
+ // ─── 4A 中心 (/ctc/*) ───
474
+ { path: "/ctc", element: /* @__PURE__ */ e(l, { to: "/ctc/4a/account", replace: !0 }) },
475
+ { path: "/ctc/4a/account", element: /* @__PURE__ */ e(Be, {}) },
476
+ { path: "/ctc/4a/role", element: /* @__PURE__ */ e(Ve, {}) },
477
+ { path: "/ctc/4a/application", element: /* @__PURE__ */ e(We, {}) },
478
+ { path: "/ctc/4a/tenant", element: /* @__PURE__ */ e(Ye, {}) },
479
+ { path: "/ctc/4a/org", element: /* @__PURE__ */ e(Qe, {}) },
480
+ { path: "/ctc/4a/permission", element: /* @__PURE__ */ e(Ze, {}) },
481
+ { path: "/ctc/4a/surl", element: /* @__PURE__ */ e(j, {}) },
482
+ { path: "/ctc/dict", element: /* @__PURE__ */ e(Ke, {}) },
483
+ { path: "/ctc/overview", element: /* @__PURE__ */ e(Fe, {}) },
484
+ { path: "/ctc/audit", element: /* @__PURE__ */ e(Ue, {}) },
485
+ { path: "/ctc/webide", element: /* @__PURE__ */ e(R, {}) },
486
+ { path: "/ctc/agent-team", element: /* @__PURE__ */ e(it, {}) },
487
+ { path: "/ctc/invitation", element: /* @__PURE__ */ e(ut, {}) },
488
+ { path: "/onboarding", element: /* @__PURE__ */ e(mt, {}) },
489
+ // ─── 智能中心 (/ai/*) ───
490
+ { path: "/ai", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
491
+ { path: "/ai/agent", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
492
+ { path: "/ai/agent/app", element: /* @__PURE__ */ e(Je, {}) },
493
+ { path: "/ai/llm", element: /* @__PURE__ */ e(nt, {}) },
494
+ { path: "/ai/llm/provider", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
495
+ { path: "/ai/llm/model", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
496
+ { path: "/ai/usage", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
497
+ { path: "/ai/ak", element: /* @__PURE__ */ e(et, {}) },
498
+ { path: "/ai/mcp", element: /* @__PURE__ */ e(at, {}) },
499
+ { path: "/ai/skill", element: /* @__PURE__ */ e(st, {}) },
500
+ { path: "/ai/oss", element: /* @__PURE__ */ e(l, { to: "/ai/oss/bucket", replace: !0 }) },
501
+ { path: "/ai/oss/bucket", element: /* @__PURE__ */ e(tt, {}) },
502
+ { path: "/ai/oss/bucket/:bucketName", element: /* @__PURE__ */ e(ot, {}) },
503
+ { path: "/ai/trace", element: /* @__PURE__ */ e(E, {}) },
504
+ { path: "/ai/trace/debug", element: /* @__PURE__ */ e(E, {}) },
505
+ { path: "/ai/dashboard", element: /* @__PURE__ */ e(Xe, {}) },
506
+ { path: "/ai/template", element: /* @__PURE__ */ e(pt, {}) },
507
+ { path: "/ai/agent-instance", element: /* @__PURE__ */ e(q, {}) },
508
+ { path: "/ai/agent/instances", element: /* @__PURE__ */ e(q, {}) },
509
+ // ─── 配置中心 ───
510
+ { path: "/config/*", element: /* @__PURE__ */ e(dt, {}) },
511
+ // ─── 任务中心 ───
512
+ { path: "/task/*", element: /* @__PURE__ */ e(ht, {}) },
513
+ // ─── 流程中心 ───
514
+ { path: "/workflow/*", element: /* @__PURE__ */ e(bt, {}) },
515
+ // ─── 调度中心 ───
516
+ { path: "/schedule/*", element: /* @__PURE__ */ e(gt, {}) },
517
+ // ─── 密钥中心 ───
518
+ { path: "/mist/*", element: /* @__PURE__ */ e(kt, {}) },
519
+ // ─── 中间件孵化页 (大需求 004) — 主入口在运维工作台 (?mode=ops),此处兜住直链/刷新 ───
520
+ { path: "/meta", element: /* @__PURE__ */ e(l, { to: "/meta/app", replace: !0 }) },
521
+ { path: "/meta/*", element: /* @__PURE__ */ e(_t, {}) },
522
+ { path: "/msg", element: /* @__PURE__ */ e(l, { to: "/msg/inbox", replace: !0 }) },
523
+ { path: "/msg/*", element: /* @__PURE__ */ e(yt, {}) },
524
+ { path: "/rpc", element: /* @__PURE__ */ e(l, { to: "/rpc/service", replace: !0 }) },
525
+ { path: "/rpc/*", element: /* @__PURE__ */ e(St, {}) },
526
+ // ─── 订阅中心 ───
527
+ { path: "/subscribe/*", element: /* @__PURE__ */ e(At, {}) },
528
+ // ─── 产品工作台 z-product (2026-10-21 接入) ───
529
+ // /z-product/* 由 z-product 组件自己的 ProductApp 渲染(内部按 manifest 的绝对路径手工匹配,
530
+ // 不用嵌套 <Routes>:这里没有 Route 父上下文,绝对路径不会被再拼一次父前缀)。
531
+ // §14:z-product 的菜单 key / 路由 path 一律带产品名前缀(/z-product/xxx),
532
+ // 避免 /board、/products 这类短路径跟宿主自己的同名路由撞车。
533
+ { path: "/z-product", element: /* @__PURE__ */ e(l, { to: "/z-product/board", replace: !0 }) },
534
+ { path: "/z-product/*", element: /* @__PURE__ */ e(re, { basePath: "/z-product" }) },
535
+ // 旧前缀 /product/* → 新前缀 /z-product/*:§14 前缀化之前的老 URL 仍可达(书签 / 旧分享链接)。
536
+ { path: "/product", element: /* @__PURE__ */ e(l, { to: "/z-product/board", replace: !0 }) },
537
+ { path: "/product/*", element: /* @__PURE__ */ e(Ut, {}) },
538
+ // ─── 项目中心 ───
539
+ { path: "/project/*", element: /* @__PURE__ */ e(wt, {}) },
540
+ // ─── 脚本中心 (/script/*) — FEATURE052 ───
541
+ { path: "/script", element: /* @__PURE__ */ e(l, { to: "/script/manage", replace: !0 }) },
542
+ { path: "/script/manage", element: /* @__PURE__ */ e(ct, {}) },
543
+ { path: "/script/productization", element: /* @__PURE__ */ e(lt, {}) },
544
+ // ─── 工具中心 (/z-tool/*) — FEATURE054 ───
545
+ { path: "/z-tool", element: /* @__PURE__ */ e(l, { to: "/z-tool/curl", replace: !0 }) },
546
+ { path: "/z-tool/curl", element: /* @__PURE__ */ e(j, {}) },
547
+ { path: "/z-tool/webide", element: /* @__PURE__ */ e(R, {}) },
548
+ // ─── 测试中心 (/test/*) — FEATURE061 ───
549
+ { path: "/test", element: /* @__PURE__ */ e(l, { to: "/test/qa/dashboard", replace: !0 }) },
550
+ { path: "/test/mock", element: /* @__PURE__ */ e(Bt, {}) },
551
+ // QAApp 内部用 <Routes> 相对路由, 通配匹配后由 QAApp 自己接管子路径
552
+ { path: "/test/qa", element: /* @__PURE__ */ e($, {}) },
553
+ { path: "/test/qa/*", element: /* @__PURE__ */ e($, {}) },
554
+ // ─── 低代码 ───
555
+ // /lc/* 刻意不在这里注册。它早就迁到 src/lc/(TS 重写), 挂载点是
556
+ // main.jsx 的 <Route path="/lc/*" element={<ZTeamApp forcedMode="dev"/>}/>,
557
+ // 由 DevWorkbench 把 pathname 原样交给 @/lc 自己的嵌套 <Routes>。
558
+ // 本表早先还挂着一行 {path:'/lc/*', element:<LcIndex/>}, 它的 import 写的是
559
+ // '@/pages/lc' —— 该别名解析到 src/zteam/pages/lc(不存在), 真身在 src/lc,
560
+ // 于是这行既解析不了、又因 main.jsx 先消费了 /lc/* 而永远不可达。
561
+ // /form/:entity 与 /form/_model 是 z-lc Phase 1 手写原型的两条 URL
562
+ // (LowCodeModel 实体字段编辑器 / LowCodeRuntime 通用 CRUD), 现已由
563
+ // @yuku123/z-lc-component 承接 —— 它是同一套 /api/lc 后端的完整前端客户,
564
+ // 能力严格更强(designer 模型编辑、workspace 七种视图 CRUD、admin 全套、
565
+ // db-import、AI 建模), 挂在 main.jsx 的 <Route path="/lc/*"> 下经
566
+ // DevWorkbench 的 <LcApp/> 渲染。
567
+ //
568
+ // 不做逐条映射: z-lc 的工作区路由是 /lc/{appCode}/{entityCode}/{viewType},
569
+ // 比 /form/{entityCode} 多一层 appCode, 旧 URL 里没有这个信息, 无法还原。
570
+ // 故统一重定向到应用列表, 由用户自行进入对应应用。
571
+ { path: "/form/:entity", element: /* @__PURE__ */ e(l, { to: "/lc/apps", replace: !0 }) },
572
+ // ─── 各域组件文档(lead 008 §7)───
573
+ // 放在本表末尾即可:matchSystemPath 是「先全表精确匹配、再全表通配匹配」,
574
+ // 所以 /config/docs 这类精确路径**不会**被上面的 /config/* 吃掉。
575
+ //
576
+ // 为什么路径用宿主前缀(/config/docs)而不是各域 manifest 里的 /z-config/docs:
577
+ // manifest 的 routes 是给**独立壳**用的(suit 里 <Route path={r.path}> 直接铺);
578
+ // 工作台把各域挂在宿主前缀下(/config/* ⇒ ConfigApp 内部相对路由),
579
+ // 两套路径对不上 ⇒ manifest 的 routes 在工作台里不生效,文档页会 404。
580
+ // 这里统一按**宿主前缀**挂,各域自己的 manifest 路径仍然保留给独立壳用。
581
+ //
582
+ // §14 铁律(菜单 key 必须带产品名前缀)针对的是**同一宿主内多套件共存**的撞车问题;
583
+ // 这里每个域的宿主前缀本身就已经是产品名(/config / /task / /workflow …),
584
+ // 且各域之间前缀互不相同 ⇒ 不存在撞车,不需要再加 z- 前缀。
585
+ { path: "/config/docs", element: /* @__PURE__ */ e(vt, {}) },
586
+ { path: "/task/docs", element: /* @__PURE__ */ e(Dt, {}) },
587
+ { path: "/workflow/docs", element: /* @__PURE__ */ e(Pt, {}) },
588
+ { path: "/schedule/docs", element: /* @__PURE__ */ e(ft, {}) },
589
+ { path: "/mist/docs", element: /* @__PURE__ */ e(Mt, {}) },
590
+ { path: "/meta/docs", element: /* @__PURE__ */ e(It, {}) },
591
+ { path: "/msg/docs", element: /* @__PURE__ */ e(Ct, {}) },
592
+ { path: "/rpc/docs", element: /* @__PURE__ */ e(Gt, {}) },
593
+ { path: "/kb/docs", element: /* @__PURE__ */ e(Ot, {}) },
594
+ { path: "/z-product/docs", element: /* @__PURE__ */ e(Nt, {}) },
595
+ { path: "/oss/docs", element: /* @__PURE__ */ e(Lt, {}) },
596
+ { path: "/vector/docs", element: /* @__PURE__ */ e(zt, {}) },
597
+ { path: "/graph/docs", element: /* @__PURE__ */ e(Tt, {}) },
598
+ { path: "/gw/docs", element: /* @__PURE__ */ e(xt, {}) },
599
+ { path: "/cache/docs", element: /* @__PURE__ */ e(Ht, {}) },
600
+ { path: "/mq/docs", element: /* @__PURE__ */ e(jt, {}) },
601
+ { path: "/ctc/docs", element: /* @__PURE__ */ e(qt, {}) },
602
+ { path: "/ai/docs", element: /* @__PURE__ */ e(Et, {}) },
603
+ { path: "/lc/docs", element: /* @__PURE__ */ e(Rt, {}) },
604
+ { path: "/test/qa/docs", element: /* @__PURE__ */ e($t, {}) }
605
+ ];
606
+ function Ft(c) {
607
+ for (const s of B)
608
+ if (s.path === c) return s.element;
609
+ for (const s of B)
610
+ if (Kt(s.path, c)) return s.element;
611
+ return /* @__PURE__ */ e(Wt, {});
612
+ }
613
+ function Kt(c, s) {
614
+ if (!c.includes("*") && !c.includes(":")) return !1;
615
+ const i = "^" + c.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*").replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, "[^/]+") + "$";
616
+ return new RegExp(i).test(s);
617
+ }
618
+ function Xt() {
619
+ W();
620
+ const { pathname: c } = f(), s = c.startsWith("/test/"), i = S(() => c, [c]), g = S(() => Ft(c), [c]);
621
+ return /* @__PURE__ */ p("div", { className: h.shell, children: [
622
+ /* @__PURE__ */ e(
623
+ He,
624
+ {
625
+ activePathOverride: i,
626
+ menuOnly: !0,
627
+ visibleGroups: s ? ["测试中心"] : void 0
628
+ }
629
+ ),
630
+ /* @__PURE__ */ e("main", { className: h.main, children: /* @__PURE__ */ e(ee, { fallback: /* @__PURE__ */ e("div", { className: h.empty, children: "加载中…" }), children: g }) })
631
+ ] });
632
+ }
633
+ export {
634
+ Xt as default
635
+ };
@@ -1,5 +1,5 @@
1
- import { v as p, a, f as s, B as r, r as $, u as i } from "./api--Fg0hL9Y.js";
2
- import { u as f } from "./useAppStore-wgWaxcyc.js";
1
+ import { v as p, a, f as s, B as r, r as $, u as i } from "./api-19TXED_O.js";
2
+ import { u as f } from "./useAppStore-BQN-26ns.js";
3
3
  async function y() {
4
4
  f.getState().token && await p().catch(() => {
5
5
  }), localStorage.removeItem("token"), localStorage.removeItem("z_team_token"), localStorage.removeItem("userInfo"), localStorage.removeItem("USER_INFO"), localStorage.removeItem("z_ctc_token"), localStorage.removeItem("ctcUrl"), window.USER_INFO = void 0, f.setState({ currentUser: null, token: "", currentProject: void 0 });