@atlasauth/backend 0.23.0 → 0.25.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 (188) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/auth0-session.d.ts +23 -0
  3. package/dist/auth0-session.js +80 -0
  4. package/dist/auth0-session.js.map +1 -0
  5. package/dist/better-auth.d.ts +4 -8
  6. package/dist/better-auth.js +42 -150
  7. package/dist/better-auth.js.map +1 -1
  8. package/dist/client/abac.d.ts +132 -0
  9. package/dist/client/abac.js +48 -0
  10. package/dist/client/abac.js.map +1 -0
  11. package/dist/client/access-policies.d.ts +100 -0
  12. package/dist/client/access-policies.js +29 -0
  13. package/dist/client/access-policies.js.map +1 -0
  14. package/dist/client/action-gallery.d.ts +1 -1
  15. package/dist/client/action-gallery.js.map +1 -1
  16. package/dist/client/actions.d.ts +129 -6
  17. package/dist/client/actions.js +4 -0
  18. package/dist/client/actions.js.map +1 -1
  19. package/dist/client/analytics-reports.d.ts +215 -0
  20. package/dist/client/analytics-reports.js +56 -0
  21. package/dist/client/analytics-reports.js.map +1 -0
  22. package/dist/client/app-catalog.d.ts +74 -0
  23. package/dist/client/app-catalog.js +30 -0
  24. package/dist/client/app-catalog.js.map +1 -0
  25. package/dist/client/attack-protection.d.ts +10 -0
  26. package/dist/client/attack-protection.js +8 -0
  27. package/dist/client/attack-protection.js.map +1 -1
  28. package/dist/client/audit-events.d.ts +71 -0
  29. package/dist/client/audit-events.js +28 -0
  30. package/dist/client/audit-events.js.map +1 -1
  31. package/dist/client/credentials.d.ts +8 -0
  32. package/dist/client/credentials.js.map +1 -1
  33. package/dist/client/delegated-ui-proxy.d.ts +25 -0
  34. package/dist/client/delegated-ui-proxy.js +46 -0
  35. package/dist/client/delegated-ui-proxy.js.map +1 -0
  36. package/dist/client/devices.d.ts +44 -0
  37. package/dist/client/devices.js +26 -0
  38. package/dist/client/devices.js.map +1 -0
  39. package/dist/client/email-templates.d.ts +1 -1
  40. package/dist/client/email-templates.js.map +1 -1
  41. package/dist/client/flags.d.ts +101 -0
  42. package/dist/client/flags.js +104 -0
  43. package/dist/client/flags.js.map +1 -0
  44. package/dist/client/groups.d.ts +146 -0
  45. package/dist/client/groups.js +67 -0
  46. package/dist/client/groups.js.map +1 -0
  47. package/dist/client/identity-verification.d.ts +62 -0
  48. package/dist/client/identity-verification.js +39 -0
  49. package/dist/client/identity-verification.js.map +1 -0
  50. package/dist/client/index.d.ts +997 -2
  51. package/dist/client/index.js +77 -0
  52. package/dist/client/index.js.map +1 -1
  53. package/dist/client/journeys.d.ts +108 -0
  54. package/dist/client/journeys.js +35 -0
  55. package/dist/client/journeys.js.map +1 -0
  56. package/dist/client/log-streams.d.ts +1 -1
  57. package/dist/client/marketing.d.ts +67 -0
  58. package/dist/client/marketing.js +26 -0
  59. package/dist/client/marketing.js.map +1 -0
  60. package/dist/client/mcp-gateways.d.ts +54 -0
  61. package/dist/client/mcp-gateways.js +25 -0
  62. package/dist/client/mcp-gateways.js.map +1 -0
  63. package/dist/client/messaging.d.ts +14 -3
  64. package/dist/client/messaging.js.map +1 -1
  65. package/dist/client/mfa-factors.d.ts +120 -0
  66. package/dist/client/mfa-factors.js +73 -0
  67. package/dist/client/mfa-factors.js.map +1 -0
  68. package/dist/client/migrations.d.ts +286 -0
  69. package/dist/client/migrations.js +103 -0
  70. package/dist/client/migrations.js.map +1 -0
  71. package/dist/client/network-acls.d.ts +6 -1
  72. package/dist/client/network-acls.js.map +1 -1
  73. package/dist/client/network-zones.d.ts +56 -0
  74. package/dist/client/network-zones.js +29 -0
  75. package/dist/client/network-zones.js.map +1 -0
  76. package/dist/client/notifications.d.ts +1 -1
  77. package/dist/client/notifications.js.map +1 -1
  78. package/dist/client/oauth-clients.d.ts +183 -3
  79. package/dist/client/oauth-clients.js +64 -0
  80. package/dist/client/oauth-clients.js.map +1 -1
  81. package/dist/client/org-role-grants.d.ts +57 -0
  82. package/dist/client/org-role-grants.js +40 -0
  83. package/dist/client/org-role-grants.js.map +1 -0
  84. package/dist/client/organizations.d.ts +52 -0
  85. package/dist/client/organizations.js +44 -0
  86. package/dist/client/organizations.js.map +1 -1
  87. package/dist/client/page-templates.d.ts +78 -0
  88. package/dist/client/page-templates.js +31 -0
  89. package/dist/client/page-templates.js.map +1 -0
  90. package/dist/client/passkey-api.d.ts +73 -0
  91. package/dist/client/passkey-api.js +34 -0
  92. package/dist/client/passkey-api.js.map +1 -0
  93. package/dist/client/resources.d.ts +149 -0
  94. package/dist/client/resources.js +73 -0
  95. package/dist/client/resources.js.map +1 -0
  96. package/dist/client/risk-based-mfa.d.ts +147 -0
  97. package/dist/client/risk-based-mfa.js +30 -0
  98. package/dist/client/risk-based-mfa.js.map +1 -1
  99. package/dist/client/roles.d.ts +4 -0
  100. package/dist/client/roles.js.map +1 -1
  101. package/dist/client/service-connectors.d.ts +83 -0
  102. package/dist/client/service-connectors.js +33 -0
  103. package/dist/client/service-connectors.js.map +1 -0
  104. package/dist/client/ssf.d.ts +111 -0
  105. package/dist/client/ssf.js +49 -0
  106. package/dist/client/ssf.js.map +1 -0
  107. package/dist/client/sso-onboarding.d.ts +6 -0
  108. package/dist/client/sso-onboarding.js.map +1 -1
  109. package/dist/client/users.d.ts +302 -0
  110. package/dist/client/users.js +125 -0
  111. package/dist/client/users.js.map +1 -1
  112. package/dist/client/vault.d.ts +85 -0
  113. package/dist/client/vault.js +50 -0
  114. package/dist/client/vault.js.map +1 -0
  115. package/dist/client/vc.d.ts +128 -0
  116. package/dist/client/vc.js +43 -0
  117. package/dist/client/vc.js.map +1 -0
  118. package/dist/client/webhooks.d.ts +31 -2
  119. package/dist/client/webhooks.js.map +1 -1
  120. package/dist/client/workflows.d.ts +131 -0
  121. package/dist/client/workflows.js +36 -0
  122. package/dist/client/workflows.js.map +1 -0
  123. package/dist/framework-bridge.d.ts +98 -0
  124. package/dist/framework-bridge.js +264 -0
  125. package/dist/framework-bridge.js.map +1 -0
  126. package/dist/framework-sessions.d.ts +147 -0
  127. package/dist/framework-sessions.js +544 -0
  128. package/dist/framework-sessions.js.map +1 -0
  129. package/dist/index.d.ts +11 -1
  130. package/dist/index.js +19 -2
  131. package/dist/index.js.map +1 -1
  132. package/dist/legacy-issuer-presets.d.ts +85 -0
  133. package/dist/legacy-issuer-presets.js +165 -0
  134. package/dist/legacy-issuer-presets.js.map +1 -0
  135. package/dist/legacy-issuers.d.ts +16 -2
  136. package/dist/legacy-issuers.js +16 -1
  137. package/dist/legacy-issuers.js.map +1 -1
  138. package/dist/legacy-verify.d.ts +103 -0
  139. package/dist/legacy-verify.js +244 -0
  140. package/dist/legacy-verify.js.map +1 -0
  141. package/dist/magic-did.d.ts +5 -0
  142. package/dist/magic-did.js +49 -0
  143. package/dist/magic-did.js.map +1 -0
  144. package/dist/migration-bridge.d.ts +162 -0
  145. package/dist/migration-bridge.js +354 -0
  146. package/dist/migration-bridge.js.map +1 -0
  147. package/dist/migration-presets-g3.d.ts +2 -0
  148. package/dist/migration-presets-g3.js +254 -0
  149. package/dist/migration-presets-g3.js.map +1 -0
  150. package/dist/migration-presets-g4/authentik.d.ts +14 -0
  151. package/dist/migration-presets-g4/authentik.js +37 -0
  152. package/dist/migration-presets-g4/authentik.js.map +1 -0
  153. package/dist/migration-presets-g4/fusionauth.d.ts +2 -0
  154. package/dist/migration-presets-g4/fusionauth.js +52 -0
  155. package/dist/migration-presets-g4/fusionauth.js.map +1 -0
  156. package/dist/migration-presets-g4/hanko.d.ts +12 -0
  157. package/dist/migration-presets-g4/hanko.js +46 -0
  158. package/dist/migration-presets-g4/hanko.js.map +1 -0
  159. package/dist/migration-presets-g4/keycloak.d.ts +16 -0
  160. package/dist/migration-presets-g4/keycloak.js +37 -0
  161. package/dist/migration-presets-g4/keycloak.js.map +1 -0
  162. package/dist/migration-presets-g4/logto.d.ts +12 -0
  163. package/dist/migration-presets-g4/logto.js +35 -0
  164. package/dist/migration-presets-g4/logto.js.map +1 -0
  165. package/dist/migration-presets-g4/ory.d.ts +2 -0
  166. package/dist/migration-presets-g4/ory.js +67 -0
  167. package/dist/migration-presets-g4/ory.js.map +1 -0
  168. package/dist/migration-presets-g4/supertokens.d.ts +13 -0
  169. package/dist/migration-presets-g4/supertokens.js +35 -0
  170. package/dist/migration-presets-g4/supertokens.js.map +1 -0
  171. package/dist/migration-presets-g4/zitadel.d.ts +2 -0
  172. package/dist/migration-presets-g4/zitadel.js +36 -0
  173. package/dist/migration-presets-g4/zitadel.js.map +1 -0
  174. package/dist/migration-presets-g4.d.ts +10 -0
  175. package/dist/migration-presets-g4.js +30 -0
  176. package/dist/migration-presets-g4.js.map +1 -0
  177. package/dist/migration-presets.d.ts +156 -0
  178. package/dist/migration-presets.js +536 -0
  179. package/dist/migration-presets.js.map +1 -0
  180. package/dist/request-auth.d.ts +32 -0
  181. package/dist/request-auth.js +72 -0
  182. package/dist/request-auth.js.map +1 -0
  183. package/dist/verify.d.ts +2 -0
  184. package/dist/verify.js.map +1 -1
  185. package/dist/workos-session.d.ts +30 -0
  186. package/dist/workos-session.js +123 -0
  187. package/dist/workos-session.js.map +1 -0
  188. package/package.json +1 -1
