@atlasauth/backend 0.25.0 → 0.27.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/CHANGELOG.md +42 -1
- package/dist/client/abac.d.ts +454 -0
- package/dist/client/abac.js +123 -0
- package/dist/client/abac.js.map +1 -1
- package/dist/client/access-policies.d.ts +84 -2
- package/dist/client/access-policies.js +8 -0
- package/dist/client/access-policies.js.map +1 -1
- package/dist/client/actions.d.ts +1 -1
- package/dist/client/actions.js.map +1 -1
- package/dist/client/agent-platform.d.ts +294 -0
- package/dist/client/agent-platform.js +132 -0
- package/dist/client/agent-platform.js.map +1 -0
- package/dist/client/analytics-reports.d.ts +1 -1
- package/dist/client/app-catalog.d.ts +60 -1
- package/dist/client/app-catalog.js +32 -2
- package/dist/client/app-catalog.js.map +1 -1
- package/dist/client/authz-decisions.d.ts +154 -0
- package/dist/client/authz-decisions.js +53 -0
- package/dist/client/authz-decisions.js.map +1 -0
- package/dist/client/connections.d.ts +519 -0
- package/dist/client/connections.js +171 -0
- package/dist/client/connections.js.map +1 -0
- package/dist/client/custom-oauth-providers.d.ts +15 -0
- package/dist/client/custom-oauth-providers.js.map +1 -1
- package/dist/client/desktop-mfa.d.ts +141 -0
- package/dist/client/desktop-mfa.js +58 -0
- package/dist/client/desktop-mfa.js.map +1 -0
- package/dist/client/devices.d.ts +130 -0
- package/dist/client/devices.js +54 -0
- package/dist/client/devices.js.map +1 -1
- package/dist/client/email-templates.d.ts +1 -1
- package/dist/client/email-templates.js.map +1 -1
- package/dist/client/fga.d.ts +301 -5
- package/dist/client/fga.js +81 -1
- package/dist/client/fga.js.map +1 -1
- package/dist/client/iga.d.ts +436 -0
- package/dist/client/iga.js +82 -0
- package/dist/client/iga.js.map +1 -0
- package/dist/client/index.d.ts +3767 -2443
- package/dist/client/index.js +51 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/least-privilege.d.ts +95 -0
- package/dist/client/least-privilege.js +28 -0
- package/dist/client/least-privilege.js.map +1 -0
- package/dist/client/log-streams.d.ts +1 -1
- package/dist/client/managed-grants.d.ts +52 -0
- package/dist/client/managed-grants.js +28 -0
- package/dist/client/managed-grants.js.map +1 -0
- package/dist/client/mcp-gateways.d.ts +220 -2
- package/dist/client/mcp-gateways.js +74 -0
- package/dist/client/mcp-gateways.js.map +1 -1
- package/dist/client/messaging.d.ts +11 -2
- package/dist/client/messaging.js.map +1 -1
- package/dist/client/oauth-clients.d.ts +4 -0
- package/dist/client/oauth-clients.js.map +1 -1
- package/dist/client/oauth-protocols.d.ts +116 -0
- package/dist/client/oauth-protocols.js +54 -0
- package/dist/client/oauth-protocols.js.map +1 -0
- package/dist/client/oauth-providers.d.ts +4 -4
- package/dist/client/openfga.d.ts +90 -3
- package/dist/client/openfga.js +27 -1
- package/dist/client/openfga.js.map +1 -1
- package/dist/client/org-ldap-connections.d.ts +3 -0
- package/dist/client/org-ldap-connections.js.map +1 -1
- package/dist/client/organizations.d.ts +14 -0
- package/dist/client/organizations.js.map +1 -1
- package/dist/client/policy-bundles.d.ts +105 -0
- package/dist/client/policy-bundles.js +38 -0
- package/dist/client/policy-bundles.js.map +1 -0
- package/dist/client/resources.d.ts +1 -0
- package/dist/client/resources.js.map +1 -1
- package/dist/client/risk-containment.d.ts +244 -0
- package/dist/client/risk-containment.js +120 -0
- package/dist/client/risk-containment.js.map +1 -0
- package/dist/client/saml-idp.d.ts +183 -0
- package/dist/client/saml-idp.js +71 -0
- package/dist/client/saml-idp.js.map +1 -0
- package/dist/client/scim-provisioning.d.ts +100 -4
- package/dist/client/scim-provisioning.js +30 -0
- package/dist/client/scim-provisioning.js.map +1 -1
- package/dist/client/scim-tokens.d.ts +34 -0
- package/dist/client/scim-tokens.js +17 -0
- package/dist/client/scim-tokens.js.map +1 -1
- package/dist/client/service-connectors.d.ts +1 -1
- package/dist/client/ssf.d.ts +31 -1
- package/dist/client/ssf.js +17 -0
- package/dist/client/ssf.js.map +1 -1
- package/dist/client/users.d.ts +9 -0
- package/dist/client/users.js +9 -0
- package/dist/client/users.js.map +1 -1
- package/dist/client/vault.d.ts +54 -0
- package/dist/client/vault.js +30 -0
- package/dist/client/vault.js.map +1 -1
- package/dist/client/vc.d.ts +62 -2
- package/dist/client/vc.js +15 -0
- package/dist/client/vc.js.map +1 -1
- package/dist/client/workflows.d.ts +182 -3
- package/dist/client/workflows.js +34 -0
- package/dist/client/workflows.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/oauth-resource.d.ts +30 -3
- package/dist/oauth-resource.js +43 -2
- package/dist/oauth-resource.js.map +1 -1
- package/dist/policy-bundle.d.ts +110 -0
- package/dist/policy-bundle.js +289 -0
- package/dist/policy-bundle.js.map +1 -0
- package/dist/txn-token.d.ts +36 -0
- package/dist/txn-token.js +30 -0
- package/dist/txn-token.js.map +1 -0
- package/dist/uma.d.ts +77 -0
- package/dist/uma.js +95 -0
- package/dist/uma.js.map +1 -0
- package/package.json +2 -2
package/dist/client/openfga.d.ts
CHANGED
|
@@ -16,6 +16,17 @@ export interface OpenFgaTupleKey {
|
|
|
16
16
|
user: string;
|
|
17
17
|
relation: string;
|
|
18
18
|
object: string;
|
|
19
|
+
/** A model condition the tuple is bound to. */
|
|
20
|
+
condition?: {
|
|
21
|
+
name: string;
|
|
22
|
+
context?: Record<string, unknown>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** OpenFGA's `consistency` enum plus Atlas's consistency token (see ListUsers/Check docs). */
|
|
26
|
+
export interface OpenFgaConsistencyOptions {
|
|
27
|
+
consistency?: 'UNSPECIFIED' | 'MINIMIZE_LATENCY' | 'HIGHER_CONSISTENCY';
|
|
28
|
+
/** A token from a write; the read reflects at least that write. Also sent as the `Atlas-Consistency-Token` header. */
|
|
29
|
+
consistency_token?: string;
|
|
19
30
|
}
|
|
20
31
|
/** Contextual tuples: either the OpenFGA `{ tuple_keys }` wrapper or a bare array. */
|
|
21
32
|
export type OpenFgaContextualTuples = {
|
|
@@ -38,18 +49,21 @@ export interface WriteOpenFgaModelBody {
|
|
|
38
49
|
dsl?: string;
|
|
39
50
|
[key: string]: unknown;
|
|
40
51
|
}
|
|
41
|
-
export interface OpenFgaCheckBody {
|
|
52
|
+
export interface OpenFgaCheckBody extends OpenFgaConsistencyOptions {
|
|
42
53
|
tuple_key: OpenFgaTupleKey;
|
|
43
54
|
authorization_model_id?: string;
|
|
44
55
|
contextual_tuples?: OpenFgaContextualTuples;
|
|
56
|
+
/** Values for condition parameters. */
|
|
57
|
+
context?: Record<string, unknown>;
|
|
45
58
|
}
|
|
46
59
|
export interface OpenFgaBatchCheckItem {
|
|
47
60
|
tuple_key: OpenFgaTupleKey;
|
|
48
61
|
/** Keys the result; defaults to the item's index. */
|
|
49
62
|
correlation_id?: string;
|
|
50
63
|
contextual_tuples?: OpenFgaContextualTuples;
|
|
64
|
+
context?: Record<string, unknown>;
|
|
51
65
|
}
|
|
52
|
-
export interface OpenFgaBatchCheckBody {
|
|
66
|
+
export interface OpenFgaBatchCheckBody extends OpenFgaConsistencyOptions {
|
|
53
67
|
/** 1–100 checks. */
|
|
54
68
|
checks: OpenFgaBatchCheckItem[];
|
|
55
69
|
authorization_model_id?: string;
|
|
@@ -61,13 +75,74 @@ export interface OpenFgaExpandBody {
|
|
|
61
75
|
};
|
|
62
76
|
authorization_model_id?: string;
|
|
63
77
|
}
|
|
64
|
-
export interface OpenFgaListObjectsBody {
|
|
78
|
+
export interface OpenFgaListObjectsBody extends OpenFgaConsistencyOptions {
|
|
65
79
|
/** Object type, e.g. `document`. */
|
|
66
80
|
type: string;
|
|
67
81
|
relation: string;
|
|
68
82
|
user: string;
|
|
69
83
|
authorization_model_id?: string;
|
|
70
84
|
contextual_tuples?: OpenFgaContextualTuples;
|
|
85
|
+
context?: Record<string, unknown>;
|
|
86
|
+
}
|
|
87
|
+
export interface OpenFgaListUsersBody extends OpenFgaConsistencyOptions {
|
|
88
|
+
object: {
|
|
89
|
+
type: string;
|
|
90
|
+
id: string;
|
|
91
|
+
};
|
|
92
|
+
relation: string;
|
|
93
|
+
/** Exactly one filter; add `relation` to get usersets. */
|
|
94
|
+
user_filters: [{
|
|
95
|
+
type: string;
|
|
96
|
+
relation?: string;
|
|
97
|
+
}];
|
|
98
|
+
authorization_model_id?: string;
|
|
99
|
+
contextual_tuples?: OpenFgaContextualTuples;
|
|
100
|
+
context?: Record<string, unknown>;
|
|
101
|
+
/** Atlas extension: 1–1000, default 1000. */
|
|
102
|
+
page_size?: number;
|
|
103
|
+
/** Atlas extension: the previous page's `continuation_token`. */
|
|
104
|
+
continuation_token?: string;
|
|
105
|
+
}
|
|
106
|
+
/** One listed user: a person/thing, a userset, or the public wildcard. */
|
|
107
|
+
export type OpenFgaListedUser = {
|
|
108
|
+
object: {
|
|
109
|
+
type: string;
|
|
110
|
+
id: string;
|
|
111
|
+
};
|
|
112
|
+
} | {
|
|
113
|
+
userset: {
|
|
114
|
+
type: string;
|
|
115
|
+
id: string;
|
|
116
|
+
relation: string;
|
|
117
|
+
};
|
|
118
|
+
} | {
|
|
119
|
+
wildcard: {
|
|
120
|
+
type: string;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
export interface OpenFgaListUsersResult {
|
|
124
|
+
users: OpenFgaListedUser[];
|
|
125
|
+
excluded_users: Array<{
|
|
126
|
+
object: {
|
|
127
|
+
type: string;
|
|
128
|
+
id: string;
|
|
129
|
+
};
|
|
130
|
+
}>;
|
|
131
|
+
/** Empty on the last page. */
|
|
132
|
+
continuation_token: string;
|
|
133
|
+
}
|
|
134
|
+
export interface OpenFgaReadChangesParams {
|
|
135
|
+
type?: string;
|
|
136
|
+
/** 1–100, default 50. */
|
|
137
|
+
page_size?: number;
|
|
138
|
+
continuation_token?: string;
|
|
139
|
+
/** RFC 3339. */
|
|
140
|
+
start_time?: string;
|
|
141
|
+
}
|
|
142
|
+
export interface OpenFgaTupleChange {
|
|
143
|
+
tuple_key: OpenFgaTupleKey;
|
|
144
|
+
operation: 'TUPLE_OPERATION_WRITE' | 'TUPLE_OPERATION_DELETE';
|
|
145
|
+
timestamp: string;
|
|
71
146
|
}
|
|
72
147
|
export interface OpenFgaReadBody {
|
|
73
148
|
/** Optional filter; `object` may be a full `type:id` or a bare `type:` prefix. */
|
|
@@ -128,6 +203,18 @@ export declare function openfgaResource(request: RequestFn): {
|
|
|
128
203
|
listObjects(store: string, body: OpenFgaListObjectsBody): Promise<{
|
|
129
204
|
objects: string[];
|
|
130
205
|
}>;
|
|
206
|
+
/**
|
|
207
|
+
* Who has `relation` on `object` (OpenFGA ListUsers): users, usersets and the
|
|
208
|
+
* wildcard with `excluded_users`. One page — see {@link listAllUsers}.
|
|
209
|
+
*/
|
|
210
|
+
listUsers(store: string, body: OpenFgaListUsersBody): Promise<OpenFgaListUsersResult>;
|
|
211
|
+
/** {@link listUsers} following `continuation_token` until every page is collected. */
|
|
212
|
+
listAllUsers(store: string, body: OpenFgaListUsersBody): Promise<OpenFgaListUsersResult>;
|
|
213
|
+
/** The tuple change log (OpenFGA ReadChanges); the token also resumes after the last page. */
|
|
214
|
+
readChanges(store: string, params?: OpenFgaReadChangesParams): Promise<{
|
|
215
|
+
changes: OpenFgaTupleChange[];
|
|
216
|
+
continuation_token: string;
|
|
217
|
+
}>;
|
|
131
218
|
read(store: string, body?: OpenFgaReadBody): Promise<{
|
|
132
219
|
tuples: OpenFgaTuple[];
|
|
133
220
|
continuation_token: string;
|
package/dist/client/openfga.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.openfgaResource = openfgaResource;
|
|
4
4
|
const request_1 = require("./request");
|
|
5
5
|
function openfgaResource(request) {
|
|
6
|
-
|
|
6
|
+
const api = {
|
|
7
7
|
stores: {
|
|
8
8
|
list() {
|
|
9
9
|
return request({ method: 'GET', path: '/v1/openfga/stores' });
|
|
@@ -60,6 +60,31 @@ function openfgaResource(request) {
|
|
|
60
60
|
body,
|
|
61
61
|
});
|
|
62
62
|
},
|
|
63
|
+
/**
|
|
64
|
+
* Who has `relation` on `object` (OpenFGA ListUsers): users, usersets and the
|
|
65
|
+
* wildcard with `excluded_users`. One page — see {@link listAllUsers}.
|
|
66
|
+
*/
|
|
67
|
+
listUsers(store, body) {
|
|
68
|
+
return request({ method: 'POST', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/list-users`, body });
|
|
69
|
+
},
|
|
70
|
+
/** {@link listUsers} following `continuation_token` until every page is collected. */
|
|
71
|
+
async listAllUsers(store, body) {
|
|
72
|
+
let page = await api.listUsers(store, body);
|
|
73
|
+
const users = [...page.users];
|
|
74
|
+
while (page.continuation_token) {
|
|
75
|
+
page = await api.listUsers(store, { ...body, continuation_token: page.continuation_token });
|
|
76
|
+
users.push(...page.users);
|
|
77
|
+
}
|
|
78
|
+
return { ...page, users };
|
|
79
|
+
},
|
|
80
|
+
/** The tuple change log (OpenFGA ReadChanges); the token also resumes after the last page. */
|
|
81
|
+
readChanges(store, params = {}) {
|
|
82
|
+
return request({
|
|
83
|
+
method: 'GET',
|
|
84
|
+
path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/changes`,
|
|
85
|
+
query: { ...params },
|
|
86
|
+
});
|
|
87
|
+
},
|
|
63
88
|
read(store, body = {}) {
|
|
64
89
|
return request({ method: 'POST', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/read`, body });
|
|
65
90
|
},
|
|
@@ -68,5 +93,6 @@ function openfgaResource(request) {
|
|
|
68
93
|
return request({ method: 'POST', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/write`, body });
|
|
69
94
|
},
|
|
70
95
|
};
|
|
96
|
+
return api;
|
|
71
97
|
}
|
|
72
98
|
//# sourceMappingURL=openfga.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openfga.js","sourceRoot":"","sources":["../../src/client/openfga.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"openfga.js","sourceRoot":"","sources":["../../src/client/openfga.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export interface OrgLdapConnection {
|
|
|
19
19
|
base_dn: string;
|
|
20
20
|
user_filter: string;
|
|
21
21
|
start_tls: boolean;
|
|
22
|
+
require_consent_screen: boolean;
|
|
22
23
|
attributes: OrgLdapAttributeMap;
|
|
23
24
|
has_bind_password: boolean;
|
|
24
25
|
default_role_id: string | null;
|
|
@@ -36,6 +37,8 @@ export interface UpdateOrgLdapConnectionBody {
|
|
|
36
37
|
/** Search filter with a `{{username}}` placeholder. */
|
|
37
38
|
user_filter?: string;
|
|
38
39
|
start_tls?: boolean;
|
|
40
|
+
/** Ask the person to confirm the sign-in before it completes (the sign-in response then carries `consent_required`). */
|
|
41
|
+
require_consent_screen?: boolean;
|
|
39
42
|
attributes?: OrgLdapAttributeMap;
|
|
40
43
|
/** Service-account password. Write-only; re-encrypted only when supplied. */
|
|
41
44
|
bind_password?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-ldap-connections.js","sourceRoot":"","sources":["../../src/client/org-ldap-connections.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"org-ldap-connections.js","sourceRoot":"","sources":["../../src/client/org-ldap-connections.ts"],"names":[],"mappings":";;AAiEA,gEAuCC;AAxGD,uCAAgD;AAiEhD,SAAgB,0BAA0B,CAAC,OAAkB;IAC3D,OAAO;QACL,IAAI,CACF,SAAuC,EAAE;YAEzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,CACJ,IAAiC,EACjC,cAAuB;YAEvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CACJ,EAAU,EACV,IAAiC,EACjC,cAAuB;YAEvB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE;gBAC3C,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;QACD;;;WAGG;QACH,IAAI,CAAC,EAAU,EAAE,OAAmC,EAAE;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -90,6 +90,14 @@ export interface OrganizationPolicySettings {
|
|
|
90
90
|
/** Cap on the absolute session lifetime for members, in seconds (300 … 7776000). */
|
|
91
91
|
maxSessionAgeSeconds?: number;
|
|
92
92
|
endUserPool?: OrganizationEndUserPoolPolicy;
|
|
93
|
+
/** Break-glass: addresses (at most 20) that may still use a password while `ssoRequired` is on. Each use is audited. */
|
|
94
|
+
ssoBypass?: string[];
|
|
95
|
+
/** Technical contacts (at most 10) recorded for the organization's connections. */
|
|
96
|
+
itContacts?: Array<{
|
|
97
|
+
email: string;
|
|
98
|
+
name?: string;
|
|
99
|
+
role?: string;
|
|
100
|
+
}>;
|
|
93
101
|
[key: string]: unknown;
|
|
94
102
|
}
|
|
95
103
|
export interface OrganizationPolicy {
|
|
@@ -248,6 +256,12 @@ export interface OrganizationPolicyPatch {
|
|
|
248
256
|
requiredFactors?: Array<'totp' | 'sms' | 'passkey' | 'push'> | null;
|
|
249
257
|
passwordPolicyOverride?: OrgPasswordPolicyOverride | null;
|
|
250
258
|
ssoRequired?: boolean | null;
|
|
259
|
+
ssoBypass?: string[] | null;
|
|
260
|
+
itContacts?: Array<{
|
|
261
|
+
email: string;
|
|
262
|
+
name?: string;
|
|
263
|
+
role?: string;
|
|
264
|
+
}> | null;
|
|
251
265
|
sessionIdleOverrideMs?: number | null;
|
|
252
266
|
/** Restrict member sign-in methods; `null` clears (all methods). Unknown method → 400. */
|
|
253
267
|
allowedSignInMethods?: string[] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":";;AAsSA,sDAsYC;AA5qBD,uCAAgD;AAsShD,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,IAAI,CAAC,SAAuB,EAAE;YAC5B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,CAAC,IAA4B,EAAE,cAAuB;YAC1D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA4B;YAC7C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,gFAAgF;QAChF,cAAc,CAAC,EAAU,EAAE,IAAqC;YAC9D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,4CAA4C;QAC5C,YAAY,CAAC,EAAU,EAAE,IAA6B;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QACD;;;;WAIG;QACH,SAAS,CAAC,EAAU,EAAE,IAA+C;YACnE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,gGAAgG;QAChG,SAAS,CAAC,EAAU;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QACpF,CAAC;QACD;;;WAGG;QACH,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,WAAW,EAAE;YACX,IAAI,CAAC,KAAa;gBAChB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,GAAG,CACD,KAAa,EACb,IAAwC,EACxC,cAAuB;gBAOvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,cAAc;oBACnD,IAAI;oBACJ,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,KAAa,EACb,MAAc,EACd,IAAsB;gBAEtB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE;oBAClE,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,KAAa,EACb,MAAc;gBAEd,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE;iBACnE,CAAC,CAAC;YACL,CAAC;SACF;QAED,WAAW,EAAE;YACX,IAAI,CAAC,KAAa;gBAChB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,CACJ,KAAa,EACb,IAA8D,EAC9D,cAAuB;gBASvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,cAAc;oBACnD,IAAI;oBACJ,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,KAAa,EACb,YAAoB;gBAEpB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB,IAAA,aAAG,EAAC,YAAY,CAAC,SAAS;iBAChF,CAAC,CAAC;YACL,CAAC;SACF;QAED,OAAO,EAAE;YACP,IAAI,CAAC,KAAa;gBAChB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CACJ,KAAa,EACb,IAA8E,EAC9E,cAAuB;gBAEvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,UAAU;oBAC/C,IAAI;oBACJ,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,KAAa,EAAE,QAAgB;gBACpC,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,YAAY,IAAA,aAAG,EAAC,QAAQ,CAAC,SAAS;iBACxE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,KAAa,EACb,QAAgB;gBAEhB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,YAAY,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE;iBACjE,CAAC,CAAC;YACL,CAAC;SACF;QAED,4FAA4F;QAC5F,QAAQ,EAAE;YACR,0DAA0D;YAC1D,GAAG,CAAC,KAAa;gBACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,iFAAiF;YACjF,OAAO,CACL,KAAa,EACb,MAA+B,EAC/B,cAAuB;gBAEvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,WAAW;oBAChD,IAAI,EAAE,EAAE,MAAM,EAAE;oBAChB,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YACD;;;eAGG;YACH,MAAM,CACJ,KAAa,EACb,MAA+B,EAC/B,cAAuB;gBAEvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,WAAW;oBAChD,IAAI,EAAE,EAAE,MAAM,EAAE;oBAChB,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;SACF;QAED,yFAAyF;QACzF,YAAY,EAAE;YACZ,IAAI,CAAC,KAAa;gBAChB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,CACJ,KAAa,EACb,IAAuC,EACvC,cAAuB;gBAEvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB;oBACrD,IAAI;oBACJ,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,KAAa,EACb,QAAgB;gBAEhB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,kBAAkB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE;iBACvE,CAAC,CAAC;YACL,CAAC;SACF;QAED;;;;WAIG;QACH,gBAAgB,EAAE;YAChB,IAAI,CAAC,KAAa;gBAChB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,GAAG,CAAC,KAAa,EAAE,UAAkB;gBACnC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,sBAAsB,IAAA,aAAG,EAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAClH,CAAC;YACD,mDAAmD;YACnD,MAAM,CACJ,KAAa,EACb,IAAuD,EACvD,cAAuB;gBAEvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YACtH,CAAC;YACD,MAAM,CAAC,KAAa,EAAE,UAAkB,EAAE,IAAqC;gBAC7E,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,sBAAsB,IAAA,aAAG,EAAC,UAAU,CAAC,EAAE;oBAC5E,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,KAAa,EAAE,UAAkB;gBACtC,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,sBAAsB,IAAA,aAAG,EAAC,UAAU,CAAC,EAAE;iBAC7E,CAAC,CAAC;YACL,CAAC;YACD,gFAAgF;YAChF,YAAY,CACV,KAAa,EACb,UAAkB;gBAElB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,sBAAsB,IAAA,aAAG,EAAC,UAAU,CAAC,gBAAgB;iBAC3F,CAAC,CAAC;YACL,CAAC;YACD,UAAU,CAAC,KAAa,EAAE,UAAkB,EAAE,QAAqD,EAAE;gBACnG,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,sBAAsB,IAAA,aAAG,EAAC,UAAU,CAAC,aAAa;oBACvF,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;SACF;QAED,uDAAuD;QACvD,QAAQ,EAAE;YACR,GAAG,CAAC,KAAa;gBACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,yFAAyF;YACzF,MAAM,CAAC,KAAa,EAAE,IAAoC;gBACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5F,CAAC;SACF;QAED,qFAAqF;QACrF,QAAQ,EAAE;YACR,IAAI,CACF,KAAa,EACb,SAAyC,EAAE;gBAE3C,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,YAAY;oBACjD,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE;iBACrB,CAAC,CAAC;YACL,CAAC;YACD,2FAA2F;YAC3F,GAAG,CACD,KAAa,EACb,IAAgC,EAChC,cAAuB;gBAEvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,YAAY;oBACjD,IAAI;oBACJ,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YACD,8DAA8D;YAC9D,MAAM,CACJ,KAAa,EACb,MAAc,EACd,IAA2C;gBAE3C,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,cAAc,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE;oBAChE,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,KAAa,EACb,MAAc;gBAEd,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,cAAc,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE;iBACjE,CAAC,CAAC;YACL,CAAC;SACF;QAED,wEAAwE;QACxE,YAAY,EAAE;YACZ,IAAI,CAAC,KAAa;gBAChB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,mFAAmF;YACnF,MAAM,CACJ,KAAa,EACb,IAAsB,EACtB,cAAuB;gBAEvB,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB;oBACrD,IAAI;oBACJ,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,KAAa;gBAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC9F,CAAC;SACF;QAED,uEAAuE;QACvE,UAAU,EAAE;YACV,KAAK,CACH,KAAa,EACb,OAAe,EACf,MAAc;gBAQd,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,WAAW,IAAA,aAAG,EAAC,OAAO,CAAC,UAAU,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE;iBACpF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,KAAa,EACb,OAAe,EACf,MAAc;gBAQd,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,KAAK,CAAC,WAAW,IAAA,aAAG,EAAC,OAAO,CAAC,UAAU,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE;iBACpF,CAAC,CAAC;YACL,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { type RequestFn } from './request';
|
|
2
|
+
/**
|
|
3
|
+
* Signed policy bundles: the instance's ABAC policies and FGA authorization
|
|
4
|
+
* models as one versioned tar.gz with a manifest of file digests, signed with the
|
|
5
|
+
* instance signing key (detached JWS). Export, verify, and import with a dry-run
|
|
6
|
+
* diff. To check a bundle WITHOUT calling Atlas, use `verifyPolicyBundle`.
|
|
7
|
+
*/
|
|
8
|
+
export interface PolicyBundle {
|
|
9
|
+
object: 'policy_bundle';
|
|
10
|
+
/** A digest of the bundle CONTENT (`rev_…`): the same policy has the same revision everywhere. */
|
|
11
|
+
revision: string;
|
|
12
|
+
sha256: string;
|
|
13
|
+
size: number;
|
|
14
|
+
key_id: string;
|
|
15
|
+
algorithm: 'RS256' | 'ES256';
|
|
16
|
+
/** Detached compact JWS (`header..signature`) over the archive bytes. */
|
|
17
|
+
signature: string;
|
|
18
|
+
origin: 'export' | 'import';
|
|
19
|
+
manifest: Record<string, unknown>;
|
|
20
|
+
/** The tar.gz, base64. Present on export and get; omitted from lists. */
|
|
21
|
+
bundle?: string;
|
|
22
|
+
media_type?: 'application/gzip';
|
|
23
|
+
created_at: number;
|
|
24
|
+
}
|
|
25
|
+
export interface PolicyBundleUpload {
|
|
26
|
+
/** The tar.gz, base64 (a `Uint8Array` is encoded for you). */
|
|
27
|
+
bundle: string | Uint8Array;
|
|
28
|
+
signature: string;
|
|
29
|
+
/** Public keys to trust in addition to this instance's, e.g. the staging instance when promoting to production. */
|
|
30
|
+
trusted_jwks?: {
|
|
31
|
+
keys: Array<Record<string, unknown>>;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface PolicyBundleVerification {
|
|
35
|
+
object: 'policy_bundle_verification';
|
|
36
|
+
/** Signature AND integrity both check out. */
|
|
37
|
+
valid: boolean;
|
|
38
|
+
signature: {
|
|
39
|
+
valid: boolean;
|
|
40
|
+
key_id: string | null;
|
|
41
|
+
algorithm: string | null;
|
|
42
|
+
error?: string;
|
|
43
|
+
};
|
|
44
|
+
integrity: {
|
|
45
|
+
valid: boolean;
|
|
46
|
+
code?: string;
|
|
47
|
+
error?: string;
|
|
48
|
+
};
|
|
49
|
+
revision: string | null;
|
|
50
|
+
manifest: Record<string, unknown> | null;
|
|
51
|
+
}
|
|
52
|
+
export interface PolicyBundleDiffSection {
|
|
53
|
+
create: string[];
|
|
54
|
+
update: Array<{
|
|
55
|
+
name: string;
|
|
56
|
+
changed: string[];
|
|
57
|
+
}>;
|
|
58
|
+
/** On the instance, absent from the bundle. ABAC policies are deleted only with `prune`; FGA stores never. */
|
|
59
|
+
absent: string[];
|
|
60
|
+
unchanged: number;
|
|
61
|
+
}
|
|
62
|
+
export interface PolicyBundleDiff {
|
|
63
|
+
abac_policies: PolicyBundleDiffSection;
|
|
64
|
+
fga_stores: PolicyBundleDiffSection;
|
|
65
|
+
abac_templates: PolicyBundleDiffSection;
|
|
66
|
+
abac_links: PolicyBundleDiffSection;
|
|
67
|
+
/** `absent`: the instance has a schema and the bundle does not (removed only with `prune`). */
|
|
68
|
+
abac_schema: 'create' | 'update' | 'absent' | 'unchanged';
|
|
69
|
+
identical: boolean;
|
|
70
|
+
}
|
|
71
|
+
export interface PolicyBundleImport {
|
|
72
|
+
object: 'policy_bundle_import';
|
|
73
|
+
dry_run: boolean;
|
|
74
|
+
applied: boolean;
|
|
75
|
+
prune: boolean;
|
|
76
|
+
revision: string;
|
|
77
|
+
diff: PolicyBundleDiff;
|
|
78
|
+
}
|
|
79
|
+
export declare function policyBundlesResource(request: RequestFn): {
|
|
80
|
+
/** The stored bundles, newest first (without archives). */
|
|
81
|
+
list(): Promise<{
|
|
82
|
+
object: "list";
|
|
83
|
+
data: PolicyBundle[];
|
|
84
|
+
has_more: boolean;
|
|
85
|
+
}>;
|
|
86
|
+
/** The revision the instance policy is at right now — compare with a deployed bundle's to detect drift. */
|
|
87
|
+
current(): Promise<{
|
|
88
|
+
object: "policy_bundle_revision";
|
|
89
|
+
revision: string;
|
|
90
|
+
}>;
|
|
91
|
+
/** Export the current policy as a signed bundle. */
|
|
92
|
+
export(): Promise<PolicyBundle>;
|
|
93
|
+
get(revision: string): Promise<PolicyBundle>;
|
|
94
|
+
/** Check a bundle's signature and integrity on Atlas. */
|
|
95
|
+
verify(body: PolicyBundleUpload): Promise<PolicyBundleVerification>;
|
|
96
|
+
/**
|
|
97
|
+
* Import a signed bundle. `dryRun` returns what would change and applies
|
|
98
|
+
* nothing; a real import applies everything in one transaction. A bundle whose
|
|
99
|
+
* signature or integrity fails is refused with 422 before anything changes.
|
|
100
|
+
*/
|
|
101
|
+
import(body: PolicyBundleUpload & {
|
|
102
|
+
dry_run?: boolean;
|
|
103
|
+
prune?: boolean;
|
|
104
|
+
}): Promise<PolicyBundleImport>;
|
|
105
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.policyBundlesResource = policyBundlesResource;
|
|
4
|
+
const request_1 = require("./request");
|
|
5
|
+
const toBase64 = (b) => typeof b === 'string' ? b : btoa(Array.from(b, (c) => String.fromCharCode(c)).join(''));
|
|
6
|
+
function policyBundlesResource(request) {
|
|
7
|
+
const upload = (u) => ({ ...u, bundle: toBase64(u.bundle) });
|
|
8
|
+
return {
|
|
9
|
+
/** The stored bundles, newest first (without archives). */
|
|
10
|
+
list() {
|
|
11
|
+
return request({ method: 'GET', path: '/v1/policy_bundles' });
|
|
12
|
+
},
|
|
13
|
+
/** The revision the instance policy is at right now — compare with a deployed bundle's to detect drift. */
|
|
14
|
+
current() {
|
|
15
|
+
return request({ method: 'GET', path: '/v1/policy_bundles/current' });
|
|
16
|
+
},
|
|
17
|
+
/** Export the current policy as a signed bundle. */
|
|
18
|
+
export() {
|
|
19
|
+
return request({ method: 'POST', path: '/v1/policy_bundles' });
|
|
20
|
+
},
|
|
21
|
+
get(revision) {
|
|
22
|
+
return request({ method: 'GET', path: `/v1/policy_bundles/${(0, request_1.enc)(revision)}` });
|
|
23
|
+
},
|
|
24
|
+
/** Check a bundle's signature and integrity on Atlas. */
|
|
25
|
+
verify(body) {
|
|
26
|
+
return request({ method: 'POST', path: '/v1/policy_bundles/verify', body: upload(body) });
|
|
27
|
+
},
|
|
28
|
+
/**
|
|
29
|
+
* Import a signed bundle. `dryRun` returns what would change and applies
|
|
30
|
+
* nothing; a real import applies everything in one transaction. A bundle whose
|
|
31
|
+
* signature or integrity fails is refused with 422 before anything changes.
|
|
32
|
+
*/
|
|
33
|
+
import(body) {
|
|
34
|
+
return request({ method: 'POST', path: '/v1/policy_bundles/import', body: upload(body) });
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=policy-bundles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-bundles.js","sourceRoot":"","sources":["../../src/client/policy-bundles.ts"],"names":[],"mappings":";;AA2EA,sDA+BC;AA1GD,uCAAgD;AAwEhD,MAAM,QAAQ,GAAG,CAAC,CAAsB,EAAU,EAAE,CAClD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1F,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,MAAM,MAAM,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjF,OAAO;QACL,2DAA2D;QAC3D,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,2GAA2G;QAC3G,OAAO;YACL,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,oDAAoD;QACpD,MAAM;YACJ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,QAAgB;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,yDAAyD;QACzD,MAAM,CAAC,IAAwB;YAC7B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD;;;;WAIG;QACH,MAAM,CAAC,IAAiE;YACtE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/client/resources.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/client/resources.ts"],"names":[],"mappings":"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"}
|