@numa-tech/numa 1.19.0 → 1.20.1

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 (120) hide show
  1. package/README.md +57 -3
  2. package/dist/ai-registry/bridge.js +3 -2
  3. package/dist/ai-registry/bridge.js.map +1 -1
  4. package/dist/ai-registry/client.d.ts +8 -1
  5. package/dist/ai-registry/client.js +11 -1
  6. package/dist/ai-registry/client.js.map +1 -1
  7. package/dist/ai-registry/commands.d.ts +3 -0
  8. package/dist/ai-registry/commands.js +48 -36
  9. package/dist/ai-registry/commands.js.map +1 -1
  10. package/dist/ai-registry/mcp-management.d.ts +2 -0
  11. package/dist/ai-registry/mcp-management.js +74 -0
  12. package/dist/ai-registry/mcp-management.js.map +1 -0
  13. package/dist/ai-registry/mcp-runtime-commands.d.ts +15 -0
  14. package/dist/ai-registry/mcp-runtime-commands.js +101 -0
  15. package/dist/ai-registry/mcp-runtime-commands.js.map +1 -0
  16. package/dist/ai-registry/mcp-runtime.d.ts +37 -0
  17. package/dist/ai-registry/mcp-runtime.js +134 -0
  18. package/dist/ai-registry/mcp-runtime.js.map +1 -0
  19. package/dist/ai-registry/mcp-stdio.d.ts +2 -0
  20. package/dist/ai-registry/mcp-stdio.js +18 -0
  21. package/dist/ai-registry/mcp-stdio.js.map +1 -0
  22. package/dist/authorization/application-client.d.ts +1271 -0
  23. package/dist/authorization/application-client.js +391 -0
  24. package/dist/authorization/application-client.js.map +1 -0
  25. package/dist/authorization/application-commands.d.ts +15 -0
  26. package/dist/authorization/application-commands.js +240 -0
  27. package/dist/authorization/application-commands.js.map +1 -0
  28. package/dist/authorization/application-schemas.d.ts +731 -0
  29. package/dist/authorization/application-schemas.js +521 -0
  30. package/dist/authorization/application-schemas.js.map +1 -0
  31. package/dist/authorization/{client.d.ts → bootstrap-client.d.ts} +5 -26
  32. package/dist/authorization/{client.js → bootstrap-client.js} +4 -27
  33. package/dist/authorization/bootstrap-client.js.map +1 -0
  34. package/dist/authorization/commands.d.ts +6 -21
  35. package/dist/authorization/commands.js +8 -130
  36. package/dist/authorization/commands.js.map +1 -1
  37. package/dist/authorization/enrollment-client.d.ts +40 -0
  38. package/dist/authorization/enrollment-client.js +56 -0
  39. package/dist/authorization/enrollment-client.js.map +1 -0
  40. package/dist/authorization/enrollment-commands.d.ts +5 -0
  41. package/dist/authorization/enrollment-commands.js +30 -0
  42. package/dist/authorization/enrollment-commands.js.map +1 -0
  43. package/dist/authorization/enrollment.d.ts +2 -2
  44. package/dist/authorization/enrollment.js +2 -2
  45. package/dist/authorization/enrollment.js.map +1 -1
  46. package/dist/authorization/schemas.d.ts +0 -90
  47. package/dist/authorization/schemas.js +0 -48
  48. package/dist/authorization/schemas.js.map +1 -1
  49. package/dist/backend.d.ts +1 -0
  50. package/dist/backend.js +4 -1
  51. package/dist/backend.js.map +1 -1
  52. package/dist/business-issuer.d.ts +4 -0
  53. package/dist/business-issuer.js +30 -0
  54. package/dist/business-issuer.js.map +1 -0
  55. package/dist/cli.js +61 -30
  56. package/dist/cli.js.map +1 -1
  57. package/dist/cloud/bootstrap.js +1 -1
  58. package/dist/cloud/bootstrap.js.map +1 -1
  59. package/dist/command-catalog.js +11 -36
  60. package/dist/command-catalog.js.map +1 -1
  61. package/dist/config.d.ts +1 -1
  62. package/dist/config.js +15 -6
  63. package/dist/config.js.map +1 -1
  64. package/dist/login-configuration.d.ts +8 -0
  65. package/dist/login-configuration.js +17 -0
  66. package/dist/login-configuration.js.map +1 -0
  67. package/dist/login-recovery.d.ts +2 -0
  68. package/dist/login-recovery.js +15 -0
  69. package/dist/login-recovery.js.map +1 -0
  70. package/dist/mcp/commands.js +12 -2
  71. package/dist/mcp/commands.js.map +1 -1
  72. package/dist/mcp-gateway/commands.d.ts +2 -0
  73. package/dist/mcp-gateway/commands.js +11 -0
  74. package/dist/mcp-gateway/commands.js.map +1 -1
  75. package/dist/oss/commands.d.ts +2 -1
  76. package/dist/oss/commands.js +55 -37
  77. package/dist/oss/commands.js.map +1 -1
  78. package/dist/oss/file-operations.d.ts +57 -0
  79. package/dist/oss/file-operations.js +269 -0
  80. package/dist/oss/file-operations.js.map +1 -0
  81. package/dist/oss/local-picker.d.ts +2 -0
  82. package/dist/oss/local-picker.js +6 -0
  83. package/dist/oss/local-picker.js.map +1 -1
  84. package/dist/oss/tools.js +1 -1
  85. package/dist/oss/tools.js.map +1 -1
  86. package/dist/oss/transfer-queue.js +1 -1
  87. package/dist/oss/transfer-queue.js.map +1 -1
  88. package/dist/oss/transfers.d.ts +7 -0
  89. package/dist/oss/transfers.js +87 -0
  90. package/dist/oss/transfers.js.map +1 -1
  91. package/dist/oss/web-page.js +365 -30
  92. package/dist/oss/web-page.js.map +1 -1
  93. package/dist/oss/web-service.d.ts +45 -0
  94. package/dist/oss/web-service.js +107 -0
  95. package/dist/oss/web-service.js.map +1 -0
  96. package/dist/oss/web.d.ts +10 -0
  97. package/dist/oss/web.js +117 -15
  98. package/dist/oss/web.js.map +1 -1
  99. package/dist/platform-profile.d.ts +22 -2
  100. package/dist/platform-profile.js +67 -6
  101. package/dist/platform-profile.js.map +1 -1
  102. package/docs/application-default-groups.md +73 -0
  103. package/examples/cloud-bootstrap/README.md +1 -1
  104. package/examples/mcp/README.md +108 -0
  105. package/examples/mcp/management-smoke.py +154 -0
  106. package/examples/mcp/runtime-smoke.mjs +187 -0
  107. package/examples/mcp/server.json +17 -0
  108. package/examples/oss/README.md +78 -0
  109. package/examples/oss/__pycache__/roundtrip.cpython-314.pyc +0 -0
  110. package/examples/oss/__pycache__/test_roundtrip.cpython-314.pyc +0 -0
  111. package/examples/oss/roundtrip.py +84 -0
  112. package/examples/oss/test_roundtrip.py +66 -0
  113. package/package.json +6 -5
  114. package/dist/authorization/client.js.map +0 -1
  115. package/dist/authorization/group-client.d.ts +0 -169
  116. package/dist/authorization/group-client.js +0 -129
  117. package/dist/authorization/group-client.js.map +0 -1
  118. package/dist/authorization/group-commands.d.ts +0 -25
  119. package/dist/authorization/group-commands.js +0 -155
  120. package/dist/authorization/group-commands.js.map +0 -1
