@yuku123/z-team-component 0.2.72 → 0.2.74

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 (50) hide show
  1. package/dist/{ChangeLogView-AUM7QbBp.js → ChangeLogView-BJxIhIPc.js} +1 -1
  2. package/dist/{ComponentDoc-CLxzCDOh.js → ComponentDoc-CFKpk6X_.js} +3 -3
  3. package/dist/{InvitationManagementPage-MxyMf4G0.js → InvitationManagementPage-Dr4SxM5K.js} +1 -1
  4. package/dist/{OnboardingPage-BRwX8RYe.js → OnboardingPage-DcYULxKd.js} +2 -2
  5. package/dist/{ScheduledTasks-CM1m4eVZ.js → ScheduledTasks-T4NFJWsk.js} +2918 -3170
  6. package/dist/{SystemShell-BlgZhQ3V.js → SystemShell-D8aDuO_D.js} +215 -196
  7. package/dist/{admin-logs-Dx2fTWjF.js → admin-logs-asBlA9MU.js} +2 -2
  8. package/dist/{api-prj570UT.js → api-Bj-xsNGU.js} +1 -1
  9. package/dist/{api-CvQEwiLU.js → api-DPkUB1DA.js} +67 -67
  10. package/dist/{createWorkspaceWsHandler-gVanGCAb.js → createWorkspaceWsHandler-25JfnMML.js} +1834 -1812
  11. package/dist/{index-pyPNcAqs.js → index-BA3lZUmW.js} +1 -1
  12. package/dist/{index-DOyFfs3n.js → index-BYTVXqVp.js} +3844 -3731
  13. package/dist/{index-pc_ckjzD.js → index-BYn9kfIj.js} +3 -3
  14. package/dist/{index-C1rcAeiF.js → index-BZnC9BRh.js} +3 -3
  15. package/dist/{index-BujZj4b8.js → index-B_O9mXF6.js} +4 -4
  16. package/dist/{index-nj-cjKsf.js → index-BohoJQPr.js} +1849 -1857
  17. package/dist/{index-DDlmkQRB.js → index-C7ymoOiI.js} +2 -2
  18. package/dist/{index-DZbYU9xn.js → index-C9YhDxMT.js} +1 -1
  19. package/dist/{index-CxYTuPnw.js → index-CMVYzEVW.js} +2 -2
  20. package/dist/{index-DrWXMU6s.js → index-COhXbfib.js} +1 -1
  21. package/dist/index-CQcGGl6J.js +137 -0
  22. package/dist/{index-B5xRddRA.js → index-CbTwXfER.js} +6 -6
  23. package/dist/{index-Dk0Qm8aZ.js → index-Ccc2gRJA.js} +1 -1
  24. package/dist/{index-D1PpV_Lf.js → index-Ce9TrTy7.js} +2 -2
  25. package/dist/{index-C4AgHd-o.js → index-Czt_d2TY.js} +2 -2
  26. package/dist/{index-Cry-Oyoh.js → index-DHDQGO4q.js} +3 -3
  27. package/dist/{index-DJMZ1RpC.js → index-DOOlyOVX.js} +2 -2
  28. package/dist/{index-QZpyj7Q3.js → index-DfecivMN.js} +1256 -1256
  29. package/dist/{index-CL7GMxR-.js → index-DxRqnvKU.js} +4 -4
  30. package/dist/{index-PGSvSOmm.js → index-IK8UlsDo.js} +30 -30
  31. package/dist/{index-Cr4Rf1IT.js → index-OP18iV8V.js} +5 -5
  32. package/dist/{index-CrpF4NY8.js → index-Zx-BL-9D.js} +1 -1
  33. package/dist/{index-Do4YkHdZ.js → index-d5kr3WEM.js} +4 -4
  34. package/dist/{index-DzAkJL3V.js → index-rPNKkWaw.js} +3 -3
  35. package/dist/index-rkF8co0n.js +2882 -0
  36. package/dist/index.js +1 -1
  37. package/dist/{instance-TOlRCxS4.js → instance-B9aQMplq.js} +1 -1
  38. package/dist/{menuPermission-Bay-G_zT.js → menuPermission-6NaQTuIn.js} +3 -3
  39. package/dist/pages.js +11 -11
  40. package/dist/{schedule-DkbDjIh4.js → schedule-iMEGim0L.js} +1 -1
  41. package/dist/{send-default-agent-team-message-Bv-QRc7Y.js → send-default-agent-team-message-DtkE1OO4.js} +1 -1
  42. package/dist/{sso-user-BpOzJlQ3.js → sso-user-CFgbZoZ1.js} +1 -1
  43. package/dist/{training-BDzZav1U.js → training-DeyqAiin.js} +1 -1
  44. package/dist/{useAppStore-B1sVy9Iw.js → useAppStore-DQP0l22d.js} +19 -19
  45. package/dist/{webide-C3IaJ_eP.js → webide-BlpH-J-H.js} +4 -4
  46. package/dist/z-team-component.css +1 -1
  47. package/package.json +1 -1
  48. package/dist/index-BbxVn7xy.js +0 -1747
  49. package/dist/index-D4opADk_.js +0 -168
  50. package/dist/index-zhz9iWvI.js +0 -2629
@@ -1,43 +1,43 @@
1
1
  import { jsxs as p, jsx as e } from "react/jsx-runtime";
