@atlasauth/backend 0.4.0 → 0.6.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 (119) hide show
  1. package/README.md +187 -0
  2. package/dist/client/activity.d.ts +104 -0
  3. package/dist/client/activity.js +29 -0
  4. package/dist/client/activity.js.map +1 -0
  5. package/dist/client/audit-events.d.ts +103 -0
  6. package/dist/client/audit-events.js +43 -0
  7. package/dist/client/audit-events.js.map +1 -0
  8. package/dist/client/billing-plans.d.ts +43 -0
  9. package/dist/client/billing-plans.js +26 -0
  10. package/dist/client/billing-plans.js.map +1 -1
  11. package/dist/client/connectors.d.ts +174 -0
  12. package/dist/client/connectors.js +54 -0
  13. package/dist/client/connectors.js.map +1 -0
  14. package/dist/client/data-subject-requests.d.ts +21 -0
  15. package/dist/client/data-subject-requests.js +15 -0
  16. package/dist/client/data-subject-requests.js.map +1 -1
  17. package/dist/client/design.d.ts +295 -0
  18. package/dist/client/design.js +76 -0
  19. package/dist/client/design.js.map +1 -0
  20. package/dist/client/diagnostics.d.ts +53 -0
  21. package/dist/client/diagnostics.js +24 -0
  22. package/dist/client/diagnostics.js.map +1 -0
  23. package/dist/client/email-addresses.d.ts +22 -0
  24. package/dist/client/email-addresses.js +17 -0
  25. package/dist/client/email-addresses.js.map +1 -0
  26. package/dist/client/entitlement-overrides.d.ts +50 -0
  27. package/dist/client/entitlement-overrides.js +20 -0
  28. package/dist/client/entitlement-overrides.js.map +1 -0
  29. package/dist/client/error.d.ts +28 -0
  30. package/dist/client/error.js +27 -1
  31. package/dist/client/error.js.map +1 -1
  32. package/dist/client/index.d.ts +458 -16
  33. package/dist/client/index.js +76 -2
  34. package/dist/client/index.js.map +1 -1
  35. package/dist/client/instance.d.ts +54 -0
  36. package/dist/client/instance.js +18 -0
  37. package/dist/client/instance.js.map +1 -1
  38. package/dist/client/invitations.d.ts +14 -0
  39. package/dist/client/invitations.js +9 -0
  40. package/dist/client/invitations.js.map +1 -1
  41. package/dist/client/legacy-auth.d.ts +45 -0
  42. package/dist/client/legacy-auth.js +18 -0
  43. package/dist/client/legacy-auth.js.map +1 -0
  44. package/dist/client/mcp.d.ts +86 -0
  45. package/dist/client/mcp.js +47 -0
  46. package/dist/client/mcp.js.map +1 -0
  47. package/dist/client/notifications.d.ts +92 -0
  48. package/dist/client/notifications.js +55 -0
  49. package/dist/client/notifications.js.map +1 -0
  50. package/dist/client/oauth-clients.d.ts +46 -2
  51. package/dist/client/oauth-clients.js +4 -0
  52. package/dist/client/oauth-clients.js.map +1 -1
  53. package/dist/client/oauth-providers.d.ts +67 -7
  54. package/dist/client/oauth-providers.js +7 -2
  55. package/dist/client/oauth-providers.js.map +1 -1
  56. package/dist/client/openfga.d.ts +137 -0
  57. package/dist/client/openfga.js +72 -0
  58. package/dist/client/openfga.js.map +1 -0
  59. package/dist/client/org-ldap-connections.d.ts +75 -0
  60. package/dist/client/org-ldap-connections.js +36 -0
  61. package/dist/client/org-ldap-connections.js.map +1 -0
  62. package/dist/client/organization-settings-schema.d.ts +24 -0
  63. package/dist/client/organization-settings-schema.js +30 -0
  64. package/dist/client/organization-settings-schema.js.map +1 -0
  65. package/dist/client/organizations.d.ts +205 -4
  66. package/dist/client/organizations.js +109 -0
  67. package/dist/client/organizations.js.map +1 -1
  68. package/dist/client/pca.d.ts +59 -0
  69. package/dist/client/pca.js +40 -0
  70. package/dist/client/pca.js.map +1 -0
  71. package/dist/client/platform.d.ts +328 -0
  72. package/dist/client/platform.js +187 -0
  73. package/dist/client/platform.js.map +1 -0
  74. package/dist/client/redirect-urls.d.ts +23 -0
  75. package/dist/client/redirect-urls.js +22 -0
  76. package/dist/client/redirect-urls.js.map +1 -0
  77. package/dist/client/request.d.ts +45 -0
  78. package/dist/client/request.js +35 -2
  79. package/dist/client/request.js.map +1 -1
  80. package/dist/client/session-exchange-apps.d.ts +43 -0
  81. package/dist/client/session-exchange-apps.js +25 -0
  82. package/dist/client/session-exchange-apps.js.map +1 -0
  83. package/dist/client/sessions.d.ts +12 -0
  84. package/dist/client/sessions.js +10 -0
  85. package/dist/client/sessions.js.map +1 -1
  86. package/dist/client/sign-in-tokens.d.ts +13 -1
  87. package/dist/client/sign-in-tokens.js +11 -0
  88. package/dist/client/sign-in-tokens.js.map +1 -1
  89. package/dist/client/test-mode.d.ts +44 -0
  90. package/dist/client/test-mode.js +26 -0
  91. package/dist/client/test-mode.js.map +1 -0
  92. package/dist/client/tickets.d.ts +49 -0
  93. package/dist/client/tickets.js +19 -0
  94. package/dist/client/tickets.js.map +1 -0
  95. package/dist/client/users.d.ts +346 -0
  96. package/dist/client/users.js +228 -0
  97. package/dist/client/users.js.map +1 -1
  98. package/dist/client/waitlist.d.ts +21 -0
  99. package/dist/client/waitlist.js +16 -0
  100. package/dist/client/waitlist.js.map +1 -1
  101. package/dist/client/webhooks.d.ts +60 -6
  102. package/dist/client/webhooks.js +36 -2
  103. package/dist/client/webhooks.js.map +1 -1
  104. package/dist/discovery.d.ts +49 -0
  105. package/dist/discovery.js +143 -0
  106. package/dist/discovery.js.map +1 -0
  107. package/dist/index.d.ts +3 -0
  108. package/dist/index.js +15 -1
  109. package/dist/index.js.map +1 -1
  110. package/dist/jwks-cache.d.ts +8 -0
  111. package/dist/jwks-cache.js +20 -3
  112. package/dist/jwks-cache.js.map +1 -1
  113. package/dist/logout-token.d.ts +97 -0
  114. package/dist/logout-token.js +182 -0
  115. package/dist/logout-token.js.map +1 -0
  116. package/dist/verify.d.ts +26 -3
  117. package/dist/verify.js +40 -5
  118. package/dist/verify.js.map +1 -1
  119. package/package.json +1 -1
