@atlasauth/backend 0.17.0 → 0.19.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.
Files changed (93) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/backchannel-handlers.d.ts +87 -0
  3. package/dist/backchannel-handlers.js +137 -0
  4. package/dist/backchannel-handlers.js.map +1 -0
  5. package/dist/client/activity.d.ts +13 -2
  6. package/dist/client/activity.js.map +1 -1
  7. package/dist/client/audit-logs.d.ts +7 -0
  8. package/dist/client/audit-logs.js.map +1 -1
  9. package/dist/client/compliance.d.ts +216 -0
  10. package/dist/client/compliance.js +77 -0
  11. package/dist/client/compliance.js.map +1 -0
  12. package/dist/client/credentials.d.ts +409 -0
  13. package/dist/client/credentials.js +158 -0
  14. package/dist/client/credentials.js.map +1 -0
  15. package/dist/client/data-subject-requests.d.ts +36 -1
  16. package/dist/client/data-subject-requests.js.map +1 -1
  17. package/dist/client/design.d.ts +48 -0
  18. package/dist/client/design.js +9 -0
  19. package/dist/client/design.js.map +1 -1
  20. package/dist/client/entitlement-overrides.d.ts +30 -0
  21. package/dist/client/entitlement-overrides.js +9 -0
  22. package/dist/client/entitlement-overrides.js.map +1 -1
  23. package/dist/client/env.d.ts +16 -0
  24. package/dist/client/env.js +38 -0
  25. package/dist/client/env.js.map +1 -0
  26. package/dist/client/error.d.ts +10 -0
  27. package/dist/client/error.js +4 -0
  28. package/dist/client/error.js.map +1 -1
  29. package/dist/client/index.d.ts +382 -7
  30. package/dist/client/index.js +44 -1
  31. package/dist/client/index.js.map +1 -1
  32. package/dist/client/instance.d.ts +401 -3
  33. package/dist/client/instance.js +77 -3
  34. package/dist/client/instance.js.map +1 -1
  35. package/dist/client/integrations.d.ts +107 -0
  36. package/dist/client/integrations.js +25 -0
  37. package/dist/client/integrations.js.map +1 -0
  38. package/dist/client/messaging.d.ts +18 -4
  39. package/dist/client/messaging.js +6 -2
  40. package/dist/client/messaging.js.map +1 -1
  41. package/dist/client/oauth-clients.d.ts +11 -3
  42. package/dist/client/oauth-clients.js +4 -2
  43. package/dist/client/oauth-clients.js.map +1 -1
  44. package/dist/client/operator.d.ts +100 -0
  45. package/dist/client/operator.js +132 -0
  46. package/dist/client/operator.js.map +1 -0
  47. package/dist/client/platform.d.ts +233 -9
  48. package/dist/client/platform.js +74 -6
  49. package/dist/client/platform.js.map +1 -1
  50. package/dist/client/policies.d.ts +316 -0
  51. package/dist/client/policies.js +103 -0
  52. package/dist/client/policies.js.map +1 -0
  53. package/dist/client/privacy.d.ts +127 -0
  54. package/dist/client/privacy.js +44 -0
  55. package/dist/client/privacy.js.map +1 -0
  56. package/dist/client/referrals.d.ts +53 -6
  57. package/dist/client/referrals.js +9 -0
  58. package/dist/client/referrals.js.map +1 -1
  59. package/dist/client/request.d.ts +38 -1
  60. package/dist/client/request.js +6 -2
  61. package/dist/client/request.js.map +1 -1
  62. package/dist/client/sealed-box.d.ts +7 -0
  63. package/dist/client/sealed-box.js +62 -0
  64. package/dist/client/sealed-box.js.map +1 -0
  65. package/dist/client/sessions.d.ts +16 -5
  66. package/dist/client/sessions.js +7 -10
  67. package/dist/client/sessions.js.map +1 -1
  68. package/dist/client/status.d.ts +200 -0
  69. package/dist/client/status.js +54 -0
  70. package/dist/client/status.js.map +1 -0
  71. package/dist/client/users.d.ts +15 -0
  72. package/dist/client/webhooks.d.ts +244 -11
  73. package/dist/client/webhooks.js +52 -3
  74. package/dist/client/webhooks.js.map +1 -1
  75. package/dist/index.d.ts +9 -6
  76. package/dist/index.js +20 -4
  77. package/dist/index.js.map +1 -1
  78. package/dist/oidc.d.ts +65 -1
  79. package/dist/oidc.js +46 -0
  80. package/dist/oidc.js.map +1 -1
  81. package/dist/policy-source.d.ts +104 -0
  82. package/dist/policy-source.js +99 -0
  83. package/dist/policy-source.js.map +1 -0
  84. package/dist/referral-test-calls.d.ts +26 -13
  85. package/dist/referral-test-calls.js +40 -14
  86. package/dist/referral-test-calls.js.map +1 -1
  87. package/dist/testing.d.ts +41 -6
  88. package/dist/testing.js +34 -2
  89. package/dist/testing.js.map +1 -1
  90. package/dist/webhooks.d.ts +8 -0
  91. package/dist/webhooks.js +13 -4
  92. package/dist/webhooks.js.map +1 -1
  93. package/package.json +6 -3
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.openSealedBox = exports.sealBox = exports.OAuthFlowError = void 0;
4
+ exports.operatorConfiguration = operatorConfiguration;
5
+ exports.startOperatorLogin = startOperatorLogin;
6
+ exports.pollOperatorLogin = pollOperatorLogin;
7
+ exports.exchangeOperatorToken = exchangeOperatorToken;
8
+ exports.partnerLinkToken = partnerLinkToken;
9
+ exports.generateSealKeyPair = generateSealKeyPair;
10
+ exports.openSealedSecret = openSealedSecret;
11
+ exports.revokeLeakedKeys = revokeLeakedKeys;
12
+ const sealed_box_1 = require("./sealed-box");
13
+ const toB64 = (b) => btoa(String.fromCharCode(...b));
14
+ const fromB64 = (s) => Uint8Array.from(atob(s), (c) => c.charCodeAt(0));
15
+ class OAuthFlowError extends Error {
16
+ error;
17
+ status;
18
+ constructor(error, message, status) {
19
+ super(message);
20
+ this.error = error;
21
+ this.status = status;
22
+ this.name = 'OAuthFlowError';
23
+ }
24
+ }
25
+ exports.OAuthFlowError = OAuthFlowError;
26
+ const DEFAULT_API = 'https://api.atlasauth.net';
27
+ async function form(fetchImpl, url, body) {
28
+ const res = await fetchImpl(url, {
29
+ method: 'POST',
30
+ headers: { 'content-type': 'application/x-www-form-urlencoded', accept: 'application/json' },
31
+ body: new URLSearchParams(body).toString(),
32
+ });
33
+ const json = (await res.json().catch(() => ({})));
34
+ return { ...json, _status: res.status };
35
+ }
36
+ /** GET /v1/operator — where the operator device flow and token exchange live. */
37
+ async function operatorConfiguration(opts = {}) {
38
+ const f = opts.fetch ?? globalThis.fetch;
39
+ const res = await f(`${(opts.apiUrl ?? DEFAULT_API).replace(/\/+$/, '')}/v1/operator`, { headers: { accept: 'application/json' } });
40
+ if (!res.ok)
41
+ throw new OAuthFlowError('not_configured', 'The operator issuer is not configured on this deployment.', res.status);
42
+ return (await res.json());
43
+ }
44
+ async function startOperatorLogin(opts = {}) {
45
+ const config = opts.config ?? (await operatorConfiguration(opts));
46
+ const out = await form(opts.fetch ?? globalThis.fetch, config.device_authorization_endpoint, { client_id: config.client_id, scope: config.scope });
47
+ if (out._status !== 200)
48
+ throw new OAuthFlowError(String(out.error ?? 'error'), String(out.error_description ?? 'Device authorization failed.'), out._status);
49
+ return { ...out, config };
50
+ }
51
+ /**
52
+ * Poll until the person approves (resolves the operator token), denies or the
53
+ * code expires (throws). Honours `interval` and `slow_down`.
54
+ */
55
+ async function pollOperatorLogin(start, opts = {}) {
56
+ const f = opts.fetch ?? globalThis.fetch;
57
+ const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
58
+ let interval = Math.max(1, start.interval) * 1000;
59
+ const deadline = Date.now() + start.expires_in * 1000;
60
+ while (Date.now() < deadline) {
61
+ if (opts.signal?.aborted)
62
+ throw new OAuthFlowError('aborted', 'Sign-in was cancelled.', 0);
63
+ await sleep(interval);
64
+ const out = await form(f, start.config.token_endpoint, {
65
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
66
+ device_code: start.device_code,
67
+ client_id: start.config.client_id,
68
+ });
69
+ if (out._status === 200)
70
+ return out;
71
+ if (out.error === 'authorization_pending')
72
+ continue;
73
+ if (out.error === 'slow_down') {
74
+ interval += 5000;
75
+ continue;
76
+ }
77
+ throw new OAuthFlowError(String(out.error ?? 'error'), String(out.error_description ?? 'Sign-in failed.'), out._status);
78
+ }
79
+ throw new OAuthFlowError('expired_token', 'The sign-in code expired. Run the login again.', 400);
80
+ }
81
+ /** RFC 8693: swap an operator token for a one-hour, resource-bound Atlas token. */
82
+ async function exchangeOperatorToken(subjectToken, params, opts = {}) {
83
+ const out = await form(opts.fetch ?? globalThis.fetch, `${(opts.apiUrl ?? DEFAULT_API).replace(/\/+$/, '')}/v1/oauth/token`, {
84
+ grant_type: 'urn:ietf:params:oauth:grant-type:token-exchange',
85
+ subject_token: subjectToken,
86
+ subject_token_type: 'urn:ietf:params:oauth:token-type:access_token',
87
+ audience: 'atlas',
88
+ resource: params.resource,
89
+ scope: Array.isArray(params.scope) ? params.scope.join(' ') : params.scope,
90
+ });
91
+ if (out._status !== 200) {
92
+ const err = out.error ?? (Array.isArray(out.errors) ? out.errors[0].code : 'error');
93
+ const msg = out.error_description ?? (Array.isArray(out.errors) ? out.errors[0].message : 'Token exchange failed.');
94
+ throw new OAuthFlowError(String(err), String(msg), out._status);
95
+ }
96
+ return out;
97
+ }
98
+ /** client_credentials with a partner link's credentials (a partner calling an instance). */
99
+ async function partnerLinkToken(clientId, clientSecret, opts = {}) {
100
+ const body = { grant_type: 'client_credentials', client_id: clientId, client_secret: clientSecret };
101
+ if (opts.scope)
102
+ body.scope = opts.scope;
103
+ const out = await form(opts.fetch ?? globalThis.fetch, `${(opts.apiUrl ?? DEFAULT_API).replace(/\/+$/, '')}/v1/oauth/token`, body);
104
+ if (out._status !== 200)
105
+ throw new OAuthFlowError(String(out.error ?? 'error'), String(out.error_description ?? 'Token request failed.'), out._status);
106
+ return out;
107
+ }
108
+ /** A key pair for sealed secret delivery; pass `secretRecipient` to the client. */
109
+ function generateSealKeyPair() {
110
+ const pair = (0, sealed_box_1.generateSealKeyPair)();
111
+ return { ...pair, secretRecipient: `x25519:${toB64(pair.publicKey)}` };
112
+ }
113
+ /** Open a `sealed_*` field (base64 libsodium sealed box) from an Atlas response. */
114
+ function openSealedSecret(sealedBase64, keyPair) {
115
+ return new TextDecoder().decode((0, sealed_box_1.openSealedBox)(fromB64(sealedBase64), keyPair.publicKey, keyPair.secretKey));
116
+ }
117
+ /** POST /v1/keys/revoke_leaked — revoke leaked Atlas credentials (no key needed). */
118
+ async function revokeLeakedKeys(secrets, opts = {}) {
119
+ const f = opts.fetch ?? globalThis.fetch;
120
+ const res = await f(`${(opts.apiUrl ?? DEFAULT_API).replace(/\/+$/, '')}/v1/keys/revoke_leaked`, {
121
+ method: 'POST',
122
+ headers: { 'content-type': 'application/json', accept: 'application/json' },
123
+ body: JSON.stringify({ secrets, ...(opts.url ? { url: opts.url } : {}) }),
124
+ });
125
+ if (!res.ok)
126
+ throw new OAuthFlowError('request_failed', `revoke_leaked failed (${res.status}).`, res.status);
127
+ return (await res.json());
128
+ }
129
+ var sealed_box_2 = require("./sealed-box");
130
+ Object.defineProperty(exports, "sealBox", { enumerable: true, get: function () { return sealed_box_2.sealBox; } });
131
+ Object.defineProperty(exports, "openSealedBox", { enumerable: true, get: function () { return sealed_box_2.openSealedBox; } });
132
+ //# sourceMappingURL=operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../src/client/operator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { type ProvisioningFields, type ProvisioningInput, type ProvisioningMetadata } from './compliance';
2
+ import type { KeyKind, StandardKey, Whoami } from './credentials';
1
3
  import { type AtlasRequestSettings, type RequestFn, type UnknownFieldsEvent } from './request';