@@ -12,6 +12,8 @@ export interface NetworkAcl {
12
12
  action: NetworkAclAction;
13
13
  /** A single IP or CIDR range; refused at write time if malformed. */
14
14
  cidr: string;
15
+ /** The network zone this rule matches instead of `cidr`. */
16
+ zone_id: string | null;
15
17
  description: string | null;
16
18
  priority: number;
17
19
  enabled: boolean;
@@ -20,7 +22,9 @@ export interface NetworkAcl {
20
22
  }
21
23
  export interface CreateNetworkAclBody {
22
24
  action: NetworkAclAction;
23
- cidr: string;
25
+ /** A CIDR or address — or send `zone_id` instead (one of the two). */
26
+ cidr?: string;
27
+ zone_id?: string;
24
28
  description?: string | null;
25
29
  priority?: number;
26
30
  enabled?: boolean;
@@ -28,6 +32,7 @@ export interface CreateNetworkAclBody {
28
32
  export interface UpdateNetworkAclBody {
29
33
  action?: NetworkAclAction;
30
34
  cidr?: string;
35
+ zone_id?: string | null;
31
36
  description?: string | null;
32
37
  priority?: number;
33
38
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"network-acls.js","sourceRoot":"","sources":["../../src/client/network-acls.ts"],"names":[],"mappings":";;AA2CA,kDAmBC;AA9DD,uCAAgD;AAuChD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,OAAkB;IACpD,OAAO;QACL,qDAAqD;QACrD,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,CAAC,IAA0B,EAAE,cAAuB;YACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA0B;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"network-acls.js","sourceRoot":"","sources":["../../src/client/network-acls.ts"],"names":[],"mappings":";;AAgDA,kDAmBC;AAnED,uCAAgD;AA4ChD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,OAAkB;IACpD,OAAO;QACL,qDAAqD;QACrD,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,CAAC,IAA0B,EAAE,cAAuB;YACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA0B;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type RequestFn } from './request';
2
+ import type { ListPage } from './types';
3
+ export type NetworkZoneAnonymizer = 'tor' | 'datacenter' | 'vpn';
4
+ /**
5
+ * A reusable network zone: a union of CIDR ranges, ISO countries, ASNs and
6
+ * anonymizer classes. Network ACL rules reference one by `zone_id`.
7
+ */
8
+ export interface NetworkZone {
9
+ object: 'network_zone';
10
+ id: string;
11
+ name: string;
12
+ description: string | null;
13
+ cidrs: string[];
14
+ countries: string[];
15
+ asns: number[];
16
+ anonymizers: NetworkZoneAnonymizer[];
17
+ enabled: boolean;
18
+ created_at: number;
19
+ updated_at: number;
20
+ }
21
+ export interface CreateNetworkZoneBody {
22
+ name: string;
23
+ description?: string | null;
24
+ cidrs?: string[];
25
+ countries?: string[];
26
+ asns?: number[];
27
+ anonymizers?: NetworkZoneAnonymizer[];
28
+ enabled?: boolean;
29
+ }
30
+ export type UpdateNetworkZoneBody = Partial<CreateNetworkZoneBody>;
31
+ export interface NetworkZoneCheck {
32
+ object: 'network_zone_check';
33
+ zone_id: string;
34
+ ip: string;
35
+ matches: boolean;
36
+ facts: {
37
+ country: string | null;
38
+ asn: number | null;
39
+ tor: boolean | null;
40
+ datacenter: boolean | null;
41
+ };
42
+ }
43
+ /** CRUD over the instance's network zones, plus a what-if `check` for one address. */
44
+ export declare function networkZonesResource(request: RequestFn): {
45
+ list(): Promise<ListPage<NetworkZone>>;
46
+ get(id: string): Promise<NetworkZone>;
47
+ create(body: CreateNetworkZoneBody, idempotencyKey?: string): Promise<NetworkZone>;
48
+ update(id: string, body: UpdateNetworkZoneBody): Promise<NetworkZone>;
49
+ delete(id: string): Promise<{
50
+ object: "network_zone";
51
+ id: string;
52
+ deleted: true;
53
+ }>;
54
+ /** Does `ip` fall inside the zone? Returns the resolved facts too. */
55
+ check(id: string, ip: string): Promise<NetworkZoneCheck>;
56
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.networkZonesResource = networkZonesResource;
4
+ const request_1 = require("./request");
5
+ /** CRUD over the instance's network zones, plus a what-if `check` for one address. */
6
+ function networkZonesResource(request) {
7
+ return {
8
+ list() {
9
+ return request({ method: 'GET', path: '/v1/network_zones' });
10
+ },
11
+ get(id) {
12
+ return request({ method: 'GET', path: `/v1/network_zones/${(0, request_1.enc)(id)}` });
13
+ },
14
+ create(body, idempotencyKey) {
15
+ return request({ method: 'POST', path: '/v1/network_zones', body, idempotencyKey });
16
+ },
17
+ update(id, body) {
18
+ return request({ method: 'PATCH', path: `/v1/network_zones/${(0, request_1.enc)(id)}`, body });
19
+ },
20
+ delete(id) {
21
+ return request({ method: 'DELETE', path: `/v1/network_zones/${(0, request_1.enc)(id)}` });
22
+ },
23
+ /** Does `ip` fall inside the zone? Returns the resolved facts too. */
24
+ check(id, ip) {
25
+ return request({ method: 'POST', path: `/v1/network_zones/${(0, request_1.enc)(id)}/check`, body: { ip } });
26
+ },
27
+ };
28
+ }
29
+ //# sourceMappingURL=network-zones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-zones.js","sourceRoot":"","sources":["../../src/client/network-zones.ts"],"names":[],"mappings":";;AA4CA,oDAsBC;AAlED,uCAAgD;AA2ChD,sFAAsF;AACtF,SAAgB,oBAAoB,CAAC,OAAkB;IACrD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC/D,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,IAA2B,EAAE,cAAuB;YACzD,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,IAA2B;YAC5C,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,sEAAsE;QACtE,KAAK,CAAC,EAAU,EAAE,EAAU;YAC1B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type RequestFn } from './request';
2
2
  /** Built-in notification templates `send` falls back to when no tenant template has the name. */
3
- export type BuiltInNotificationTemplate = 'new_device' | 'unattended_access' | 'password_changed' | 'mfa_changed' | 'email_changed';
3
+ export type BuiltInNotificationTemplate = 'new_device' | 'unattended_access' | 'password_changed' | 'mfa_changed' | 'email_changed' | 'phone_changed' | 'identity_linked' | 'identity_unlinked' | 'passkey_added' | 'passkey_removed' | 'recovery_codes_regenerated' | 'factor_removed' | 'device_key_added' | 'device_key_removed' | 'risk_alert';
4
4
  export interface SendNotificationBody {
5
5
  /** The end-user to notify. */
6
6
  user_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/client/notifications.ts"],"names":[],"mappings":";;AAkEA,sDAqDC;AAvHD,uCAAgD;AAkEhD,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,2FAA2F;QAC3F,IAAI,CAAC,IAA0B,EAAE,cAAuB;YACtD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,UAAU,EAAE;YACV,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,4CAA4C;YAC5C,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,CAAC,GAAW,EAAE,IAAuB;gBACzC,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,yDAAyD;YACzD,MAAM,CACJ,GAAW;gBAEX,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;QACD,SAAS,EAAE;YACT,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,iCAAiC;YACjC,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,GAAG,CAAC,IAAY;gBACd,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CAAC,IAAY,EAAE,IAAoC;gBACvD,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,IAAY;gBAEZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/client/notifications.ts"],"names":[],"mappings":";;AA4EA,sDAqDC;AAjID,uCAAgD;AA4EhD,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,2FAA2F;QAC3F,IAAI,CAAC,IAA0B,EAAE,cAAuB;YACtD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,UAAU,EAAE;YACV,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,4CAA4C;YAC5C,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,CAAC,GAAW,EAAE,IAAuB;gBACzC,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,yDAAyD;YACzD,MAAM,CACJ,GAAW;gBAEX,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;QACD,SAAS,EAAE;YACT,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,iCAAiC;YACjC,MAAM,CAAC,IAAoC;gBACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,GAAG,CAAC,IAAY;gBACd,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CAAC,IAAY,EAAE,IAAoC;gBACvD,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE;oBAC/C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,IAAY;gBAEZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,46 @@
1
1
  import { type ProvisioningFields, type ProvisioningInput, type ProvisioningMetadata } from './compliance';
2
2
  import { type RequestFn } from './request';
3
3
  import type { ListPage } from './types';
4
+ export interface TrustedIssuer {
5
+ object: 'oauth_trusted_issuer';
6
+ id: string;
7
+ client_id: string;
8
+ issuer: string;
9
+ jwks: {
10
+ keys: unknown[];
11
+ } | null;
12
+ jwks_uri: string | null;
13
+ subject_mapping: 'user_id' | 'external_id' | 'email';
14
+ workload_kind: 'generic' | 'spiffe' | 'kubernetes' | 'github_actions' | 'gcp' | 'azure';
15
+ purpose: 'user_assertion' | 'client_auth' | 'both';
16
+ subject_pattern: string | null;
17
+ required_claims: Record<string, string> | null;
18
+ audiences: string[] | null;
19
+ created_at: number;
20
+ }
21
+ export interface TrustedIssuerInput {
22
+ issuer?: string;
23
+ jwks?: {
24
+ keys: unknown[];
25
+ };
26
+ jwks_uri?: string;
27
+ subject_mapping?: 'user_id' | 'external_id' | 'email';
28
+ workload_kind?: TrustedIssuer['workload_kind'];
29
+ tenant_id?: string;
30
+ purpose?: TrustedIssuer['purpose'];
31
+ subject_pattern?: string;
32
+ required_claims?: Record<string, string>;
33
+ audiences?: string[];
34
+ }
35
+ export interface WorkloadPreset {
36
+ object: 'workload_identity_preset';
37
+ kind: string;
38
+ title: string;
39
+ issuer: string | null;
40
+ jwks_uri: string | null;
41
+ subject_example: string;
42
+ notes: string;
43
+ }
4
44
  export interface OAuthClient extends ProvisioningFields {
5
45
  object: 'oauth_client';
6
46
  id: string;
@@ -10,7 +50,7 @@ export interface OAuthClient extends ProvisioningFields {
10
50
  redirect_uris: string[];
11
51
  allowed_scopes: string[];
12
52
  grant_types: string[];
13
- token_endpoint_auth_method: 'client_secret_basic' | 'client_secret_post' | 'none';
53
+ token_endpoint_auth_method: 'client_secret_basic' | 'client_secret_post' | 'none' | 'private_key_jwt' | 'workload_jwt';
14
54
  secret_prefix: string | null;
15
55
  /**
16
56
  * After a rotation with overlap: when the previous secret stops working (epoch
@@ -160,7 +200,7 @@ export interface CreateOAuthClientBody extends ProvisioningInput, OAuthClientLog
160
200
  redirect_uris: string[];
161
201
  allowed_scopes?: string[];
162
202
  grant_types?: string[];
163
- token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none';
203
+ token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none' | 'workload_jwt';
164
204
  logo_url?: string;
165
205
  first_party?: boolean;
166
206
  /** How long the issued secret authenticates, in seconds; omit for no expiry. */
@@ -174,7 +214,7 @@ export interface UpdateOAuthClientBody extends OAuthClientLogoutFields, OAuthCli
174
214
  name?: string;
175
215
  redirect_uris?: string[];
176
216
  allowed_scopes?: string[];
177
- token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none';
217
+ token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none' | 'workload_jwt';
178
218
  logo_url?: string | null;
179
219
  first_party?: boolean;
180
220
  /** Refuse every OAuth flow for this client without deleting it. */
@@ -280,10 +320,50 @@ export declare function oauthClientsResource(request: RequestFn): {
280
320
  deleted: true;
281
321
  note: string;
282
322
  }>;
323
+ /**
324
+ * Per-application settings: allowed sign-in methods, hosted-page branding,
325
+ * the user-claim allow-list for ID tokens and userinfo, and writable traits.
326
+ */
327
+ appSettings: {
328
+ /** `GET /v1/oauth_clients/:id/app_settings` */
329
+ get(id: string): Promise<OAuthClientAppSettings>;
330
+ /** `PATCH /v1/oauth_clients/:id/app_settings` — fields sent replace the stored ones; null clears. */
331
+ update(id: string, body: OAuthClientAppSettingsPatch): Promise<OAuthClientAppSettings>;
332
+ };
283
333
  /** The client's back-channel logout delivery log, newest first. */
284
334
  listBackchannelDeliveries(id: string, query?: BackchannelDeliveriesQuery): Promise<BackchannelLogoutDeliveryPage>;
285
335
  /** Send a test back-channel logout now and return what the receiver answered. */
286
336
  testBackchannelLogout(id: string): Promise<BackchannelLogoutTest>;
337
+ /** Set (or clear with null) the URLs of your own sign-in and consent pages for a client. */
338
+ setDelegatedUi(id: string, body: {
339
+ login_url?: string | null;
340
+ consent_url?: string | null;
341
+ }): Promise<{
342
+ object: "oauth_client_delegated_ui";
343
+ client_id: string;
344
+ login_url: string | null;
345
+ consent_url: string | null;
346
+ }>;
347
+ /** Delegated login: read, accept or reject the `login_challenge` your sign-in page received. */
348
+ loginRequests: {
349
+ get(loginChallenge: string): Promise<DelegatedLoginRequest>;
350
+ accept(loginChallenge: string, body: {
351
+ subject: string;
352
+ remember?: boolean;
353
+ amr?: string[];
354
+ acr?: string;
355
+ }): Promise<DelegatedRedirect>;
356
+ reject(loginChallenge: string, body?: DelegatedReject): Promise<DelegatedRedirect>;
357
+ };
358
+ /** Delegated consent: read, accept or reject the `consent_challenge` your consent page received. */
359
+ consentRequests: {
360
+ get(consentChallenge: string): Promise<DelegatedConsentRequest>;
361
+ accept(consentChallenge: string, body?: {
362
+ grant_scope?: string[];
363
+ remember?: boolean;
364
+ }): Promise<DelegatedRedirect>;
365
+ reject(consentChallenge: string, body?: DelegatedReject): Promise<DelegatedRedirect>;
366
+ };
287
367
  /** RFC 7591 §3 initial access tokens for dynamic client registration. */
288
368
  initialAccessTokens: {
289
369
  list(): Promise<ListPage<OAuthInitialAccessToken>>;
@@ -294,6 +374,26 @@ export declare function oauthClientsResource(request: RequestFn): {
294
374
  }>;
295
375
  revoke(id: string): Promise<OAuthInitialAccessToken>;
296
376
  };
377
+ /** Issuers whose signed tokens this client accepts (jwt-bearer grant, workload identity). */
378
+ trustedIssuers: {
379
+ list(clientId: string): Promise<ListPage<TrustedIssuer>>;
380
+ create(clientId: string, body: TrustedIssuerInput): Promise<TrustedIssuer>;
381
+ delete(clientId: string, issuerId: string): Promise<{
382
+ object: "oauth_trusted_issuer";
383
+ id: string;
384
+ deleted: true;
385
+ }>;
386
+ };
387
+ /** Workload identity federation helpers (SPIFFE, Kubernetes, GitHub Actions, GCP, Azure). */
388
+ workloadIdentity: {
389
+ presets(): Promise<ListPage<WorkloadPreset>>;
390
+ cloudTrust(query: {
391
+ provider: "aws" | "gcp" | "azure";
392
+ audience: string;
393
+ subject: string;
394
+ tenant_id?: string;
395
+ }): Promise<Record<string, unknown>>;
396
+ };
297
397
  grants: {
298
398
  list(clientId: string): Promise<ListPage<ClientGrant>>;
299
399
  create(clientId: string, body: {
@@ -307,3 +407,83 @@ export declare function oauthClientsResource(request: RequestFn): {
307
407
  }>;
308
408
  };
309
409
  };
410
+ export interface OAuthClientAppBranding {
411
+ heading?: string | null;
412
+ subheading?: string | null;
413
+ logo_url?: string | null;
414
+ primary_color?: string | null;
415
+ }
416
+ export interface OAuthClientAppSettingsPatch {
417
+ /** Method names (password, passkey, oauth_google, ...) or the families oauth and enterprise_sso. */
418
+ allowed_sign_in_methods?: string[] | null;
419
+ branding?: OAuthClientAppBranding | null;
420
+ /** User claims the app receives in ID tokens and userinfo; protocol claims always pass. */
421
+ claims_allowlist?: string[] | null;
422
+ /** Traits a session from this app may change. */
423
+ writable_traits?: string[] | null;
424
+ /** Overrides of the instance's risk-based MFA for sign-ins to this app. */
425
+ risk?: OAuthClientAppRisk | null;
426
+ }
427
+ export type OAuthClientRiskLevelAction = 'default' | 'allow' | 'notify' | 'mfa' | 'block';
428
+ export interface OAuthClientAppRisk {
429
+ enabled?: boolean | null;
430
+ mode?: 'enforce' | 'audit' | null;
431
+ step_up_threshold?: 'low' | 'medium' | 'high' | null;
432
+ on_high_risk_no_factor?: 'allow' | 'block' | 'require_enroll' | null;
433
+ level_actions?: {
434
+ medium?: OAuthClientRiskLevelAction | null;
435
+ high?: OAuthClientRiskLevelAction | null;
436
+ } | null;
437
+ /** The refresh-time check for sessions that came from this app. */
438
+ mid_session?: {
439
+ enabled?: boolean | null;
440
+ action?: 'revoke' | 'notify' | 'audit' | null;
441
+ } | null;
442
+ }
443
+ export interface OAuthClientAppSettings {
444
+ object: 'app_settings';
445
+ client_id: string;
446
+ allowed_sign_in_methods: string[] | null;
447
+ branding: Required<OAuthClientAppBranding> | null;
448
+ claims_allowlist: string[] | null;
449
+ writable_traits: string[] | null;
450
+ risk: OAuthClientAppRisk | null;
451
+ }
452
+ export interface DelegatedClientRef {
453
+ id: string;
454
+ client_id: string;
455
+ name: string;
456
+ first_party?: boolean;
457
+ }
458
+ export interface DelegatedLoginRequest {
459
+ object: 'oauth_login_request';
460
+ client: DelegatedClientRef;
461
+ requested_scope: string[];
462
+ audience: string | null;
463
+ page: 'sign-in' | 'sign-up';
464
+ /** The Atlas user already signed in on this browser, if any. */
465
+ session_subject: string | null;
466
+ ui_locales: string | null;
467
+ login_hint: string | null;
468
+ expires_at: number;
469
+ }
470
+ export interface DelegatedConsentRequest {
471
+ object: 'oauth_consent_request';
472
+ subject: string;
473
+ client: DelegatedClientRef;
474
+ requested_scope: string[];
475
+ audience: string | null;
476
+ authorization_details: unknown[];
477
+ organization_id: string | null;
478
+ redirect_uri: string;
479
+ expires_at: number;
480
+ }
481
+ export interface DelegatedRedirect {
482
+ object: 'oauth_login_redirect' | 'oauth_consent_redirect';
483
+ /** Send the end user's browser here next. */
484
+ redirect_to: string;
485
+ }
486
+ export interface DelegatedReject {
487
+ error?: 'access_denied' | 'login_required' | 'interaction_required' | 'consent_required' | 'account_selection_required' | 'unauthorized_client' | 'temporarily_unavailable' | 'server_error';
488
+ error_description?: string;
489
+ }
@@ -37,6 +37,20 @@ function oauthClientsResource(request) {
37
37
  delete(id) {
38
38
  return request({ method: 'DELETE', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}` });
39
39
  },
40
+ /**
41
+ * Per-application settings: allowed sign-in methods, hosted-page branding,
42
+ * the user-claim allow-list for ID tokens and userinfo, and writable traits.
43
+ */
44
+ appSettings: {
45
+ /** `GET /v1/oauth_clients/:id/app_settings` */
46
+ get(id) {
47
+ return request({ method: 'GET', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/app_settings` });
48
+ },
49
+ /** `PATCH /v1/oauth_clients/:id/app_settings` — fields sent replace the stored ones; null clears. */
50
+ update(id, body) {
51
+ return request({ method: 'PATCH', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/app_settings`, body });
52
+ },
53
+ },
40
54
  /** The client's back-channel logout delivery log, newest first. */
41
55
  listBackchannelDeliveries(id, query = {}) {
42
56
  return request({
@@ -49,6 +63,34 @@ function oauthClientsResource(request) {
49
63
  testBackchannelLogout(id) {
50
64
  return request({ method: 'POST', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/backchannel_logout/test` });
51
65
  },
66
+ /** Set (or clear with null) the URLs of your own sign-in and consent pages for a client. */
67
+ setDelegatedUi(id, body) {
68
+ return request({ method: 'PUT', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/delegated_ui`, body });
69
+ },
70
+ /** Delegated login: read, accept or reject the `login_challenge` your sign-in page received. */
71
+ loginRequests: {
72
+ get(loginChallenge) {
73
+ return request({ method: 'GET', path: '/v1/oauth_login_requests', query: { login_challenge: loginChallenge } });
74
+ },
75
+ accept(loginChallenge, body) {
76
+ return request({ method: 'PUT', path: '/v1/oauth_login_requests/accept', query: { login_challenge: loginChallenge }, body });
77
+ },
78
+ reject(loginChallenge, body = {}) {
79
+ return request({ method: 'PUT', path: '/v1/oauth_login_requests/reject', query: { login_challenge: loginChallenge }, body });
80
+ },
81
+ },
82
+ /** Delegated consent: read, accept or reject the `consent_challenge` your consent page received. */
83
+ consentRequests: {
84
+ get(consentChallenge) {
85
+ return request({ method: 'GET', path: '/v1/oauth_consent_requests', query: { consent_challenge: consentChallenge } });
86
+ },
87
+ accept(consentChallenge, body = {}) {
88
+ return request({ method: 'PUT', path: '/v1/oauth_consent_requests/accept', query: { consent_challenge: consentChallenge }, body });
89
+ },
90
+ reject(consentChallenge, body = {}) {
91
+ return request({ method: 'PUT', path: '/v1/oauth_consent_requests/reject', query: { consent_challenge: consentChallenge }, body });
92
+ },
93
+ },
52
94
  /** RFC 7591 §3 initial access tokens for dynamic client registration. */
53
95
  initialAccessTokens: {
54
96
  list() {
@@ -62,6 +104,28 @@ function oauthClientsResource(request) {
62
104
  return request({ method: 'DELETE', path: `/v1/oauth_initial_access_tokens/${(0, request_1.enc)(id)}` });
63
105
  },
64
106
  },
107
+ /** Issuers whose signed tokens this client accepts (jwt-bearer grant, workload identity). */
108
+ trustedIssuers: {
109
+ list(clientId) {
110
+ return request({ method: 'GET', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/trusted_issuers` });
111
+ },
112
+ create(clientId, body) {
113
+ return request({ method: 'POST', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/trusted_issuers`, body });
114
+ },
115
+ delete(clientId, issuerId) {
116
+ return request({ method: 'DELETE', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/trusted_issuers/${(0, request_1.enc)(issuerId)}` });
117
+ },
118
+ },
119
+ /** Workload identity federation helpers (SPIFFE, Kubernetes, GitHub Actions, GCP, Azure). */
120
+ workloadIdentity: {
121
+ presets() {
122
+ return request({ method: 'GET', path: '/v1/workload_identity/presets' });
123
+ },
124
+ cloudTrust(query) {
125
+ const qs = new URLSearchParams(query).toString();
126
+ return request({ method: 'GET', path: `/v1/workload_identity/cloud_trust?${qs}` });
127
+ },
128
+ },
65
129
  grants: {
66
130
  list(clientId) {
67
131
  return request({ method: 'GET', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/grants` });
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { type RequestFn } from './request';
2
+ import type { ListPage } from './types';
3
+ export interface OrgRoleGrant {
4
+ object: 'org_role_grant';
5
+ id: string;
6
+ grantor_org_id: string;
7
+ grantee_org_id: string;
8
+ role_keys: string[];
9
+ status: 'active' | 'revoked';
10
+ created_at: number;
11
+ revoked_at: number | null;
12
+ }
13
+ export interface OrgRoleDelegation {
14
+ object: 'org_role_delegation';
15
+ id: string;
16
+ grant_id: string;
17
+ user_id: string;
18
+ role_key: string;
19
+ created_at: number;
20
+ }
21
+ export interface EffectiveDelegatedRole {
22
+ organization_id: string;
23
+ grant_id: string;
24
+ role_key: string;
25
+ permissions: string[];
26
+ }
27
+ export declare function orgRoleGrantsResource(request: RequestFn): {
28
+ list(query?: {
29
+ grantor_org_id?: string;
30
+ grantee_org_id?: string;
31
+ status?: "active";
32
+ }): Promise<ListPage<OrgRoleGrant>>;
33
+ create(body: {
34
+ grantor_org_id: string;
35
+ grantee_org_id: string;
36
+ role_keys: string[];
37
+ }): Promise<OrgRoleGrant>;
38
+ get(id: string): Promise<OrgRoleGrant>;
39
+ update(id: string, body: {
40
+ role_keys: string[];
41
+ }): Promise<OrgRoleGrant>;
42
+ revoke(id: string): Promise<OrgRoleGrant>;
43
+ listDelegations(id: string): Promise<ListPage<OrgRoleDelegation>>;
44
+ delegate(id: string, body: {
45
+ user_id: string;
46
+ role_key: string;
47
+ }): Promise<OrgRoleDelegation>;
48
+ undelegate(id: string, delegationId: string): Promise<{
49
+ object: "org_role_delegation";
50
+ id: string;
51
+ deleted: true;
52
+ }>;
53
+ effective(query: {
54
+ user_id: string;
55
+ organization_id?: string;
56
+ }): Promise<ListPage<EffectiveDelegatedRole>>;
57
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orgRoleGrantsResource = orgRoleGrantsResource;
4
+ const request_1 = require("./request");
5
+ const qs = (query) => {
6
+ const q = new URLSearchParams(Object.entries(query).filter((e) => e[1] !== undefined)).toString();
7
+ return q ? `?${q}` : '';
8
+ };
9
+ function orgRoleGrantsResource(request) {
10
+ return {
11
+ list(query = {}) {
12
+ return request({ method: 'GET', path: `/v1/org_role_grants${qs(query)}` });
13
+ },
14
+ create(body) {
15
+ return request({ method: 'POST', path: '/v1/org_role_grants', body });
16
+ },
17
+ get(id) {
18
+ return request({ method: 'GET', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}` });
19
+ },
20
+ update(id, body) {
21
+ return request({ method: 'PATCH', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}`, body });
22
+ },
23
+ revoke(id) {
24
+ return request({ method: 'DELETE', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}` });
25
+ },
26
+ listDelegations(id) {
27
+ return request({ method: 'GET', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}/delegations` });
28
+ },
29
+ delegate(id, body) {
30
+ return request({ method: 'POST', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}/delegations`, body });
31
+ },
32
+ undelegate(id, delegationId) {
33
+ return request({ method: 'DELETE', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}/delegations/${(0, request_1.enc)(delegationId)}` });
34
+ },
35
+ effective(query) {
36
+ return request({ method: 'GET', path: `/v1/org_role_grants/effective${qs(query)}` });
37
+ },
38
+ };
39
+ }
40
+ //# sourceMappingURL=org-role-grants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-role-grants.js","sourceRoot":"","sources":["../../src/client/org-role-grants.ts"],"names":[],"mappings":";;AAmCA,sDA8BC;AAjED,uCAAgD;AA8BhD,MAAM,EAAE,GAAG,CAAC,KAAyC,EAAE,EAAE;IACvD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzH,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,IAAI,CAAC,QAAiF,EAAE;YACtF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,IAA6E;YAClF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA6B;YAC9C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,eAAe,CAAC,EAAU;YACxB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,QAAQ,CAAC,EAAU,EAAE,IAA2C;YAC9D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,UAAU,CAAC,EAAU,EAAE,YAAoB;YACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB,IAAA,aAAG,EAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,SAAS,CAAC,KAAoD;YAC5D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;KACF,CAAC;AACJ,CAAC"}