@@ -4,6 +4,7 @@ exports.DEFAULT_API_URL = void 0;
4
4
  exports.serializeQuery = serializeQuery;
5
5
  exports.enc = enc;
6
6
  exports.createRequest = createRequest;
7
+ exports.createKeyedRequest = createKeyedRequest;
7
8
  const error_1 = require("./error");
8
9
  /** The default BAPI origin, overridable per instance via `apiUrl`. */
9
10
  exports.DEFAULT_API_URL = 'https://api.atlasauth.net';
@@ -35,6 +36,13 @@ function createRequest(config) {
35
36
  if (!config.secretKey) {
36
37
  throw new Error('createAtlasClient requires a secretKey.');
37
38
  }
39
+ return createKeyedRequest(config.secretKey, config);
40
+ }
41
+ /**
42
+ * The request core for any bearer key: the secret key (`sk_...`) of the
43
+ * management client or the platform key (`psk_...`) of the platform client.
44
+ */
45
+ function createKeyedRequest(key, config) {
38
46
  const base = config.apiUrl ?? exports.DEFAULT_API_URL;
39
47
  const fetchImpl = config.fetch ?? globalThis.fetch;
40
48
  if (typeof fetchImpl !== 'function') {
@@ -43,21 +51,46 @@ function createRequest(config) {
43
51
  return async function request(options) {
44
52
  const url = joinUrl(base, options.path) + serializeQuery(options.query);
45
53
  const headers = {
46
- authorization: `Bearer ${config.secretKey}`,
54
+ authorization: `Bearer ${key}`,
47
55
  accept: 'application/json',
48
56
  };
49
57
  let body;
50
- if (options.body !== undefined) {
58
+ if (options.rawBody !== undefined) {
59
+ const { data, contentType } = options.rawBody;
60
+ const type = contentType ?? (typeof Blob !== 'undefined' && data instanceof Blob ? data.type : '');
61
+ if (!type) {
62
+ throw new Error('A raw upload needs a contentType (for example image/png).');
63
+ }
64
+ headers['content-type'] = type;
65
+ body = data;
66
+ }
67
+ else if (options.body !== undefined) {
51
68
  headers['content-type'] = 'application/json';
52
69
  body = JSON.stringify(options.body);
53
70
  }
54
71
  if (options.idempotencyKey) {
55
72
  headers['idempotency-key'] = options.idempotencyKey;
56
73
  }
74
+ const strict = options.strict ?? config.strict;
75
+ if (strict !== undefined && options.method !== 'GET') {
76
+ headers['atlas-strict'] = strict ? 'true' : 'false';
77
+ }
57
78
  const response = await fetchImpl(url, { method: options.method, headers, body });
58
79
  if (!response.ok) {
59
80
  throw await toApiError(response);
60
81
  }
82
+ if (config.onUnknownFields) {
83
+ const ignored = response.headers?.get?.('atlas-unknown-fields');
84
+ if (ignored) {
85
+ const fields = ignored
86
+ .split(',')
87
+ .map((f) => f.trim())
88
+ .filter(Boolean);
89
+ if (fields.length) {
90
+ config.onUnknownFields({ method: options.method, path: options.path, fields });
91
+ }
92
+ }
93
+ }
61
94
  // 204 and other empty bodies: nothing to parse.
62
95
  if (response.status === 204)
63
96
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { type RequestFn } from './request';
2
+ import type { ListPage } from './types';
3
+ /**
4
+ * A downstream app that exchanges an Atlas session for its own. When the Atlas
5
+ * session ends, Atlas POSTs a signed `logout_token` to `backchannel_logout_uri`
6
+ * (verify it with `verifyLogoutToken`).
7
+ */
8
+ export interface SessionExchangeApp {
9
+ object: 'session_exchange_app';
10
+ id: string;
11
+ name: string;
12
+ backchannel_logout_uri: string;
13
+ /** The `aud` claim the logout_token carries. */
14
+ audience: string;
15
+ created_at: number;
16
+ updated_at: number;
17
+ }
18
+ export interface CreateSessionExchangeAppBody {
19
+ name: string;
20
+ /** Public https endpoint that receives `logout_token=<jwt>` (form-encoded). */
21
+ backchannel_logout_uri: string;
22
+ /** Override for the logout_token `aud`. Defaults to the app id. */
23
+ audience?: string | null;
24
+ }
25
+ export interface UpdateSessionExchangeAppBody {
26
+ name?: string;
27
+ backchannel_logout_uri?: string;
28
+ audience?: string | null;
29
+ }
30
+ export declare function sessionExchangeAppsResource(request: RequestFn): {
31
+ list(): Promise<ListPage<SessionExchangeApp> & {
32
+ next_cursor?: string | null;
33
+ }>;
34
+ create(body: CreateSessionExchangeAppBody, idempotencyKey?: string): Promise<SessionExchangeApp>;
35
+ get(id: string): Promise<SessionExchangeApp>;
36
+ update(id: string, body: UpdateSessionExchangeAppBody): Promise<SessionExchangeApp>;
37
+ /** Queued back-channel logout deliveries are deleted with it. */
38
+ delete(id: string): Promise<{
39
+ object: "session_exchange_app";
40
+ id: string;
41
+ deleted: true;
42
+ }>;
43
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sessionExchangeAppsResource = sessionExchangeAppsResource;
4
+ const request_1 = require("./request");
5
+ function sessionExchangeAppsResource(request) {
6
+ return {
7
+ list() {
8
+ return request({ method: 'GET', path: '/v1/session_exchange_apps' });
9
+ },
10
+ create(body, idempotencyKey) {
11
+ return request({ method: 'POST', path: '/v1/session_exchange_apps', body, idempotencyKey });
12
+ },
13
+ get(id) {
14
+ return request({ method: 'GET', path: `/v1/session_exchange_apps/${(0, request_1.enc)(id)}` });
15
+ },
16
+ update(id, body) {
17
+ return request({ method: 'PATCH', path: `/v1/session_exchange_apps/${(0, request_1.enc)(id)}`, body });
18
+ },
19
+ /** Queued back-channel logout deliveries are deleted with it. */
20
+ delete(id) {
21
+ return request({ method: 'DELETE', path: `/v1/session_exchange_apps/${(0, request_1.enc)(id)}` });
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=session-exchange-apps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-exchange-apps.js","sourceRoot":"","sources":["../../src/client/session-exchange-apps.ts"],"names":[],"mappings":";;AAiCA,kEAmBC;AApDD,uCAAgD;AAiChD,SAAgB,2BAA2B,CAAC,OAAkB;IAC5D,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,CAAC,IAAkC,EAAE,cAAuB;YAChE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAAkC;YACnD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,6BAA6B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,iEAAiE;QACjE,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -41,6 +41,13 @@ export interface MintedSession {
41
41
  sub: string;
42
42
  };
43
43
  }
44
+ /** A JWT minted from a named JWT template. */
45
+ export interface SessionTemplateToken {
46
+ object: string;
47
+ jwt: string;
48
+ /** Seconds until the token expires. */
49
+ expires_in: number;
50
+ }
44
51
  export declare function sessionsResource(request: RequestFn): {
45
52
  /**
46
53
  * `POST /v1/sessions` — mint a session for a user without the sign-in flow.
@@ -55,4 +62,9 @@ export declare function sessionsResource(request: RequestFn): {
55
62
  id: string;
56
63
  status: "revoked";
57
64
  }>;
65
+ /**
66
+ * `POST /v1/sessions/:id/tokens/:template` — mint a token from a named JWT
67
+ * template for this session. The reserved name `session` is refused.
68
+ */
69
+ getToken(id: string, template: string): Promise<SessionTemplateToken>;
58
70
  };
@@ -21,6 +21,16 @@ function sessionsResource(request) {
21
21
  revoke(id) {
22
22
  return request({ method: 'POST', path: `/v1/sessions/${(0, request_1.enc)(id)}/revoke` });
23
23
  },
24
+ /**
25
+ * `POST /v1/sessions/:id/tokens/:template` — mint a token from a named JWT
26
+ * template for this session. The reserved name `session` is refused.
27
+ */
28
+ getToken(id, template) {
29
+ return request({
30
+ method: 'POST',
31
+ path: `/v1/sessions/${(0, request_1.enc)(id)}/tokens/${(0, request_1.enc)(template)}`,
32
+ });
33
+ },
24
34
  };
25
35
  }
26
36
  //# sourceMappingURL=sessions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/client/sessions.ts"],"names":[],"mappings":";;AA4CA,4CAoBC;AAhED,uCAAgD;AA4ChD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL;;;WAGG;QACH,MAAM,CAAC,MAA2B;YAChC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,wDAAwD;QACxD,IAAI,CAAC,MAA0B;YAC7B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/client/sessions.ts"],"names":[],"mappings":";;AAoDA,4CA8BC;AAlFD,uCAAgD;AAoDhD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL;;;WAGG;QACH,MAAM,CAAC,MAA2B;YAChC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,wDAAwD;QACxD,IAAI,CAAC,MAA0B;YAC7B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD;;;WAGG;QACH,QAAQ,CAAC,EAAU,EAAE,QAAgB;YACnC,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,WAAW,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RequestFn } from './request';
1
+ import { type RequestFn } from './request';
2
2
  export interface SignInToken {
3
3
  object: 'sign_in_token';
4
4
  user_id: string;
@@ -15,4 +15,16 @@ export interface CreateSignInTokenBody {
15
15
  }
16
16
  export declare function signInTokensResource(request: RequestFn): {
17
17
  create(body: CreateSignInTokenBody, idempotencyKey?: string): Promise<SignInToken>;
18
+ /**
19
+ * `POST /v1/sign_in_tokens/:id/revoke` — revoke an unused sign-in token
20
+ * before its 60-second window elapses.
21
+ *
22
+ * @deprecated The sign-in token API is deprecated (sunset 2027-04-01).
23
+ * Mint a session directly with `sessions.create()` instead.
24
+ */
25
+ revoke(id: string): Promise<{
26
+ object: "sign_in_token";
27
+ id: string;
28
+ revoked: true;
29
+ }>;
18
30
  };
@@ -1,11 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.signInTokensResource = signInTokensResource;
4
+ const request_1 = require("./request");
4
5
  function signInTokensResource(request) {
5
6
  return {
6
7
  create(body, idempotencyKey) {
7
8
  return request({ method: 'POST', path: '/v1/sign_in_tokens', body, idempotencyKey });
8
9
  },
10
+ /**
11
+ * `POST /v1/sign_in_tokens/:id/revoke` — revoke an unused sign-in token
12
+ * before its 60-second window elapses.
13
+ *
14
+ * @deprecated The sign-in token API is deprecated (sunset 2027-04-01).
15
+ * Mint a session directly with `sessions.create()` instead.
16
+ */
17
+ revoke(id) {
18
+ return request({ method: 'POST', path: `/v1/sign_in_tokens/${(0, request_1.enc)(id)}/revoke` });
19
+ },
9
20
  };
10
21
  }
11
22
  //# sourceMappingURL=sign-in-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in-tokens.js","sourceRoot":"","sources":["../../src/client/sign-in-tokens.ts"],"names":[],"mappings":";;AAkBA,oDAMC;AAND,SAAgB,oBAAoB,CAAC,OAAkB;IACrD,OAAO;QACL,MAAM,CAAC,IAA2B,EAAE,cAAuB;YACzD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACvF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sign-in-tokens.js","sourceRoot":"","sources":["../../src/client/sign-in-tokens.ts"],"names":[],"mappings":";;AAkBA,oDAgBC;AAlCD,uCAAgD;AAkBhD,SAAgB,oBAAoB,CAAC,OAAkB;IACrD,OAAO;QACL,MAAM,CAAC,IAA2B,EAAE,cAAuB;YACzD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACvF,CAAC;QACD;;;;;;WAMG;QACH,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QACnF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { RequestFn } from './request';
2
+ /** The production instance's paired development (test-mode) sibling. */
3
+ export interface TestInstance {
4
+ object: 'test_instance';
5
+ instance_id: string;
6
+ environment: 'development';
7
+ publishable_key: string;
8
+ /** True when this call created the sibling. */
9
+ created: boolean;
10
+ /** The `sk_test_…` — returned ONLY on create or rotate. Store it now. */
11
+ secret_key?: string;
12
+ }
13
+ export interface TestUsersPurgeResult {
14
+ object: string;
15
+ purged: number;
16
+ /** Loop until this is false. */
17
+ has_more: boolean;
18
+ }
19
+ /** A short-lived token that lets `@atlasauth/testing` skip the sign-in CAPTCHA. */
20
+ export interface TestingToken {
21
+ object: 'testing_token';
22
+ jwt: string;
23
+ token_use: 'testing';
24
+ /** Lifetime in seconds. */
25
+ expires_in: number;
26
+ }
27
+ export declare function testModeResource(request: RequestFn): {
28
+ /**
29
+ * Get (creating on first call) the paired development instance. Call with
30
+ * the LIVE instance's secret key. `rotate_secret: true` mints a fresh `sk_test`.
31
+ */
32
+ testInstance(body?: {
33
+ rotate_secret?: boolean;
34
+ }): Promise<TestInstance>;
35
+ /**
36
+ * Soft-delete users whose email carries a reserved test marker
37
+ * (`+atlas_test`, `+clerk_test`). Development instances only.
38
+ */
39
+ purgeTestUsers(body?: {
40
+ limit?: number;
41
+ }): Promise<TestUsersPurgeResult>;
42
+ /** Mint a testing token. Development instances only (403 TESTING_UNAVAILABLE otherwise). */
43
+ createTestingToken(): Promise<TestingToken>;
44
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testModeResource = testModeResource;
4
+ function testModeResource(request) {
5
+ return {
6
+ /**
7
+ * Get (creating on first call) the paired development instance. Call with
8
+ * the LIVE instance's secret key. `rotate_secret: true` mints a fresh `sk_test`.
9
+ */
10
+ testInstance(body = {}) {
11
+ return request({ method: 'POST', path: '/v1/test_instance', body });
12
+ },
13
+ /**
14
+ * Soft-delete users whose email carries a reserved test marker
15
+ * (`+atlas_test`, `+clerk_test`). Development instances only.
16
+ */
17
+ purgeTestUsers(body = {}) {
18
+ return request({ method: 'POST', path: '/v1/test_users/purge', body });
19
+ },
20
+ /** Mint a testing token. Development instances only (403 TESTING_UNAVAILABLE otherwise). */
21
+ createTestingToken() {
22
+ return request({ method: 'POST', path: '/v1/testing_tokens' });
23
+ },
24
+ };
25
+ }
26
+ //# sourceMappingURL=test-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-mode.js","sourceRoot":"","sources":["../../src/client/test-mode.ts"],"names":[],"mappings":";;AA8BA,4CAqBC;AArBD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL;;;WAGG;QACH,YAAY,CAAC,OAAoC,EAAE;YACjD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QACD;;;WAGG;QACH,cAAc,CAAC,OAA2B,EAAE;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,4FAA4F;QAC5F,kBAAkB;YAChB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { RequestFn } from './request';
2
+ export interface CreateTicketBody {
3
+ /** Lifetime in seconds; must be positive, clamped to 86400 (24h). */
4
+ ttl_seconds: number;
5
+ /** Arbitrary JSON returned to whoever redeems the ticket. Defaults to `{}`. */
6
+ payload?: unknown;
7
+ /** Default true: the first successful redeem consumes it. */
8
+ single_use?: boolean;
9
+ /** Only a redeemer acting as this user may redeem. */
10
+ bound_user?: string;
11
+ /** Only a redeemer acting for this organization may redeem. */
12
+ bound_org?: string;
13
+ }
14
+ /** A minted capability ticket. `ticket` (the `tkt_…` secret) is returned only here. */
15
+ export interface CapabilityTicket {
16
+ object: 'ticket';
17
+ id: string;
18
+ ticket: string;
19
+ single_use: boolean;
20
+ bound_user: string | null;
21
+ bound_org: string | null;
22
+ created_at: number;
23
+ expires_at: number;
24
+ }
25
+ export interface RedeemTicketBody {
26
+ /** The `tkt_…` secret. */
27
+ ticket: string;
28
+ /** Who this redemption is on behalf of (matched against `bound_user`). */
29
+ for_user?: string;
30
+ /** The organization it is for (matched against `bound_org`). */
31
+ for_org?: string;
32
+ }
33
+ export interface TicketRedemption<P = unknown> {
34
+ object: 'ticket_redemption';
35
+ /** The redeemed ticket id. */
36
+ id: string;
37
+ /** The payload the ticket carried, verbatim. */
38
+ payload: P;
39
+ single_use: boolean;
40
+ }
41
+ export declare function ticketsResource(request: RequestFn): {
42
+ /** Mint a one-time capability ticket. */
43
+ create(body: CreateTicketBody, idempotencyKey?: string): Promise<CapabilityTicket>;
44
+ /**
45
+ * Redeem a ticket server-to-server. Unknown, expired or used tickets are a
46
+ * 404; a binding mismatch is a 403.
47
+ */
48
+ redeem<P = unknown>(body: RedeemTicketBody): Promise<TicketRedemption<P>>;
49
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ticketsResource = ticketsResource;
4
+ function ticketsResource(request) {
5
+ return {
6
+ /** Mint a one-time capability ticket. */
7
+ create(body, idempotencyKey) {
8
+ return request({ method: 'POST', path: '/v1/tickets', body, idempotencyKey });
9
+ },
10
+ /**
11
+ * Redeem a ticket server-to-server. Unknown, expired or used tickets are a
12
+ * 404; a binding mismatch is a 403.
13
+ */
14
+ redeem(body) {
15
+ return request({ method: 'POST', path: '/v1/tickets/redeem', body });
16
+ },
17
+ };
18
+ }
19
+ //# sourceMappingURL=tickets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tickets.js","sourceRoot":"","sources":["../../src/client/tickets.ts"],"names":[],"mappings":";;AA6CA,0CAcC;AAdD,SAAgB,eAAe,CAAC,OAAkB;IAChD,OAAO;QACL,yCAAyC;QACzC,MAAM,CAAC,IAAsB,EAAE,cAAuB;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAChF,CAAC;QACD;;;WAGG;QACH,MAAM,CAAc,IAAsB;YACxC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC"}