2
4
  import type { ListPage } from './types';
3
5
  import type { BackchannelDeliveriesQuery, BackchannelLogoutDeliveryPage, BackchannelLogoutTest } from './oauth-clients';
@@ -13,6 +15,28 @@ export interface AtlasIdAppPreflight {
13
15
  checked_at: number;
14
16
  user_count: number;
15
17
  findings: PreflightFinding[];
18
+ /** The page origins the Sign in with Atlas button script ran on in the last 7 days. */
19
+ button_rendered_origins?: {
20
+ origin: string;
21
+ last_seen_at: number;
22
+ requests: number;
23
+ }[];
24
+ /** How the last 7 days' sign-ins started: the rendered button, the script API, One Tap, the no-script fallback, or unmarked. */
25
+ authorize_requests_7d?: {
26
+ button: number;
27
+ js: number;
28
+ fedcm: number;
29
+ fallback: number;
30
+ unmarked: number;
31
+ };
32
+ /** Origins of sign-ins that came through the no-script fallback link (`?atlasid_fallback=1`). */
33
+ fallback_origins?: {
34
+ origin: string;
35
+ last_seen_at: number;
36
+ requests: number;
37
+ }[];
38
+ /** Whether the app's homepage references the button script (null = could not check). */
39
+ homepage_includes_script?: boolean | null;
16
40
  }
