@yuku123/z-team-component 0.2.80 → 0.2.81

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 (51) hide show
  1. package/dist/ChangeLogView-_bRZ55Yi.js +542 -0
  2. package/dist/ComponentDoc-BWciPDcn.js +3998 -0
  3. package/dist/InvitationManagementPage-X9t4igh7.js +495 -0
  4. package/dist/OnboardingPage-D2sVawTW.js +393 -0
  5. package/dist/ScheduledTasks-CdCX5FlH.js +9407 -0
  6. package/dist/SystemShell-Bd0UpmAs.js +689 -0
  7. package/dist/_commonjsHelpers-B52_cu2H.js +26 -0
  8. package/dist/api-BKjWEmUY.js +20 -0
  9. package/dist/api-CIhVblfa.js +2155 -0
  10. package/dist/browser-jb_PFvU3.js +1538 -0
  11. package/dist/createWorkspaceWsHandler-BWP5S5X3.js +12951 -0
  12. package/dist/ctc-sso-DtJHC-2M.js +117 -0
  13. package/dist/echarts-B1OU1xr4.js +16 -0
  14. package/dist/history-BlrA1eaW.js +41 -0
  15. package/dist/index-B_LJRFsK.js +339 -0
  16. package/dist/index-BgIheStI.js +133 -0
  17. package/dist/index-Bn6u-XqL.js +242 -0
  18. package/dist/index-BohoJQPr.js +7631 -0
  19. package/dist/index-BydWNuk5.js +1229 -0
  20. package/dist/index-C815hPWS.js +430 -0
  21. package/dist/index-CPXlkVYF.js +118 -0
  22. package/dist/index-CUVdeb8y.js +638 -0
  23. package/dist/index-CdsD23Cm.js +914 -0
  24. package/dist/index-CijskN6t.js +316 -0
  25. package/dist/index-CkhoaNnF.js +137 -0
  26. package/dist/index-Cvx6rrxD.js +956 -0
  27. package/dist/index-Cwr5Slv1.js +480 -0
  28. package/dist/index-CxFAICql.js +42050 -0
  29. package/dist/index-D6i_zovv.js +574 -0
  30. package/dist/index-D8aigFpH.js +9583 -0
  31. package/dist/index-DK70mOTz.js +143 -0
  32. package/dist/index-DSoOHdTf.js +178 -0
  33. package/dist/index-DT80Pwa_.js +5893 -0
  34. package/dist/index-DWsfQMp8.js +208 -0
  35. package/dist/index-DZoJnRKu.js +112 -0
  36. package/dist/index-DhDdFRHC.js +279 -0
  37. package/dist/index-DimSOV0E.js +1143 -0
  38. package/dist/index-Dm3wmB0K.js +435 -0
  39. package/dist/index-DsP2ysav.js +93 -0
  40. package/dist/index-Dwm0j8qF.js +2936 -0
  41. package/dist/index-DzS6-D3M.js +1640 -0
  42. package/dist/index-RVaaSElI.js +2700 -0
  43. package/dist/index-cdB5K3gx.js +814 -0
  44. package/dist/index-nU-V276i.js +170 -0
  45. package/dist/index-uF04Ucsi.js +8 -0
  46. package/dist/index.js +10 -0
  47. package/dist/index.module-CAa-2T7m.js +72 -0
  48. package/dist/index.module-UI0iz8K0.js +42 -0
  49. package/dist/{menuPermission-D9NGpBZP.js → menuPermission-Uzk46Gto.js} +1 -1
  50. package/dist/pages.js +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,574 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { Navigate as t } from "react-router-dom";
