@numa-tech/numa 1.12.8 → 1.12.11
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 +140 -16
- package/dist/ai-registry/commands.js +33 -33
- package/dist/ai-registry/commands.js.map +1 -1
- package/dist/app-config.d.ts +0 -1
- package/dist/app-config.js +4 -2
- package/dist/app-config.js.map +1 -1
- package/dist/application-candidates/client.d.ts +167 -0
- package/dist/application-candidates/client.js +103 -0
- package/dist/application-candidates/client.js.map +1 -0
- package/dist/application-candidates/commands.d.ts +13 -0
- package/dist/application-candidates/commands.js +225 -0
- package/dist/application-candidates/commands.js.map +1 -0
- package/dist/application-candidates/schemas.d.ts +171 -0
- package/dist/application-candidates/schemas.js +80 -0
- package/dist/application-candidates/schemas.js.map +1 -0
- package/dist/application-onboarding/client.d.ts +256 -0
- package/dist/application-onboarding/client.js +213 -0
- package/dist/application-onboarding/client.js.map +1 -0
- package/dist/application-onboarding/commands.d.ts +64 -0
- package/dist/application-onboarding/commands.js +694 -0
- package/dist/application-onboarding/commands.js.map +1 -0
- package/dist/application-onboarding/errors.d.ts +11 -0
- package/dist/application-onboarding/errors.js +51 -0
- package/dist/application-onboarding/errors.js.map +1 -0
- package/dist/application-onboarding/schemas.d.ts +1167 -0
- package/dist/application-onboarding/schemas.js +459 -0
- package/dist/application-onboarding/schemas.js.map +1 -0
- package/dist/application-onboarding/scm-credentials.d.ts +8 -0
- package/dist/application-onboarding/scm-credentials.js +98 -0
- package/dist/application-onboarding/scm-credentials.js.map +1 -0
- package/dist/application-onboarding/tui-model.d.ts +131 -0
- package/dist/application-onboarding/tui-model.js +554 -0
- package/dist/application-onboarding/tui-model.js.map +1 -0
- package/dist/application-onboarding/tui.d.ts +14 -0
- package/dist/application-onboarding/tui.js +554 -0
- package/dist/application-onboarding/tui.js.map +1 -0
- package/dist/authorization/access-request-client.d.ts +45 -0
- package/dist/authorization/access-request-client.js +93 -0
- package/dist/authorization/access-request-client.js.map +1 -0
- package/dist/authorization/access-request-commands.d.ts +25 -0
- package/dist/authorization/access-request-commands.js +196 -0
- package/dist/authorization/access-request-commands.js.map +1 -0
- package/dist/authorization/access-request-schemas.d.ts +123 -0
- package/dist/authorization/access-request-schemas.js +67 -0
- package/dist/authorization/access-request-schemas.js.map +1 -0
- package/dist/authorization/client.d.ts +50 -0
- package/dist/authorization/client.js +113 -0
- package/dist/authorization/client.js.map +1 -0
- package/dist/authorization/commands.d.ts +40 -0
- package/dist/authorization/commands.js +296 -0
- package/dist/authorization/commands.js.map +1 -0
- package/dist/authorization/errors.d.ts +13 -0
- package/dist/authorization/errors.js +70 -0
- package/dist/authorization/errors.js.map +1 -0
- package/dist/authorization/schemas.d.ts +187 -0
- package/dist/authorization/schemas.js +101 -0
- package/dist/authorization/schemas.js.map +1 -0
- package/dist/cli.js +44 -8
- package/dist/cli.js.map +1 -1
- package/dist/command-catalog.js +270 -26
- package/dist/command-catalog.js.map +1 -1
- package/dist/web-console-page.d.ts +1 -1
- package/dist/web-console-page.js +1 -1
- package/dist/web-console.js +6 -5
- package/dist/web-console.js.map +1 -1
- package/examples/ai-registry/README.md +18 -0
- package/examples/ai-registry/nacos-instance.username-password.example.json +25 -0
- package/package.json +4 -4
- package/skills/numa-ai-registry/SKILL.md +5 -5
- package/skills/numa-ai-registry/evals/evals.json +1 -1
- package/skills/numa-ai-registry/references/command-contract.md +22 -22
- package/skills/numa-cli/SKILL.md +44 -0
- package/skills/numa-cli/agents/openai.yaml +4 -0
- package/skills/numa-cli/evals/evals.json +35 -0
- package/skills/numa-cli/references/pipeline-release.md +107 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/application-onboarding/tui.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AuthConfig } from "../config.js";
|
|
2
|
+
import { type KeycloakTokenProvider } from "../oauth.js";
|
|
3
|
+
import { type AccessRequest, type AccessRequestList, type AccessRequestOptions, type AccessRequestState } from "./access-request-schemas.js";
|
|
4
|
+
export interface AccessRequestClientDependencies {
|
|
5
|
+
fetch?: typeof fetch;
|
|
6
|
+
tokenProvider?: KeycloakTokenProvider;
|
|
7
|
+
}
|
|
8
|
+
export interface CreateAccessRequestInput {
|
|
9
|
+
roleCode: string;
|
|
10
|
+
namespaceId?: number;
|
|
11
|
+
reason: string;
|
|
12
|
+
idempotencyKey: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ReviewAccessRequestInput {
|
|
15
|
+
decision: "APPROVE" | "REJECT";
|
|
16
|
+
reason: string;
|
|
17
|
+
version: number;
|
|
18
|
+
}
|
|
19
|
+
export interface ListAccessRequestsInput {
|
|
20
|
+
view: "mine" | "review";
|
|
21
|
+
state?: AccessRequestState;
|
|
22
|
+
cursor?: string;
|
|
23
|
+
limit?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface AccessRequestApi {
|
|
26
|
+
options(): Promise<AccessRequestOptions>;
|
|
27
|
+
create(input: CreateAccessRequestInput): Promise<AccessRequest>;
|
|
28
|
+
list(input: ListAccessRequestsInput): Promise<AccessRequestList>;
|
|
29
|
+
get(requestId: string): Promise<AccessRequest>;
|
|
30
|
+
cancel(requestId: string, version: number): Promise<AccessRequest>;
|
|
31
|
+
review(requestId: string, input: ReviewAccessRequestInput): Promise<AccessRequest>;
|
|
32
|
+
}
|
|
33
|
+
export declare class AccessRequestClient implements AccessRequestApi {
|
|
34
|
+
private readonly config;
|
|
35
|
+
private readonly fetchImpl;
|
|
36
|
+
private readonly tokenProvider;
|
|
37
|
+
constructor(config: AuthConfig, dependencies?: AccessRequestClientDependencies);
|
|
38
|
+
options(): Promise<AccessRequestOptions>;
|
|
39
|
+
create(input: CreateAccessRequestInput): Promise<AccessRequest>;
|
|
40
|
+
list(input: ListAccessRequestsInput): Promise<AccessRequestList>;
|
|
41
|
+
get(requestId: string): Promise<AccessRequest>;
|
|
42
|
+
cancel(requestId: string, version: number): Promise<AccessRequest>;
|
|
43
|
+
review(requestId: string, input: ReviewAccessRequestInput): Promise<AccessRequest>;
|
|
44
|
+
private json;
|
|
45
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { resolveBackendUrl } from "../backend.js";
|
|
2
|
+
import { ensureAccessToken, fetchWithKeycloakIdentity } from "../oauth.js";
|
|
3
|
+
import { AuthorizationError, authorizationHttpErrorCode } from "./errors.js";
|
|
4
|
+
import { AccessRequestApiErrorSchema, AccessRequestListSchema, AccessRequestOptionsSchema, AccessRequestSchema } from "./access-request-schemas.js";
|
|
5
|
+
const ACCESS_REQUEST_ROOT = "/api/v1/me/access-requests";
|
|
6
|
+
export class AccessRequestClient {
|
|
7
|
+
config;
|
|
8
|
+
fetchImpl;
|
|
9
|
+
tokenProvider;
|
|
10
|
+
constructor(config, dependencies = {}) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.fetchImpl = dependencies.fetch ?? fetch;
|
|
13
|
+
this.tokenProvider = dependencies.tokenProvider ?? ensureAccessToken;
|
|
14
|
+
}
|
|
15
|
+
options() {
|
|
16
|
+
return this.json(`${ACCESS_REQUEST_ROOT}/options`, AccessRequestOptionsSchema);
|
|
17
|
+
}
|
|
18
|
+
create(input) {
|
|
19
|
+
const { idempotencyKey, ...body } = input;
|
|
20
|
+
return this.json(ACCESS_REQUEST_ROOT, AccessRequestSchema, {
|
|
21
|
+
method: "POST",
|
|
22
|
+
headers: { "Idempotency-Key": idempotencyKey },
|
|
23
|
+
body: JSON.stringify(body)
|
|
24
|
+
}, [201]);
|
|
25
|
+
}
|
|
26
|
+
list(input) {
|
|
27
|
+
const query = new URLSearchParams({ view: input.view });
|
|
28
|
+
if (input.state)
|
|
29
|
+
query.set("state", input.state);
|
|
30
|
+
if (input.cursor)
|
|
31
|
+
query.set("cursor", input.cursor);
|
|
32
|
+
if (input.limit != null)
|
|
33
|
+
query.set("limit", String(input.limit));
|
|
34
|
+
return this.json(`${ACCESS_REQUEST_ROOT}?${query}`, AccessRequestListSchema);
|
|
35
|
+
}
|
|
36
|
+
get(requestId) {
|
|
37
|
+
return this.json(`${ACCESS_REQUEST_ROOT}/${encodeURIComponent(requestId)}`, AccessRequestSchema);
|
|
38
|
+
}
|
|
39
|
+
cancel(requestId, version) {
|
|
40
|
+
return this.json(`${ACCESS_REQUEST_ROOT}/${encodeURIComponent(requestId)}/cancel`, AccessRequestSchema, {
|
|
41
|
+
method: "POST",
|
|
42
|
+
body: JSON.stringify({ version })
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
review(requestId, input) {
|
|
46
|
+
return this.json(`${ACCESS_REQUEST_ROOT}/${encodeURIComponent(requestId)}/review`, AccessRequestSchema, {
|
|
47
|
+
method: "POST",
|
|
48
|
+
body: JSON.stringify(input)
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async json(path, schema, init = {}, expectedStatuses = [200]) {
|
|
52
|
+
const url = resolveBackendUrl(this.config, { method: "GET", path });
|
|
53
|
+
const headers = new Headers(init.headers);
|
|
54
|
+
headers.set("Accept", "application/json");
|
|
55
|
+
if (init.body != null)
|
|
56
|
+
headers.set("Content-Type", "application/json");
|
|
57
|
+
const response = await fetchWithKeycloakIdentity(this.config, url, () => ({ ...init, headers }), { fetch: this.fetchImpl, tokenProvider: this.tokenProvider });
|
|
58
|
+
const body = await responseBody(response);
|
|
59
|
+
if (!response.ok)
|
|
60
|
+
throw apiFailure(response, body);
|
|
61
|
+
if (!expectedStatuses.includes(response.status)) {
|
|
62
|
+
throw new AuthorizationError(`Access request API returned HTTP ${response.status}; expected ${expectedStatuses.join(" or ")}.`, "authorization_invalid_response", response.status);
|
|
63
|
+
}
|
|
64
|
+
const parsed = schema.safeParse(body);
|
|
65
|
+
if (!parsed.success) {
|
|
66
|
+
throw new AuthorizationError("Access request API returned a response that does not match the safe CLI contract.", "authorization_invalid_response", response.status);
|
|
67
|
+
}
|
|
68
|
+
return parsed.data;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function responseBody(response) {
|
|
72
|
+
const text = await response.text();
|
|
73
|
+
if (!text)
|
|
74
|
+
return {};
|
|
75
|
+
try {
|
|
76
|
+
return JSON.parse(text);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return text;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function apiFailure(response, body) {
|
|
83
|
+
const parsed = AccessRequestApiErrorSchema.safeParse(body);
|
|
84
|
+
const messages = {
|
|
85
|
+
400: "The access request input was invalid.",
|
|
86
|
+
401: "Access requests require a valid Numa login.",
|
|
87
|
+
403: "The platform denied this access request operation.",
|
|
88
|
+
404: "The access request was not found.",
|
|
89
|
+
409: "The access request changed or conflicts with this operation."
|
|
90
|
+
};
|
|
91
|
+
return new AuthorizationError(`Access request API HTTP ${response.status}: ${messages[response.status] ?? "Request failed."}`, authorizationHttpErrorCode(response.status), response.status, undefined, parsed.success ? parsed.data.code : undefined);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=access-request-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-request-client.js","sourceRoot":"","sources":["../../src/authorization/access-request-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
import type { AccessRequestApi, CreateAccessRequestInput, ListAccessRequestsInput, ReviewAccessRequestInput } from "./access-request-client.js";
|
|
3
|
+
export interface AccessRequestCommandDependencies {
|
|
4
|
+
clientFactory: () => AccessRequestApi;
|
|
5
|
+
}
|
|
6
|
+
export declare function registerAccessRequestCommands(authorization: Command, dependencies: AccessRequestCommandDependencies): void;
|
|
7
|
+
export declare function parseCreateAccessRequestInput(options: {
|
|
8
|
+
role: string;
|
|
9
|
+
reason: string;
|
|
10
|
+
idempotencyKey: string;
|
|
11
|
+
namespaceId?: string;
|
|
12
|
+
}): CreateAccessRequestInput;
|
|
13
|
+
export declare function parseListAccessRequestsInput(options: {
|
|
14
|
+
view: string;
|
|
15
|
+
state?: string;
|
|
16
|
+
cursor?: string;
|
|
17
|
+
limit: string;
|
|
18
|
+
}): ListAccessRequestsInput;
|
|
19
|
+
export declare function parseReviewAccessRequestInput(options: {
|
|
20
|
+
decision: string;
|
|
21
|
+
reason: string;
|
|
22
|
+
version: string;
|
|
23
|
+
}): ReviewAccessRequestInput;
|
|
24
|
+
export declare function parseAccessRequestId(value: string): string;
|
|
25
|
+
export declare function parseVersion(value: string): number;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { loadAppConfig } from "../app-config.js";
|
|
3
|
+
import { sanitizeAuthorizationOutput } from "./errors.js";
|
|
4
|
+
import { AuthorizationError } from "./errors.js";
|
|
5
|
+
const ROLE_PREFIX = "mci-devops-platform-";
|
|
6
|
+
const REQUEST_ID = /^ar_[A-Za-z0-9_-]{8,76}$/u;
|
|
7
|
+
const CONTROL_CHARACTERS = /[\u0000-\u001f\u007f]/u;
|
|
8
|
+
export function registerAccessRequestCommands(authorization, dependencies) {
|
|
9
|
+
const accessRequest = authorization.command("access-request")
|
|
10
|
+
.description("申请角色权限、查询申请清单并执行双人审批")
|
|
11
|
+
.addHelpText("after", `
|
|
12
|
+
安全边界:
|
|
13
|
+
create 只提交申请,不会直接授权。
|
|
14
|
+
review 只向 DevOps 提交审批决定;Keycloak 管理凭据不会进入 CLI。
|
|
15
|
+
审批人不能审批自己的申请,最终授权状态以服务端返回为准。
|
|
16
|
+
`);
|
|
17
|
+
addExamples(accessRequest.command("options")
|
|
18
|
+
.description("列出可申请角色、namespace 和当前用户的审批能力")
|
|
19
|
+
.action(async (_options, command) => {
|
|
20
|
+
const options = await dependencies.clientFactory().options();
|
|
21
|
+
const lines = [
|
|
22
|
+
...options.roles.map((role) => `${role.roleCode}\t${role.scopeType}\t${role.roleName}`),
|
|
23
|
+
...options.namespaces.map((namespace) => `${namespace.id}\t${namespace.namespaceKey}\t${namespace.environment}\t${namespace.displayName}`)
|
|
24
|
+
];
|
|
25
|
+
await output(command, { ok: true, options }, lines.join("\n") || "没有可申请的角色或 namespace");
|
|
26
|
+
}), ["numa authorization access-request options --json"]);
|
|
27
|
+
addExamples(accessRequest.command("create")
|
|
28
|
+
.description("提交角色权限申请;不会直接执行授权")
|
|
29
|
+
.requiredOption("--role <role-code>", "可申请的完整 Client Role 名称")
|
|
30
|
+
.requiredOption("--reason <text>", "申请原因(至少 5 个字符)")
|
|
31
|
+
.requiredOption("--idempotency-key <key>", "8-200 字符;网络重试时复用同一个值")
|
|
32
|
+
.option("--namespace-id <id>", "namespace 范围角色所需的平台 namespace ID")
|
|
33
|
+
.action(async (options, command) => {
|
|
34
|
+
const input = parseCreateAccessRequestInput(options);
|
|
35
|
+
const request = await dependencies.clientFactory().create(input);
|
|
36
|
+
await output(command, { ok: true, access_request: request }, requestLine(request));
|
|
37
|
+
}), [
|
|
38
|
+
"numa authorization access-request create --role mci-devops-platform-ai-registry-reviewer --namespace-id 7 --reason '负责 team-ai 发布审核' --idempotency-key reviewer-team-ai-20260820 --json"
|
|
39
|
+
]);
|
|
40
|
+
addExamples(accessRequest.command("list")
|
|
41
|
+
.description("查询自己的申请清单或当前用户可审批的清单")
|
|
42
|
+
.option("--view <view>", "mine 或 review", "mine")
|
|
43
|
+
.option("--state <state>", "按状态筛选")
|
|
44
|
+
.option("--cursor <id>", "上一页返回的 nextCursor")
|
|
45
|
+
.option("--limit <count>", "每页 1-100 条", "20")
|
|
46
|
+
.action(async (options, command) => {
|
|
47
|
+
const input = parseListAccessRequestsInput(options);
|
|
48
|
+
const result = await dependencies.clientFactory().list(input);
|
|
49
|
+
await output(command, { ok: true, ...result }, result.items.map(requestLine).join("\n") || (input.view === "mine" ? "没有权限申请" : "没有待审批申请"));
|
|
50
|
+
}), [
|
|
51
|
+
"numa authorization access-request list --view mine --json",
|
|
52
|
+
"numa authorization access-request list --view review --state SUBMITTED --json"
|
|
53
|
+
]);
|
|
54
|
+
addExamples(accessRequest.command("show <request-id>")
|
|
55
|
+
.description("查询本人申请或有权审批的申请详情")
|
|
56
|
+
.action(async (requestIdValue, _options, command) => {
|
|
57
|
+
const request = await dependencies.clientFactory().get(parseAccessRequestId(requestIdValue));
|
|
58
|
+
await output(command, { ok: true, access_request: request }, requestLine(request));
|
|
59
|
+
}), ["numa authorization access-request show ar_0123456789abcdef0123456789abcdef --json"]);
|
|
60
|
+
addExamples(accessRequest.command("cancel <request-id>")
|
|
61
|
+
.description("申请人撤销仍处于 SUBMITTED 的申请")
|
|
62
|
+
.requiredOption("--version <version>", "详情或清单返回的乐观锁版本")
|
|
63
|
+
.action(async (requestIdValue, options, command) => {
|
|
64
|
+
const request = await dependencies.clientFactory().cancel(parseAccessRequestId(requestIdValue), parseVersion(options.version));
|
|
65
|
+
await output(command, { ok: true, access_request: request }, requestLine(request));
|
|
66
|
+
}), ["numa authorization access-request cancel ar_0123456789abcdef0123456789abcdef --version 0 --json"]);
|
|
67
|
+
addExamples(accessRequest.command("review <request-id>")
|
|
68
|
+
.description("审批或重试授权;禁止申请人自审")
|
|
69
|
+
.requiredOption("--decision <decision>", "approve 或 reject")
|
|
70
|
+
.requiredOption("--reason <text>", "审批依据(至少 3 个字符)")
|
|
71
|
+
.requiredOption("--version <version>", "详情或审批清单返回的乐观锁版本")
|
|
72
|
+
.action(async (requestIdValue, options, command) => {
|
|
73
|
+
const input = parseReviewAccessRequestInput(options);
|
|
74
|
+
const request = await dependencies.clientFactory().review(parseAccessRequestId(requestIdValue), input);
|
|
75
|
+
const completed = input.decision === "REJECT"
|
|
76
|
+
? request.state === "REJECTED"
|
|
77
|
+
: request.state === "GRANTED";
|
|
78
|
+
await output(command, { ok: completed, access_request: request }, requestLine(request));
|
|
79
|
+
if (!completed)
|
|
80
|
+
process.exitCode = 1;
|
|
81
|
+
}), [
|
|
82
|
+
"numa authorization access-request review ar_0123456789abcdef0123456789abcdef --decision approve --reason '职责确认无误' --version 0 --json",
|
|
83
|
+
"numa authorization access-request review ar_0123456789abcdef0123456789abcdef --decision reject --reason '职责范围不符' --version 0 --json"
|
|
84
|
+
]);
|
|
85
|
+
}
|
|
86
|
+
export function parseCreateAccessRequestInput(options) {
|
|
87
|
+
const roleCode = boundedText(options.role, "role", 120, 1);
|
|
88
|
+
if (!roleCode.startsWith(ROLE_PREFIX) || !/^[A-Za-z0-9][A-Za-z0-9._-]*$/u.test(roleCode)) {
|
|
89
|
+
throw invalid(`role must be a complete Client Role beginning with '${ROLE_PREFIX}'.`);
|
|
90
|
+
}
|
|
91
|
+
const reason = boundedText(options.reason, "reason", 2_000, 5);
|
|
92
|
+
const idempotencyKey = boundedText(options.idempotencyKey, "idempotency-key", 200, 8);
|
|
93
|
+
if (!/^[A-Za-z0-9._:-]+$/u.test(idempotencyKey)) {
|
|
94
|
+
throw invalid("idempotency-key may contain only letters, numbers, dot, underscore, colon, or dash.");
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
roleCode,
|
|
98
|
+
reason,
|
|
99
|
+
idempotencyKey,
|
|
100
|
+
...(options.namespaceId == null ? {} : { namespaceId: parsePositiveInteger(options.namespaceId, "namespace-id") })
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export function parseListAccessRequestsInput(options) {
|
|
104
|
+
const view = options.view.trim().toLowerCase();
|
|
105
|
+
if (view !== "mine" && view !== "review")
|
|
106
|
+
throw invalid("view must be mine or review.");
|
|
107
|
+
const state = options.state == null ? undefined : options.state.trim().toUpperCase();
|
|
108
|
+
const allowedStates = ["SUBMITTED", "GRANTING", "GRANTED", "REJECTED", "GRANT_FAILED", "CANCELLED"];
|
|
109
|
+
if (state != null && !allowedStates.includes(state))
|
|
110
|
+
throw invalid("state is invalid.");
|
|
111
|
+
const limit = parsePositiveInteger(options.limit, "limit");
|
|
112
|
+
if (limit > 100)
|
|
113
|
+
throw invalid("limit must be between 1 and 100.");
|
|
114
|
+
const cursor = options.cursor == null ? undefined : String(parsePositiveInteger(options.cursor, "cursor"));
|
|
115
|
+
return {
|
|
116
|
+
view,
|
|
117
|
+
...(state == null ? {} : { state: state }),
|
|
118
|
+
...(cursor == null ? {} : { cursor }),
|
|
119
|
+
limit
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export function parseReviewAccessRequestInput(options) {
|
|
123
|
+
const decision = options.decision.trim().toUpperCase();
|
|
124
|
+
if (decision !== "APPROVE" && decision !== "REJECT") {
|
|
125
|
+
throw invalid("decision must be approve or reject.");
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
decision,
|
|
129
|
+
reason: boundedText(options.reason, "reason", 2_000, 3),
|
|
130
|
+
version: parseVersion(options.version)
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export function parseAccessRequestId(value) {
|
|
134
|
+
const normalized = value.trim();
|
|
135
|
+
if (!REQUEST_ID.test(normalized))
|
|
136
|
+
throw invalid("request-id is invalid.");
|
|
137
|
+
return normalized;
|
|
138
|
+
}
|
|
139
|
+
export function parseVersion(value) {
|
|
140
|
+
const parsed = Number(value);
|
|
141
|
+
if (!Number.isSafeInteger(parsed) || parsed < 0 || String(parsed) !== value.trim()) {
|
|
142
|
+
throw invalid("version must be a non-negative integer.");
|
|
143
|
+
}
|
|
144
|
+
return parsed;
|
|
145
|
+
}
|
|
146
|
+
function parsePositiveInteger(value, label) {
|
|
147
|
+
const parsed = Number(value);
|
|
148
|
+
if (!Number.isSafeInteger(parsed) || parsed < 1 || String(parsed) !== value.trim()) {
|
|
149
|
+
throw invalid(`${label} must be a positive integer.`);
|
|
150
|
+
}
|
|
151
|
+
return parsed;
|
|
152
|
+
}
|
|
153
|
+
function boundedText(value, label, maximum, minimum) {
|
|
154
|
+
const normalized = value.trim();
|
|
155
|
+
if (normalized.length < minimum || normalized.length > maximum || CONTROL_CHARACTERS.test(normalized)) {
|
|
156
|
+
throw invalid(`${label} must be ${minimum}-${maximum} characters and contain no control characters.`);
|
|
157
|
+
}
|
|
158
|
+
return normalized;
|
|
159
|
+
}
|
|
160
|
+
function requestLine(request) {
|
|
161
|
+
return [
|
|
162
|
+
request.requestId,
|
|
163
|
+
request.state,
|
|
164
|
+
request.roleCode,
|
|
165
|
+
request.namespaceKey ?? "GLOBAL",
|
|
166
|
+
`v${request.version}`
|
|
167
|
+
].join("\t");
|
|
168
|
+
}
|
|
169
|
+
function addExamples(command, examples) {
|
|
170
|
+
return command.addHelpText("after", `\nExamples:\n${examples.map((item) => ` ${item}`).join("\n")}\n`);
|
|
171
|
+
}
|
|
172
|
+
async function output(command, payload, textValue) {
|
|
173
|
+
const config = await loadAppConfig();
|
|
174
|
+
if (command.optsWithGlobals().json || config.output === "json") {
|
|
175
|
+
process.stdout.write(`${JSON.stringify(stableOutput(payload), null, 2)}\n`);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
process.stdout.write(`${String(sanitizeAuthorizationOutput(textValue))}\n`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function stableOutput(value) {
|
|
182
|
+
const safe = sanitizeAuthorizationOutput(value);
|
|
183
|
+
if (Array.isArray(safe))
|
|
184
|
+
return safe.map(stableOutput);
|
|
185
|
+
if (safe && typeof safe === "object") {
|
|
186
|
+
return Object.fromEntries(Object.entries(safe).map(([key, item]) => [
|
|
187
|
+
key.replace(/([a-z0-9])([A-Z])/gu, "$1_$2").toLowerCase(),
|
|
188
|
+
stableOutput(item)
|
|
189
|
+
]));
|
|
190
|
+
}
|
|
191
|
+
return safe;
|
|
192
|
+
}
|
|
193
|
+
function invalid(message) {
|
|
194
|
+
return new AuthorizationError(message, "authorization_input_invalid");
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=access-request-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-request-commands.js","sourceRoot":"","sources":["../../src/authorization/access-request-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const AccessRequestStateSchema: z.ZodEnum<{
|
|
3
|
+
CANCELLED: "CANCELLED";
|
|
4
|
+
GRANTED: "GRANTED";
|
|
5
|
+
GRANTING: "GRANTING";
|
|
6
|
+
GRANT_FAILED: "GRANT_FAILED";
|
|
7
|
+
REJECTED: "REJECTED";
|
|
8
|
+
SUBMITTED: "SUBMITTED";
|
|
9
|
+
}>;
|
|
10
|
+
export declare const AccessRequestSchema: z.ZodObject<{
|
|
11
|
+
id: z.ZodNumber;
|
|
12
|
+
requestId: z.ZodString;
|
|
13
|
+
requesterSubject: z.ZodString;
|
|
14
|
+
requesterUsername: z.ZodNullable<z.ZodString>;
|
|
15
|
+
roleCode: z.ZodString;
|
|
16
|
+
roleName: z.ZodString;
|
|
17
|
+
scopeType: z.ZodEnum<{
|
|
18
|
+
AI_REGISTRY_NAMESPACE: "AI_REGISTRY_NAMESPACE";
|
|
19
|
+
GLOBAL: "GLOBAL";
|
|
20
|
+
}>;
|
|
21
|
+
namespaceId: z.ZodNullable<z.ZodNumber>;
|
|
22
|
+
namespaceKey: z.ZodNullable<z.ZodString>;
|
|
23
|
+
nacosNamespaceId: z.ZodNullable<z.ZodString>;
|
|
24
|
+
namespaceName: z.ZodNullable<z.ZodString>;
|
|
25
|
+
environment: z.ZodNullable<z.ZodString>;
|
|
26
|
+
reason: z.ZodString;
|
|
27
|
+
state: z.ZodEnum<{
|
|
28
|
+
CANCELLED: "CANCELLED";
|
|
29
|
+
GRANTED: "GRANTED";
|
|
30
|
+
GRANTING: "GRANTING";
|
|
31
|
+
GRANT_FAILED: "GRANT_FAILED";
|
|
32
|
+
REJECTED: "REJECTED";
|
|
33
|
+
SUBMITTED: "SUBMITTED";
|
|
34
|
+
}>;
|
|
35
|
+
reviewedBy: z.ZodNullable<z.ZodString>;
|
|
36
|
+
reviewedByUsername: z.ZodNullable<z.ZodString>;
|
|
37
|
+
reviewReason: z.ZodNullable<z.ZodString>;
|
|
38
|
+
reviewedAt: z.ZodNullable<z.ZodString>;
|
|
39
|
+
grantedAt: z.ZodNullable<z.ZodString>;
|
|
40
|
+
grantErrorCode: z.ZodNullable<z.ZodString>;
|
|
41
|
+
grantErrorSummary: z.ZodNullable<z.ZodString>;
|
|
42
|
+
grantRetryAt: z.ZodOptional<z.ZodString>;
|
|
43
|
+
grantRetryable: z.ZodOptional<z.ZodBoolean>;
|
|
44
|
+
version: z.ZodNumber;
|
|
45
|
+
createdAt: z.ZodString;
|
|
46
|
+
updatedAt: z.ZodString;
|
|
47
|
+
}, z.core.$strict>;
|
|
48
|
+
export declare const AccessRequestListSchema: z.ZodObject<{
|
|
49
|
+
view: z.ZodEnum<{
|
|
50
|
+
mine: "mine";
|
|
51
|
+
review: "review";
|
|
52
|
+
}>;
|
|
53
|
+
items: z.ZodArray<z.ZodObject<{
|
|
54
|
+
id: z.ZodNumber;
|
|
55
|
+
requestId: z.ZodString;
|
|
56
|
+
requesterSubject: z.ZodString;
|
|
57
|
+
requesterUsername: z.ZodNullable<z.ZodString>;
|
|
58
|
+
roleCode: z.ZodString;
|
|
59
|
+
roleName: z.ZodString;
|
|
60
|
+
scopeType: z.ZodEnum<{
|
|
61
|
+
AI_REGISTRY_NAMESPACE: "AI_REGISTRY_NAMESPACE";
|
|
62
|
+
GLOBAL: "GLOBAL";
|
|
63
|
+
}>;
|
|
64
|
+
namespaceId: z.ZodNullable<z.ZodNumber>;
|
|
65
|
+
namespaceKey: z.ZodNullable<z.ZodString>;
|
|
66
|
+
nacosNamespaceId: z.ZodNullable<z.ZodString>;
|
|
67
|
+
namespaceName: z.ZodNullable<z.ZodString>;
|
|
68
|
+
environment: z.ZodNullable<z.ZodString>;
|
|
69
|
+
reason: z.ZodString;
|
|
70
|
+
state: z.ZodEnum<{
|
|
71
|
+
CANCELLED: "CANCELLED";
|
|
72
|
+
GRANTED: "GRANTED";
|
|
73
|
+
GRANTING: "GRANTING";
|
|
74
|
+
GRANT_FAILED: "GRANT_FAILED";
|
|
75
|
+
REJECTED: "REJECTED";
|
|
76
|
+
SUBMITTED: "SUBMITTED";
|
|
77
|
+
}>;
|
|
78
|
+
reviewedBy: z.ZodNullable<z.ZodString>;
|
|
79
|
+
reviewedByUsername: z.ZodNullable<z.ZodString>;
|
|
80
|
+
reviewReason: z.ZodNullable<z.ZodString>;
|
|
81
|
+
reviewedAt: z.ZodNullable<z.ZodString>;
|
|
82
|
+
grantedAt: z.ZodNullable<z.ZodString>;
|
|
83
|
+
grantErrorCode: z.ZodNullable<z.ZodString>;
|
|
84
|
+
grantErrorSummary: z.ZodNullable<z.ZodString>;
|
|
85
|
+
grantRetryAt: z.ZodOptional<z.ZodString>;
|
|
86
|
+
grantRetryable: z.ZodOptional<z.ZodBoolean>;
|
|
87
|
+
version: z.ZodNumber;
|
|
88
|
+
createdAt: z.ZodString;
|
|
89
|
+
updatedAt: z.ZodString;
|
|
90
|
+
}, z.core.$strict>>;
|
|
91
|
+
totalItems: z.ZodNumber;
|
|
92
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
93
|
+
pageSize: z.ZodOptional<z.ZodNumber>;
|
|
94
|
+
totalPages: z.ZodOptional<z.ZodNumber>;
|
|
95
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, z.core.$strict>;
|
|
97
|
+
export declare const AccessRequestOptionsSchema: z.ZodObject<{
|
|
98
|
+
roles: z.ZodArray<z.ZodObject<{
|
|
99
|
+
roleCode: z.ZodString;
|
|
100
|
+
roleName: z.ZodString;
|
|
101
|
+
description: z.ZodNullable<z.ZodString>;
|
|
102
|
+
scopeType: z.ZodEnum<{
|
|
103
|
+
AI_REGISTRY_NAMESPACE: "AI_REGISTRY_NAMESPACE";
|
|
104
|
+
GLOBAL: "GLOBAL";
|
|
105
|
+
}>;
|
|
106
|
+
canReview: z.ZodBoolean;
|
|
107
|
+
}, z.core.$strict>>;
|
|
108
|
+
namespaces: z.ZodArray<z.ZodObject<{
|
|
109
|
+
id: z.ZodNumber;
|
|
110
|
+
namespaceKey: z.ZodString;
|
|
111
|
+
nacosNamespaceId: z.ZodString;
|
|
112
|
+
displayName: z.ZodString;
|
|
113
|
+
environment: z.ZodString;
|
|
114
|
+
}, z.core.$strict>>;
|
|
115
|
+
}, z.core.$strict>;
|
|
116
|
+
export declare const AccessRequestApiErrorSchema: z.ZodObject<{
|
|
117
|
+
code: z.ZodOptional<z.ZodString>;
|
|
118
|
+
message: z.ZodOptional<z.ZodString>;
|
|
119
|
+
}, z.core.$strip>;
|
|
120
|
+
export type AccessRequest = z.infer<typeof AccessRequestSchema>;
|
|
121
|
+
export type AccessRequestList = z.infer<typeof AccessRequestListSchema>;
|
|
122
|
+
export type AccessRequestOptions = z.infer<typeof AccessRequestOptionsSchema>;
|
|
123
|
+
export type AccessRequestState = z.infer<typeof AccessRequestStateSchema>;
|