17
41
  /**
18
42
  * The platform client: the platform-key (`psk_...`) surface for provisioning and
@@ -22,8 +46,14 @@ export interface AtlasIdAppPreflight {
22
46
  * platform key manages many apps, a secret key manages exactly one instance.
23
47
  */
24
48
  export interface AtlasPlatformClientConfig {
25
- /** The platform key (`psk_...`). Sent as `Authorization: Bearer <key>`; never logged. */
49
+ /**
50
+ * The platform key (`atlas_live_psk_…` or legacy `psk_…`), or a one-hour
51
+ * platform-bound access token from `exchangeOperatorToken`. Sent as
52
+ * `Authorization: Bearer <key>`; never logged.
53
+ */
26
54
  platformKey: string;
55
+ /** Sealed secret delivery (`x25519:<public key>`); see AtlasClientConfig.secretRecipient. */
56
+ secretRecipient?: string;
27
57
  /** Base URL of the API, e.g. `https://api.atlasauth.net`. */
28
58
  apiUrl?: string;
29
59
  /** Injectable `fetch`, for tests and non-global-fetch runtimes. */
@@ -34,7 +64,7 @@ export interface AtlasPlatformClientConfig {
34
64
  onUnknownFields?: (event: UnknownFieldsEvent) => void;
35
65
  }
36
66
  /** An app (instance) a platform owns. Never carries a secret. */
37
- export interface PlatformApp {
67
+ export interface PlatformApp extends ProvisioningFields {
38
68
  object: 'app';
39
69
  id: string;
40
70
  name: string;
@@ -86,12 +116,17 @@ export interface CreatePlatformAppBody {
86
116
  /** Default true: also provision a test-mode sibling instance. */
87
117
  create_development_sibling?: boolean;
88
118
  tags?: string[];
119
+ metadata?: ProvisioningMetadata;
120
+ /** A stable key of your own: a repeat create with it returns the existing app (200, no secret). */
121
+ external_ref?: string;
89
122
  }
90
123
  export interface UpdatePlatformAppBody {
91
124
  name?: string;
92
125
  /** Origin strings, or `{ origin, integration }` entries (`redirect` | `embedded` | `auto`). */
93
126
  allowed_origins?: AllowedOriginInput[];
94
127
  tags?: string[];
128
+ /** Replaces the provisioning metadata. */
129
+ metadata?: ProvisioningMetadata;
95
130
  }
96
131
  export interface ListPlatformAppsParams {
97
132
  /** Only apps carrying this tag. */
@@ -100,8 +135,10 @@ export interface ListPlatformAppsParams {
100
135
  archived?: boolean;
101
136
  /** `true`: include archived apps alongside active ones. */
102
137
  include_archived?: boolean;
138
+ /** Only apps whose provisioning metadata matches every pair. */
139
+ metadata?: ProvisioningMetadata;
103
140
  }
104
- export interface CreatePlatformInstanceBody {
141
+ export interface CreatePlatformInstanceBody extends ProvisioningInput {
105
142
  environment?: 'production' | 'development';
106
143
  /** Origin strings, or `{ origin, integration }` entries (`redirect` | `embedded` | `auto`). */
107
144
  allowed_origins?: AllowedOriginInput[];
@@ -145,9 +182,10 @@ export interface RotateAtlasIdAppSecretBody {
145
182
  overlap_seconds?: number;
146
183
  }
147
184
  /** Metadata of a currently-valid secret key. Never the secret itself. */
148
- export interface PlatformSecretKey {
185
+ export interface PlatformSecretKey extends ProvisioningFields {
149
186
  object: 'secret_key';
150
187
  id: string;
188
+ name?: string | null;
151
189
  prefix: string;
152
190
  created_at: number;
153
191
  expires_at?: number | null;
@@ -162,11 +200,70 @@ export interface PlatformAppTransfer {
162
200
  }
163
201
  export interface PlatformAppBulkDeleteResult {
164
202
  object: 'bulk_delete_result';
203
+ /** `disable` (ids) or `hard_delete` (a sandbox metadata selection). */
204
+ mode?: 'disable' | 'hard_delete';
205
+ dry_run?: boolean;
165
206
  results: Array<{
166
207
  id: string;
208
+ type?: string;
209
+ instance_id?: string;
167
210
  deleted: boolean;
168
211
  reason?: string;
169
212
  }>;
213
+ changes?: Array<{
214
+ section: string;
215
+ before: unknown;
216
+ after: unknown;
217
+ }>;
218
+ }
219
+ /** A sandbox teardown selection: must carry `sandbox: true`. */
220
+ export interface SandboxTeardownBody {
221
+ metadata: ProvisioningMetadata;
222
+ dry_run?: boolean;
223
+ }
224
+ /** A named, tagged extra secret key for an app. */
225
+ export interface CreatePlatformSecretKeyBody extends ProvisioningInput {
226
+ name?: string;
227
+ /** Any instance of the same app; default the app's own. */
228
+ instance_id?: string;
229
+ }
230
+ export interface CreatedPlatformSecretKey extends PlatformSecretKey {
231
+ app_id: string;
232
+ instance_id: string;
233
+ /** Present only on a fresh create (never on an idempotent replay). */
234
+ secret?: string;
235
+ note?: string;
236
+ }
237
+ export interface CloneConfigBody {
238
+ /** Default `development`. */
239
+ to_environment?: 'development' | 'production';
240
+ target_instance_id?: string;
241
+ /** Default auth_config, roles, redirect_urls. */
242
+ sections?: Array<'auth_config' | 'allowed_origins' | 'roles' | 'redirect_urls'>;
243
+ include_origins?: boolean;
244
+ dry_run?: boolean;
245
+ }
246
+ export interface CloneConfigResult {
247
+ object: 'clone_config_result' | 'dry_run';
248
+ source_instance_id: string;
249
+ target_instance_id: string | null;
250
+ to_environment: string;
251
+ created_target: boolean;
252
+ sections: string[];
253
+ excluded: Array<{
254
+ path: string;
255
+ reason: 'secret' | 'instance_specific';
256
+ }>;
257
+ never_copied: string[];
258
+ changes: Array<{
259
+ section: string;
260
+ before: unknown;
261
+ after: unknown;
262
+ }>;
263
+ target?: PlatformApp | null;
264
+ /** When a new instance was created for the clone: its secret key, shown once. */
265
+ secret?: string;
266
+ note?: string;
170
267
  }
171
268
  export interface AccountlessApp {
172
269
  object: 'accountless_app';
@@ -231,7 +328,7 @@ export interface AtlasIdAppBrandingInput {
231
328
  copy?: AtlasIdAppCopy;
232
329
  }
233
330
  /** A Sign in with Atlas app: an OpenID Connect client on the Atlas issuer. */
234
- export interface AtlasIdApp {
331
+ export interface AtlasIdApp extends ProvisioningFields {
235
332
  object: 'atlas_id_app';
236
333
  id: string;
237
334
  client_id: string;
@@ -346,7 +443,7 @@ interface AtlasIdAppFields {
346
443
  allowed_scopes?: string[];
347
444
  branding?: AtlasIdAppBrandingInput | null;
348
445
  }
349
- export interface CreateAtlasIdAppBody extends AtlasIdAppFields {
446
+ export interface CreateAtlasIdAppBody extends AtlasIdAppFields, ProvisioningInput {
350
447
  name: string;
351
448
  redirect_uris: string[];
352
449
  /** Default `confidential`. */
@@ -354,6 +451,8 @@ export interface CreateAtlasIdAppBody extends AtlasIdAppFields {
354
451
  }
355
452
  export interface UpdateAtlasIdAppBody extends AtlasIdAppFields {
356
453
  name?: string;
454
+ /** Replaces the provisioning metadata. */
455
+ metadata?: ProvisioningMetadata;
357
456
  redirect_uris?: string[];
358
457
  /**
359
458
  * Per-app webhook (public https): user.updated, user.deleted and grant.revoked for
@@ -361,7 +460,117 @@ export interface UpdateAtlasIdAppBody extends AtlasIdAppFields {
361
460
  */
362
461
  webhook_url?: string | null;
363
462
  }
463
+ export interface AccountAuditRecord {
464
+ object: 'account_audit_log';
465
+ id: string;
466
+ account_id: string;
467
+ actor: {
468
+ type: string;
469
+ id: string | null;
470
+ };
471
+ action: string;
472
+ target: {
473
+ type: string | null;
474
+ id: string | null;
475
+ };
476
+ instance_id: string | null;
477
+ ip: string | null;
478
+ user_agent: string | null;
479
+ metadata: Record<string, unknown>;
480
+ created_at: number;
481
+ }
482
+ export interface AccountAuditStream {
483
+ object: 'account_audit_stream';
484
+ id: string;
485
+ url: string;
486
+ format: 'atlas' | 'cloudevents';
487
+ active: boolean;
488
+ has_secret: true;
489
+ cursor: string | null;
490
+ consecutive_failures: number;
491
+ failing_since: number | null;
492
+ next_attempt_at: number | null;
493
+ last_delivered_at: number | null;
494
+ last_error: string | null;
495
+ created_at: number;
496
+ updated_at: number;
497
+ }
364
498
  declare function platformNamespaces(request: RequestFn): {
499
+ /** Introspect the platform key / token this client uses. */
500
+ whoami(): Promise<Whoami>;
501
+ /** Every credential on the account (incl. revoked), and minting/revoking them. */
502
+ keys: {
503
+ list(params?: {
504
+ kind?: KeyKind;
505
+ status?: StandardKey["status"];
506
+ instance_id?: string;
507
+ }): Promise<ListPage<StandardKey>>;
508
+ /** Scopes ⊆ the caller's; per-app grant scopes `atlas_id_apps:<app id>:grants:read|write` allowed. */
509
+ create(body: {
510
+ scopes: string[];
511
+ name?: string;
512
+ application_ids?: string[];
513
+ expires_at?: number | string;
514
+ ip_allowlist?: string[];
515
+ owner?: string;
516
+ key_format?: "atlas" | "legacy";
517
+ }): Promise<{
518
+ object: "platform_api_key";
519
+ id: string;
520
+ prefix: string;
521
+ scopes: string[];
522
+ secret?: string;
523
+ sealed_secret?: string;
524
+ }>;
525
+ update(id: string, body: {
526
+ name?: string | null;
527
+ owner?: string | null;
528
+ expires_at?: number | string | null;
529
+ }): Promise<{
530
+ object: "platform_api_key";
531
+ id: string;
532
+ }>;
533
+ revoke(id: string): Promise<{
534
+ object: "key";
535
+ id: string;
536
+ kind: KeyKind;
537
+ revoked: true;
538
+ }>;
539
+ };
540
+ /** The account audit log and its streams. */
541
+ audit: {
542
+ list(params?: {
543
+ limit?: number;
544
+ starting_after?: string;
545
+ action?: string;
546
+ }): Promise<ListPage<AccountAuditRecord>>;
547
+ streams: {
548
+ list(): Promise<ListPage<AccountAuditStream>>;
549
+ create(body: {
550
+ url: string;
551
+ format?: "atlas" | "cloudevents";
552
+ }): Promise<AccountAuditStream & {
553
+ secret?: string;
554
+ sealed_secret?: string;
555
+ }>;
556
+ update(id: string, body: {
557
+ url?: string;
558
+ format?: "atlas" | "cloudevents";
559
+ active?: boolean;
560
+ }): Promise<AccountAuditStream>;
561
+ delete(id: string): Promise<{
562
+ object: "account_audit_stream";
563
+ id: string;
564
+ deleted: true;
565
+ }>;
566
+ test(id: string): Promise<{
567
+ id: string;
568
+ ok: boolean;
569
+ status: number | null;
570
+ error?: string;
571
+ }>;
572
+ };
573
+ };
365
574
  apps: {
366
575
  /** Archived apps are hidden unless `include_archived` or `archived` is set. */
367
576
  list(params?: ListPlatformAppsParams): Promise<ListPage<PlatformApp>>;
@@ -377,7 +586,18 @@ declare function platformNamespaces(request: RequestFn): {
377
586
  note: string;
378
587
  }>;
379
588
  /** Disable up to 100 apps; ids you do not own are skipped as `not_found`. */
380
- bulkDelete(ids: string[]): Promise<PlatformAppBulkDeleteResult>;
589
+ bulkDelete(ids: string[] | SandboxTeardownBody): Promise<PlatformAppBulkDeleteResult>;
590
+ /**
591
+ * Hard delete every sandbox-tagged app and resource of this platform
592
+ * (`{ sandbox: true }` must be in the selection). `dry_run` lists what would go.
593
+ */
594
+ sandboxTeardown(metadata?: ProvisioningMetadata, opts?: {
595
+ dryRun?: boolean;
596
+ }): Promise<PlatformAppBulkDeleteResult>;
597
+ /** Copy an app's configuration into its development (or another) instance, secrets excluded. */
598
+ cloneConfig(id: string, body?: CloneConfigBody, idempotencyKey?: string): Promise<CloneConfigResult>;
599
+ /** Mint an additional named, taggable secret key (shown once; `external_ref` makes it idempotent). */
600
+ createSecretKey(id: string, body?: CreatePlatformSecretKeyBody, idempotencyKey?: string): Promise<CreatedPlatformSecretKey>;
381
601
  /** Hide from the default listing. Does not disable the app. */
382
602
  archive(id: string): Promise<PlatformApp>;
383
603
  unarchive(id: string): Promise<PlatformApp>;
@@ -387,7 +607,9 @@ declare function platformNamespaces(request: RequestFn): {
387
607
  */
388
608
  rotateSecret(id: string, body?: RotatePlatformSecretBody, idempotencyKey?: string): Promise<PlatformAppSecretRotation>;
389
609
  /** Currently-valid secret keys (metadata only). */
390
- secretKeys(id: string): Promise<ListPage<PlatformSecretKey>>;
610
+ secretKeys(id: string, params?: {
611
+ metadata?: ProvisioningMetadata;
612
+ }): Promise<ListPage<PlatformSecretKey>>;
391
613
  instances: {
392
614
  list(appId: string): Promise<ListPage<PlatformApp>>;
393
615
  /** Add an instance (e.g. development beside production); secret revealed once. */
@@ -415,7 +637,9 @@ declare function platformNamespaces(request: RequestFn): {
415
637
  };
416
638
  /** Sign in with Atlas apps registered to the platform's account. */
417
639
  atlasIdApps: {
418
- list(): Promise<AtlasIdAppList>;
640
+ list(params?: {
641
+ metadata?: ProvisioningMetadata;
642
+ }): Promise<AtlasIdAppList>;
419
643
  /** Register an app. A confidential app's `client_secret` is returned exactly once. */
420
644
  create(body: CreateAtlasIdAppBody, idempotencyKey?: string): Promise<AtlasIdAppWithSecret>;
421
645
  get(id: string): Promise<AtlasIdApp>;
@@ -1,14 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createAtlasPlatformClient = createAtlasPlatformClient;
4
+ const compliance_1 = require("./compliance");
4
5
  const request_1 = require("./request");
5
6
  // ---- the client ----------------------------------------------------------------
6
7
  function platformNamespaces(request) {
7
8
  return {
9
+ /** Introspect the platform key / token this client uses. */
10
+ whoami() {
11
+ return request({ method: 'GET', path: '/v1/platform/whoami' });
12
+ },
13
+ /** Every credential on the account (incl. revoked), and minting/revoking them. */
14
+ keys: {
15
+ list(params = {}) {
16
+ return request({ method: 'GET', path: '/v1/platform/keys', query: { ...params } });
17
+ },
18
+ /** Scopes ⊆ the caller's; per-app grant scopes `atlas_id_apps:<app id>:grants:read|write` allowed. */
19
+ create(body) {
20
+ return request({ method: 'POST', path: '/v1/platform/keys', body });
21
+ },
22
+ update(id, body) {
23
+ return request({ method: 'PATCH', path: `/v1/platform/keys/${(0, request_1.enc)(id)}`, body });
24
+ },
25
+ revoke(id) {
26
+ return request({ method: 'POST', path: `/v1/platform/keys/${(0, request_1.enc)(id)}/revoke` });
27
+ },
28
+ },
29
+ /** The account audit log and its streams. */
30
+ audit: {
31
+ list(params = {}) {
32
+ return request({ method: 'GET', path: '/v1/platform/audit_logs', query: { ...params } });
33
+ },
34
+ streams: {
35
+ list() {
36
+ return request({ method: 'GET', path: '/v1/platform/audit_streams' });
37
+ },
38
+ create(body) {
39
+ return request({ method: 'POST', path: '/v1/platform/audit_streams', body });
40
+ },
41
+ update(id, body) {
42
+ return request({ method: 'PATCH', path: `/v1/platform/audit_streams/${(0, request_1.enc)(id)}`, body });
43
+ },
44
+ delete(id) {
45
+ return request({ method: 'DELETE', path: `/v1/platform/audit_streams/${(0, request_1.enc)(id)}` });
46
+ },
47
+ test(id) {
48
+ return request({ method: 'POST', path: `/v1/platform/audit_streams/${(0, request_1.enc)(id)}/test` });
49
+ },
50
+ },
51
+ },
8
52
  apps: {
9
53
  /** Archived apps are hidden unless `include_archived` or `archived` is set. */
10
54
  list(params = {}) {
11
- return request({ method: 'GET', path: '/v1/platform/apps', query: { ...params } });
55
+ const { metadata, ...rest } = params;
56
+ return request({ method: 'GET', path: '/v1/platform/apps', query: { ...rest, ...(0, compliance_1.metadataQuery)(metadata) } });
12
57
  },
13
58
  /** Provision an app; its secret key is revealed exactly once. */
14
59
  create(body = {}, idempotencyKey) {
@@ -26,7 +71,30 @@ function platformNamespaces(request) {
26
71
  },
27
72
  /** Disable up to 100 apps; ids you do not own are skipped as `not_found`. */
28
73
  bulkDelete(ids) {
29
- return request({ method: 'POST', path: '/v1/platform/apps/bulk_delete', body: { ids } });
74
+ return request({
75
+ method: 'POST',
76
+ path: '/v1/platform/apps/bulk_delete',
77
+ body: Array.isArray(ids) ? { ids } : ids,
78
+ });
79
+ },
80
+ /**
81
+ * Hard delete every sandbox-tagged app and resource of this platform
82
+ * (`{ sandbox: true }` must be in the selection). `dry_run` lists what would go.
83
+ */
84
+ sandboxTeardown(metadata = { sandbox: true }, opts = {}) {
85
+ return request({
86
+ method: 'POST',
87
+ path: '/v1/platform/apps/bulk_delete',
88
+ body: { metadata, ...(opts.dryRun ? { dry_run: true } : {}) },
89
+ });
90
+ },
91
+ /** Copy an app's configuration into its development (or another) instance, secrets excluded. */
92
+ cloneConfig(id, body = {}, idempotencyKey) {
93
+ return request({ method: 'POST', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/clone_config`, body, idempotencyKey });
94
+ },
95
+ /** Mint an additional named, taggable secret key (shown once; `external_ref` makes it idempotent). */
96
+ createSecretKey(id, body = {}, idempotencyKey) {
97
+ return request({ method: 'POST', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/secret_keys`, body, idempotencyKey });
30
98
  },
31
99
  /** Hide from the default listing. Does not disable the app. */
32
100
  archive(id) {
@@ -48,8 +116,8 @@ function platformNamespaces(request) {
48
116
  });
49
117
  },
50
118
  /** Currently-valid secret keys (metadata only). */
51
- secretKeys(id) {
52
- return request({ method: 'GET', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/secret_keys` });
119
+ secretKeys(id, params = {}) {
120
+ return request({ method: 'GET', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/secret_keys`, query: (0, compliance_1.metadataQuery)(params.metadata) });
53
121
  },
54
122
  instances: {
55
123
  list(appId) {
@@ -120,8 +188,8 @@ function platformNamespaces(request) {
120
188
  },
121
189
  /** Sign in with Atlas apps registered to the platform's account. */
122
190
  atlasIdApps: {
123
- list() {
124
- return request({ method: 'GET', path: '/v1/platform/atlas_id_apps' });
191
+ list(params = {}) {
192
+ return request({ method: 'GET', path: '/v1/platform/atlas_id_apps', query: (0, compliance_1.metadataQuery)(params.metadata) });
125
193
  },
126
194
  /** Register an app. A confidential app's `client_secret` is returned exactly once. */
127
195
  create(body, idempotencyKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/client/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/client/platform.ts"],"names":[],"mappings":"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"}