@yuku123/z-team-component 0.2.78 → 0.2.80

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