@numa-tech/numa 1.20.7 → 1.22.0
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 +35 -1
- package/dist/app-config.js +61 -8
- package/dist/app-config.js.map +1 -1
- package/dist/authorization/application-client.d.ts +515 -4
- package/dist/authorization/application-client.js +28 -2
- package/dist/authorization/application-client.js.map +1 -1
- package/dist/authorization/application-commands.js +15 -5
- package/dist/authorization/application-commands.js.map +1 -1
- package/dist/authorization/application-schemas.d.ts +206 -0
- package/dist/authorization/application-schemas.js +42 -1
- package/dist/authorization/application-schemas.js.map +1 -1
- package/dist/business-issuer.js +12 -6
- package/dist/business-issuer.js.map +1 -1
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/command-catalog.js +2 -0
- package/dist/command-catalog.js.map +1 -1
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/oss/client.d.ts +15 -1
- package/dist/oss/client.js +5 -1
- package/dist/oss/client.js.map +1 -1
- package/dist/oss/commands.d.ts +2 -0
- package/dist/oss/commands.js +6 -0
- package/dist/oss/commands.js.map +1 -1
- package/dist/oss/governance-commands.d.ts +15 -0
- package/dist/oss/governance-commands.js +84 -0
- package/dist/oss/governance-commands.js.map +1 -0
- package/dist/oss/governance.d.ts +144 -0
- package/dist/oss/governance.js +187 -0
- package/dist/oss/governance.js.map +1 -0
- package/dist/platform-profile.d.ts +12 -1
- package/dist/platform-profile.js +166 -56
- package/dist/platform-profile.js.map +1 -1
- package/docs/authorization-configuration-publication.md +93 -0
- package/docs/oss-policy-client-governance.md +93 -0
- package/docs/profile-v2-migration.md +34 -0
- package/package.json +10 -5
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { OssClient } from "./client.js";
|
|
3
|
+
export declare const policyInputSchema: z.ZodObject<{
|
|
4
|
+
accountId: z.ZodNumber;
|
|
5
|
+
code: z.ZodString;
|
|
6
|
+
name: z.ZodString;
|
|
7
|
+
region: z.ZodString;
|
|
8
|
+
bucketName: z.ZodString;
|
|
9
|
+
scopeType: z.ZodEnum<{
|
|
10
|
+
BUCKET: "BUCKET";
|
|
11
|
+
PREFIX: "PREFIX";
|
|
12
|
+
}>;
|
|
13
|
+
objectPrefix: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
14
|
+
actionTemplateRevisionIds: z.ZodArray<z.ZodNumber>;
|
|
15
|
+
platformAccessEnabled: z.ZodBoolean;
|
|
16
|
+
consoleAccessEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
cloudPolicyName: z.ZodString;
|
|
18
|
+
status: z.ZodEnum<{
|
|
19
|
+
ACTIVE: "ACTIVE";
|
|
20
|
+
DISABLED: "DISABLED";
|
|
21
|
+
}>;
|
|
22
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
}, z.core.$strict>;
|
|
25
|
+
export declare const clientBindingInputSchema: z.ZodObject<{
|
|
26
|
+
issuerId: z.ZodString;
|
|
27
|
+
subjectKey: z.ZodString;
|
|
28
|
+
clientId: z.ZodString;
|
|
29
|
+
serviceAccountSubject: z.ZodString;
|
|
30
|
+
status: z.ZodEnum<{
|
|
31
|
+
ACTIVE: "ACTIVE";
|
|
32
|
+
DISABLED: "DISABLED";
|
|
33
|
+
}>;
|
|
34
|
+
maxSessionSeconds: z.ZodNumber;
|
|
35
|
+
description: z.ZodOptional<z.ZodString>;
|
|
36
|
+
accessPriority: z.ZodOptional<z.ZodEnum<{
|
|
37
|
+
HIGH: "HIGH";
|
|
38
|
+
HIGHEST: "HIGHEST";
|
|
39
|
+
LOW: "LOW";
|
|
40
|
+
LOWEST: "LOWEST";
|
|
41
|
+
NORMAL: "NORMAL";
|
|
42
|
+
}>>;
|
|
43
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
/** OSS control plane uses platform identity. It never requests Client secrets or STS. */
|
|
46
|
+
export declare class OssGovernanceClient extends OssClient {
|
|
47
|
+
protected requestPolicy(init: RequestInit): {
|
|
48
|
+
redirect: "error";
|
|
49
|
+
retryUnauthorized: boolean;
|
|
50
|
+
};
|
|
51
|
+
identity(): Promise<{
|
|
52
|
+
[x: string]: unknown;
|
|
53
|
+
managementIssuerId: string;
|
|
54
|
+
identityKey: string;
|
|
55
|
+
issuerUrl: string;
|
|
56
|
+
}>;
|
|
57
|
+
clients(issuerId: string, search?: string, page?: number): Promise<{
|
|
58
|
+
[x: string]: unknown;
|
|
59
|
+
issuerId: string;
|
|
60
|
+
identityKey: string;
|
|
61
|
+
items: {
|
|
62
|
+
[x: string]: unknown;
|
|
63
|
+
id: string;
|
|
64
|
+
clientId: string;
|
|
65
|
+
subject: string;
|
|
66
|
+
}[];
|
|
67
|
+
total: number;
|
|
68
|
+
}>;
|
|
69
|
+
templates(search?: string, page?: number): Promise<{
|
|
70
|
+
[x: string]: unknown;
|
|
71
|
+
items: Record<string, unknown>[];
|
|
72
|
+
total: number;
|
|
73
|
+
}>;
|
|
74
|
+
template(revisionId: number): Promise<{
|
|
75
|
+
[x: string]: unknown;
|
|
76
|
+
id: number;
|
|
77
|
+
templateId: number;
|
|
78
|
+
version: number;
|
|
79
|
+
code: string;
|
|
80
|
+
actions: string[];
|
|
81
|
+
status: string;
|
|
82
|
+
}>;
|
|
83
|
+
policies(accountId: number, search?: string, page?: number): Promise<{
|
|
84
|
+
[x: string]: unknown;
|
|
85
|
+
items: Record<string, unknown>[];
|
|
86
|
+
total: number;
|
|
87
|
+
}>;
|
|
88
|
+
policy(policyId: number): Promise<{
|
|
89
|
+
[x: string]: unknown;
|
|
90
|
+
id: number;
|
|
91
|
+
accountId: number;
|
|
92
|
+
version: number;
|
|
93
|
+
code: string;
|
|
94
|
+
status: string;
|
|
95
|
+
platformAccessEnabled?: boolean | null | undefined;
|
|
96
|
+
}>;
|
|
97
|
+
state(policyId: number): Promise<{
|
|
98
|
+
[x: string]: unknown;
|
|
99
|
+
policyId: number;
|
|
100
|
+
draftChecksum: string;
|
|
101
|
+
draftVersion: number;
|
|
102
|
+
pending: boolean;
|
|
103
|
+
health: string;
|
|
104
|
+
}>;
|
|
105
|
+
check(policyId: number): Promise<{
|
|
106
|
+
[x: string]: unknown;
|
|
107
|
+
policyId: number;
|
|
108
|
+
draftChecksum: string;
|
|
109
|
+
draftVersion: number;
|
|
110
|
+
pending: boolean;
|
|
111
|
+
health: string;
|
|
112
|
+
}>;
|
|
113
|
+
publish(policyId: number, expectedChecksum: string, idempotencyKey: string): Promise<{
|
|
114
|
+
[x: string]: unknown;
|
|
115
|
+
id: string;
|
|
116
|
+
policyId: number;
|
|
117
|
+
status: string;
|
|
118
|
+
checksum: string;
|
|
119
|
+
}>;
|
|
120
|
+
jobs(accountId: number, page?: number): Promise<{
|
|
121
|
+
[x: string]: unknown;
|
|
122
|
+
items: Record<string, unknown>[];
|
|
123
|
+
total: number;
|
|
124
|
+
}>;
|
|
125
|
+
savePolicy(value: unknown, policyId?: number, preview?: boolean): Promise<Record<string, unknown>>;
|
|
126
|
+
bindings(policyId: number, page?: number): Promise<{
|
|
127
|
+
[x: string]: unknown;
|
|
128
|
+
items: Record<string, unknown>[];
|
|
129
|
+
total: number;
|
|
130
|
+
}>;
|
|
131
|
+
private allBindings;
|
|
132
|
+
bindClient(policyId: number, value: unknown, bindingId?: number): Promise<{
|
|
133
|
+
[x: string]: unknown;
|
|
134
|
+
id: number;
|
|
135
|
+
policyId: number;
|
|
136
|
+
subjectType: "CLIENT";
|
|
137
|
+
subjectKey: string;
|
|
138
|
+
issuerId: string | null;
|
|
139
|
+
clientId: string;
|
|
140
|
+
serviceAccountSubject: string;
|
|
141
|
+
version: number;
|
|
142
|
+
status: string;
|
|
143
|
+
}>;
|
|
144
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { OssClient } from "./client.js";
|
|
3
|
+
import { OssError } from "./errors.js";
|
|
4
|
+
const id = z.number().int().positive().safe();
|
|
5
|
+
const version = z.number().int().nonnegative().safe();
|
|
6
|
+
const uuid = z.string().uuid();
|
|
7
|
+
const record = z.record(z.string(), z.unknown());
|
|
8
|
+
const policySchema = z.object({ id, accountId: id, version, code: z.string(), status: z.string(), platformAccessEnabled: z.boolean().nullable().optional() }).passthrough();
|
|
9
|
+
const pageSchema = z.object({ items: z.array(record), total: z.number().int().nonnegative() }).passthrough();
|
|
10
|
+
const stateSchema = z.object({ policyId: id, draftChecksum: z.string().min(1), draftVersion: version, pending: z.boolean(), health: z.string() }).passthrough();
|
|
11
|
+
const jobSchema = z.object({ id: uuid, policyId: id, status: z.string(), checksum: z.string() }).passthrough();
|
|
12
|
+
const directorySchema = z.object({ issuerId: uuid, identityKey: z.string(), items: z.array(z.object({ id: uuid, clientId: z.string(), subject: z.string() }).passthrough()), total: z.number().int().nonnegative() }).passthrough();
|
|
13
|
+
const bindingSchema = z.object({ id, policyId: id, subjectType: z.literal("CLIENT"), subjectKey: uuid, issuerId: uuid.nullable(), clientId: z.string(), serviceAccountSubject: z.string(), version, status: z.string() }).passthrough();
|
|
14
|
+
const templateSchema = z.object({ id, templateId: id, version, code: z.string(), actions: z.array(z.string()), status: z.string() }).passthrough();
|
|
15
|
+
export const policyInputSchema = z.object({
|
|
16
|
+
accountId: id, code: z.string().min(1).max(120), name: z.string().min(1).max(160),
|
|
17
|
+
region: z.string().min(1), bucketName: z.string().min(1), scopeType: z.enum(["BUCKET", "PREFIX"]),
|
|
18
|
+
objectPrefix: z.string().nullable().optional(), actionTemplateRevisionIds: z.array(id).min(1).max(16),
|
|
19
|
+
platformAccessEnabled: z.boolean(), consoleAccessEnabled: z.boolean().optional(),
|
|
20
|
+
cloudPolicyName: z.string().min(1), status: z.enum(["ACTIVE", "DISABLED"]),
|
|
21
|
+
description: z.string().max(2000).nullable().optional(), version: version.optional()
|
|
22
|
+
}).strict().refine(v => v.scopeType !== "PREFIX" || Boolean(v.objectPrefix?.trim()), "PREFIX requires objectPrefix");
|
|
23
|
+
export const clientBindingInputSchema = z.object({
|
|
24
|
+
issuerId: uuid, subjectKey: uuid, clientId: z.string().min(1), serviceAccountSubject: z.string().min(1),
|
|
25
|
+
status: z.enum(["ACTIVE", "DISABLED"]), maxSessionSeconds: z.number().int().min(900).max(3600),
|
|
26
|
+
description: z.string().max(2000).optional(), accessPriority: z.enum(["HIGHEST", "HIGH", "NORMAL", "LOW", "LOWEST"]).optional(),
|
|
27
|
+
version: version.optional()
|
|
28
|
+
}).strict();
|
|
29
|
+
function input(schema, value) {
|
|
30
|
+
const result = schema.safeParse(value);
|
|
31
|
+
if (!result.success)
|
|
32
|
+
throw new OssError("Invalid OSS governance input; check required fields, IDs and versions.", "oss_input_invalid");
|
|
33
|
+
return result.data;
|
|
34
|
+
}
|
|
35
|
+
function conflict(message) { throw new OssError(message, "oss_governance_conflict", 409); }
|
|
36
|
+
function query(values) {
|
|
37
|
+
return new URLSearchParams(Object.entries(values).filter(([, v]) => v !== undefined).map(([k, v]) => [k, String(v)])).toString();
|
|
38
|
+
}
|
|
39
|
+
const policyPath = (value) => `/api/v1/admin/oss-policy-authorizations/${input(id, value)}`;
|
|
40
|
+
/** OSS control plane uses platform identity. It never requests Client secrets or STS. */
|
|
41
|
+
export class OssGovernanceClient extends OssClient {
|
|
42
|
+
requestPolicy(init) {
|
|
43
|
+
return { redirect: "error", retryUnauthorized: (init.method ?? "GET").toUpperCase() === "GET" };
|
|
44
|
+
}
|
|
45
|
+
async identity() {
|
|
46
|
+
return this.json("/api/v1/admin/oss-authorization-options/identity", z.object({ managementIssuerId: uuid, identityKey: z.string(), issuerUrl: z.string() }).passthrough());
|
|
47
|
+
}
|
|
48
|
+
async clients(issuerId, search = "", page = 1) {
|
|
49
|
+
input(uuid, issuerId);
|
|
50
|
+
input(id, page);
|
|
51
|
+
const result = await this.json(`/api/v1/admin/oss-authorization-options/service-accounts?${query({ issuerId, query: search, page, limit: 100 })}`, directorySchema);
|
|
52
|
+
if (result.issuerId.toLowerCase() !== issuerId.toLowerCase())
|
|
53
|
+
conflict("Client directory belongs to a different issuer.");
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
async templates(search = "", page = 1) {
|
|
57
|
+
input(id, page);
|
|
58
|
+
return this.json(`/api/v1/admin/oss-action-templates?${query({ q: search, page, size: 100, activeOnly: true })}`, pageSchema);
|
|
59
|
+
}
|
|
60
|
+
async template(revisionId) {
|
|
61
|
+
const result = await this.json(`/api/v1/admin/oss-action-templates/revisions/${input(id, revisionId)}`, templateSchema);
|
|
62
|
+
if (result.id !== revisionId)
|
|
63
|
+
conflict("Template revision mismatch.");
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
async policies(accountId, search = "", page = 1) {
|
|
67
|
+
input(id, accountId);
|
|
68
|
+
input(id, page);
|
|
69
|
+
return this.json(`/api/v1/admin/oss-policy-authorizations/policies?${query({ accountId, q: search, page })}`, pageSchema);
|
|
70
|
+
}
|
|
71
|
+
async policy(policyId) {
|
|
72
|
+
const result = await this.json(policyPath(policyId), policySchema);
|
|
73
|
+
if (result.id !== policyId)
|
|
74
|
+
conflict("Policy identity mismatch.");
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
async state(policyId) {
|
|
78
|
+
const result = await this.json(`/api/v1/admin/oss-publications/policies/${input(id, policyId)}`, stateSchema);
|
|
79
|
+
if (result.policyId !== policyId)
|
|
80
|
+
conflict("Policy state identity mismatch.");
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
async check(policyId) {
|
|
84
|
+
await this.policy(policyId);
|
|
85
|
+
const result = await this.json(`/api/v1/admin/oss-publications/policies/${policyId}/check`, stateSchema, { method: "POST", body: "{}" });
|
|
86
|
+
if (result.policyId !== policyId)
|
|
87
|
+
conflict("Policy check identity mismatch.");
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
async publish(policyId, expectedChecksum, idempotencyKey) {
|
|
91
|
+
input(z.string().min(1).max(256), expectedChecksum);
|
|
92
|
+
input(z.string().regex(/^[a-zA-Z0-9_-]{8,128}$/u), idempotencyKey);
|
|
93
|
+
await this.policy(policyId);
|
|
94
|
+
// The server checks the reviewed checksum atomically and preserves retries by key.
|
|
95
|
+
// Do not replace it with a newly fetched checksum or silently create a new key.
|
|
96
|
+
const result = await this.json(`/api/v1/admin/oss-publications/policies/${policyId}/publish`, jobSchema, { method: "POST", body: JSON.stringify({ expectedChecksum, idempotencyKey }) });
|
|
97
|
+
if (result.policyId !== policyId || result.checksum !== expectedChecksum)
|
|
98
|
+
conflict("Publication result does not match the requested policy/checksum; inspect job state before retrying.");
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
async jobs(accountId, page = 1) {
|
|
102
|
+
input(id, accountId);
|
|
103
|
+
input(id, page);
|
|
104
|
+
return this.json(`/api/v1/admin/oss-publications?${query({ accountId, page, size: 100 })}`, pageSchema);
|
|
105
|
+
}
|
|
106
|
+
async savePolicy(value, policyId, preview = false) {
|
|
107
|
+
const data = input(policyInputSchema, value);
|
|
108
|
+
if (policyId !== undefined) {
|
|
109
|
+
if (data.version === undefined)
|
|
110
|
+
throw new OssError("Policy update requires its reviewed version.", "oss_input_invalid");
|
|
111
|
+
if (data.consoleAccessEnabled === undefined)
|
|
112
|
+
throw new OssError("Policy update requires explicit consoleAccessEnabled to preserve reviewed access.", "oss_input_invalid");
|
|
113
|
+
const current = await this.policy(policyId);
|
|
114
|
+
if (current.version !== data.version)
|
|
115
|
+
conflict("Policy version changed; reload and review before saving.");
|
|
116
|
+
if (current.accountId !== data.accountId || current.code !== data.code)
|
|
117
|
+
conflict("Policy account and code cannot be replaced.");
|
|
118
|
+
}
|
|
119
|
+
else if (data.version !== undefined)
|
|
120
|
+
throw new OssError("New policies must omit version.", "oss_input_invalid");
|
|
121
|
+
if (policyId === undefined)
|
|
122
|
+
data.consoleAccessEnabled ??= false;
|
|
123
|
+
for (const revision of data.actionTemplateRevisionIds)
|
|
124
|
+
await this.template(revision);
|
|
125
|
+
const root = "/api/v1/admin/aliyun-oss-access-policies";
|
|
126
|
+
if (preview)
|
|
127
|
+
return this.json(`${root}/preview${policyId === undefined ? "" : `?policyId=${policyId}`}`, record, { method: "POST", body: JSON.stringify(data) });
|
|
128
|
+
const result = await this.json(policyId === undefined ? root : `${root}/${policyId}`, policySchema, { method: policyId === undefined ? "POST" : "PUT", body: JSON.stringify(data) }, policyId === undefined ? [201] : [200]);
|
|
129
|
+
if (result.accountId !== data.accountId || result.code !== data.code || (policyId !== undefined && result.id !== policyId))
|
|
130
|
+
conflict("Saved policy identity mismatch; inspect state before retrying.");
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
async bindings(policyId, page = 1) {
|
|
134
|
+
input(id, page);
|
|
135
|
+
return this.json(`${policyPath(policyId)}/bindings?${query({ page, history: true, mode: "STS" })}`, pageSchema);
|
|
136
|
+
}
|
|
137
|
+
async allBindings(policyId) {
|
|
138
|
+
const rows = [];
|
|
139
|
+
for (let page = 1; page <= 1000; page++) {
|
|
140
|
+
const result = await this.bindings(policyId, page);
|
|
141
|
+
rows.push(...result.items);
|
|
142
|
+
if (page * 20 >= result.total)
|
|
143
|
+
return rows;
|
|
144
|
+
}
|
|
145
|
+
conflict("Too many policy bindings to verify safely; use the explicit record after narrowing the policy.");
|
|
146
|
+
}
|
|
147
|
+
async bindClient(policyId, value, bindingId) {
|
|
148
|
+
const data = input(clientBindingInputSchema, value);
|
|
149
|
+
if (bindingId !== undefined) {
|
|
150
|
+
input(id, bindingId);
|
|
151
|
+
if (data.version === undefined)
|
|
152
|
+
throw new OssError("Binding update requires its reviewed version.", "oss_input_invalid");
|
|
153
|
+
}
|
|
154
|
+
else if (data.version !== undefined)
|
|
155
|
+
throw new OssError("New Client bindings must omit version.", "oss_input_invalid");
|
|
156
|
+
const policy = await this.policy(policyId);
|
|
157
|
+
const identity = await this.identity();
|
|
158
|
+
const rows = await this.allBindings(policyId);
|
|
159
|
+
const matches = (row) => row.type === "CLIENT" && row.subjectKey === data.subjectKey
|
|
160
|
+
&& (row.issuerId === data.issuerId || (row.issuerId === null && identity.managementIssuerId === data.issuerId));
|
|
161
|
+
if (bindingId === undefined && rows.some(matches))
|
|
162
|
+
conflict("This Client already has a binding, including disabled history; update its record/version instead of creating a duplicate.");
|
|
163
|
+
if (bindingId !== undefined) {
|
|
164
|
+
const current = rows.find(row => row.recordId === bindingId);
|
|
165
|
+
if (!current || !matches(current) || current.version !== data.version)
|
|
166
|
+
conflict("Binding identity/version changed; reload before updating.");
|
|
167
|
+
if (data.status === "DISABLED" && (current.clientId !== data.clientId || current.serviceAccountSubject !== data.serviceAccountSubject))
|
|
168
|
+
conflict("Revocation must retain the reviewed stored Client and service-account identity.");
|
|
169
|
+
}
|
|
170
|
+
if (bindingId === undefined || data.status !== "DISABLED") {
|
|
171
|
+
const directory = await this.clients(data.issuerId, data.clientId);
|
|
172
|
+
const machine = directory.items.find(row => row.id.toLowerCase() === data.subjectKey.toLowerCase());
|
|
173
|
+
if (!machine || machine.clientId !== data.clientId || machine.subject !== data.serviceAccountSubject)
|
|
174
|
+
conflict("Client instance or service-account subject changed; review the issuer Client directory again.");
|
|
175
|
+
}
|
|
176
|
+
if (data.status === "ACTIVE" && (!policy.platformAccessEnabled || policy.status !== "ACTIVE"))
|
|
177
|
+
conflict("Client grants need an active policy with platform access enabled and published; inspect policy state first.");
|
|
178
|
+
// Client ID and SA subject are evidence, not caller-controlled identity fields in the API.
|
|
179
|
+
const { clientId: _clientId, serviceAccountSubject: _subject, ...fields } = data;
|
|
180
|
+
const result = await this.json(`${policyPath(policyId)}/bindings${bindingId === undefined ? "" : `/${bindingId}`}`, bindingSchema, { method: bindingId === undefined ? "POST" : "PUT", body: JSON.stringify({ ...fields, type: "CLIENT" }) });
|
|
181
|
+
if ((bindingId !== undefined && result.id !== bindingId) || result.policyId !== policyId || result.subjectKey !== data.subjectKey || result.clientId !== data.clientId || result.serviceAccountSubject !== data.serviceAccountSubject
|
|
182
|
+
|| !(result.issuerId === data.issuerId || (result.issuerId === null && identity.managementIssuerId === data.issuerId)))
|
|
183
|
+
conflict("Saved Client binding identity mismatch; inspect bindings before retrying.");
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=governance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/oss/governance.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ declare const ServiceSchema: z.ZodObject<{
|
|
|
12
12
|
audience: z.ZodString;
|
|
13
13
|
roleClientId: z.ZodString;
|
|
14
14
|
apiVersion: z.ZodString;
|
|
15
|
+
applicationCode: z.ZodOptional<z.ZodString>;
|
|
16
|
+
issuerAuthorities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
15
17
|
capabilityUrl: z.ZodOptional<z.ZodString>;
|
|
16
18
|
configuration: z.ZodOptional<z.ZodObject<{
|
|
17
19
|
defaultNamespaceKey: z.ZodOptional<z.ZodString>;
|
|
@@ -45,7 +47,7 @@ declare const ServiceSchema: z.ZodObject<{
|
|
|
45
47
|
}, z.core.$loose>>;
|
|
46
48
|
}, z.core.$loose>;
|
|
47
49
|
declare const ProfileSchema: z.ZodObject<{
|
|
48
|
-
schemaVersion: z.ZodLiteral<1>;
|
|
50
|
+
schemaVersion: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>;
|
|
49
51
|
profileId: z.ZodString;
|
|
50
52
|
revision: z.ZodNumber;
|
|
51
53
|
environment: z.ZodString;
|
|
@@ -66,6 +68,8 @@ declare const ProfileSchema: z.ZodObject<{
|
|
|
66
68
|
audience: z.ZodString;
|
|
67
69
|
roleClientId: z.ZodString;
|
|
68
70
|
apiVersion: z.ZodString;
|
|
71
|
+
applicationCode: z.ZodOptional<z.ZodString>;
|
|
72
|
+
issuerAuthorities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
69
73
|
capabilityUrl: z.ZodOptional<z.ZodString>;
|
|
70
74
|
configuration: z.ZodOptional<z.ZodObject<{
|
|
71
75
|
defaultNamespaceKey: z.ZodOptional<z.ZodString>;
|
|
@@ -98,6 +102,7 @@ declare const ProfileSchema: z.ZodObject<{
|
|
|
98
102
|
}, z.core.$loose>>;
|
|
99
103
|
}, z.core.$loose>>;
|
|
100
104
|
}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
|
|
105
|
+
defaultLoginService: z.ZodOptional<z.ZodString>;
|
|
101
106
|
authentication: z.ZodOptional<z.ZodObject<{
|
|
102
107
|
platformAuthority: z.ZodString;
|
|
103
108
|
businessDefaultAuthority: z.ZodString;
|
|
@@ -115,12 +120,18 @@ export type PlatformServiceKey = "platform" | "oss" | "media" | "pipeline" | "ai
|
|
|
115
120
|
export interface ResolvedPlatformProfile extends WireProfile {
|
|
116
121
|
sourceUrl: string;
|
|
117
122
|
stale: boolean;
|
|
123
|
+
/** Local migration compatibility; never accepted from a downloaded profile. */
|
|
124
|
+
legacyLocalOverrides?: true;
|
|
118
125
|
}
|
|
119
126
|
export declare class ModuleUnavailableError extends Error {
|
|
120
127
|
readonly serviceKey: string;
|
|
121
128
|
readonly code = "module_unavailable";
|
|
122
129
|
constructor(serviceKey: string);
|
|
123
130
|
}
|
|
131
|
+
export declare class ClientUpgradeRequiredError extends Error {
|
|
132
|
+
readonly code = "client_upgrade_required";
|
|
133
|
+
constructor(minimumVersion: string);
|
|
134
|
+
}
|
|
124
135
|
export declare function currentPlatformProfile(): ResolvedPlatformProfile | undefined;
|
|
125
136
|
export declare function setPlatformProfileForTests(profile: ResolvedPlatformProfile | undefined): void;
|
|
126
137
|
export interface ProfileReplacement {
|