@numa-tech/numa 1.20.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.
- package/README.md +28 -2
- package/dist/ai-registry/bridge.js +3 -2
- package/dist/ai-registry/bridge.js.map +1 -1
- package/dist/ai-registry/client.d.ts +8 -1
- package/dist/ai-registry/client.js +11 -1
- package/dist/ai-registry/client.js.map +1 -1
- package/dist/ai-registry/commands.d.ts +3 -0
- package/dist/ai-registry/commands.js +48 -36
- package/dist/ai-registry/commands.js.map +1 -1
- package/dist/ai-registry/mcp-management.d.ts +2 -0
- package/dist/ai-registry/mcp-management.js +74 -0
- package/dist/ai-registry/mcp-management.js.map +1 -0
- package/dist/ai-registry/mcp-runtime-commands.d.ts +15 -0
- package/dist/ai-registry/mcp-runtime-commands.js +101 -0
- package/dist/ai-registry/mcp-runtime-commands.js.map +1 -0
- package/dist/ai-registry/mcp-runtime.d.ts +37 -0
- package/dist/ai-registry/mcp-runtime.js +134 -0
- package/dist/ai-registry/mcp-runtime.js.map +1 -0
- package/dist/ai-registry/mcp-stdio.d.ts +2 -0
- package/dist/ai-registry/mcp-stdio.js +18 -0
- package/dist/ai-registry/mcp-stdio.js.map +1 -0
- package/dist/authorization/application-client.d.ts +1271 -0
- package/dist/authorization/application-client.js +391 -0
- package/dist/authorization/application-client.js.map +1 -0
- package/dist/authorization/application-commands.d.ts +15 -0
- package/dist/authorization/application-commands.js +240 -0
- package/dist/authorization/application-commands.js.map +1 -0
- package/dist/authorization/application-schemas.d.ts +731 -0
- package/dist/authorization/application-schemas.js +521 -0
- package/dist/authorization/application-schemas.js.map +1 -0
- package/dist/authorization/{client.d.ts → bootstrap-client.d.ts} +5 -26
- package/dist/authorization/{client.js → bootstrap-client.js} +4 -27
- package/dist/authorization/bootstrap-client.js.map +1 -0
- package/dist/authorization/commands.d.ts +6 -21
- package/dist/authorization/commands.js +8 -130
- package/dist/authorization/commands.js.map +1 -1
- package/dist/authorization/enrollment-client.d.ts +40 -0
- package/dist/authorization/enrollment-client.js +56 -0
- package/dist/authorization/enrollment-client.js.map +1 -0
- package/dist/authorization/enrollment-commands.d.ts +5 -0
- package/dist/authorization/enrollment-commands.js +30 -0
- package/dist/authorization/enrollment-commands.js.map +1 -0
- package/dist/authorization/enrollment.d.ts +2 -2
- package/dist/authorization/enrollment.js +2 -2
- package/dist/authorization/enrollment.js.map +1 -1
- package/dist/authorization/schemas.d.ts +0 -90
- package/dist/authorization/schemas.js +0 -48
- package/dist/authorization/schemas.js.map +1 -1
- package/dist/backend.d.ts +1 -0
- package/dist/backend.js +4 -1
- package/dist/backend.js.map +1 -1
- package/dist/business-issuer.d.ts +4 -0
- package/dist/business-issuer.js +30 -0
- package/dist/business-issuer.js.map +1 -0
- package/dist/cli.js +61 -30
- package/dist/cli.js.map +1 -1
- package/dist/cloud/bootstrap.js +1 -1
- package/dist/cloud/bootstrap.js.map +1 -1
- package/dist/command-catalog.js +11 -36
- package/dist/command-catalog.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +15 -6
- package/dist/config.js.map +1 -1
- package/dist/login-configuration.d.ts +8 -0
- package/dist/login-configuration.js +17 -0
- package/dist/login-configuration.js.map +1 -0
- package/dist/login-recovery.d.ts +2 -0
- package/dist/login-recovery.js +15 -0
- package/dist/login-recovery.js.map +1 -0
- package/dist/mcp/commands.js +12 -2
- package/dist/mcp/commands.js.map +1 -1
- package/dist/mcp-gateway/commands.d.ts +2 -0
- package/dist/mcp-gateway/commands.js +11 -0
- package/dist/mcp-gateway/commands.js.map +1 -1
- package/dist/oss/commands.js +15 -15
- package/dist/oss/commands.js.map +1 -1
- package/dist/oss/tools.js +1 -1
- package/dist/oss/tools.js.map +1 -1
- package/dist/oss/web.js +1 -1
- package/dist/oss/web.js.map +1 -1
- package/dist/platform-profile.d.ts +22 -2
- package/dist/platform-profile.js +67 -6
- package/dist/platform-profile.js.map +1 -1
- package/docs/application-default-groups.md +73 -0
- package/examples/cloud-bootstrap/README.md +1 -1
- package/examples/mcp/README.md +108 -0
- package/examples/mcp/management-smoke.py +154 -0
- package/examples/mcp/runtime-smoke.mjs +187 -0
- package/examples/mcp/server.json +17 -0
- package/examples/oss/README.md +78 -0
- package/examples/oss/__pycache__/roundtrip.cpython-314.pyc +0 -0
- package/examples/oss/__pycache__/test_roundtrip.cpython-314.pyc +0 -0
- package/examples/oss/roundtrip.py +84 -0
- package/examples/oss/test_roundtrip.py +66 -0
- package/package.json +5 -4
- package/dist/authorization/client.js.map +0 -1
- package/dist/authorization/group-client.d.ts +0 -169
- package/dist/authorization/group-client.js +0 -129
- package/dist/authorization/group-client.js.map +0 -1
- package/dist/authorization/group-commands.d.ts +0 -25
- package/dist/authorization/group-commands.js +0 -155
- 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
|
|
38
|
+
numa authorization application --app 42 identity sources --json
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
|
|
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
|
|
|
@@ -1795,3 +1795,29 @@ tunnel-client run --profile numa-cli
|
|
|
1795
1795
|
仅检查或维护 OSS 时可继续使用 `numa oss bootstrap status|preview|apply`。完整恢复与阶段说明见 [云账号初始化](examples/cloud-bootstrap/README.md)。
|
|
1796
1796
|
|
|
1797
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?.(
|
|
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":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAGnG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;
|
|
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
|
|
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,
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
.
|
|
655
|
+
.requiredOption("--version <version>", "已通过发布审核的精确 Nacos 版本")
|
|
649
656
|
.action(async (name, options, command) => {
|
|
650
|
-
const client =
|
|
651
|
-
const targetNamespace = await
|
|
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
|
|
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 =
|
|
664
|
-
const targetNamespace = await
|
|
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
|
|
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
|
-
.
|
|
680
|
+
.requiredOption("--version <version>", "inspect 返回的精确 Nacos 服务版本")
|
|
674
681
|
.action(async (mcpName, toolName, options, command) => {
|
|
675
|
-
const client =
|
|
676
|
-
const targetNamespace = await
|
|
677
|
-
const version = options.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
|
|
680
|
-
}), [`numa mcp tool ${action} internal-docs search --version
|
|
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 =
|
|
687
|
-
const targetNamespace = await
|
|
688
|
-
const result = await client.createMcpServer(targetNamespace.id, await
|
|
689
|
-
await
|
|
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 =
|
|
696
|
-
const targetNamespace = await
|
|
697
|
-
const
|
|
698
|
-
await
|
|
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 =
|
|
709
|
-
const targetNamespace = await
|
|
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
|
|
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,
|