2
- import { useNavigate as F, useLocation as M, Navigate as l } from "react-router-dom";
3
- import { useMemo as g, useState as L, Suspense as ae, lazy as u } from "react";
4
- import { DownOutlined as z, RightOutlined as T, AppstoreOutlined as Q, UserOutlined as oe, SafetyCertificateOutlined as E, CloudOutlined as v, DeploymentUnitOutlined as x, AuditOutlined as j, CodeOutlined as f, FolderOpenOutlined as ce, DesktopOutlined as Y, DashboardOutlined as S, ProfileOutlined as H, BookOutlined as le, ApartmentOutlined as se, FileImageOutlined as pe, FileTextOutlined as A, CalendarOutlined as b, ApiOutlined as re, ProjectOutlined as Z, ClusterOutlined as ie, DatabaseOutlined as me, TeamOutlined as ue, BarChartOutlined as R } from "@ant-design/icons";
5
- import { f as de, M as he } from "./menuPermission-Bay-G_zT.js";
6
- import { u as q } from "./useAppStore-B1sVy9Iw.js";
7
- import { ProductApp as be } from "@yuku123/z-product-component";
8
- import { P as ge, R as _e } from "./index-CxYTuPnw.js";
9
- import { b as ke } from "./ComponentDoc-CLxzCDOh.js";
10
- const ye = "_container_wbul9_7", Se = "_sidebar_wbul9_17", Ae = "_menuList_wbul9_37", we = "_menuGroup_wbul9_44", fe = "_menuGroupHeader_wbul9_48", Pe = "_menuGroupIcon_wbul9_66", ve = "_menuGroupLabel_wbul9_75", De = "_menuGroupArrow_wbul9_80", Me = "_menuSubList_wbul9_87", Ge = "_menuSubItem_wbul9_93", Ie = "_menuSubItemActive_wbul9_110", Ce = "_menuSubItemIcon_wbul9_117", Ne = "_menuSubGroup_wbul9_132", Oe = "_menuSubGroupHeader_wbul9_136", Le = "_menuSubGroupHeaderActive_wbul9_154", ze = "_menuSubGroupLabel_wbul9_158", Te = "_main_wbul9_169", Ee = "_detailPanel_wbul9_179", xe = "_detailHeader_wbul9_189", je = "_detailIcon_wbul9_196", He = "_detailTitle_wbul9_209", Re = "_detailDesc_wbul9_216", qe = "_detailAction_wbul9_223", Be = "_goBtn_wbul9_228", $e = "_emptyState_wbul9_248", a = {
11
- container: ye,
12
- sidebar: Se,
13
- menuList: Ae,
14
- menuGroup: we,
15
- menuGroupHeader: fe,
16
- menuGroupIcon: Pe,
17
- menuGroupLabel: ve,
18
- menuGroupArrow: De,
19
- menuSubList: Me,
20
- menuSubItem: Ge,
21
- menuSubItemActive: Ie,
22
- menuSubItemIcon: Ce,
23
- menuSubGroup: Ne,
24
- menuSubGroupHeader: Oe,
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-6NaQTuIn.js";
6
+ import { u as B } from "./useAppStore-DQP0l22d.js";
7
+ import { ProductApp as ge } from "@yuku123/z-product-component";
8
+ import { P as ke, R as _e } from "./index-CMVYzEVW.js";
9
+ import { b as ye } from "./ComponentDoc-CFKpk6X_.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
25
  menuSubGroupHeaderActive: Le,
26
- menuSubGroupLabel: ze,
27
- main: Te,
28
- detailPanel: Ee,
29
- detailHeader: xe,
30
- detailIcon: je,
31
- detailTitle: He,
32
- detailDesc: Re,
33
- detailAction: qe,
34
- goBtn: Be,
35
- emptyState: $e
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
36
  };
37
37
  function D(o) {
38
38
  return o.flatMap((s) => [s, ...D(s.children ?? [])]);
39
39
  }
