@pipeline-builder/api-core 5.2.10 → 5.2.12
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/lib/helpers/org-hierarchy-http.d.ts +3 -2
- package/lib/helpers/org-hierarchy-http.js +11 -5
- package/lib/middleware/index.d.ts +1 -1
- package/lib/middleware/index.js +2 -2
- package/lib/middleware/step-up.d.ts +4 -3
- package/lib/middleware/step-up.js +1 -1
- package/lib/services/index.d.ts +2 -2
- package/lib/services/index.js +2 -2
- package/lib/services/quota.d.ts +1 -2
- package/lib/services/quota.js +1 -1
- package/lib/services/version-vuln-policy.d.ts +1 -3
- package/lib/services/version-vuln-policy.js +2 -3
- package/lib/types/common.d.ts +13 -22
- package/lib/types/common.js +44 -5
- package/lib/types/ecosystem-notifications.d.ts +218 -26
- package/lib/types/ecosystem-notifications.js +26 -10
- package/lib/types/ecosystem.d.ts +1 -0
- package/lib/types/ecosystem.js +33 -23
- package/lib/types/error-codes.d.ts +41 -0
- package/lib/types/error-codes.js +62 -1
- package/lib/types/feature-flags.d.ts +11 -4
- package/lib/types/feature-flags.js +51 -11
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.js +2 -2
- package/lib/types/permissions.d.ts +353 -22
- package/lib/types/permissions.js +263 -125
- package/lib/types/pipeline.d.ts +2 -0
- package/lib/types/pipeline.js +3 -1
- package/lib/types/plugin-catalog.d.ts +68 -0
- package/lib/types/plugin-catalog.js +82 -1
- package/lib/types/quota-tiers.d.ts +6 -24
- package/lib/types/quota-tiers.js +6 -28
- package/lib/types/remote-audit-actions.d.ts +1 -1
- package/lib/types/remote-audit-actions.js +22 -1
- package/lib/types/tier-limits.d.ts +19 -0
- package/lib/types/tier-limits.js +27 -1
- package/lib/types/usage-projection.d.ts +0 -16
- package/lib/types/usage-projection.js +1 -20
- package/lib/types/wire-vocabulary.d.ts +81 -2
- package/lib/types/wire-vocabulary.js +89 -3
- package/lib/validation/index.d.ts +1 -1
- package/lib/validation/index.js +2 -2
- package/lib/validation/pipeline-schemas.d.ts +22 -0
- package/lib/validation/pipeline-schemas.js +19 -1
- package/lib/validation/plugin-spec-schema.d.ts +45 -2
- package/lib/validation/plugin-spec-schema.js +85 -7
- package/package.json +8 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OrgRole } from './
|
|
1
|
+
import type { OrgRole } from './wire-vocabulary.js';
|
|
2
2
|
/**
|
|
3
3
|
* Canonical fine-grained permission identifiers, in `resource:action` form.
|
|
4
4
|
*
|
|
@@ -11,8 +11,12 @@ import type { OrgRole } from './common.js';
|
|
|
11
11
|
* quota override, user admin, impersonation, platform settings) stay behind the
|
|
12
12
|
* global `isSuperAdmin` flag, not a per-org permission; and `requireStepUp`
|
|
13
13
|
* (MFA) / `requireFeature` (plan entitlements) remain orthogonal gates.
|
|
14
|
+
*
|
|
15
|
+
* The ids are the keys of {@link PERMISSION_DEFS} (below, beside their picker
|
|
16
|
+
* label, description and category), so the union, {@link ALL_PERMISSIONS} and
|
|
17
|
+
* {@link PERMISSION_CATALOG} cannot drift: adding a permission is one entry.
|
|
14
18
|
*/
|
|
15
|
-
export type Permission =
|
|
19
|
+
export type Permission = keyof typeof PERMISSION_DEFS;
|
|
16
20
|
/**
|
|
17
21
|
* The CLOSED set of actions a permission id may end in — the second half of the
|
|
18
22
|
* `resource:action` strategy the docs describe.
|
|
@@ -37,8 +41,6 @@ export type Permission = 'pipelines:read' | 'pipelines:write' | 'pipelines:publi
|
|
|
37
41
|
export declare const PERMISSION_ACTIONS: readonly string[];
|
|
38
42
|
/** `resource:action`, where resource is `snake_case` and action is in {@link PERMISSION_ACTIONS}. */
|
|
39
43
|
export declare const PERMISSION_ID_SHAPE: RegExp;
|
|
40
|
-
/** All valid permissions (order determines display order in the picker). */
|
|
41
|
-
export declare const ALL_PERMISSIONS: readonly Permission[];
|
|
42
44
|
/**
|
|
43
45
|
* The CLOSED set of functions that take a {@link Permission} and decide access.
|
|
44
46
|
*
|
|
@@ -69,14 +71,330 @@ export interface PermissionMeta {
|
|
|
69
71
|
category: string;
|
|
70
72
|
}
|
|
71
73
|
/**
|
|
72
|
-
*
|
|
74
|
+
* Every permission, keyed by id, with the display metadata the permission-picker
|
|
75
|
+
* UI shows (label, description, the category it groups under), in picker order.
|
|
76
|
+
* The comment above an entry is that permission's design note.
|
|
73
77
|
*
|
|
74
78
|
* This module is the SINGLE catalog for backend and browser alike: it has no
|
|
75
79
|
* runtime dependencies (the only import is a type), so the frontend imports it
|
|
76
80
|
* through the `@pipeline-builder/api-core/permissions` subpath instead of keeping
|
|
77
|
-
* a hand-maintained mirror.
|
|
78
|
-
* exactly once (asserted by `permissions.test.ts`).
|
|
81
|
+
* a hand-maintained mirror.
|
|
79
82
|
*/
|
|
83
|
+
declare const PERMISSION_DEFS: {
|
|
84
|
+
'pipelines:read': {
|
|
85
|
+
label: string;
|
|
86
|
+
description: string;
|
|
87
|
+
category: string;
|
|
88
|
+
};
|
|
89
|
+
'pipelines:write': {
|
|
90
|
+
label: string;
|
|
91
|
+
description: string;
|
|
92
|
+
category: string;
|
|
93
|
+
};
|
|
94
|
+
'pipelines:publish': {
|
|
95
|
+
label: string;
|
|
96
|
+
description: string;
|
|
97
|
+
category: string;
|
|
98
|
+
};
|
|
99
|
+
'pipeline_registry:write': {
|
|
100
|
+
label: string;
|
|
101
|
+
description: string;
|
|
102
|
+
category: string;
|
|
103
|
+
};
|
|
104
|
+
'toolchain:manage': {
|
|
105
|
+
label: string;
|
|
106
|
+
description: string;
|
|
107
|
+
category: string;
|
|
108
|
+
};
|
|
109
|
+
'templates:read': {
|
|
110
|
+
label: string;
|
|
111
|
+
description: string;
|
|
112
|
+
category: string;
|
|
113
|
+
};
|
|
114
|
+
'templates:write': {
|
|
115
|
+
label: string;
|
|
116
|
+
description: string;
|
|
117
|
+
category: string;
|
|
118
|
+
};
|
|
119
|
+
'templates:publish': {
|
|
120
|
+
label: string;
|
|
121
|
+
description: string;
|
|
122
|
+
category: string;
|
|
123
|
+
};
|
|
124
|
+
'plugins:read': {
|
|
125
|
+
label: string;
|
|
126
|
+
description: string;
|
|
127
|
+
category: string;
|
|
128
|
+
};
|
|
129
|
+
'plugins:write': {
|
|
130
|
+
label: string;
|
|
131
|
+
description: string;
|
|
132
|
+
category: string;
|
|
133
|
+
};
|
|
134
|
+
'plugins:publish': {
|
|
135
|
+
label: string;
|
|
136
|
+
description: string;
|
|
137
|
+
category: string;
|
|
138
|
+
};
|
|
139
|
+
'plugins:install': {
|
|
140
|
+
label: string;
|
|
141
|
+
description: string;
|
|
142
|
+
category: string;
|
|
143
|
+
};
|
|
144
|
+
'plugin_installs:manage': {
|
|
145
|
+
label: string;
|
|
146
|
+
description: string;
|
|
147
|
+
category: string;
|
|
148
|
+
};
|
|
149
|
+
'publishers:manage': {
|
|
150
|
+
label: string;
|
|
151
|
+
description: string;
|
|
152
|
+
category: string;
|
|
153
|
+
};
|
|
154
|
+
'plugins:moderate': {
|
|
155
|
+
label: string;
|
|
156
|
+
description: string;
|
|
157
|
+
category: string;
|
|
158
|
+
};
|
|
159
|
+
'publishers:verify': {
|
|
160
|
+
label: string;
|
|
161
|
+
description: string;
|
|
162
|
+
category: string;
|
|
163
|
+
};
|
|
164
|
+
'platform:read': {
|
|
165
|
+
label: string;
|
|
166
|
+
description: string;
|
|
167
|
+
category: string;
|
|
168
|
+
};
|
|
169
|
+
'orgs:read': {
|
|
170
|
+
label: string;
|
|
171
|
+
description: string;
|
|
172
|
+
category: string;
|
|
173
|
+
};
|
|
174
|
+
'toolchain:operate': {
|
|
175
|
+
label: string;
|
|
176
|
+
description: string;
|
|
177
|
+
category: string;
|
|
178
|
+
};
|
|
179
|
+
'billing:operate': {
|
|
180
|
+
label: string;
|
|
181
|
+
description: string;
|
|
182
|
+
category: string;
|
|
183
|
+
};
|
|
184
|
+
'observability_console:open': {
|
|
185
|
+
label: string;
|
|
186
|
+
description: string;
|
|
187
|
+
category: string;
|
|
188
|
+
};
|
|
189
|
+
'database_console:open': {
|
|
190
|
+
label: string;
|
|
191
|
+
description: string;
|
|
192
|
+
category: string;
|
|
193
|
+
};
|
|
194
|
+
'objectstore_console:open': {
|
|
195
|
+
label: string;
|
|
196
|
+
description: string;
|
|
197
|
+
category: string;
|
|
198
|
+
};
|
|
199
|
+
'oncall:manage': {
|
|
200
|
+
label: string;
|
|
201
|
+
description: string;
|
|
202
|
+
category: string;
|
|
203
|
+
};
|
|
204
|
+
'support_cases:write': {
|
|
205
|
+
label: string;
|
|
206
|
+
description: string;
|
|
207
|
+
category: string;
|
|
208
|
+
};
|
|
209
|
+
'support_content:write': {
|
|
210
|
+
label: string;
|
|
211
|
+
description: string;
|
|
212
|
+
category: string;
|
|
213
|
+
};
|
|
214
|
+
'subscriptions:read': {
|
|
215
|
+
label: string;
|
|
216
|
+
description: string;
|
|
217
|
+
category: string;
|
|
218
|
+
};
|
|
219
|
+
'subscriptions:manage': {
|
|
220
|
+
label: string;
|
|
221
|
+
description: string;
|
|
222
|
+
category: string;
|
|
223
|
+
};
|
|
224
|
+
'orgs:manage': {
|
|
225
|
+
label: string;
|
|
226
|
+
description: string;
|
|
227
|
+
category: string;
|
|
228
|
+
};
|
|
229
|
+
'quotas:manage': {
|
|
230
|
+
label: string;
|
|
231
|
+
description: string;
|
|
232
|
+
category: string;
|
|
233
|
+
};
|
|
234
|
+
'plugin_queue:manage': {
|
|
235
|
+
label: string;
|
|
236
|
+
description: string;
|
|
237
|
+
category: string;
|
|
238
|
+
};
|
|
239
|
+
'compliance:read': {
|
|
240
|
+
label: string;
|
|
241
|
+
description: string;
|
|
242
|
+
category: string;
|
|
243
|
+
};
|
|
244
|
+
'compliance:write': {
|
|
245
|
+
label: string;
|
|
246
|
+
description: string;
|
|
247
|
+
category: string;
|
|
248
|
+
};
|
|
249
|
+
'members:manage': {
|
|
250
|
+
label: string;
|
|
251
|
+
description: string;
|
|
252
|
+
category: string;
|
|
253
|
+
};
|
|
254
|
+
'roles:manage': {
|
|
255
|
+
label: string;
|
|
256
|
+
description: string;
|
|
257
|
+
category: string;
|
|
258
|
+
};
|
|
259
|
+
'invitations:manage': {
|
|
260
|
+
label: string;
|
|
261
|
+
description: string;
|
|
262
|
+
category: string;
|
|
263
|
+
};
|
|
264
|
+
'service_accounts:manage': {
|
|
265
|
+
label: string;
|
|
266
|
+
description: string;
|
|
267
|
+
category: string;
|
|
268
|
+
};
|
|
269
|
+
'dashboards:read': {
|
|
270
|
+
label: string;
|
|
271
|
+
description: string;
|
|
272
|
+
category: string;
|
|
273
|
+
};
|
|
274
|
+
'dashboards:write': {
|
|
275
|
+
label: string;
|
|
276
|
+
description: string;
|
|
277
|
+
category: string;
|
|
278
|
+
};
|
|
279
|
+
'observability:read': {
|
|
280
|
+
label: string;
|
|
281
|
+
description: string;
|
|
282
|
+
category: string;
|
|
283
|
+
};
|
|
284
|
+
'observability:write': {
|
|
285
|
+
label: string;
|
|
286
|
+
description: string;
|
|
287
|
+
category: string;
|
|
288
|
+
};
|
|
289
|
+
'logs:export': {
|
|
290
|
+
label: string;
|
|
291
|
+
description: string;
|
|
292
|
+
category: string;
|
|
293
|
+
};
|
|
294
|
+
'audit:read': {
|
|
295
|
+
label: string;
|
|
296
|
+
description: string;
|
|
297
|
+
category: string;
|
|
298
|
+
};
|
|
299
|
+
'reports:read': {
|
|
300
|
+
label: string;
|
|
301
|
+
description: string;
|
|
302
|
+
category: string;
|
|
303
|
+
};
|
|
304
|
+
'reports:rollup': {
|
|
305
|
+
label: string;
|
|
306
|
+
description: string;
|
|
307
|
+
category: string;
|
|
308
|
+
};
|
|
309
|
+
'reports:write': {
|
|
310
|
+
label: string;
|
|
311
|
+
description: string;
|
|
312
|
+
category: string;
|
|
313
|
+
};
|
|
314
|
+
'reports:publish': {
|
|
315
|
+
label: string;
|
|
316
|
+
description: string;
|
|
317
|
+
category: string;
|
|
318
|
+
};
|
|
319
|
+
'messages:read': {
|
|
320
|
+
label: string;
|
|
321
|
+
description: string;
|
|
322
|
+
category: string;
|
|
323
|
+
};
|
|
324
|
+
'messages:write': {
|
|
325
|
+
label: string;
|
|
326
|
+
description: string;
|
|
327
|
+
category: string;
|
|
328
|
+
};
|
|
329
|
+
'billing:read': {
|
|
330
|
+
label: string;
|
|
331
|
+
description: string;
|
|
332
|
+
category: string;
|
|
333
|
+
};
|
|
334
|
+
'billing:manage': {
|
|
335
|
+
label: string;
|
|
336
|
+
description: string;
|
|
337
|
+
category: string;
|
|
338
|
+
};
|
|
339
|
+
'quotas:read': {
|
|
340
|
+
label: string;
|
|
341
|
+
description: string;
|
|
342
|
+
category: string;
|
|
343
|
+
};
|
|
344
|
+
'registry:read': {
|
|
345
|
+
label: string;
|
|
346
|
+
description: string;
|
|
347
|
+
category: string;
|
|
348
|
+
};
|
|
349
|
+
'registry:write': {
|
|
350
|
+
label: string;
|
|
351
|
+
description: string;
|
|
352
|
+
category: string;
|
|
353
|
+
};
|
|
354
|
+
'registry:purge': {
|
|
355
|
+
label: string;
|
|
356
|
+
description: string;
|
|
357
|
+
category: string;
|
|
358
|
+
};
|
|
359
|
+
'impersonation:open': {
|
|
360
|
+
label: string;
|
|
361
|
+
description: string;
|
|
362
|
+
category: string;
|
|
363
|
+
};
|
|
364
|
+
'impersonation:approve': {
|
|
365
|
+
label: string;
|
|
366
|
+
description: string;
|
|
367
|
+
category: string;
|
|
368
|
+
};
|
|
369
|
+
'team_access:open': {
|
|
370
|
+
label: string;
|
|
371
|
+
description: string;
|
|
372
|
+
category: string;
|
|
373
|
+
};
|
|
374
|
+
'org_settings:write': {
|
|
375
|
+
label: string;
|
|
376
|
+
description: string;
|
|
377
|
+
category: string;
|
|
378
|
+
};
|
|
379
|
+
'org_idp:write': {
|
|
380
|
+
label: string;
|
|
381
|
+
description: string;
|
|
382
|
+
category: string;
|
|
383
|
+
};
|
|
384
|
+
'org_kms:write': {
|
|
385
|
+
label: string;
|
|
386
|
+
description: string;
|
|
387
|
+
category: string;
|
|
388
|
+
};
|
|
389
|
+
'org_impersonation:write': {
|
|
390
|
+
label: string;
|
|
391
|
+
description: string;
|
|
392
|
+
category: string;
|
|
393
|
+
};
|
|
394
|
+
};
|
|
395
|
+
/** All valid permissions (order determines display order in the picker). */
|
|
396
|
+
export declare const ALL_PERMISSIONS: readonly Permission[];
|
|
397
|
+
/** The permission catalog with display metadata, in picker order. */
|
|
80
398
|
export declare const PERMISSION_CATALOG: readonly PermissionMeta[];
|
|
81
399
|
/** Human label for a permission id (falls back to the raw id for an unknown one). */
|
|
82
400
|
export declare function permissionLabel(id: string): string;
|
|
@@ -498,59 +816,71 @@ export declare function hasPermission(granted: readonly string[] | null | undefi
|
|
|
498
816
|
export declare const SEED_BUNDLES: {
|
|
499
817
|
readonly ecosystem_manager: {
|
|
500
818
|
readonly name: 'Ecosystem Manager';
|
|
501
|
-
readonly permissions: readonly
|
|
819
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
820
|
+
readonly seededIn: 'system';
|
|
502
821
|
};
|
|
503
822
|
readonly publisher_verifier: {
|
|
504
823
|
readonly name: 'Publisher Verifier';
|
|
505
|
-
readonly permissions: readonly
|
|
824
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
825
|
+
readonly seededIn: 'system';
|
|
506
826
|
};
|
|
507
827
|
readonly team_lead: {
|
|
508
828
|
readonly name: 'Team Lead';
|
|
509
|
-
readonly permissions: readonly
|
|
829
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
830
|
+
readonly seededIn: null;
|
|
510
831
|
};
|
|
511
832
|
readonly platform_observer: {
|
|
512
833
|
readonly name: 'Platform Observer';
|
|
513
|
-
readonly permissions: readonly
|
|
834
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
835
|
+
readonly seededIn: 'system';
|
|
514
836
|
};
|
|
515
837
|
readonly platform_operator: {
|
|
516
838
|
readonly name: 'Platform Operator';
|
|
517
|
-
readonly permissions: readonly
|
|
839
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
840
|
+
readonly seededIn: 'system';
|
|
518
841
|
};
|
|
519
842
|
readonly account_manager: {
|
|
520
843
|
readonly name: 'Account Manager';
|
|
521
|
-
readonly permissions: readonly
|
|
844
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
845
|
+
readonly seededIn: 'system';
|
|
522
846
|
};
|
|
523
847
|
readonly console_admin: {
|
|
524
848
|
readonly name: 'Console Administrator';
|
|
525
|
-
readonly permissions: readonly
|
|
849
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
850
|
+
readonly seededIn: 'system';
|
|
526
851
|
};
|
|
527
852
|
readonly support_agent: {
|
|
528
853
|
readonly name: 'Support Agent';
|
|
529
|
-
readonly permissions: readonly
|
|
854
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
855
|
+
readonly seededIn: 'system';
|
|
530
856
|
};
|
|
531
857
|
readonly support_lead: {
|
|
532
858
|
readonly name: 'Support Lead';
|
|
533
|
-
readonly permissions: readonly
|
|
859
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
860
|
+
readonly seededIn: 'system';
|
|
534
861
|
};
|
|
535
862
|
readonly registry_operator: {
|
|
536
863
|
readonly name: 'Registry Operator';
|
|
537
|
-
readonly permissions: readonly
|
|
864
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
865
|
+
readonly seededIn: 'system';
|
|
538
866
|
};
|
|
539
867
|
readonly pipeline_automation: {
|
|
540
868
|
readonly name: 'Pipeline Automation';
|
|
541
|
-
readonly permissions: readonly
|
|
869
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
870
|
+
readonly seededIn: 'org';
|
|
542
871
|
};
|
|
543
872
|
readonly pipeline_registration: {
|
|
544
873
|
readonly name: 'Pipeline Registration';
|
|
545
|
-
readonly permissions: readonly
|
|
874
|
+
readonly permissions: readonly ("audit:read" | "billing:manage" | "billing:operate" | "billing:read" | "compliance:read" | "compliance:write" | "dashboards:read" | "dashboards:write" | "database_console:open" | "impersonation:approve" | "impersonation:open" | "invitations:manage" | "logs:export" | "members:manage" | "messages:read" | "messages:write" | "objectstore_console:open" | "observability:read" | "observability:write" | "observability_console:open" | "oncall:manage" | "org_idp:write" | "org_impersonation:write" | "org_kms:write" | "org_settings:write" | "orgs:manage" | "orgs:read" | "pipeline_registry:write" | "pipelines:publish" | "pipelines:read" | "pipelines:write" | "platform:read" | "plugin_installs:manage" | "plugin_queue:manage" | "plugins:install" | "plugins:moderate" | "plugins:publish" | "plugins:read" | "plugins:write" | "publishers:manage" | "publishers:verify" | "quotas:manage" | "quotas:read" | "registry:purge" | "registry:read" | "registry:write" | "reports:publish" | "reports:read" | "reports:rollup" | "reports:write" | "roles:manage" | "service_accounts:manage" | "subscriptions:manage" | "subscriptions:read" | "support_cases:write" | "support_content:write" | "team_access:open" | "templates:publish" | "templates:read" | "templates:write" | "toolchain:manage" | "toolchain:operate")[];
|
|
875
|
+
readonly seededIn: 'org';
|
|
546
876
|
};
|
|
547
877
|
};
|
|
548
878
|
/** Every seed-bundle id. The platform's `Role.seedBundle` enum is this list. */
|
|
549
879
|
export declare const SEED_BUNDLE_IDS: Array<keyof typeof SEED_BUNDLES>;
|
|
550
880
|
export type SeedBundleId = keyof typeof SEED_BUNDLES;
|
|
551
881
|
/**
|
|
552
|
-
* The SYSTEM ORG's job Roles, in staffing order — the subset of
|
|
553
|
-
* {@link SEED_BUNDLES} seeded there, which is every bundle except `team_lead`
|
|
882
|
+
* The SYSTEM ORG's job Roles, in staffing order (table order) — the subset of
|
|
883
|
+
* {@link SEED_BUNDLES} seeded there (`seededIn: 'system'`), which is every bundle except `team_lead`
|
|
554
884
|
* (a tenant job, and a template rather than a seeded Role since it stopped
|
|
555
885
|
* being structural).
|
|
556
886
|
*
|
|
@@ -561,7 +891,7 @@ export type SeedBundleId = keyof typeof SEED_BUNDLES;
|
|
|
561
891
|
*/
|
|
562
892
|
export declare const SYSTEM_ORG_JOB_BUNDLES: readonly SeedBundleId[];
|
|
563
893
|
/**
|
|
564
|
-
* The MACHINE Roles every org seeds — the subset of {@link SEED_BUNDLES} held by
|
|
894
|
+
* The MACHINE Roles every org seeds (`seededIn: 'org'`) — the subset of {@link SEED_BUNDLES} held by
|
|
565
895
|
* the service accounts `pipeline-manager infra store-token` provisions.
|
|
566
896
|
*
|
|
567
897
|
* Seeded rather than offered as a {@link ROLE_TEMPLATES} entry, unlike the
|
|
@@ -586,3 +916,4 @@ export declare const AUTOMATION_ACCOUNT_BUNDLES: {
|
|
|
586
916
|
readonly 'reporting-ingest': null;
|
|
587
917
|
readonly 'registry-push': null;
|
|
588
918
|
};
|
|
919
|
+
export {};
|