package/README.md CHANGED
@@ -35,10 +35,10 @@ numa notion page create --grant 41 --file page.json --json
35
35
  ```sh
36
36
  numa authorization enrollment status --json
37
37
  numa authorization enrollment initialize --json
38
- numa authorization group list --json
38
+ numa authorization application --app 42 identity sources --json
39
39
  ```
40
40
 
41
- 管理员组、默认策略及历史成员补齐使用 `authorization group plan --file` → `items/status` → `apply --expected-digest --idempotency-key --yes`。初始组仅含 Notion user、Skills reader、OSS user 三个应用角色,数据 Grant 和 namespace 策略仍独立校验。完整流程见 [应用默认组指南](docs/application-default-groups.md)。这些新增命令尚需随 CLI 发布,不能视为已在公共 npm 或生产启用。
41
+ 管理员现在通过 `authorization application --app <id>` 管理完整定义、环境、Client/Group 草稿、关系、统一发布及凭证。旧独立 role/group 命令已删除;save 仅保存草稿,freeze 后显式 plan → prepare → apply 一个阶段。普通用户 enrollment 和 access-request 保留。完整流程见 [应用授权指南](docs/application-default-groups.md)。这是 API 与 CLI 协同的破坏性升级,尚未发布到 npm 或部署生产。
42
42
 
43
43
  ## 环境与安装
44
44
 