40
- const Ue = {
40
+ const We = {
41
41
  title: "测试中心",
42
42
  icon: /* @__PURE__ */ e(S, {}),
43
43
  // 测试 Tab 的入口权限点 (顶栏 test mode 同码)。4A 普通用户角色 USER 持有 TEST_ENTRY
@@ -66,14 +66,14 @@ const Ue = {
66
66
  {
67
67
  key: "test-suite",
68
68
  label: "测试套件",
69
- icon: /* @__PURE__ */ e(ie, {}),
69
+ icon: /* @__PURE__ */ e(me, {}),
70
70
  path: "/test/qa/suites",
71
71
  desc: "步骤编排与变量传递"
72
72
  },
73
73
  {
74
74
  key: "test-plan",
75
75
  label: "测试计划",
76
- icon: /* @__PURE__ */ e(Z, {}),
76
+ icon: /* @__PURE__ */ e(V, {}),
77
77
  path: "/test/qa/plans",
78
78
  desc: "套件组合与环境绑定"
79
79
  }
@@ -101,7 +101,7 @@ const Ue = {
101
101
  {
102
102
  key: "test-e2e",
103
103
  label: "E2E 测试",
104
- icon: /* @__PURE__ */ e(Y, {}),
104
+ icon: /* @__PURE__ */ e(Z, {}),
105
105
  path: "/test/qa/e2e",
106
106
  desc: "浏览器自动化测试"
107
107
  }
@@ -122,7 +122,7 @@ const Ue = {
122
122
  {
123
123
  key: "test-mock",
124
124
  label: "Mock 平台",
125
- icon: /* @__PURE__ */ e(me, {}),
125
+ icon: /* @__PURE__ */ e(ue, {}),
126
126
  path: "/test/mock",
127
127
  desc: "API Mock 服务管理"
128
128
  }
@@ -131,7 +131,7 @@ const Ue = {
131
131
  {
132
132
  key: "test-eval",
133
133
  label: "智能测评",
134
- icon: /* @__PURE__ */ e(R, {}),
134
+ icon: /* @__PURE__ */ e(q, {}),
135
135
  children: [
136
136
  {
137
137
  key: "test-eval-start",
@@ -150,21 +150,21 @@ const Ue = {
150
150
  {
151
151
  key: "test-eval-group",
152
152
  label: "群聊评测",
153
- icon: /* @__PURE__ */ e(ue, {}),
153
+ icon: /* @__PURE__ */ e(de, {}),
154
154
  path: "/test/evaluation/group",
155
155
  desc: "群聊场景评测"
156
156
  },
157
157
  {
158
158
  key: "test-eval-report",
159
159
  label: "分析报告",
160
- icon: /* @__PURE__ */ e(R, {}),
160
+ icon: /* @__PURE__ */ e(q, {}),
161
161
  path: "/test/evaluation/report",
162
162
  desc: "测评结果分析"
163
163
  }
164
164
  ]
165
165
  }
166
166
  ]
167
- }, V = [
167
+ }, J = [
168
168
  {
169
169
  title: "认证与权限",
170
170
  icon: /* @__PURE__ */ e(E, {}),
@@ -176,7 +176,7 @@ const Ue = {
176
176
  {
177
177
  key: "4a-account",
178
178
  label: "账号管理",
179
- icon: /* @__PURE__ */ e(oe, {}),
179
+ icon: /* @__PURE__ */ e(ce, {}),
180
180
  path: "/ctc/4a/account",
181
181
  desc: "用户账号创建、编辑与状态管理"
182
182
  },
@@ -190,7 +190,7 @@ const Ue = {
190
190
  {
191
191
  key: "4a-app",
192
192
  label: "应用管理",
193
- icon: /* @__PURE__ */ e(Q, {}),
193
+ icon: /* @__PURE__ */ e(Y, {}),
194
194
  path: "/ctc/4a/application",
195
195
  desc: "应用注册、资源与权限配置"
196
196
  },
@@ -232,14 +232,14 @@ const Ue = {
232
232
  {
233
233
  key: "tool-curl",
234
234
  label: "短链管理",
235
- icon: /* @__PURE__ */ e(ce, {}),
235
+ icon: /* @__PURE__ */ e(le, {}),
236
236
  path: "/z-tool/curl",
237
237
  desc: "短链接创建与管理"
238
238
  },
239
239
  {
240
240
  key: "tool-webide",
241
241
  label: "WebIDE 容器",
242
- icon: /* @__PURE__ */ e(Y, {}),
242
+ icon: /* @__PURE__ */ e(Z, {}),
243
243
  path: "/z-tool/webide",
244
244
  desc: "在线 IDE 代码编辑器"
245
245
  }
@@ -247,8 +247,25 @@ const Ue = {
247
247
  },
248
248
  {
249
249
  title: "产品认知",
250
- icon: /* @__PURE__ */ e(H, {}),
250
+ icon: /* @__PURE__ */ e(R, {}),
251
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
+ },
252
269
  {
253
270
  key: "product-board",
254
271
  label: "产品全景",
@@ -259,21 +276,21 @@ const Ue = {
259
276
  {
260
277
  key: "product-blueprint",
261
278
  label: "产品蓝图",
262
- icon: /* @__PURE__ */ e(H, {}),
279
+ icon: /* @__PURE__ */ e(R, {}),
263
280
  path: "/z-product/blueprint",
264
281
  desc: "AI 的唯一入口:后端实时投影的全量认知快照"
265
282
  },
266
283
  {
267
284
  key: "product-glossary",
268
285
  label: "统一语言",
269
- icon: /* @__PURE__ */ e(le, {}),
286
+ icon: /* @__PURE__ */ e(H, {}),
270
287
  path: "/z-product/glossary",
271
288
  desc: "术语仲裁表:标准词/别名/适用范围/反例"
272
289
  },
273
290
  {
274
291
  key: "product-concept",
275
292
  label: "领域模型",
276
- icon: /* @__PURE__ */ e(se, {}),
293
+ icon: /* @__PURE__ */ e(pe, {}),
277
294
  path: "/z-product/concept-model",
278
295
  desc: "概念与关系画布(四种投影)"
279
296
  },
@@ -287,7 +304,7 @@ const Ue = {
287
304
  {
288
305
  key: "product-designs",
289
306
  label: "设计稿 ⇄ 模型",
290
- icon: /* @__PURE__ */ e(pe, {}),
307
+ icon: /* @__PURE__ */ e(re, {}),
291
308
  path: "/z-product/designs",
292
309
  desc: "设计与认知的双向收敛回路"
293
310
  }
@@ -324,102 +341,102 @@ const Ue = {
324
341
  {
325
342
  key: "subscribe",
326
343
  label: "订阅中心",
327
- icon: /* @__PURE__ */ e(re, {}),
344
+ icon: /* @__PURE__ */ e(ie, {}),
328
345
  path: "/subscribe/list",
329
346
  desc: "第三方数据订阅与拉取"
330
347
  },
331
348
  {
332
349
  key: "project",
333
350
  label: "项目中心",
334
- icon: /* @__PURE__ */ e(Z, {}),
351
+ icon: /* @__PURE__ */ e(V, {}),
335
352
  path: "/project/list",
336
353
  desc: "项目创建与进度管理"
337
354
  }
338
355
  ]
339
356
  }
340
- ], P = [...V, Ue];
341
- function We({
357
+ ], P = [...J, We];
358
+ function Ke({
342
359
  activePathOverride: o,
343
360
  menuOnly: s = !1,
344
361
  visibleGroups: r
345
362
  } = {}) {
346
- const _ = F(), { pathname: G } = M(), w = g(
347
- () => r ? P.filter((n) => r.includes(n.title)) : V,
363
+ const k = Q(), { pathname: G } = M(), w = g(
364
+ () => r ? P.filter((a) => r.includes(a.title)) : J,
348
365
  [r]
349
- ), I = q((n) => n.permissionState), C = q((n) => n.currentUser), k = g(
350
- () => I === "failed" ? w : de(w, C),
366
+ ), I = B((a) => a.permissionState), C = B((a) => a.currentUser), _ = g(
367
+ () => I === "failed" ? w : he(w, C),
351
368
  [w, C, I]
352
- ), [J, X] = L(
353
- new Set(P.map((n) => n.title))
354
- ), [N, ee] = L(
369
+ ), [X, ee] = z(
370
+ new Set(P.map((a) => a.title))
371
+ ), [N, te] = z(
355
372
  () => new Set(
356
- P.flatMap((n) => n.items).filter((n) => n.children).map((n) => n.key)
373
+ P.flatMap((a) => a.items).filter((a) => a.children).map((a) => a.key)
357
374
  )
358
375
  ), y = g(() => {
359
376
  var i;
360
- const n = o ?? G;
361
- return ((i = k.flatMap((c) => D(c.items)).find(
362
- (c) => c.path === n
377
+ const a = o ?? G;
378
+ return ((i = _.flatMap((c) => D(c.items)).find(
379
+ (c) => c.path === a
363
380
  )) == null ? void 0 : i.key) ?? null;
364
- }, [o, G, k]), te = (n) => {
365
- X((i) => {
381
+ }, [o, G, _]), ae = (a) => {
382
+ ee((i) => {
366
383
  const c = new Set(i);
367
- return c.has(n) ? c.delete(n) : c.add(n), c;
384
+ return c.has(a) ? c.delete(a) : c.add(a), c;
368
385
  });
369
- }, ne = (n) => {
370
- ee((i) => {
386
+ }, ne = (a) => {
387
+ te((i) => {
371
388
  const c = new Set(i);
372
- return c.has(n) ? c.delete(n) : c.add(n), c;
389
+ return c.has(a) ? c.delete(a) : c.add(a), c;
373
390
  });
374
- }, O = (n) => {
375
- n.path && _(n.path);
376
- }, d = k.flatMap((n) => D(n.items)).find(
377
- (n) => n.key === y
391
+ }, O = (a) => {
392
+ a.path && k(a.path);
393
+ }, d = _.flatMap((a) => D(a.items)).find(
394
+ (a) => a.key === y
378
395
  );
379
- return /* @__PURE__ */ p("div", { className: a.container, children: [
380
- /* @__PURE__ */ p("aside", { className: a.sidebar, children: [
381
- /* @__PURE__ */ e(he, {}),
382
- /* @__PURE__ */ e("nav", { className: a.menuList, children: k.map((n) => {
383
- const i = J.has(n.title);
384
- return /* @__PURE__ */ p("div", { className: a.menuGroup, children: [
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: [
385
402
  /* @__PURE__ */ p(
386
403
  "div",
387
404
  {
388
- className: a.menuGroupHeader,
389
- onClick: () => te(n.title),
405
+ className: n.menuGroupHeader,
406
+ onClick: () => ae(a.title),
390
407
  children: [
391
- /* @__PURE__ */ e("span", { className: a.menuGroupIcon, children: n.icon }),
392
- /* @__PURE__ */ e("span", { className: a.menuGroupLabel, children: n.title }),
393
- /* @__PURE__ */ e("span", { className: a.menuGroupArrow, children: i ? /* @__PURE__ */ e(z, {}) : /* @__PURE__ */ e(T, {}) })
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, {}) })
394
411
  ]
395
412
  }
396
413
  ),
397
- i && /* @__PURE__ */ e("ul", { className: a.menuSubList, children: n.items.map(
414
+ i && /* @__PURE__ */ e("ul", { className: n.menuSubList, children: a.items.map(
398
415
  (c) => c.children ? (
399
416
  /* 子菜单分组头 — 可折叠; active 项落在其中时高亮 */
400
- /* @__PURE__ */ p("li", { className: a.menuSubGroup, children: [
417
+ /* @__PURE__ */ p("li", { className: n.menuSubGroup, children: [
401
418
  /* @__PURE__ */ p(
402
419
  "div",
403
420
  {
404
- className: `${a.menuSubGroupHeader} ${c.children.some((m) => m.key === y) ? a.menuSubGroupHeaderActive : ""}`,
421
+ className: `${n.menuSubGroupHeader} ${c.children.some((m) => m.key === y) ? n.menuSubGroupHeaderActive : ""}`,
405
422
  onClick: () => ne(c.key),
406
423
  children: [
407
- /* @__PURE__ */ e("span", { className: a.menuGroupIcon, children: c.icon }),
408
- /* @__PURE__ */ e("span", { className: a.menuSubGroupLabel, children: c.label }),
409
- /* @__PURE__ */ e("span", { className: a.menuGroupArrow, children: N.has(c.key) ? /* @__PURE__ */ e(z, {}) : /* @__PURE__ */ e(T, {}) })
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, {}) })
410
427
  ]
411
428
  }
412
429
  ),
413
- N.has(c.key) && /* @__PURE__ */ e("ul", { className: a.menuSubList, children: c.children.map((m) => /* @__PURE__ */ p(
430
+ N.has(c.key) && /* @__PURE__ */ e("ul", { className: n.menuSubList, children: c.children.map((m) => /* @__PURE__ */ p(
414
431
  "li",
415
432
  {
416
- className: `${a.menuSubItem} ${y === m.key ? a.menuSubItemActive : ""}`,
433
+ className: `${n.menuSubItem} ${y === m.key ? n.menuSubItemActive : ""}`,
417
434
  onClick: () => O(m),
418
435
  children: [
419
436
  /* @__PURE__ */ e(
420
437
  "span",
421
438
  {
422
- className: a.menuSubItemIcon,
439
+ className: n.menuSubItemIcon,
423
440
  children: m.icon
424
441
  }
425
442
  ),
@@ -432,157 +449,159 @@ function We({
432
449
  ) : /* @__PURE__ */ p(
433
450
  "li",
434
451
  {
435
- className: `${a.menuSubItem} ${y === c.key ? a.menuSubItemActive : ""}`,
452
+ className: `${n.menuSubItem} ${y === c.key ? n.menuSubItemActive : ""}`,
436
453
  onClick: () => O(c),
437
454
  children: [
438
- /* @__PURE__ */ e("span", { className: a.menuSubItemIcon, children: c.icon }),
455
+ /* @__PURE__ */ e("span", { className: n.menuSubItemIcon, children: c.icon }),
439
456
  /* @__PURE__ */ e("span", { children: c.label })
440
457
  ]
441
458
  },
442
459
  c.key
443
460
  )
444
461
  ) })
445
- ] }, n.title);
462
+ ] }, a.title);
446
463
  }) })
447
464
  ] }),
448
- s ? null : /* @__PURE__ */ e("main", { className: a.main, children: d ? /* @__PURE__ */ p("div", { className: a.detailPanel, children: [
449
- /* @__PURE__ */ p("div", { className: a.detailHeader, children: [
450
- /* @__PURE__ */ e("div", { className: a.detailIcon, children: d.icon }),
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 }),
451
468
  /* @__PURE__ */ p("div", { children: [
452
- /* @__PURE__ */ e("h2", { className: a.detailTitle, children: d.label }),
453
- /* @__PURE__ */ e("p", { className: a.detailDesc, children: d.desc })
469
+ /* @__PURE__ */ e("h2", { className: n.detailTitle, children: d.label }),
470
+ /* @__PURE__ */ e("p", { className: n.detailDesc, children: d.desc })
454
471
  ] })
455
472
  ] }),
456
- /* @__PURE__ */ e("div", { className: a.detailAction, children: /* @__PURE__ */ p(
473
+ /* @__PURE__ */ e("div", { className: n.detailAction, children: /* @__PURE__ */ p(
457
474
  "button",
458
475
  {
459
- className: a.goBtn,
460
- onClick: () => _(d.path),
476
+ className: n.goBtn,
477
+ onClick: () => k(d.path),
461
478
  children: [
462
479
  "进入 ",
463
480
  d.label
464
481
  ]
465
482
  }
466
483
  ) })
467
- ] }) : /* @__PURE__ */ p("div", { className: a.emptyState, children: [
468
- /* @__PURE__ */ e(Q, { style: { fontSize: 48, color: "#ccc" } }),
484
+ ] }) : /* @__PURE__ */ p("div", { className: n.emptyState, children: [
485
+ /* @__PURE__ */ e(Y, { style: { fontSize: 48, color: "#ccc" } }),
469
486
  /* @__PURE__ */ e("p", { children: "点击左侧菜单进入对应功能模块" })
470
487
  ] }) })
471
488
  ] });
472
489
  }
473
- const Ke = "_shell_10jrt_6", Fe = "_main_10jrt_21", Qe = "_empty_10jrt_31", Ye = "_emptyIcon_10jrt_41", Ze = "_emptyText_10jrt_46", h = {
474
- shell: Ke,
475
- main: Fe,
476
- empty: Qe,
477
- emptyIcon: Ye,
478
- emptyText: Ze
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
479
496
  };
480
- ke();
481
- const t = (o, s) => u(() => o().then((r) => ({ default: r[s] }))), Ve = t(() => import("@yuku123/z-ctc-component"), "AccountManagement"), Je = t(() => import("@yuku123/z-ctc-component"), "ApplicationManagement"), Xe = t(() => import("@yuku123/z-ctc-component"), "AuditPage"), et = t(() => import("@yuku123/z-ctc-component"), "CtcOverview"), tt = t(() => import("@yuku123/z-ctc-component"), "DictPage"), nt = t(() => import("@yuku123/z-ctc-component"), "OrgPage"), at = t(() => import("@yuku123/z-ctc-component"), "PermissionManagement"), ot = t(() => import("@yuku123/z-ctc-component"), "RoleManagement"), B = t(() => import("@yuku123/z-ctc-component"), "SurlManagement"), ct = t(() => import("@yuku123/z-ctc-component"), "TenantManagement"), lt = t(() => import("@yuku123/z-agent-component"), "AgentAppList"), st = t(() => import("@yuku123/z-agent-component"), "AgentDashboard"), pt = t(() => import("@yuku123/z-agent-component"), "AkManage"), rt = t(() => import("@yuku123/z-agent-component"), "BucketList"), it = t(() => import("@yuku123/z-agent-component"), "LlmManage"), mt = t(() => import("@yuku123/z-agent-component"), "McpPage"), ut = t(() => import("@yuku123/z-agent-component"), "ObjectBrowser"), dt = t(() => import("@yuku123/z-agent-component"), "ScriptCenterPage"), ht = t(() => import("@yuku123/z-agent-component"), "ScriptProductizationPage"), bt = t(() => import("@yuku123/z-agent-component"), "SkillMarket"), gt = t(() => import("./index-DJMZ1RpC.js"), "AgentTeamIM"), $ = t(() => import("./index-DJMZ1RpC.js"), "DebugPlayground"), _t = t(() => import("./index-DJMZ1RpC.js"), "Overview"), U = t(() => import("./index-DJMZ1RpC.js"), "Webide"), kt = u(() => import("./OnboardingPage-BRwX8RYe.js")), yt = u(() => import("./InvitationManagementPage-MxyMf4G0.js")), St = t(() => import("@yuku123/z-config-component"), "ConfigApp"), At = t(() => import("@yuku123/z-task-component"), "TaskApp"), wt = t(() => import("@yuku123/z-wf-component"), "WorkflowApp"), ft = t(() => import("@yuku123/z-schedule-component"), "ScheduleApp"), Pt = t(() => import("@yuku123/z-mist-component"), "MistApp"), vt = t(() => import("@yuku123/z-meta-component"), "MetaApp"), Dt = t(() => import("@yuku123/z-msg-component"), "MsgApp"), Mt = t(() => import("@yuku123/z-rpc-component"), "RpcApp"), Gt = u(() => import("./ComponentDoc-CLxzCDOh.js").then((o) => o.p)), It = u(() => import("./ComponentDoc-CLxzCDOh.js").then((o) => o.q)), Ct = t(() => import("@yuku123/z-config-component"), "ComponentDocPage"), Nt = t(() => import("@yuku123/z-task-component"), "ComponentDocPage"), Ot = t(() => import("@yuku123/z-wf-component"), "ComponentDocPage"), Lt = t(() => import("@yuku123/z-schedule-component"), "ComponentDocPage"), zt = t(() => import("@yuku123/z-mist-component"), "ComponentDocPage"), Tt = t(() => import("@yuku123/z-meta-component"), "ComponentDocPage"), Et = t(() => import("@yuku123/z-msg-component"), "ComponentDocPage"), xt = t(() => import("@yuku123/z-rpc-component"), "ComponentDocPage"), jt = t(() => import("@yuku123/z-kb-component"), "ComponentDocPage"), Ht = t(() => import("@yuku123/z-product-component"), "ComponentDocPage"), Rt = t(() => import("@yuku123/z-oss-component"), "ComponentDocPage"), qt = t(() => import("@yuku123/z-vector-component"), "ComponentDocPage"), Bt = t(() => import("@yuku123/z-graph-component"), "ComponentDocPage"), $t = t(() => import("@yuku123/z-gw-component"), "ComponentDocPage"), Ut = t(() => import("@yuku123/z-cache-component"), "ComponentDocPage"), Wt = t(() => import("@yuku123/z-mq-component"), "ComponentDocPage"), Kt = t(() => import("@yuku123/z-ctc-component"), "ComponentDocPage"), Ft = t(() => import("@yuku123/z-agent-component"), "ComponentDocPage"), Qt = t(() => import("@yuku123/z-lc-component"), "ComponentDocPage"), Yt = t(() => import("@yuku123/z-qa-component"), "ComponentDocPage"), Zt = u(() => import("./ComponentDoc-CLxzCDOh.js").then((o) => o.o)), W = u(() => import("@yuku123/z-qa-component"));
482
- function Vt() {
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-DOOlyOVX.js"), "AgentTeamIM"), U = t(() => import("./index-DOOlyOVX.js"), "DebugPlayground"), _t = t(() => import("./index-DOOlyOVX.js"), "Overview"), W = t(() => import("./index-DOOlyOVX.js"), "Webide"), yt = u(() => import("./OnboardingPage-DcYULxKd.js")), St = u(() => import("./InvitationManagementPage-Dr4SxM5K.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-CFKpk6X_.js").then((o) => o.p)), Ct = u(() => import("./ComponentDoc-CFKpk6X_.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-CFKpk6X_.js").then((o) => o.o)), K = u(() => import("@yuku123/z-qa-component"));
499
+ function Jt() {
483
500
  return /* @__PURE__ */ p("div", { className: h.empty, children: [
484
501
  /* @__PURE__ */ e("div", { className: h.emptyIcon, children: "📋" }),
485
502
  /* @__PURE__ */ e("div", { className: h.emptyText, children: "请从左侧菜单选择模块" })
486
503
  ] });
487
504
  }
488
- function Jt() {
505
+ function Xt() {
489
506
  const { pathname: o } = M();
490
507
  return /* @__PURE__ */ e(l, { to: o.replace(/^\/product/, "/z-product"), replace: !0 });
491
508
  }
492
- const K = [
509
+ const F = [
493
510
  // ─── 顶层 / 概览 ───
494
511
  { path: "/overview", element: /* @__PURE__ */ e(_t, {}) },
495
512
  // ─── 4A 中心 (/ctc/*) ───
496
513
  { path: "/ctc", element: /* @__PURE__ */ e(l, { to: "/ctc/4a/account", replace: !0 }) },
497
- { path: "/ctc/4a/account", element: /* @__PURE__ */ e(Ve, {}) },
498
- { path: "/ctc/4a/role", element: /* @__PURE__ */ e(ot, {}) },
499
- { path: "/ctc/4a/application", element: /* @__PURE__ */ e(Je, {}) },
500
- { path: "/ctc/4a/tenant", element: /* @__PURE__ */ e(ct, {}) },
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, {}) },
501
518
  { path: "/ctc/4a/org", element: /* @__PURE__ */ e(nt, {}) },
502
- { path: "/ctc/4a/permission", element: /* @__PURE__ */ e(at, {}) },
503
- { path: "/ctc/4a/surl", element: /* @__PURE__ */ e(B, {}) },
504
- { path: "/ctc/dict", element: /* @__PURE__ */ e(tt, {}) },
505
- { path: "/ctc/overview", element: /* @__PURE__ */ e(et, {}) },
506
- { path: "/ctc/audit", element: /* @__PURE__ */ e(Xe, {}) },
507
- { path: "/ctc/webide", element: /* @__PURE__ */ e(U, {}) },
508
- { path: "/ctc/agent-team", element: /* @__PURE__ */ e(gt, {}) },
509
- { path: "/ctc/invitation", element: /* @__PURE__ */ e(yt, {}) },
510
- { path: "/onboarding", element: /* @__PURE__ */ e(kt, {}) },
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, {}) },
511
528
  // ─── 智能中心 (/ai/*) ───
512
529
  { path: "/ai", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
513
530
  { path: "/ai/agent", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
514
- { path: "/ai/agent/app", element: /* @__PURE__ */ e(lt, {}) },
515
- { path: "/ai/llm", element: /* @__PURE__ */ e(it, {}) },
531
+ { path: "/ai/agent/app", element: /* @__PURE__ */ e(st, {}) },
532
+ { path: "/ai/llm", element: /* @__PURE__ */ e(mt, {}) },
516
533
  { path: "/ai/llm/provider", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
517
534
  { path: "/ai/llm/model", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
518
535
  { path: "/ai/usage", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
519
- { path: "/ai/ak", element: /* @__PURE__ */ e(pt, {}) },
520
- { path: "/ai/mcp", element: /* @__PURE__ */ e(mt, {}) },
521
- { path: "/ai/skill", element: /* @__PURE__ */ e(bt, {}) },
536
+ { path: "/ai/ak", element: /* @__PURE__ */ e(rt, {}) },
537
+ { path: "/ai/mcp", element: /* @__PURE__ */ e(ut, {}) },
538
+ { path: "/ai/skill", element: /* @__PURE__ */ e(gt, {}) },
522
539
  { path: "/ai/oss", element: /* @__PURE__ */ e(l, { to: "/ai/oss/bucket", replace: !0 }) },
523
- { path: "/ai/oss/bucket", element: /* @__PURE__ */ e(rt, {}) },
524
- { path: "/ai/oss/bucket/:bucketName", element: /* @__PURE__ */ e(ut, {}) },
525
- { path: "/ai/trace", element: /* @__PURE__ */ e($, {}) },
526
- { path: "/ai/trace/debug", element: /* @__PURE__ */ e($, {}) },
527
- { path: "/ai/dashboard", element: /* @__PURE__ */ e(st, {}) },
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, {}) },
528
545
  // 多 Agent 实例 / 模板市场已下线 (2026-10-22): 模板并入 Agent 应用页,
529
546
  // 旧深链重定向, 别再回到独立菜单
530
547
  { path: "/ai/template", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
531
548
  { path: "/ai/agent-instance", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
532
549
  { path: "/ai/agent/instances", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
533
550
  // ─── 配置中心 ───
534
- { path: "/config/*", element: /* @__PURE__ */ e(St, {}) },
551
+ { path: "/config/*", element: /* @__PURE__ */ e(At, {}) },
535
552
  // ─── 任务中心 ───
536
553
  // 模块根路径要重定向到默认页:通配 /task/* 匹配不到裸 /task(matchPattern 要求
537
554
  // 前缀带斜杠),落到 SystemShellEmpty 就是一句"请从左侧菜单选择模块"的空壳。
538
555
  { path: "/task", element: /* @__PURE__ */ e(l, { to: "/task/dashboard", replace: !0 }) },
539
- { path: "/task/*", element: /* @__PURE__ */ e(At, {}) },
556
+ { path: "/task/*", element: /* @__PURE__ */ e(wt, {}) },
540
557
  // ─── 流程中心 ───
541
558
  { path: "/workflow", element: /* @__PURE__ */ e(l, { to: "/workflow/dashboard", replace: !0 }) },
542
- { path: "/workflow/*", element: /* @__PURE__ */ e(wt, {}) },
559
+ { path: "/workflow/*", element: /* @__PURE__ */ e(ft, {}) },
543
560
  // ─── 调度中心 ───
544
561
  // 默认页是 jobs:z-schedule-component 的路由只有 jobs / group / log,没有 dashboard。
545
562
  { path: "/schedule", element: /* @__PURE__ */ e(l, { to: "/schedule/jobs", replace: !0 }) },
546
- { path: "/schedule/*", element: /* @__PURE__ */ e(ft, {}) },
563
+ { path: "/schedule/*", element: /* @__PURE__ */ e(Pt, {}) },
547
564
  // ─── 密钥中心 ───
548
- { path: "/mist/*", element: /* @__PURE__ */ e(Pt, {}) },
565
+ { path: "/mist/*", element: /* @__PURE__ */ e(vt, {}) },
549
566
  // ─── 中间件孵化页 (大需求 004) — 主入口在运维工作台 (?mode=ops),此处兜住直链/刷新 ───
550
567
  { path: "/meta", element: /* @__PURE__ */ e(l, { to: "/meta/app", replace: !0 }) },
551
- { path: "/meta/*", element: /* @__PURE__ */ e(vt, {}) },
568
+ { path: "/meta/*", element: /* @__PURE__ */ e(Dt, {}) },
552
569
  { path: "/msg", element: /* @__PURE__ */ e(l, { to: "/msg/inbox", replace: !0 }) },
553
- { path: "/msg/*", element: /* @__PURE__ */ e(Dt, {}) },
570
+ { path: "/msg/*", element: /* @__PURE__ */ e(Mt, {}) },
554
571
  { path: "/rpc", element: /* @__PURE__ */ e(l, { to: "/rpc/service", replace: !0 }) },
555
- { path: "/rpc/*", element: /* @__PURE__ */ e(Mt, {}) },
572
+ { path: "/rpc/*", element: /* @__PURE__ */ e(Gt, {}) },
556
573
  // ─── 订阅中心 ───
557
574
  { path: "/subscribe", element: /* @__PURE__ */ e(l, { to: "/subscribe/list", replace: !0 }) },
558
- { path: "/subscribe/*", element: /* @__PURE__ */ e(Gt, {}) },
575
+ { path: "/subscribe/*", element: /* @__PURE__ */ e(It, {}) },
559
576
  // ─── 产品工作台 z-product (2026-10-21 接入) ───
560
577
  // /z-product/* 由 z-product 组件自己的 ProductApp 渲染(内部按 manifest 的绝对路径手工匹配,
561
578
  // 不用嵌套 <Routes>:这里没有 Route 父上下文,绝对路径不会被再拼一次父前缀)。
562
579
  // §14:z-product 的菜单 key / 路由 path 一律带产品名前缀(/z-product/xxx),
563
580
  // 避免 /board、/products 这类短路径跟宿主自己的同名路由撞车。
564
- { path: "/z-product", element: /* @__PURE__ */ e(l, { to: "/z-product/board", replace: !0 }) },
565
- { path: "/z-product/*", element: /* @__PURE__ */ e(be, { basePath: "/z-product" }) },
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" }) },
566
585
  // 旧前缀 /product/* → 新前缀 /z-product/*:§14 前缀化之前的老 URL 仍可达(书签 / 旧分享链接)。
567
- { path: "/product", element: /* @__PURE__ */ e(l, { to: "/z-product/board", replace: !0 }) },
568
- { path: "/product/*", element: /* @__PURE__ */ e(Jt, {}) },
586
+ { path: "/product", element: /* @__PURE__ */ e(l, { to: "/z-product/atelier", replace: !0 }) },
587
+ { path: "/product/*", element: /* @__PURE__ */ e(Xt, {}) },
569
588
  // ─── 项目中心 ───
570
589
  { path: "/project", element: /* @__PURE__ */ e(l, { to: "/project/list", replace: !0 }) },
571
- { path: "/project/*", element: /* @__PURE__ */ e(It, {}) },
590
+ { path: "/project/*", element: /* @__PURE__ */ e(Ct, {}) },
572
591
  // ─── 脚本中心 (/script/*) — FEATURE052 ───
573
592
  { path: "/script", element: /* @__PURE__ */ e(l, { to: "/script/manage", replace: !0 }) },
574
- { path: "/script/manage", element: /* @__PURE__ */ e(dt, {}) },
575
- { path: "/script/productization", element: /* @__PURE__ */ e(ht, {}) },
593
+ { path: "/script/manage", element: /* @__PURE__ */ e(ht, {}) },
594
+ { path: "/script/productization", element: /* @__PURE__ */ e(bt, {}) },
576
595
  // ─── 工具中心 (/z-tool/*) — FEATURE054 ───
577
596
  { path: "/z-tool", element: /* @__PURE__ */ e(l, { to: "/z-tool/curl", replace: !0 }) },
578
- { path: "/z-tool/curl", element: /* @__PURE__ */ e(B, {}) },
579
- { path: "/z-tool/webide", element: /* @__PURE__ */ e(U, {}) },
597
+ { path: "/z-tool/curl", element: /* @__PURE__ */ e($, {}) },
598
+ { path: "/z-tool/webide", element: /* @__PURE__ */ e(W, {}) },
580
599
  // ─── 测试中心 (/test/*) — FEATURE061 ───
581
600
  { path: "/test", element: /* @__PURE__ */ e(l, { to: "/test/qa/dashboard", replace: !0 }) },
582
- { path: "/test/mock", element: /* @__PURE__ */ e(Zt, {}) },
601
+ { path: "/test/mock", element: /* @__PURE__ */ e(Vt, {}) },
583
602
  // QAApp 内部用 <Routes> 相对路由, 通配匹配后由 QAApp 自己接管子路径
584
- { path: "/test/qa", element: /* @__PURE__ */ e(W, {}) },
585
- { path: "/test/qa/*", element: /* @__PURE__ */ e(W, {}) },
603
+ { path: "/test/qa", element: /* @__PURE__ */ e(K, {}) },
604
+ { path: "/test/qa/*", element: /* @__PURE__ */ e(K, {}) },
586
605
  // ─── 低代码 ───
587
606
  // /lc/* 刻意不在这里注册。它早就迁到 src/lc/(TS 重写), 挂载点是
588
607
  // main.jsx 的 <Route path="/lc/*" element={<ZTeamApp forcedMode="dev"/>}/>,
@@ -614,45 +633,45 @@ const K = [
614
633
  // §14 铁律(菜单 key 必须带产品名前缀)针对的是**同一宿主内多套件共存**的撞车问题;
615
634
  // 这里每个域的宿主前缀本身就已经是产品名(/config / /task / /workflow …),
616
635
  // 且各域之间前缀互不相同 ⇒ 不存在撞车,不需要再加 z- 前缀。
617
- { path: "/config/docs", element: /* @__PURE__ */ e(Ct, {}) },
618
- { path: "/task/docs", element: /* @__PURE__ */ e(Nt, {}) },
619
- { path: "/workflow/docs", element: /* @__PURE__ */ e(Ot, {}) },
636
+ { path: "/config/docs", element: /* @__PURE__ */ e(Nt, {}) },
637
+ { path: "/task/docs", element: /* @__PURE__ */ e(Ot, {}) },
638
+ { path: "/workflow/docs", element: /* @__PURE__ */ e(zt, {}) },
620
639
  { path: "/schedule/docs", element: /* @__PURE__ */ e(Lt, {}) },
621
- { path: "/mist/docs", element: /* @__PURE__ */ e(zt, {}) },
622
- { path: "/meta/docs", element: /* @__PURE__ */ e(Tt, {}) },
623
- { path: "/msg/docs", element: /* @__PURE__ */ e(Et, {}) },
624
- { path: "/rpc/docs", element: /* @__PURE__ */ e(xt, {}) },
625
- { path: "/kb/docs", element: /* @__PURE__ */ e(jt, {}) },
626
- { path: "/z-product/docs", element: /* @__PURE__ */ e(Ht, {}) },
627
- { path: "/oss/docs", element: /* @__PURE__ */ e(Rt, {}) },
628
- { path: "/vector/docs", element: /* @__PURE__ */ e(qt, {}) },
629
- { path: "/graph/docs", element: /* @__PURE__ */ e(Bt, {}) },
630
- { path: "/gw/docs", element: /* @__PURE__ */ e($t, {}) },
631
- { path: "/cache/docs", element: /* @__PURE__ */ e(Ut, {}) },
632
- { path: "/mq/docs", element: /* @__PURE__ */ e(Wt, {}) },
633
- { path: "/ctc/docs", element: /* @__PURE__ */ e(Kt, {}) },
634
- { path: "/ai/docs", element: /* @__PURE__ */ e(Ft, {}) },
635
- { path: "/lc/docs", element: /* @__PURE__ */ e(Qt, {}) },
636
- { path: "/test/qa/docs", element: /* @__PURE__ */ e(Yt, {}) }
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, {}) }
637
656
  ];
638
- function Xt(o) {
639
- for (const s of K)
657
+ function ea(o) {
658
+ for (const s of F)
640
659
  if (s.path === o) return s.element;
641
- for (const s of K)
642
- if (en(s.path, o)) return s.element;
643
- return /* @__PURE__ */ e(Vt, {});
660
+ for (const s of F)
661
+ if (ta(s.path, o)) return s.element;
662
+ return /* @__PURE__ */ e(Jt, {});
644
663
  }
645
- function en(o, s) {
664
+ function ta(o, s) {
646
665
  if (!o.includes("*") && !o.includes(":")) return !1;
647
666
  const r = "^" + o.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*").replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, "[^/]+") + "$";
648
667
  return new RegExp(r).test(s);
649
668
  }
650
- function mn() {
651
- F();
652
- const { pathname: o } = M(), s = o.startsWith("/test/"), r = g(() => o, [o]), _ = g(() => Xt(o), [o]);
669
+ function ma() {
670
+ Q();
671
+ const { pathname: o } = M(), s = o.startsWith("/test/"), r = g(() => o, [o]), k = g(() => ea(o), [o]);
653
672
  return /* @__PURE__ */ p("div", { className: h.shell, children: [
654
673
  /* @__PURE__ */ e(
655
- We,
674
+ Ke,
656
675
  {
657
676
  activePathOverride: r,
658
677
  menuOnly: !0,
@@ -660,11 +679,11 @@ function mn() {
660
679
  }
661
680
  ),
662
681
  /* @__PURE__ */ p("main", { className: h.main, children: [
663
- /* @__PURE__ */ e(ge, {}),
664
- /* @__PURE__ */ e(_e, { resetKey: o, children: /* @__PURE__ */ e(ae, { fallback: /* @__PURE__ */ e("div", { className: h.empty, children: "加载中…" }), 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 }) })
665
684
  ] })
666
685
  ] });
667
686
  }
668
687
  export {
669
- mn as default
688
+ ma as default
670
689
  };