3
+ import { lazy as A } from "react";
4
+ import { UnorderedListOutlined as i, HistoryOutlined as T, ClusterOutlined as p, DashboardOutlined as s, ExperimentOutlined as q, SettingOutlined as d, KeyOutlined as n, AppstoreOutlined as r, SafetyCertificateOutlined as P, TeamOutlined as w, ProfileOutlined as b, ApiOutlined as u, HddOutlined as l, ApartmentOutlined as g, InboxOutlined as k, FileTextOutlined as y, SendOutlined as G, CloudServerOutlined as a, NodeIndexOutlined as z, TableOutlined as f, SearchOutlined as m, DatabaseOutlined as v, ConsoleSqlOutlined as E, BranchesOutlined as I, DeploymentUnitOutlined as M, BookOutlined as h, FundOutlined as N, CloudUploadOutlined as _, TagsOutlined as x, CodeOutlined as B } from "@ant-design/icons";
5
+ import { W as R } from "./index-DZoJnRKu.js";
6
+ import { ConfigApp as U } from "@yuku123/z-config-component";
7
+ import { MistApp as H } from "@yuku123/z-mist-component";
8
+ import { MetaApp as L } from "@yuku123/z-meta-component";
9
+ import { MsgApp as K } from "@yuku123/z-msg-component";
10
+ import { RpcApp as W } from "@yuku123/z-rpc-component";
11
+ import { VectorApp as j } from "@yuku123/z-vector-component";
12
+ import { configureGraph as F, GraphApp as V } from "@yuku123/z-graph-component";
13
+ import { GwApp as Q } from "@yuku123/z-gw-component";
14
+ import { CacheApp as Y } from "@yuku123/z-cache-component";
15
+ import { MqApp as Z } from "@yuku123/z-mq-component";
16
+ import { OssApp as J } from "@yuku123/z-oss-component";
17
+ import { ZkbApp as X } from "@yuku123/z-kb-component";
18
+ import { ScriptProductizationPage as o } from "@yuku123/z-agent-component";
19
+ import "./index-D8aigFpH.js";
20
+ const $ = "/api/graph";
21
+ let O = !1;
22
+ function ee() {
23
+ O || (O = !0, F($));
24
+ }
25
+ const c = (C, D) => A(() => C().then((S) => ({ default: S[D] }))), te = c(() => import("@yuku123/z-config-component"), "ComponentDocPage"), ce = c(() => import("@yuku123/z-mist-component"), "ComponentDocPage"), ae = c(() => import("@yuku123/z-meta-component"), "ComponentDocPage"), oe = c(() => import("@yuku123/z-msg-component"), "ComponentDocPage"), ie = c(() => import("@yuku123/z-rpc-component"), "ComponentDocPage"), se = c(() => import("@yuku123/z-kb-component"), "ComponentDocPage"), ne = c(() => import("@yuku123/z-oss-component"), "ComponentDocPage"), pe = c(() => import("@yuku123/z-vector-component"), "ComponentDocPage"), re = c(() => import("@yuku123/z-graph-component"), "ComponentDocPage"), le = c(() => import("@yuku123/z-gw-component"), "ComponentDocPage"), me = c(() => import("@yuku123/z-cache-component"), "ComponentDocPage"), he = c(() => import("@yuku123/z-mq-component"), "ComponentDocPage");
26
+ function de() {
27
+ return ee(), /* @__PURE__ */ e(V, {});
28
+ }
29
+ const be = [
30
+ {
31
+ title: "配置中心",
32
+ icon: /* @__PURE__ */ e(d, {}),
33
+ // 通用配置(z-config)属 4A 的 OPS_CONFIG_VIEW「运营配置查看」域:
34
+ // 4A 普通用户角色 USER 不含该权限点 ⇒ 普通用户看不到配置中心入口
35
+ // (否则点进去就是 403 白脸)。管理员角色 ADMIN / 超管可见。
36
+ permission: "OPS_CONFIG_VIEW",
37
+ items: [
38
+ {
39
+ key: "config-list",
40
+ label: "配置列表",
41
+ icon: /* @__PURE__ */ e(i, {}),
42
+ path: "/config/list",
43
+ desc: "集中配置项的查询、编辑与发布"
44
+ },
45
+ {
46
+ key: "config-history",
47
+ label: "变更历史",
48
+ icon: /* @__PURE__ */ e(T, {}),
49
+ path: "/config/history",
50
+ desc: "配置变更记录与版本回溯"
51
+ },
52
+ {
53
+ key: "config-service",
54
+ label: "服务列表",
55
+ icon: /* @__PURE__ */ e(p, {}),
56
+ path: "/config/service",
57
+ desc: "接入配置的客户端服务管理"
58
+ },
59
+ {
60
+ key: "config-cluster",
61
+ label: "集群概览",
62
+ icon: /* @__PURE__ */ e(s, {}),
63
+ path: "/config/cluster",
64
+ desc: "配置中心集群节点与状态总览"
65
+ },
66
+ {
67
+ key: "config-namespace",
68
+ label: "命名空间",
69
+ icon: /* @__PURE__ */ e(q, {}),
70
+ path: "/config/namespace",
71
+ desc: "命名空间台账与配额(GET/POST /api/namespace/**)"
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ title: "密钥中心",
77
+ icon: /* @__PURE__ */ e(n, {}),
78
+ items: [
79
+ {
80
+ key: "mist-secret",
81
+ label: "密钥管理",
82
+ icon: /* @__PURE__ */ e(n, {}),
83
+ path: "/mist/secret",
84
+ desc: "z-mist 密钥台账(只读孵化)"
85
+ },
86
+ {
87
+ key: "mist-app",
88
+ label: "应用接入",
89
+ icon: /* @__PURE__ */ e(r, {}),
90
+ path: "/mist/app",
91
+ desc: "接入应用与 appSecret 台账"
92
+ },
93
+ {
94
+ key: "mist-acl",
95
+ label: "密钥授权",
96
+ icon: /* @__PURE__ */ e(P, {}),
97
+ path: "/mist/acl",
98
+ desc: "哪个应用能读哪个密钥 + 在线校验"
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ title: "元数据中心",
104
+ icon: /* @__PURE__ */ e(g, {}),
105
+ items: [
106
+ {
107
+ key: "meta-app",
108
+ label: "应用元数据",
109
+ icon: /* @__PURE__ */ e(r, {}),
110
+ path: "/meta/app",
111
+ desc: "z-meta 应用台账"
112
+ },
113
+ {
114
+ key: "meta-tenant",
115
+ label: "租户管理",
116
+ icon: /* @__PURE__ */ e(w, {}),
117
+ path: "/meta/tenant",
118
+ desc: "z-meta 租户台账"
119
+ },
120
+ {
121
+ key: "meta-dict",
122
+ label: "数据字典",
123
+ icon: /* @__PURE__ */ e(b, {}),
124
+ path: "/meta/dict",
125
+ desc: "字典类型与字典项"
126
+ },
127
+ {
128
+ key: "meta-interface",
129
+ label: "接口台账",
130
+ icon: /* @__PURE__ */ e(u, {}),
131
+ path: "/meta/interface",
132
+ desc: "登记在册的业务接口"
133
+ },
134
+ {
135
+ key: "meta-private-config",
136
+ label: "私有配置",
137
+ icon: /* @__PURE__ */ e(d, {}),
138
+ path: "/meta/private-config",
139
+ desc: "应用私有键值配置"
140
+ },
141
+ {
142
+ key: "meta-models",
143
+ label: "业务模型",
144
+ icon: /* @__PURE__ */ e(l, {}),
145
+ path: "/meta/models",
146
+ desc: "结构化业务模型与字段"
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ title: "消息中心",
152
+ icon: /* @__PURE__ */ e(G, {}),
153
+ items: [
154
+ {
155
+ key: "msg-inbox",
156
+ label: "站内信",
157
+ icon: /* @__PURE__ */ e(k, {}),
158
+ path: "/msg/inbox",
159
+ desc: "当前用户的收件箱"
160
+ },
161
+ {
162
+ key: "msg-template",
163
+ label: "消息模板",
164
+ icon: /* @__PURE__ */ e(b, {}),
165
+ path: "/msg/template",
166
+ desc: "按渠道/业务类型维护模板"
167
+ },
168
+ {
169
+ key: "msg-delivery",
170
+ label: "投递日志",
171
+ icon: /* @__PURE__ */ e(y, {}),
172
+ path: "/msg/delivery",
173
+ desc: "投递结果、失败原因与统计"
174
+ },
175
+ {
176
+ key: "msg-batch",
177
+ label: "批量任务",
178
+ icon: /* @__PURE__ */ e(i, {}),
179
+ path: "/msg/batch",
180
+ desc: "批量发送进度与成败"
181
+ }
182
+ ]
183
+ },
184
+ {
185
+ title: "服务注册",
186
+ icon: /* @__PURE__ */ e(z, {}),
187
+ items: [
188
+ {
189
+ key: "rpc-service",
190
+ label: "服务列表",
191
+ icon: /* @__PURE__ */ e(p, {}),
192
+ path: "/rpc/service",
193
+ desc: "RPC 注册表(z-rpc 视角 / z-config naming 数据源)"
194
+ },
195
+ {
196
+ key: "rpc-instance",
197
+ label: "服务实例",
198
+ icon: /* @__PURE__ */ e(a, {}),
199
+ path: "/rpc/instance",
200
+ desc: "按服务名展开实例与健康状态"
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ title: "向量检索",
206
+ icon: /* @__PURE__ */ e(v, {}),
207
+ items: [
208
+ {
209
+ key: "vector-collection",
210
+ label: "向量集合",
211
+ icon: /* @__PURE__ */ e(f, {}),
212
+ path: "/vector/collections",
213
+ desc: "z-vector 集合台账:维度 / 度量 / 索引 / 向量数"
214
+ },
215
+ {
216
+ key: "vector-search",
217
+ label: "向量检索",
218
+ icon: /* @__PURE__ */ e(m, {}),
219
+ path: "/vector/search",
220
+ desc: "top-k ANN 查询,渲染后端给的命中距离"
221
+ },
222
+ {
223
+ key: "vector-instance",
224
+ label: "实例与端口",
225
+ icon: /* @__PURE__ */ e(a, {}),
226
+ path: "/vector/instance",
227
+ desc: "内嵌 Qdrant REST 服务的 bind 状态(区分「没起」和「没数据」)"
228
+ }
229
+ ]
230
+ },
231
+ {
232
+ title: "图数据库",
233
+ icon: /* @__PURE__ */ e(g, {}),
234
+ items: [
235
+ {
236
+ key: "graph-schema",
237
+ label: "图 Schema",
238
+ icon: /* @__PURE__ */ e(f, {}),
239
+ path: "/graph/schema",
240
+ desc: "z-graph 点类型 / 边类型 / 属性索引(/api/graph/meta/schema)"
241
+ },
242
+ {
243
+ key: "graph-query",
244
+ label: "图查询",
245
+ icon: /* @__PURE__ */ e(E, {}),
246
+ path: "/graph/query",
247
+ desc: "Cypher 执行 + 执行计划,写语句二次确认(/api/graph/query)"
248
+ },
249
+ {
250
+ key: "graph-branches",
251
+ label: "分支与提交",
252
+ icon: /* @__PURE__ */ e(I, {}),
253
+ path: "/graph/branches",
254
+ desc: "Git 式版本面:分支 head 与全量 commit 图(/api/graph/meta/{branches,commits})"
255
+ },
256
+ {
257
+ key: "graph-instance",
258
+ label: "实例与端口",
259
+ icon: /* @__PURE__ */ e(a, {}),
260
+ path: "/graph/instance",
261
+ desc: "内嵌 GraphControlServer 的 bind 状态 + 外来监听者判定(区分「没起」和「没数据」)"
262
+ }
263
+ ]
264
+ },
265
+ {
266
+ title: "网关",
267
+ icon: /* @__PURE__ */ e(u, {}),
268
+ items: [
269
+ {
270
+ key: "gw-routes",
271
+ label: "网关路由",
272
+ icon: /* @__PURE__ */ e(i, {}),
273
+ path: "/gw/routes",
274
+ desc: "z-gw 在线路由表:谓词 / 过滤器 / order / 启停"
275
+ },
276
+ {
277
+ key: "gw-metrics",
278
+ label: "网关指标",
279
+ icon: /* @__PURE__ */ e(s, {}),
280
+ path: "/gw/metrics",
281
+ desc: "zgw.* 请求计数与平均 RT(附 micrometer 桥自证)"
282
+ },
283
+ {
284
+ key: "gw-instance",
285
+ label: "实例与面",
286
+ icon: /* @__PURE__ */ e(a, {}),
287
+ path: "/gw/instance",
288
+ desc: "admin 面接没接通 / Netty 9090 通不通 / 指标桥看不看得见"
289
+ }
290
+ ]
291
+ },
292
+ {
293
+ title: "缓存",
294
+ icon: /* @__PURE__ */ e(v, {}),
295
+ items: [
296
+ {
297
+ key: "cache-overview",
298
+ label: "缓存总览",
299
+ icon: /* @__PURE__ */ e(r, {}),
300
+ path: "/cache/overview",
301
+ desc: "z-cache 双路对账:进程内 MemoryStore ∥ zCacheClient,分歧即警报"
302
+ },
303
+ {
304
+ key: "cache-keys",
305
+ label: "键浏览",
306
+ icon: /* @__PURE__ */ e(m, {}),
307
+ path: "/cache/keys",
308
+ desc: "只读 SCAN/KEYS + TTL;命令名不接受外部输入(无 FLUSHALL 类按钮)"
309
+ },
310
+ {
311
+ key: "cache-stats",
312
+ label: "命中率与热键",
313
+ icon: /* @__PURE__ */ e(s, {}),
314
+ path: "/cache/stats",
315
+ desc: "hits/misses/evictions + accessCount/lfuCounter 热键视图"
316
+ },
317
+ {
318
+ key: "cache-instance",
319
+ label: "实例与端口",
320
+ icon: /* @__PURE__ */ e(a, {}),
321
+ path: "/cache/instance",
322
+ desc: "内嵌 RedisServer bind 上了没 / 6379 上应答的是谁"
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ title: "消息队列",
328
+ icon: /* @__PURE__ */ e(k, {}),
329
+ items: [
330
+ {
331
+ key: "mq-instance",
332
+ label: "实例与端口",
333
+ icon: /* @__PURE__ */ e(a, {}),
334
+ path: "/mq/instance",
335
+ desc: "子进程活着 ≠ 端口归它:z-mq 内嵌是 spawn,归属按子进程 PID 判"
336
+ },
337
+ {
338
+ key: "mq-cluster",
339
+ label: "集群与 Broker",
340
+ icon: /* @__PURE__ */ e(p, {}),
341
+ path: "/mq/cluster",
342
+ desc: "NameServer 码 4 brokerAddrTable(记的是「谁发过心跳」,不是「谁在跑」)"
343
+ },
344
+ {
345
+ key: "mq-topics",
346
+ label: "Topic 列表",
347
+ icon: /* @__PURE__ */ e(i, {}),
348
+ path: "/mq/topics",
349
+ desc: "NameServer 码 8 ∥ Broker 码 8 并排 + 按需码 3 路由详情"
350
+ },
351
+ {
352
+ key: "mq-broker",
353
+ label: "Broker 元数据",
354
+ icon: /* @__PURE__ */ e(M, {}),
355
+ path: "/mq/broker",
356
+ desc: "码 320/321/322/323/324;上游 MVP 恒空的那几格挂原文不挂假表"
357
+ }
358
+ ]
359
+ },
360
+ {
361
+ title: "知识库",
362
+ icon: /* @__PURE__ */ e(h, {}),
363
+ items: [
364
+ {
365
+ key: "kb-workspace",
366
+ label: "工作空间",
367
+ icon: /* @__PURE__ */ e(h, {}),
368
+ path: "/kb/workspaces",
369
+ desc: "知识库工作空间管理"
370
+ },
371
+ {
372
+ key: "kb-documents",
373
+ label: "文档管理",
374
+ icon: /* @__PURE__ */ e(h, {}),
375
+ path: "/kb/documents",
376
+ desc: "知识库文档列表与管理"
377
+ },
378
+ {
379
+ key: "kb-search",
380
+ label: "知识搜索",
381
+ icon: /* @__PURE__ */ e(m, {}),
382
+ path: "/kb/search",
383
+ desc: "统一知识搜索"
384
+ }
385
+ ]
386
+ },
387
+ {
388
+ title: "对象存储",
389
+ icon: /* @__PURE__ */ e(l, {}),
390
+ items: [
391
+ {
392
+ key: "oss-buckets",
393
+ label: "Bucket 列表",
394
+ icon: /* @__PURE__ */ e(l, {}),
395
+ path: "/oss/buckets",
396
+ desc: "GET /api/oss-admin/buckets · z-oss IOssBucketService#listUserBuckets(只读)"
397
+ },
398
+ {
399
+ key: "oss-objects",
400
+ label: "对象浏览",
401
+ icon: /* @__PURE__ */ e(y, {}),
402
+ path: "/oss/objects",
403
+ desc: "对象数/总大小来自 IOssObjectService,physicalExists 来自 IOssBucketService,两栏分开显示"
404
+ },
405
+ {
406
+ key: "oss-account",
407
+ label: "访问身份",
408
+ icon: /* @__PURE__ */ e(n, {}),
409
+ path: "/oss/account",
410
+ desc: "平台账号 → z_oss_user 映射;未开户显式报 409,不退化成空表"
411
+ }
412
+ ]
413
+ },
414
+ {
415
+ title: "脚本中心",
416
+ icon: /* @__PURE__ */ e(B, {}),
417
+ items: [
418
+ {
419
+ key: "script-keys",
420
+ label: "API Key 台账",
421
+ icon: /* @__PURE__ */ e(n, {}),
422
+ path: "/script/keys",
423
+ desc: "GET /api/script/api-key/page · 刻意不渲染 api_key / api_secret_hash 两列(见 TASK-20260925-031)"
424
+ },
425
+ {
426
+ key: "script-monitor",
427
+ label: "调用监控",
428
+ icon: /* @__PURE__ */ e(s, {}),
429
+ path: "/script/monitor",
430
+ desc: "GET /api/script/invoke-log/page + /stats/trend · 实测 124 行日志 / 7 天趋势"
431
+ },
432
+ {
433
+ key: "script-quota",
434
+ label: "配额与用量",
435
+ icon: /* @__PURE__ */ e(N, {}),
436
+ path: "/script/quota",
437
+ desc: "GET /api/script/quota/by-api-key/{id} · 日用量进度条(配额值是字符串,已 Number())"
438
+ },
439
+ {
440
+ key: "script-version",
441
+ label: "脚本版本",
442
+ icon: /* @__PURE__ */ e(_, {}),
443
+ path: "/script/version",
444
+ desc: "GET /api/script/version/list/{scriptId} · 按脚本主表 ID 查,状态是字符串枚举"
445
+ },
446
+ {
447
+ key: "script-tag",
448
+ label: "标签治理",
449
+ icon: /* @__PURE__ */ e(x, {}),
450
+ path: "/script/tag",
451
+ desc: "GET /api/script/tag/list · 3 条标签,颜色取 tag_color(回退 color)"
452
+ }
453
+ ]
454
+ }
455
+ ], ue = [
456
+ // ─── 配置中心 ───
457
+ // 精确条目在前 (菜单点击的精确 path, 优先命中以避免被通配覆盖)
458
+ { path: "/config", element: /* @__PURE__ */ e(t, { to: "/config/list", replace: !0 }) },
459
+ // 命名空间:2026-10-25 起**不再是占位**。
460
+ // 原先这一格渲染的是一段「缺的不是数据,是路由」的说明文字(ConfigPlaceholder),
461
+ // 而真实情况是:数据源与写面**都在册**——
462
+ // · GET /api/namespace/list 实测 200 且 1 行(namespace_id=DEFAULT_NAMESPACE)
463
+ // · POST /api/namespace/create 实测返回参数级校验错误("namespaceId 不能为空")
464
+ // ⇒ 端点已注册,只是请求体键名要用 snake_case(实测 camelCase 绑不上)
465
+ // · POST /api/namespace/update 实测返回"命名空间不存在"⇒ 端点已注册
466
+ // · POST /api/namespace/delete 实测返回"缺少参数: namespaceId"⇒ query 键是 camelCase
467
+ // 真正缺的是 **z-config-component 的 ConfigApp 路由表里没有 namespace 这一条**
468
+ // ⇒ 现在 ConfigApp 已挂上真页面(pages/namespace/NamespaceList.jsx),
469
+ // 这里**删掉那条精确路由**,让 /config/* 通配把 /config/namespace 交给 ConfigApp。
470
+ // ⚠ 灰度发布那一半仍然没有落点:L3 里灰度是 ZConfigTagRelation 那一族,
471
+ // 而它就在「从未进制品」的那 9 个 controller 里 ⇒ 菜单文案已从「命名空间 / 灰度」
472
+ // 收窄成「命名空间」,不拿一个空壳菜单项占位。
473
+ // 通配兜底: 其余 /config/* (list / history / service / cluster / edit / dashboard / namespace 等) 全部交给 ConfigApp 内部路由
474
+ { path: "/config/*", element: /* @__PURE__ */ e(U, {}) },
475
+ // ─── 密钥中心 ───
476
+ { path: "/mist", element: /* @__PURE__ */ e(t, { to: "/mist/secret", replace: !0 }) },
477
+ { path: "/mist/*", element: /* @__PURE__ */ e(H, {}) },
478
+ // ─── 元数据中心 (z-meta) ───
479
+ // 子模块自带相对路由 <Routes>, 由 /meta/* 通配把剩余路径交给它
480
+ { path: "/meta", element: /* @__PURE__ */ e(t, { to: "/meta/app", replace: !0 }) },
481
+ { path: "/meta/*", element: /* @__PURE__ */ e(L, {}) },
482
+ // ─── 消息中心 (z-msg) ───
483
+ { path: "/msg", element: /* @__PURE__ */ e(t, { to: "/msg/inbox", replace: !0 }) },
484
+ { path: "/msg/*", element: /* @__PURE__ */ e(K, {}) },
485
+ // ─── 服务注册 (z-rpc, 数据源是 z-config 的 naming) ───
486
+ { path: "/rpc", element: /* @__PURE__ */ e(t, { to: "/rpc/service", replace: !0 }) },
487
+ { path: "/rpc/*", element: /* @__PURE__ */ e(W, {}) },
488
+ // ─── 向量检索 (z-vector) ───
489
+ // REST 面是内嵌 QdrantRestServer(非 Spring MVC),经 z-opc 的 /api/vector/** 代理出去
490
+ { path: "/vector", element: /* @__PURE__ */ e(t, { to: "/vector/collections", replace: !0 }) },
491
+ { path: "/vector/*", element: /* @__PURE__ */ e(j, {}) },
492
+ // ─── 图数据库 (z-graph) ───
493
+ // REST 面是内嵌 GraphControlServer(JDK HttpServer,非 Spring MVC),经 z-opc 的 /api/graph/** 代理出去
494
+ // ⚠ 内嵌端口是 8091 不是 8090:8090 归一个外部进程,且被 BizKnowledgeGraphService 当业务依赖在用
495
+ { path: "/graph", element: /* @__PURE__ */ e(t, { to: "/graph/schema", replace: !0 }) },
496
+ { path: "/graph/*", element: /* @__PURE__ */ e(de, {}) },
497
+ // ─── 网关 (z-gw) ───
498
+ // admin 面是 z-gw-admin 的原生 Spring MVC(pom 加 io.github.yuku123:z-gw-admin 后挂 /gw/admin/**,12 条 handler);
499
+ // 页面不直连裸 /gw/admin(不在 sso.intercept-paths 内),一律走 z-opc 自己的环回代理 GET /api/gw/**
500
+ { path: "/gw", element: /* @__PURE__ */ e(t, { to: "/gw/routes", replace: !0 }) },
501
+ { path: "/gw/*", element: /* @__PURE__ */ e(Q, {}) },
502
+ // ─── 缓存 (z-cache) ───
503
+ // z-cache 只有 RESP over TCP(:6379),没有 HTTP 管理面 ⇒ /api/cache/** 不是转发器,
504
+ // 是 CacheProxyController 在 JVM 内读 MemoryStore + 用现成 zCacheClient 发只读命令拼出来的结构化 JSON。
505
+ { path: "/cache", element: /* @__PURE__ */ e(t, { to: "/cache/overview", replace: !0 }) },
506
+ { path: "/cache/*", element: /* @__PURE__ */ e(Y, {}) },
507
+ // ─── 消息队列 (z-mq) ───
508
+ // :9877/:10912 是 z-mq-remoting 的 Netty 私有二进制协议(端口从 9876/10911 挪开,那两个被旧世代孤儿 JVM 占着)
509
+ // ⇒ /api/mq/** 是「固定只读请求码 → JSON」的协议适配器,端点穷举,未列出的子路径一律 404 并回显可用清单
510
+ { path: "/mq", element: /* @__PURE__ */ e(t, { to: "/mq/instance", replace: !0 }) },
511
+ { path: "/mq/*", element: /* @__PURE__ */ e(Z, {}) },
512
+ // ─── 知识库 (z-kb) — 主机侧确定性装配,接口真通(2026-09-25 实测) ───
513
+ // 09-25 早先"页面在、/api/kb/** 全 404"的判断已被推翻:404 的根因是 z-kb 的自动装配清单错位
514
+ // (4 条 .imports 路径不存在 + 2 份无 key 的 spring.factories + z-kb-web 压根没有登记),
515
+ // 而不是"前端把 404 读成空列表"——src/kb/services/api.js 有自己的 fetch 包装,!res.ok 直接 throw,
516
+ // 三个页面都渲染"接口错误:{message}"。
517
+ // 现由 KbAssemblyConfig 在 host 侧 @Import 五个 AutoConfiguration + @ComponentScan controller,
518
+ // 并用一个 BFPP 把 z-kb 的 @Bean 产物改名(避让别的模块按 @Resource 字段名注入到同名 bean 上)。
519
+ // 实测:/kb/workspaces 1 行(314 篇/8746 实体/60479 关系)、/kb/documents 服务端分页 20 条 × 16 页、
520
+ // /kb/search FUSION 10 命中 + GRAPH 4 命中;向量召回恒 0 是 L3 读写两侧集合名不一致(见 SearchPage 的告警条)。
521
+ { path: "/kb", element: /* @__PURE__ */ e(t, { to: "/kb/workspaces", replace: !0 }) },
522
+ { path: "/kb/*", element: /* @__PURE__ */ e(X, {}) },
523
+ // ─── 对象存储 (z-oss) — TASK-003: 走 z-opc 侧 /api/oss-admin/**,不再需要 AK/SK 下发 ───
524
+ // z-oss 原生 /api/v1/** 的 AuthenticationInterceptor 要 X-Zoss-Access-Key/Secret-Key(实测带平台会话仍 401),
525
+ // 浏览器侧没有凭证下发通道;OssAdminController 改为在同一 JVM 内直接调 IOssBucketService/IOssObjectService,
526
+ // 鉴权用平台 SSO + username→z_oss_user 映射,且只有 @GetMapping(无写入口)。
527
+ // 刻意不接 E2EAliasController 的 /api/oss/list(异常吞成空列表)与 /api/oss/{bucket}(硬编码 stub 零值)。
528
+ { path: "/oss", element: /* @__PURE__ */ e(t, { to: "/oss/buckets", replace: !0 }) },
529
+ { path: "/oss/*", element: /* @__PURE__ */ e(J, {}) },
530
+ // ─── 脚本中心 (z-script) ───
531
+ // 组件自带 5 个 Tab,这里按"一个能力一条菜单"把 Tab 键透传成 initialTab,
532
+ // 而不是给每个 Tab 复刻一份页面组件。
533
+ // ⚠️ 只挂这 5 个 Tab:脚本清单页(系统面的 /script/manage)刻意不接进本面 ——
534
+ // 它的数据源 /api/script/list 在部署制品里被 z-script 自己的 ApiKeyAuthInterceptor 拦着,
535
+ // 带平台会话也是 401,而共用 axios 拦截器把任何 401 当会话过期 ⇒ 一点进来就被踢到 /login。
536
+ // 在那条链修好之前(TASK-20260925-032),把它放进菜单等于在中间件面埋一个登出陷阱。
537
+ { path: "/script", element: /* @__PURE__ */ e(t, { to: "/script/monitor", replace: !0 }) },
538
+ { path: "/script/keys", element: /* @__PURE__ */ e(o, { initialTab: "apikey" }) },
539
+ { path: "/script/monitor", element: /* @__PURE__ */ e(o, { initialTab: "monitor" }) },
540
+ { path: "/script/quota", element: /* @__PURE__ */ e(o, { initialTab: "quota" }) },
541
+ { path: "/script/version", element: /* @__PURE__ */ e(o, { initialTab: "version" }) },
542
+ { path: "/script/tag", element: /* @__PURE__ */ e(o, { initialTab: "tag" }) },
543
+ { path: "/script/*", element: /* @__PURE__ */ e(t, { to: "/script/monitor", replace: !0 }) },
544
+ // ─── 各域组件文档(lead 008 §7)───
545
+ // matchWorkbenchPath 是**两趟**匹配(先全表精确、再全表通配)⇒ 精确条目在数组里的
546
+ // 位置无所谓,但**必须存在**:少了 /config/docs 这一条,/config/docs 就会被
547
+ // 通配 /config/* 吃掉 ⇒ 文档页深链落空。
548
+ { path: "/config/docs", element: /* @__PURE__ */ e(te, {}) },
549
+ { path: "/mist/docs", element: /* @__PURE__ */ e(ce, {}) },
550
+ { path: "/meta/docs", element: /* @__PURE__ */ e(ae, {}) },
551
+ { path: "/msg/docs", element: /* @__PURE__ */ e(oe, {}) },
552
+ { path: "/rpc/docs", element: /* @__PURE__ */ e(ie, {}) },
553
+ { path: "/kb/docs", element: /* @__PURE__ */ e(se, {}) },
554
+ { path: "/oss/docs", element: /* @__PURE__ */ e(ne, {}) },
555
+ { path: "/vector/docs", element: /* @__PURE__ */ e(pe, {}) },
556
+ { path: "/graph/docs", element: /* @__PURE__ */ e(re, {}) },
557
+ { path: "/gw/docs", element: /* @__PURE__ */ e(le, {}) },
558
+ { path: "/cache/docs", element: /* @__PURE__ */ e(me, {}) },
559
+ { path: "/mq/docs", element: /* @__PURE__ */ e(he, {}) }
560
+ ];
561
+ function Ne() {
562
+ return /* @__PURE__ */ e(
563
+ R,
564
+ {
565
+ groups: be,
566
+ routes: ue,
567
+ mode: "middleware",
568
+ emptyText: "请从左侧菜单选择中间件模块"
569
+ }
570
+ );
571
+ }
572
+ export {
573
+ Ne as default
574
+ };