@@ -1154,9 +1154,31 @@ Linux 桌面需安装 `zenity` 或 `kdialog`;无图形环境可继续使用 `o
1154
1154
  「传输任务」显示跨 Grant 的任务、进度、速度、目标路径和错误,支持暂停、继续与取消。
1155
1155
  默认同时传输 3 个文件,每个文件最多 3 个分片请求;分片通常为 8 MiB,大文件自动调整。
1156
1156
  上传使用 multipart,下载使用带 ETag 条件的 Range 请求,断点完成后落盘;不再受网页单次
1157
- 5 GiB 上传限制。单次最多规划 10000 个文件,空目录不创建对象;目录移动与同步尚不支持。
1157
+ 5 GiB 上传限制。单次最多规划 10000 个文件,上传的空目录不创建对象;目录同步尚不支持。
1158
1158
  文件内容在恢复前后如发生变化,任务会停止,避免混合不同版本的数据。
1159
1159
 
1160
+ 存储位置与文件预览可独立折叠,折叠后保留展开入口并扩大文件列表;刷新页面保留布局,
1161
+ 折叠不清空预览或选择。点击文件会自动展开预览。
1162
+
1163
+ 文件行右键菜单支持递归删除、拷贝到、移动到和重命名;键盘可聚焦文件行后按 Shift+F10 打开。
1164
+ 顶部「创建目录」创建以 `/` 结尾的空对象,便于保留空文件夹。复制/移动目标填写相对于当前
1165
+ Grant 根目录的路径,留空表示根目录;也可通过弹窗目录树点选,目录树按需展开、分页加载,
1166
+ 点选会同步更新输入框。有写入权限时,可右键任意可选目标目录创建子目录,无论目录是否为空;创建后自动展开并选中。保留原名称,不支持跨 Grant 或跨 Bucket 操作。权限不足的右键菜单
1167
+ 仍可点击查看缺失权限提示,提示在 3 秒后自动消失,再次点击会重新计时。
1168
+
1169
+ 「删除所选」支持混选文件和文件夹。确认框显示选择数量,不预先递归计数;文件夹包含全部
1170
+ 子文件,重叠选择只处理一次。CLI 每页最多扫描 200 个对象,删除每批最多 100 个;复制/移动
1171
+ 最多并行处理 3 个对象。复制在 OSS 服务端执行,超过 1 GiB 使用分片复制,不经过浏览器。
1172
+ 页面底部显示扫描、确认完成、失败或未确认数量,并可停止安排后续请求;正在执行的请求会先结束。
1173
+ 文件操作不依赖浏览器连接,同一服务同时执行一项;最近 20 项操作记录仅保留在进程内存。
1174
+ 停止服务或进程退出后不会自动续做文件操作,已完成部分不会回滚;上传下载的断点机制不受影响。
1175
+
1176
+ 复制前检查目标是否存在,并使用禁止覆盖请求头;移动和重命名仅在复制成功、源对象再次校验
1177
+ 未变化后删除源对象。OSS 移动并非原子操作,操作期间不要让其他客户端修改相关目录。
1178
+ 开启或暂停版本控制的 Bucket 不保证禁止覆盖请求头生效;外部并发写入仍可能产生新版本。
1179
+ 删除针对当前可见对象,不清除历史版本。发生冲突、权限或网络错误时停止;网络中断可能造成
1180
+ 部分结果未确认,需刷新核对后再操作,不自动重放破坏性请求。
1181
+
1160
1182
  顶部授权选择器显示 Policy、Bucket/Prefix 和 Grant ID;每个操作显式绑定所选 Grant。
1161
1183
  STS 倒计时按服务端时间计算,默认有效期为 900 秒。默认勾选「自动续期」,
1162
1184
  页面打开时定期检查,后台传输也会在新请求前检查,并在剩余 90 秒以内续期;同一 Grant 的并发续期合并为一次请求。
@@ -1168,8 +1190,14 @@ STS 倒计时按服务端时间计算,默认有效期为 900 秒。默认勾
1168
1190
  本机链接的随机令牌只用于访问此进程;STS 保存在 CLI 内存,由 CLI 负责文件传输,
1169
1191
  不发送给网页、不依赖阿里云官网 Cookie,也不修改 Bucket CORS。每个服务实例独立,
1170
1192
  同一实例中同一 Grant 的页面共享续期设置。同一账号同一配置只允许一个任务队列写入进程。
1193
+ 重复运行 `numa oss web` 会查询已有服务,显示 PID、启动时间及传输/排队/暂停任务数量,
1194
+ 并打开已有控制台;第二次命令随即退出,不创建新服务,也不会关闭原服务。
1195
+ `--no-open` 只打印状态和链接。网页顶部显示 PID 和当前状态,「停止服务」确认后会暂停任务、
1196
+ 保存断点、关闭系统选择框并退出原 CLI 服务;所有连接到它的网页都会断开。
1197
+ 自动连接需要原服务也支持服务发现;旧版本实例需先在原终端按 Ctrl+C 停止,再用新版启动。
1171
1198
  关闭或刷新网页不影响传输;退出 CLI 时任务暂停,重新启动后须在「传输任务」中手动继续。
1172
1199
  任务与断点记录保存在本机配置目录的 `oss-transfers` 下,按服务、租户和用户隔离,不保存 STS。
1200
+ 同目录的私有 `service.json` 仅记录本机服务地址、PID 与本机控制台令牌,服务停止时删除。
1173
1201
  任务记录最多保留 10000 项,新增任务时会优先清除最早的已完成或已取消记录。
1174
1202
  取消会清理本任务的下载临时文件或未完成 multipart;已经提交成功的文件显示为完成。
1175
1203
  上传提交结果不明时,需要读取权限核验完成状态;无法核验时保留任务并提示失败。
@@ -1767,3 +1795,29 @@ tunnel-client run --profile numa-cli
1767
1795
  仅检查或维护 OSS 时可继续使用 `numa oss bootstrap status|preview|apply`。完整恢复与阶段说明见 [云账号初始化](examples/cloud-bootstrap/README.md)。
1768
1796
 
1769
1797
  OSS Client 授权由管理员选择已登记的 Client,平台解析其 Service Account。运行 CLI 的机器环境使用该 Client 的 `client_credentials` 身份调用 `numa oss grants` 和现有对象命令,仍通过默认 OSS Role 获取策略范围内的 STS。普通用户登录不会自动获得 Client Grant。
1798
+
1799
+ ### 业务 issuer 与 MCP 兼容入口
1800
+
1801
+ Profile 可声明固定的平台管理身份源及 OSS 业务身份源。`login`、`profile`、`auth status/logout`
1802
+ 使用业务默认身份,`--platform` 指定平台身份;`oss ... --issuer <code>` 仅接受 Profile 声明的
1803
+ issuer。不同 issuer/client/tenant/audience 使用独立凭据缓存。OSS 网页服务及任务队列按所选身份源
1804
+ 隔离,默认沿用旧 Profile 的平台身份;OSS 初始化仍使用平台身份,不接受业务 `--issuer`。
1805
+ 外部业务登录不启动平台控制台、成员初始化或平台 Skills 安装,不会自动切换到其他身份重试。
1806
+
1807
+ ```bash
1808
+ numa login --issuer cluster-b --no-console
1809
+ numa oss grants --issuer cluster-b --json
1810
+ numa oss web --issuer cluster-b
1811
+ numa login --platform
1812
+ ```
1813
+
1814
+ Profile ID 不匹配时,交互终端展示旧/新 Profile 后确认是否保存新的 URL 和 ID(默认否);
1815
+ 非交互、JSON 和 MCP stdio 返回 `profile_id_mismatch` 及恢复命令。已有登录凭据保留。
1816
+ 登录复用已有 CLI 配置,只有首次初始化或显式 `--config` 才打开配置页。
1817
+
1818
+ `mcp tools <name>` 与 `mcp call <name> <tool>` 优先使用 Profile 网关;`--registry` 明确选择
1819
+ Registry 返回的受治理 `/mcp-connections` 入口,没有网关 Profile 时也使用这个入口。
1820
+ `mcp tools` 不带名称时仍查看本地模块工具。`mcp proxy <name>` 将 Registry 入口代理为 stdio,
1821
+ 启动失败也不会向 stdout 写入非协议内容。所有调用的 `--timeout` 以秒为单位。
1822
+ 管理命令保留服务端能力检查,删除仍需 `--yes`;JSON 定义拒绝明文凭据。
1823
+ 示例见 [MCP 管理与调用](examples/mcp/README.md) 和 [OSS 读写验收](examples/oss/README.md)。
@@ -1,7 +1,7 @@
1
1
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2
2
  import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
3
3
  import { loadConfig } from "../config.js";
4
- import { fetchWithKeycloakIdentity } from "../oauth.js";
4
+ import { AuthError, fetchWithKeycloakIdentity } from "../oauth.js";
5
5
  import { AiRegistryError, redactRegistryText } from "./errors.js";
6
6
  import { resolveRegistryNamespace } from "./namespace.js";
7
7
  export async function runMcpBridge(client, options) {
@@ -34,7 +34,8 @@ export async function bridgeMcpTransports(local, remote) {
34
34
  if (closed)
35
35
  return;
36
36
  closed = true;
37
- rejectClosed?.(new AiRegistryError(`MCP bridge failed: ${redactRegistryText(error.message)}`, "ai_registry_bridge_failed"));
37
+ rejectClosed?.(error instanceof AuthError || error instanceof AiRegistryError ? error
38
+ : new AiRegistryError(`MCP bridge failed: ${redactRegistryText(error.message)}`, "ai_registry_bridge_failed"));
38
39
  void Promise.allSettled([local.close(), remote.close()]);
39
40
  };
40
41
  const finish = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/ai-registry/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/ai-registry/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import type { AuthConfig } from "../config.js";
2
2
  import { type KeycloakTokenProvider } from "../oauth.js";
3
3
  import { type JsonObject, type RegistryCapabilities, type RegistryInstance, type RegistryNamespace, type RegistryRouter } from "./schemas.js";
4
+ export interface RegistryMcpConnection {
5
+ namespaceId: string;
6
+ serverName: string;
7
+ routePath: string;
8
+ transport: "streamable-http";
9
+ }
4
10
  export interface AiRegistryClientDependencies {
5
11
  fetch?: typeof fetch;
6
12
  tokenProvider?: KeycloakTokenProvider;
@@ -61,11 +67,12 @@ export declare class AiRegistryClient {
61
67
  version?: string;
62
68
  label?: string;
63
69
  }): Promise<JsonObject>;
70
+ listMcpConnections(namespaceId: number): Promise<RegistryMcpConnection[]>;
64
71
  createMcpServer(namespaceId: number, specification: JsonObject): Promise<unknown>;
65
72
  updateMcpServer(namespaceId: number, mcpName: string, specification: JsonObject): Promise<unknown>;
66
73
  deleteMcpServer(namespaceId: number, mcpName: string, version?: string): Promise<unknown>;
67
74
  mcpAction(namespaceId: number, mcpName: string, action: "online" | "offline" | "biz-tags", body?: Record<string, unknown>): Promise<unknown>;
68
- setMcpToolEnabled(namespaceId: number, mcpName: string, toolName: string, enabled: boolean, version?: number): Promise<unknown>;
75
+ setMcpToolEnabled(namespaceId: number, mcpName: string, toolName: string, enabled: boolean, version: string): Promise<unknown>;
69
76
  createSkillDraft(namespaceId: number, skillName: string, body?: Record<string, unknown>): Promise<unknown>;
70
77
  listReleaseRequests(options?: {
71
78
  namespaceId?: number;
@@ -242,6 +242,16 @@ export class AiRegistryClient {
242
242
  const suffix = query.size ? `?${query}` : "";
243
243
  return this.object(`${API_ROOT}/namespaces/${namespaceId}/mcp-servers/${encodeURIComponent(safeIdentifier(mcpName, "mcpName"))}${suffix}`);
244
244
  }
245
+ async listMcpConnections(namespaceId) {
246
+ const result = await this.json(`${API_ROOT}/namespaces/${namespaceId}/mcp-connections`);
247
+ if (!Array.isArray(result) || result.some((item) => !item || typeof item !== "object"
248
+ || item.namespaceId !== String(namespaceId) || typeof item.serverName !== "string" || !item.serverName
249
+ || typeof item.routePath !== "string" || !item.routePath.startsWith("/") || item.routePath.startsWith("//")
250
+ || item.transport !== "streamable-http")) {
251
+ throw new AiRegistryError("MCP connection response is invalid.", "ai_registry_invalid_response");
252
+ }
253
+ return result.map(({ namespaceId, serverName, routePath, transport }) => ({ namespaceId, serverName, routePath, transport }));
254
+ }
245
255
  async createMcpServer(namespaceId, specification) {
246
256
  return this.json(`${API_ROOT}/namespaces/${namespaceId}/mcp-servers`, { method: "POST", body: JSON.stringify(specification) });
247
257
  }
@@ -266,7 +276,7 @@ export class AiRegistryClient {
266
276
  const path = `${API_ROOT}/namespaces/${namespaceId}/mcp-servers/${encodeURIComponent(safeIdentifier(mcpName, "mcpName"))}/tools/${encodeURIComponent(safeIdentifier(toolName, "toolName"))}`;
267
277
  return this.json(path, {
268
278
  method: "PUT",
269
- body: JSON.stringify({ enabled, ...(version == null ? {} : { version }) })
279
+ body: JSON.stringify({ enabled, version })
270
280
  });
271
281
  }
272
282
  async createSkillDraft(namespaceId, skillName, body = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ai-registry/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ai-registry/client.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { type InstallUi } from "../interactive/prompts.js";
2
2
  import type { Command } from "commander";
3
3
  import { AiRegistryClient } from "./client.js";
4
+ declare function output(command: Command, payload: unknown, textValue: string): Promise<void>;
4
5
  export declare function registerAiRegistryCommands(program: Command, dependencies?: {
5
6
  ui?: InstallUi;
6
7
  tty?: boolean;
7
8
  clientFactory?: () => AiRegistryClient;
8
9
  initializeProfile?: () => Promise<void>;
10
+ mcpOutput?: typeof output;
9
11
  }): void;
12
+ export {};
@@ -8,6 +8,8 @@ import process from "node:process";
8
8
  import { loadAppConfig } from "../app-config.js";
9
9
  import { loadConfig as loadPlatformConfig } from "../config.js";
10
10
  import { AiRegistryClient } from "./client.js";
11
+ import { readMcpSpecification } from "./mcp-management.js";
12
+ import { registerMcpRuntimeCommands } from "./mcp-runtime-commands.js";
11
13
  import { runMcpBridge } from "./bridge.js";
12
14
  import { bootstrapSkills } from "./bootstrap.js";
13
15
  import { resolveSkillInstallTargets } from "./install-defaults.js";
@@ -86,6 +88,8 @@ function itemName(item, fallback) {
86
88
  return typeof value === "string" ? value : fallback;
87
89
  }
88
90
  export function registerAiRegistryCommands(program, dependencies = {}) {
91
+ const mcpClient = dependencies.clientFactory ?? (() => new AiRegistryClient(loadConfig("aiRegistry")));
92
+ const outputMcp = dependencies.mcpOutput ?? output;
89
93
  const registry = program
90
94
  .command("registry")
91
95
  .alias("ai-registry")
@@ -503,10 +507,12 @@ export function registerAiRegistryCommands(program, dependencies = {}) {
503
507
  }), ["numa skills delete obsolete-skill --namespace team-ai --yes --json"]);
504
508
  const mcp = program.command("mcp").description("按 namespace 调用、安装和管理 MCP");
505
509
  registerGatewayCommands(mcp);
506
- addExamples(mcp.command("list")
510
+ registerMcpRuntimeCommands(mcp);
511
+ addExamples(mcp.command("list").description("分页查询当前 namespace 的 Nacos MCP 注册记录")
507
512
  .option("-n, --namespace <key>", "namespaceKey")
508
513
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
509
514
  .option("-q, --search <text>", "搜索关键词")
515
+ .option("--name <name>", "按 MCP 名称过滤")
510
516
  .option("--page <number>", "页码", "1")
511
517
  .option("--limit <number>", "每页 1-100", "20")
512
518
  .option("--registry", "读取 Registry 元数据")
@@ -515,16 +521,17 @@ export function registerAiRegistryCommands(program, dependencies = {}) {
515
521
  await executeGatewayCommand("list", undefined, options, command);
516
522
  return;
517
523
  }
518
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
524
+ const client = mcpClient();
519
525
  const targetNamespace = await resolveNamespace(client, options);
520
526
  const result = await client.listMcpServers(targetNamespace.id, {
521
527
  search: options.search,
528
+ mcpName: options.name,
522
529
  pageNo: positiveInteger(options.page, "page", 1, 1_000_000),
523
530
  pageSize: positiveInteger(options.limit, "limit", 20, 100)
524
531
  });
525
- await output(command, { ok: true, namespace: targetNamespace, mcpServers: result }, pageItems(result).map((item, index) => itemName(item, `mcp-${index + 1}`)).join("\n") || "没有找到 MCP Server");
532
+ await outputMcp(command, { ok: true, namespace: targetNamespace, mcpServers: result }, pageItems(result).map((item, index) => itemName(item, `mcp-${index + 1}`)).join("\n") || "没有找到 MCP Server");
526
533
  }), ["numa mcp list --namespace team-ai --json"]);
527
- addExamples(mcp.command("inspect <name>")
534
+ addExamples(mcp.command("inspect <name>").description("查看注册定义、工具和指定版本;不会执行服务")
528
535
  .option("-n, --namespace <key>", "namespaceKey")
529
536
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
530
537
  .option("--version <semver>", "精确版本")
@@ -534,10 +541,10 @@ export function registerAiRegistryCommands(program, dependencies = {}) {
534
541
  await executeGatewayCommand("inspect", name, options, command);
535
542
  return;
536
543
  }
537
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
544
+ const client = mcpClient();
538
545
  const targetNamespace = await resolveNamespace(client, options);
539
546
  const result = await client.getMcpServer(targetNamespace.id, name, options.version);
540
- await output(command, { ok: true, namespace: targetNamespace, mcpServer: result }, JSON.stringify(sanitizeRegistryOutput(result), null, 2));
547
+ await outputMcp(command, { ok: true, namespace: targetNamespace, mcpServer: result }, JSON.stringify(sanitizeRegistryOutput(result), null, 2));
541
548
  }), ["numa mcp inspect internal-docs --namespace team-ai --json"]);
542
549
  addExamples(mcp.command("install [name]")
543
550
  .option("-n, --namespace <key>", "namespaceKey")
@@ -623,7 +630,7 @@ export function registerAiRegistryCommands(program, dependencies = {}) {
623
630
  const textResult = result.manualSteps
624
631
  ? `已生成 ChatGPT MCP 安装指引: ${result.endpoint}\n${result.manualSteps.map((step, index) => `${index + 1}. ${step}`).join("\n")}`
625
632
  : `MCP ${name} 已安装${result.configPath ? `: ${result.configPath}` : "(由客户端 CLI 管理)"}${result.backupPath ? `\n原配置备份: ${result.backupPath}` : ""}`;
626
- await output(command, { ok: true, namespace: context.namespace, resolvedVersion: version, installation: result, lock }, textResult);
633
+ await outputMcp(command, { ok: true, namespace: context.namespace, resolvedVersion: version, installation: result, lock }, textResult);
627
634
  }), ["numa mcp install internal-docs --namespace team-ai --agent cursor"]);
628
635
  addExamples(mcp.command("bridge [name]").description("把 namespace 的指定 MCP 桥接为本地 stdio MCP")
629
636
  .option("-n, --namespace <key>", "namespaceKey")
@@ -645,59 +652,63 @@ export function registerAiRegistryCommands(program, dependencies = {}) {
645
652
  addExamples(mcp.command(`${action} <name>`)
646
653
  .option("-n, --namespace <key>", "namespaceKey")
647
654
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
648
- .option("--version <semver>", "精确版本")
655
+ .requiredOption("--version <version>", "已通过发布审核的精确 Nacos 版本")
649
656
  .action(async (name, options, command) => {
650
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
651
- const targetNamespace = await resolveNamespace(client, options);
657
+ const client = mcpClient();
658
+ const targetNamespace = (await resolveContext(client, options, "release:publish")).namespace;
652
659
  const result = await client.mcpAction(targetNamespace.id, name, action, { version: options.version });
653
- await output(command, { ok: true, namespace: targetNamespace, result }, `MCP ${name}: ${action} 完成`);
660
+ await outputMcp(command, { ok: true, namespace: targetNamespace, result }, `MCP ${name}: ${action} 完成`);
654
661
  }), [`numa mcp ${action} internal-docs --version 1.0.0 --json`]);
655
662
  }
656
- addExamples(mcp.command("tags <name> <tags...>")
663
+ addExamples(mcp.command("tags <name> <tags...>").description("兼容入口:当前 Nacos MCP Admin API 不支持业务标签,将返回明确错误")
657
664
  .option("-n, --namespace <key>", "namespaceKey")
658
665
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
659
666
  .action(async (name, tags, options, command) => {
660
667
  const normalized = [...new Set(tags.map((tag) => tag.trim()).filter(Boolean))];
661
668
  if (!normalized.length || normalized.length > 20)
662
669
  throw new AiRegistryError("tags must contain 1-20 values.", "ai_registry_input_invalid");
663
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
664
- const targetNamespace = await resolveNamespace(client, options);
670
+ const client = mcpClient();
671
+ const targetNamespace = (await resolveContext(client, options, "mcp:maintain")).namespace;
665
672
  const result = await client.mcpAction(targetNamespace.id, name, "biz-tags", { bizTags: normalized });
666
- await output(command, { ok: true, namespace: targetNamespace, result }, `MCP ${name} tags 已更新`);
673
+ await outputMcp(command, { ok: true, namespace: targetNamespace, result }, `MCP ${name} tags 已更新`);
667
674
  }), ["numa mcp tags internal-docs knowledge search --json"]);
668
675
  const tools = mcp.command("tool").description("启用或禁用 MCP 工具");
669
676
  for (const action of ["enable", "disable"]) {
670
677
  addExamples(tools.command(`${action} <mcp-name> <tool-name>`)
671
678
  .option("-n, --namespace <key>", "namespaceKey")
672
679
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
673
- .option("--version <number>", "乐观锁版本")
680
+ .requiredOption("--version <version>", "inspect 返回的精确 Nacos 服务版本")
674
681
  .action(async (mcpName, toolName, options, command) => {
675
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
676
- const targetNamespace = await resolveNamespace(client, options);
677
- const version = options.version == null ? undefined : nonnegativeInteger(options.version, "version");
682
+ const client = mcpClient();
683
+ const targetNamespace = (await resolveContext(client, options, "mcp:maintain")).namespace;
684
+ const version = options.version.trim();
685
+ if (!version)
686
+ throw new AiRegistryError("MCP version is required.", "ai_registry_input_invalid");
678
687
  const result = await client.setMcpToolEnabled(targetNamespace.id, mcpName, toolName, action === "enable", version);
679
- await output(command, { ok: true, namespace: targetNamespace, result }, `MCP tool ${mcpName}/${toolName}: ${action} 完成`);
680
- }), [`numa mcp tool ${action} internal-docs search --version 3 --json`]);
688
+ await outputMcp(command, { ok: true, namespace: targetNamespace, result }, `MCP tool ${mcpName}/${toolName}: ${action} 完成`);
689
+ }), [`numa mcp tool ${action} internal-docs search --version 1.0.0 --json`]);
681
690
  }
682
- addExamples(mcp.command("create <json>")
691
+ addExamples(mcp.command("create <json>").description("读取 JSON 文件创建 Nacos 注册定义;不会自动启用网关访问")
683
692
  .option("-n, --namespace <key>", "namespaceKey")
684
693
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
685
694
  .action(async (file, options, command) => {
686
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
687
- const targetNamespace = await resolveNamespace(client, options);
688
- const result = await client.createMcpServer(targetNamespace.id, await readObject(file));
689
- await output(command, { ok: true, namespace: targetNamespace, result }, "MCP create 完成");
695
+ const client = mcpClient();
696
+ const targetNamespace = (await resolveContext(client, options, "mcp:maintain")).namespace;
697
+ const result = await client.createMcpServer(targetNamespace.id, await readMcpSpecification(file));
698
+ await outputMcp(command, { ok: true, namespace: targetNamespace, result }, "MCP create 完成");
690
699
  }), ["numa mcp create ./mcp.json --namespace team-ai --json"]);
691
- addExamples(mcp.command("update <name> <json>")
700
+ addExamples(mcp.command("update <name> <json>").description("读取 JSON 文件更新注册定义,名称必须匹配;沿用平台权限治理")
692
701
  .option("-n, --namespace <key>", "namespaceKey")
693
702
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
694
703
  .action(async (name, file, options, command) => {
695
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
696
- const targetNamespace = await resolveNamespace(client, options);
697
- const result = await client.updateMcpServer(targetNamespace.id, name, await readObject(file));
698
- await output(command, { ok: true, namespace: targetNamespace, result }, "MCP update 完成");
704
+ const client = mcpClient();
705
+ const targetNamespace = (await resolveContext(client, options, "mcp:maintain")).namespace;
706
+ const specification = await readMcpSpecification(file, name);
707
+ await client.getMcpServer(targetNamespace.id, name);
708
+ const result = await client.updateMcpServer(targetNamespace.id, name, specification);
709
+ await outputMcp(command, { ok: true, namespace: targetNamespace, result }, "MCP update 完成");
699
710
  }), ["numa mcp update internal-docs ./mcp.json --namespace team-ai --json"]);
700
- addExamples(mcp.command("delete <name>")
711
+ addExamples(mcp.command("delete <name>").description("由平台管理员删除注册记录或指定版本")
701
712
  .option("-n, --namespace <key>", "namespaceKey")
702
713
  .option("-i, --instance <id-or-code>", "同名 namespace 的实例消歧")
703
714
  .option("--version <semver>", "精确版本")
@@ -705,10 +716,11 @@ export function registerAiRegistryCommands(program, dependencies = {}) {
705
716
  .action(async (name, options, command) => {
706
717
  if (!options.yes)
707
718
  throw new AiRegistryError("Remote delete requires --yes.", "ai_registry_confirmation_required");
708
- const client = new AiRegistryClient(loadConfig("aiRegistry"));
709
- const targetNamespace = await resolveNamespace(client, options);
719
+ const client = mcpClient();
720
+ const targetNamespace = (await resolveContext(client, options, "namespace:admin")).namespace;
721
+ await client.getMcpServer(targetNamespace.id, name, options.version);
710
722
  const result = await client.deleteMcpServer(targetNamespace.id, name, options.version);
711
- await output(command, { ok: true, namespace: targetNamespace, result }, `MCP ${name} 已从远端删除`);
723
+ await outputMcp(command, { ok: true, namespace: targetNamespace, result }, `MCP ${name} 已从远端删除`);
712
724
  }), ["numa mcp delete obsolete --namespace team-ai --yes --json"]);
713
725
  const approvals = registry.command("approvals").description("查看、审核和发布两人制 release request");
714
726
  addExamples(approvals.command("submit <type> <name>")
@@ -723,7 +735,7 @@ export function registerAiRegistryCommands(program, dependencies = {}) {
723
735
  throw new AiRegistryError("type must be skill or mcp.", "ai_registry_input_invalid");
724
736
  }
725
737
  const client = new AiRegistryClient(loadConfig("aiRegistry"));
726
- const context = await resolveContext(client, options);
738
+ const context = await resolveContext(client, options, "release:submit");
727
739
  const result = await client.createReleaseRequest({
728
740
  namespaceId: context.namespace.id,
729
741
  resourceType,