@atlasauth/backend 0.24.0 → 0.26.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 (201) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/dist/client/abac.d.ts +521 -0
  3. package/dist/client/abac.js +146 -0
  4. package/dist/client/abac.js.map +1 -0
  5. package/dist/client/access-policies.d.ts +100 -0
  6. package/dist/client/access-policies.js +29 -0
  7. package/dist/client/access-policies.js.map +1 -0
  8. package/dist/client/action-gallery.d.ts +1 -1
  9. package/dist/client/action-gallery.js.map +1 -1
  10. package/dist/client/actions.d.ts +129 -6
  11. package/dist/client/actions.js +4 -0
  12. package/dist/client/actions.js.map +1 -1
  13. package/dist/client/analytics-reports.d.ts +215 -0
  14. package/dist/client/analytics-reports.js +56 -0
  15. package/dist/client/analytics-reports.js.map +1 -0
  16. package/dist/client/app-catalog.d.ts +74 -0
  17. package/dist/client/app-catalog.js +30 -0
  18. package/dist/client/app-catalog.js.map +1 -0
  19. package/dist/client/attack-protection.d.ts +10 -0
  20. package/dist/client/attack-protection.js +8 -0
  21. package/dist/client/attack-protection.js.map +1 -1
  22. package/dist/client/audit-events.d.ts +71 -0
  23. package/dist/client/audit-events.js +28 -0
  24. package/dist/client/audit-events.js.map +1 -1
  25. package/dist/client/authz-decisions.d.ts +108 -0
  26. package/dist/client/authz-decisions.js +40 -0
  27. package/dist/client/authz-decisions.js.map +1 -0
  28. package/dist/client/connections.d.ts +507 -0
  29. package/dist/client/connections.js +164 -0
  30. package/dist/client/connections.js.map +1 -0
  31. package/dist/client/credentials.d.ts +8 -0
  32. package/dist/client/credentials.js.map +1 -1
  33. package/dist/client/custom-oauth-providers.d.ts +15 -0
  34. package/dist/client/custom-oauth-providers.js.map +1 -1
  35. package/dist/client/delegated-ui-proxy.d.ts +25 -0
  36. package/dist/client/delegated-ui-proxy.js +46 -0
  37. package/dist/client/delegated-ui-proxy.js.map +1 -0
  38. package/dist/client/desktop-mfa.d.ts +104 -0
  39. package/dist/client/desktop-mfa.js +44 -0
  40. package/dist/client/desktop-mfa.js.map +1 -0
  41. package/dist/client/devices.d.ts +44 -0
  42. package/dist/client/devices.js +26 -0
  43. package/dist/client/devices.js.map +1 -0
  44. package/dist/client/email-templates.d.ts +1 -1
  45. package/dist/client/email-templates.js.map +1 -1
  46. package/dist/client/fga.d.ts +125 -4
  47. package/dist/client/fga.js +40 -0
  48. package/dist/client/fga.js.map +1 -1
  49. package/dist/client/flags.d.ts +101 -0
  50. package/dist/client/flags.js +104 -0
  51. package/dist/client/flags.js.map +1 -0
  52. package/dist/client/groups.d.ts +146 -0
  53. package/dist/client/groups.js +67 -0
  54. package/dist/client/groups.js.map +1 -0
  55. package/dist/client/identity-verification.d.ts +62 -0
  56. package/dist/client/identity-verification.js +39 -0
  57. package/dist/client/identity-verification.js.map +1 -0
  58. package/dist/client/iga.d.ts +436 -0
  59. package/dist/client/iga.js +82 -0
  60. package/dist/client/iga.js.map +1 -0
  61. package/dist/client/index.d.ts +1433 -4
  62. package/dist/client/index.js +96 -0
  63. package/dist/client/index.js.map +1 -1
  64. package/dist/client/journeys.d.ts +108 -0
  65. package/dist/client/journeys.js +35 -0
  66. package/dist/client/journeys.js.map +1 -0
  67. package/dist/client/least-privilege.d.ts +95 -0
  68. package/dist/client/least-privilege.js +28 -0
  69. package/dist/client/least-privilege.js.map +1 -0
  70. package/dist/client/log-streams.d.ts +1 -1
  71. package/dist/client/managed-grants.d.ts +52 -0
  72. package/dist/client/managed-grants.js +28 -0
  73. package/dist/client/managed-grants.js.map +1 -0
  74. package/dist/client/marketing.d.ts +67 -0
  75. package/dist/client/marketing.js +26 -0
  76. package/dist/client/marketing.js.map +1 -0
  77. package/dist/client/mcp-gateways.d.ts +126 -0
  78. package/dist/client/mcp-gateways.js +47 -0
  79. package/dist/client/mcp-gateways.js.map +1 -0
  80. package/dist/client/messaging.d.ts +14 -3
  81. package/dist/client/messaging.js.map +1 -1
  82. package/dist/client/mfa-factors.d.ts +120 -0
  83. package/dist/client/mfa-factors.js +73 -0
  84. package/dist/client/mfa-factors.js.map +1 -0
  85. package/dist/client/migrations.d.ts +1 -1
  86. package/dist/client/migrations.js.map +1 -1
  87. package/dist/client/network-acls.d.ts +6 -1
  88. package/dist/client/network-acls.js.map +1 -1
  89. package/dist/client/network-zones.d.ts +56 -0
  90. package/dist/client/network-zones.js +29 -0
  91. package/dist/client/network-zones.js.map +1 -0
  92. package/dist/client/notifications.d.ts +1 -1
  93. package/dist/client/notifications.js.map +1 -1
  94. package/dist/client/oauth-clients.d.ts +187 -3
  95. package/dist/client/oauth-clients.js +64 -0
  96. package/dist/client/oauth-clients.js.map +1 -1
  97. package/dist/client/openfga.d.ts +90 -3
  98. package/dist/client/openfga.js +27 -1
  99. package/dist/client/openfga.js.map +1 -1
  100. package/dist/client/org-role-grants.d.ts +57 -0
  101. package/dist/client/org-role-grants.js +40 -0
  102. package/dist/client/org-role-grants.js.map +1 -0
  103. package/dist/client/organizations.d.ts +52 -0
  104. package/dist/client/organizations.js +44 -0
  105. package/dist/client/organizations.js.map +1 -1
  106. package/dist/client/page-templates.d.ts +78 -0
  107. package/dist/client/page-templates.js +31 -0
  108. package/dist/client/page-templates.js.map +1 -0
  109. package/dist/client/passkey-api.d.ts +73 -0
  110. package/dist/client/passkey-api.js +34 -0
  111. package/dist/client/passkey-api.js.map +1 -0
  112. package/dist/client/policy-bundles.d.ts +105 -0
  113. package/dist/client/policy-bundles.js +38 -0
  114. package/dist/client/policy-bundles.js.map +1 -0
  115. package/dist/client/resources.d.ts +150 -0
  116. package/dist/client/resources.js +73 -0
  117. package/dist/client/resources.js.map +1 -0
  118. package/dist/client/risk-based-mfa.d.ts +147 -0
  119. package/dist/client/risk-based-mfa.js +30 -0
  120. package/dist/client/risk-based-mfa.js.map +1 -1
  121. package/dist/client/roles.d.ts +4 -0
  122. package/dist/client/roles.js.map +1 -1
  123. package/dist/client/service-connectors.d.ts +83 -0
  124. package/dist/client/service-connectors.js +33 -0
  125. package/dist/client/service-connectors.js.map +1 -0
  126. package/dist/client/ssf.d.ts +112 -0
  127. package/dist/client/ssf.js +49 -0
  128. package/dist/client/ssf.js.map +1 -0
  129. package/dist/client/sso-onboarding.d.ts +6 -0
  130. package/dist/client/sso-onboarding.js.map +1 -1
  131. package/dist/client/users.d.ts +302 -0
  132. package/dist/client/users.js +125 -0
  133. package/dist/client/users.js.map +1 -1
  134. package/dist/client/vault.d.ts +85 -0
  135. package/dist/client/vault.js +50 -0
  136. package/dist/client/vault.js.map +1 -0
  137. package/dist/client/vc.d.ts +136 -0
  138. package/dist/client/vc.js +43 -0
  139. package/dist/client/vc.js.map +1 -0
  140. package/dist/client/webhooks.d.ts +31 -2
  141. package/dist/client/webhooks.js.map +1 -1
  142. package/dist/client/workflows.d.ts +131 -0
  143. package/dist/client/workflows.js +36 -0
  144. package/dist/client/workflows.js.map +1 -0
  145. package/dist/index.d.ts +5 -0
  146. package/dist/index.js +11 -2
  147. package/dist/index.js.map +1 -1
  148. package/dist/magic-did.d.ts +5 -0
  149. package/dist/magic-did.js +49 -0
  150. package/dist/magic-did.js.map +1 -0
  151. package/dist/migration-bridge.d.ts +9 -0
  152. package/dist/migration-bridge.js +28 -2
  153. package/dist/migration-bridge.js.map +1 -1
  154. package/dist/migration-presets-g3.d.ts +2 -0
  155. package/dist/migration-presets-g3.js +254 -0
  156. package/dist/migration-presets-g3.js.map +1 -0
  157. package/dist/migration-presets-g4/authentik.d.ts +14 -0
  158. package/dist/migration-presets-g4/authentik.js +37 -0
  159. package/dist/migration-presets-g4/authentik.js.map +1 -0
  160. package/dist/migration-presets-g4/fusionauth.d.ts +2 -0
  161. package/dist/migration-presets-g4/fusionauth.js +52 -0
  162. package/dist/migration-presets-g4/fusionauth.js.map +1 -0
  163. package/dist/migration-presets-g4/hanko.d.ts +12 -0
  164. package/dist/migration-presets-g4/hanko.js +46 -0
  165. package/dist/migration-presets-g4/hanko.js.map +1 -0
  166. package/dist/migration-presets-g4/keycloak.d.ts +16 -0
  167. package/dist/migration-presets-g4/keycloak.js +37 -0
  168. package/dist/migration-presets-g4/keycloak.js.map +1 -0
  169. package/dist/migration-presets-g4/logto.d.ts +12 -0
  170. package/dist/migration-presets-g4/logto.js +35 -0
  171. package/dist/migration-presets-g4/logto.js.map +1 -0
  172. package/dist/migration-presets-g4/ory.d.ts +2 -0
  173. package/dist/migration-presets-g4/ory.js +67 -0
  174. package/dist/migration-presets-g4/ory.js.map +1 -0
  175. package/dist/migration-presets-g4/supertokens.d.ts +13 -0
  176. package/dist/migration-presets-g4/supertokens.js +35 -0
  177. package/dist/migration-presets-g4/supertokens.js.map +1 -0
  178. package/dist/migration-presets-g4/zitadel.d.ts +2 -0
  179. package/dist/migration-presets-g4/zitadel.js +36 -0
  180. package/dist/migration-presets-g4/zitadel.js.map +1 -0
  181. package/dist/migration-presets-g4.d.ts +10 -0
  182. package/dist/migration-presets-g4.js +30 -0
  183. package/dist/migration-presets-g4.js.map +1 -0
  184. package/dist/migration-presets.d.ts +6 -0
  185. package/dist/migration-presets.js +102 -6
  186. package/dist/migration-presets.js.map +1 -1
  187. package/dist/policy-bundle.d.ts +110 -0
  188. package/dist/policy-bundle.js +289 -0
  189. package/dist/policy-bundle.js.map +1 -0
  190. package/dist/request-auth.d.ts +32 -0
  191. package/dist/request-auth.js +72 -0
  192. package/dist/request-auth.js.map +1 -0
  193. package/dist/uma.d.ts +77 -0
  194. package/dist/uma.js +95 -0
  195. package/dist/uma.js.map +1 -0
  196. package/dist/verify.d.ts +2 -0
  197. package/dist/verify.js.map +1 -1
  198. package/dist/workos-session.d.ts +30 -0
  199. package/dist/workos-session.js +123 -0
  200. package/dist/workos-session.js.map +1 -0
  201. package/package.json +2 -2
@@ -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"}
@@ -1,4 +1,5 @@
1
1
  import { type RequestFn } from './request';
2
+ import type { WebhookDelivery, WebhookEndpoint, WebhookEndpointWithSecret } from './webhooks';
2
3
  import type { CursorPage, CursorParams, DataList, DeletedObject, ListPage, Metadata } from './types';
3
4
  export interface Organization {
4
5
  object: 'organization';
@@ -56,6 +57,16 @@ export interface OrganizationEndUserPoolPolicy {
56
57
  /** Readers may sign up on the hosted pages. */
57
58
  allowHostedSignup?: boolean;
58
59
  }
60
+ /** Tighten-only password rules an org layers over the instance policy. */
61
+ export interface OrgPasswordPolicyOverride {
62
+ minLength?: number;
63
+ checkBreaches?: true;
64
+ requireUppercase?: true;
65
+ requireLowercase?: true;
66
+ requireNumber?: true;
67
+ requireSymbol?: true;
68
+ bannedPasswords?: string[];
69
+ }
59
70
  /**
60
71
  * The organization's security policy overrides. Keys are camelCase on this
61
72
  * route, and only overrides that are set appear. Unknown keys from a newer API
@@ -63,6 +74,10 @@ export interface OrganizationEndUserPoolPolicy {
63
74
  */
64
75
  export interface OrganizationPolicySettings {
65
76
  requireMfa?: boolean;
77
+ /** Factor classes every member must have used; implies an MFA session. */
78
+ requiredFactors?: Array<'totp' | 'sms' | 'passkey' | 'push'>;
79
+ /** Tighten-only password rules for members. */
80
+ passwordPolicyOverride?: OrgPasswordPolicyOverride;
66
81
  ssoRequired?: boolean;
67
82
  sessionIdleOverrideMs?: number;
68
83
  /**
@@ -230,6 +245,8 @@ export interface ReplaceOrganizationMetadataBody {
230
245
  */
231
246
  export interface OrganizationPolicyPatch {
232
247
  requireMfa?: boolean | null;
248
+ requiredFactors?: Array<'totp' | 'sms' | 'passkey' | 'push'> | null;
249
+ passwordPolicyOverride?: OrgPasswordPolicyOverride | null;
233
250
  ssoRequired?: boolean | null;
234
251
  sessionIdleOverrideMs?: number | null;
235
252
  /** Restrict member sign-in methods; `null` clears (all methods). Unknown method → 400. */
@@ -245,6 +262,14 @@ export interface OrganizationPolicyPatch {
245
262
  endUserPool?: OrganizationEndUserPoolPolicy | null;
246
263
  [key: string]: unknown;
247
264
  }
265
+ /** Fields an organization's endpoint accepts. */
266
+ export interface OrganizationWebhookEndpointBody {
267
+ url?: string;
268
+ /** Event types, or ["*"]; only this organization's events are ever delivered. */
269
+ enabled_events?: string[];
270
+ description?: string | null;
271
+ active?: boolean;
272
+ }
248
273
  export declare function organizationsResource(request: RequestFn): {
249
274
  list(params?: CursorParams): Promise<CursorPage<Organization>>;
250
275
  get(id: string): Promise<Organization>;
@@ -356,6 +381,33 @@ export declare function organizationsResource(request: RequestFn): {
356
381
  deleted: true;
357
382
  }>;
358
383
  };
384
+ /**
385
+ * The organization's own webhook endpoints. They receive only that
386
+ * organization's events and are hidden from the instance's endpoint list;
387
+ * the org's admins manage the same endpoints from the app.
388
+ */
389
+ webhookEndpoints: {
390
+ list(orgId: string): Promise<ListPage<WebhookEndpoint>>;
391
+ get(orgId: string, endpointId: string): Promise<WebhookEndpoint>;
392
+ /** The signing secret is in this response only. */
393
+ create(orgId: string, body: OrganizationWebhookEndpointBody & {
394
+ url: string;
395
+ }, idempotencyKey?: string): Promise<WebhookEndpointWithSecret>;
396
+ update(orgId: string, endpointId: string, body: OrganizationWebhookEndpointBody): Promise<WebhookEndpoint>;
397
+ delete(orgId: string, endpointId: string): Promise<{
398
+ object: "webhook_endpoint";
399
+ id: string;
400
+ deleted: true;
401
+ }>;
402
+ /** Returns the new secret once; the previous one keeps signing for 24 hours. */
403
+ rotateSecret(orgId: string, endpointId: string): Promise<{
404
+ object: "webhook_secret";
405
+ secret: string;
406
+ overlap_seconds: number;
407
+ previous_secret_expires_at: number | null;
408
+ }>;
409
+ deliveries(orgId: string, endpointId: string, query?: Record<string, string | number | undefined>): Promise<ListPage<WebhookDelivery>>;
410
+ };
359
411
  /** The organization's hosted-page branding overlay. */
360
412
  branding: {
361
413
  get(orgId: string): Promise<OrganizationBranding>;
@@ -164,6 +164,50 @@ function organizationsResource(request) {
164
164
  });
165
165
  },
166
166
  },
167
+ /**
168
+ * The organization's own webhook endpoints. They receive only that
169
+ * organization's events and are hidden from the instance's endpoint list;
170
+ * the org's admins manage the same endpoints from the app.
171
+ */
172
+ webhookEndpoints: {
173
+ list(orgId) {
174
+ return request({ method: 'GET', path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints` });
175
+ },
176
+ get(orgId, endpointId) {
177
+ return request({ method: 'GET', path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}` });
178
+ },
179
+ /** The signing secret is in this response only. */
180
+ create(orgId, body, idempotencyKey) {
181
+ return request({ method: 'POST', path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints`, body, idempotencyKey });
182
+ },
183
+ update(orgId, endpointId, body) {
184
+ return request({
185
+ method: 'PATCH',
186
+ path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}`,
187
+ body,
188
+ });
189
+ },
190
+ delete(orgId, endpointId) {
191
+ return request({
192
+ method: 'DELETE',
193
+ path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}`,
194
+ });
195
+ },
196
+ /** Returns the new secret once; the previous one keeps signing for 24 hours. */
197
+ rotateSecret(orgId, endpointId) {
198
+ return request({
199
+ method: 'POST',
200
+ path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}/rotate_secret`,
201
+ });
202
+ },
203
+ deliveries(orgId, endpointId, query = {}) {
204
+ return request({
205
+ method: 'GET',
206
+ path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}/deliveries`,
207
+ query,
208
+ });
209
+ },
210
+ },
167
211
  /** The organization's hosted-page branding overlay. */
168
212
  branding: {
169
213
  get(orgId) {
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { type RequestFn } from './request';
2
+ import type { ListPage } from './types';
3
+ export type PageTemplatePage = 'sign-in' | 'sign-up' | 'user-profile';
4
+ export type TemplateTone = 'default' | 'muted' | 'accent' | 'success' | 'danger';
5
+ type Align = 'left' | 'center' | 'right';
6
+ /** One component. Strings are escaped; links are https, mailto: or a path; there is no raw HTML, CSS or script. */
7
+ export type TemplateNode = {
8
+ type: 'heading';
9
+ text: string;
10
+ level?: 2 | 3;
11
+ align?: Align;
12
+ } | {
13
+ type: 'text';
14
+ text: string;
15
+ tone?: TemplateTone;
16
+ size?: 'sm' | 'md';
17
+ align?: Align;
18
+ } | {
19
+ type: 'image';
20
+ src?: string;
21
+ asset_id?: string;
22
+ alt: string;
23
+ width?: number;
24
+ align?: Align;
25
+ } | {
26
+ type: 'link';
27
+ label: string;
28
+ href: string;
29
+ } | {
30
+ type: 'button_link';
31
+ label: string;
32
+ href: string;
33
+ } | {
34
+ type: 'list';
35
+ items: string[];
36
+ } | {
37
+ type: 'divider';
38
+ } | {
39
+ type: 'spacer';
40
+ size?: 'sm' | 'md' | 'lg';
41
+ } | {
42
+ type: 'columns';
43
+ columns: TemplateNode[][];
44
+ };
45
+ export interface PageTemplateDefinition {
46
+ version?: 1;
47
+ regions: Partial<Record<'header' | 'above_form' | 'below_form' | 'footer', TemplateNode[]>>;
48
+ }
49
+ export interface PageTemplateSlot {
50
+ version: number;
51
+ updated_at: number;
52
+ definition: PageTemplateDefinition;
53
+ }
54
+ export interface PageTemplate {
55
+ object: 'page_template';
56
+ page: PageTemplatePage;
57
+ live: PageTemplateSlot | null;
58
+ draft: PageTemplateSlot | null;
59
+ }
60
+ export interface PageTemplatePreview {
61
+ object: 'page_template_preview';
62
+ page: PageTemplatePage;
63
+ url: string;
64
+ expires_at: number;
65
+ }
66
+ export declare function pageTemplatesResource(request: RequestFn): {
67
+ list(): Promise<ListPage<PageTemplate>>;
68
+ get(page: PageTemplatePage): Promise<PageTemplate>;
69
+ /** Save the page's draft. The live page is unchanged until you promote. */
70
+ saveDraft(page: PageTemplatePage, definition: PageTemplateDefinition): Promise<PageTemplate>;
71
+ /** A signed link (one hour) to the hosted page with the draft applied. */
72
+ preview(page: PageTemplatePage): Promise<PageTemplatePreview>;
73
+ /** Make the draft the live template. */
74
+ promote(page: PageTemplatePage): Promise<PageTemplate>;
75
+ /** Drop the draft, or take the live template down. */
76
+ discard(page: PageTemplatePage, status: "draft" | "live"): Promise<PageTemplate>;
77
+ };
78
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pageTemplatesResource = pageTemplatesResource;
4
+ const request_1 = require("./request");
5
+ function pageTemplatesResource(request) {
6
+ return {
7
+ list() {
8
+ return request({ method: 'GET', path: '/v1/instance/page_templates' });
9
+ },
10
+ get(page) {
11
+ return request({ method: 'GET', path: `/v1/instance/page_templates/${(0, request_1.enc)(page)}` });
12
+ },
13
+ /** Save the page's draft. The live page is unchanged until you promote. */
14
+ saveDraft(page, definition) {
15
+ return request({ method: 'PUT', path: `/v1/instance/page_templates/${(0, request_1.enc)(page)}`, body: { definition } });
16
+ },
17
+ /** A signed link (one hour) to the hosted page with the draft applied. */
18
+ preview(page) {
19
+ return request({ method: 'POST', path: `/v1/instance/page_templates/${(0, request_1.enc)(page)}/preview` });
20
+ },
21
+ /** Make the draft the live template. */
22
+ promote(page) {
23
+ return request({ method: 'POST', path: `/v1/instance/page_templates/${(0, request_1.enc)(page)}/promote` });
24
+ },
25
+ /** Drop the draft, or take the live template down. */
26
+ discard(page, status) {
27
+ return request({ method: 'DELETE', path: `/v1/instance/page_templates/${(0, request_1.enc)(page)}`, query: { status } });
28
+ },
29
+ };
30
+ }
31
+ //# sourceMappingURL=page-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-templates.js","sourceRoot":"","sources":["../../src/client/page-templates.ts"],"names":[],"mappings":";;AA4CA,sDAyBC;AArED,uCAAgD;AA4ChD,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,GAAG,CAAC,IAAsB;YACxB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,2EAA2E;QAC3E,SAAS,CAAC,IAAsB,EAAE,UAAkC;YAClE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,0EAA0E;QAC1E,OAAO,CAAC,IAAsB;YAC5B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,wCAAwC;QACxC,OAAO,CAAC,IAAsB;YAC5B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,sDAAsD;QACtD,OAAO,CAAC,IAAsB,EAAE,MAAwB;YACtD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,+BAA+B,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5G,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { type RequestFn } from './request';
2
+ import type { ListPage } from './types';
3
+ export interface ExternalPasskey {
4
+ object: 'external_passkey';
5
+ id: string;
6
+ user_id: string;
7
+ credential_id: string;
8
+ name: string | null;
9
+ aaguid: string | null;
10
+ backed_up: boolean;
11
+ transports: string[];
12
+ last_used_at: number | null;
13
+ created_at: number;
14
+ }
15
+ export interface PasskeyRegistrationFinalize {
16
+ user_id: string;
17
+ challenge: string;
18
+ attestation_object: string;
19
+ client_data_json: string;
20
+ name?: string;
21
+ transports?: string[];
22
+ }
23
+ export interface PasskeyLoginFinalize {
24
+ handle: string;
25
+ challenge: string;
26
+ credential_id: string;
27
+ authenticator_data: string;
28
+ client_data_json: string;
29
+ signature: string;
30
+ /** Require the passkey to belong to this user. */
31
+ user_id?: string;
32
+ }
33
+ /**
34
+ * Passkeys for a user store you own: Atlas runs the WebAuthn ceremony, you keep
35
+ * the users and the session. Pass `options` to navigator.credentials.create()/get().
36
+ */
37
+ export declare function passkeyApiResource(request: RequestFn): {
38
+ registrationInit(body: {
39
+ user_id: string;
40
+ username?: string;
41
+ display_name?: string;
42
+ }): Promise<{
43
+ object: "passkey_registration_options";
44
+ options: Record<string, unknown>;
45
+ }>;
46
+ registrationFinalize(body: PasskeyRegistrationFinalize): Promise<ExternalPasskey>;
47
+ loginInit(body?: {
48
+ user_id?: string;
49
+ }): Promise<{
50
+ object: "passkey_login_options";
51
+ handle: string;
52
+ options: Record<string, unknown>;
53
+ }>;
54
+ loginFinalize(body: PasskeyLoginFinalize): Promise<{
55
+ object: "passkey_login_result";
56
+ verified: true;
57
+ user_id: string;
58
+ credential_id: string;
59
+ passkey_id: string;
60
+ user_verified: boolean;
61
+ cloned_warning: boolean;
62
+ }>;
63
+ list(userId: string): Promise<ListPage<ExternalPasskey>>;
64
+ delete(userId: string, id: string): Promise<{
65
+ object: "external_passkey";
66
+ id: string;
67
+ deleted: true;
68
+ }>;
69
+ usage(): Promise<{
70
+ object: "passkey_api_usage";
71
+ passkeys: number;
72
+ }>;
73
+ };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.passkeyApiResource = passkeyApiResource;
4
+ const request_1 = require("./request");
5
+ /**
6
+ * Passkeys for a user store you own: Atlas runs the WebAuthn ceremony, you keep
7
+ * the users and the session. Pass `options` to navigator.credentials.create()/get().
8
+ */
9
+ function passkeyApiResource(request) {
10
+ return {
11
+ registrationInit(body) {
12
+ return request({ method: 'POST', path: '/v1/passkey_api/registration/init', body });
13
+ },
14
+ registrationFinalize(body) {
15
+ return request({ method: 'POST', path: '/v1/passkey_api/registration/finalize', body });
16
+ },
17
+ loginInit(body = {}) {
18
+ return request({ method: 'POST', path: '/v1/passkey_api/login/init', body });
19
+ },
20
+ loginFinalize(body) {
21
+ return request({ method: 'POST', path: '/v1/passkey_api/login/finalize', body });
22
+ },
23
+ list(userId) {
24
+ return request({ method: 'GET', path: `/v1/passkey_api/users/${(0, request_1.enc)(userId)}/passkeys` });
25
+ },
26
+ delete(userId, id) {
27
+ return request({ method: 'DELETE', path: `/v1/passkey_api/users/${(0, request_1.enc)(userId)}/passkeys/${(0, request_1.enc)(id)}` });
28
+ },
29
+ usage() {
30
+ return request({ method: 'GET', path: '/v1/passkey_api/usage' });
31
+ },
32
+ };
33
+ }
34
+ //# sourceMappingURL=passkey-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkey-api.js","sourceRoot":"","sources":["../../src/client/passkey-api.ts"],"names":[],"mappings":";;AAwCA,gDAgCC;AAxED,uCAAgD;AAoChD;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,OAAkB;IACnD,OAAO;QACL,gBAAgB,CAAC,IAAmE;YAClF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,oBAAoB,CAAC,IAAiC;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,SAAS,CAAC,OAA6B,EAAE;YACvC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,aAAa,CAAC,IAA0B;YAStC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,MAAc;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,CAAC,MAAc,EAAE,EAAU;YAC/B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,MAAM,CAAC,aAAa,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { type RequestFn } from './request';
2
+ /**
3
+ * Signed policy bundles: the instance's ABAC policies and FGA authorization
4
+ * models as one versioned tar.gz with a manifest of file digests, signed with the
5
+ * instance signing key (detached JWS). Export, verify, and import with a dry-run
6
+ * diff. To check a bundle WITHOUT calling Atlas, use `verifyPolicyBundle`.
7
+ */
8
+ export interface PolicyBundle {
9
+ object: 'policy_bundle';
10
+ /** A digest of the bundle CONTENT (`rev_…`): the same policy has the same revision everywhere. */
11
+ revision: string;
12
+ sha256: string;
13
+ size: number;
14
+ key_id: string;
15
+ algorithm: 'RS256' | 'ES256';
16
+ /** Detached compact JWS (`header..signature`) over the archive bytes. */
17
+ signature: string;
18
+ origin: 'export' | 'import';
19
+ manifest: Record<string, unknown>;
20
+ /** The tar.gz, base64. Present on export and get; omitted from lists. */
21
+ bundle?: string;
22
+ media_type?: 'application/gzip';
23
+ created_at: number;
24
+ }
25
+ export interface PolicyBundleUpload {
26
+ /** The tar.gz, base64 (a `Uint8Array` is encoded for you). */
27
+ bundle: string | Uint8Array;
28
+ signature: string;
29
+ /** Public keys to trust in addition to this instance's, e.g. the staging instance when promoting to production. */
30
+ trusted_jwks?: {
31
+ keys: Array<Record<string, unknown>>;
32
+ };
33
+ }
34
+ export interface PolicyBundleVerification {
35
+ object: 'policy_bundle_verification';
36
+ /** Signature AND integrity both check out. */
37
+ valid: boolean;
38
+ signature: {
39
+ valid: boolean;
40
+ key_id: string | null;
41
+ algorithm: string | null;
42
+ error?: string;
43
+ };
44
+ integrity: {
45
+ valid: boolean;
46
+ code?: string;
47
+ error?: string;
48
+ };
49
+ revision: string | null;
50
+ manifest: Record<string, unknown> | null;
51
+ }
52
+ export interface PolicyBundleDiffSection {
53
+ create: string[];
54
+ update: Array<{
55
+ name: string;
56
+ changed: string[];
57
+ }>;
58
+ /** On the instance, absent from the bundle. ABAC policies are deleted only with `prune`; FGA stores never. */
59
+ absent: string[];
60
+ unchanged: number;
61
+ }
62
+ export interface PolicyBundleDiff {
63
+ abac_policies: PolicyBundleDiffSection;
64
+ fga_stores: PolicyBundleDiffSection;
65
+ abac_templates: PolicyBundleDiffSection;
66
+ abac_links: PolicyBundleDiffSection;
67
+ /** `absent`: the instance has a schema and the bundle does not (removed only with `prune`). */
68
+ abac_schema: 'create' | 'update' | 'absent' | 'unchanged';
69
+ identical: boolean;
70
+ }
71
+ export interface PolicyBundleImport {
72
+ object: 'policy_bundle_import';
73
+ dry_run: boolean;
74
+ applied: boolean;
75
+ prune: boolean;
76
+ revision: string;
77
+ diff: PolicyBundleDiff;
78
+ }
79
+ export declare function policyBundlesResource(request: RequestFn): {
80
+ /** The stored bundles, newest first (without archives). */
81
+ list(): Promise<{
82
+ object: "list";
83
+ data: PolicyBundle[];
84
+ has_more: boolean;
85
+ }>;
86
+ /** The revision the instance policy is at right now — compare with a deployed bundle's to detect drift. */
87
+ current(): Promise<{
88
+ object: "policy_bundle_revision";
89
+ revision: string;
90
+ }>;
91
+ /** Export the current policy as a signed bundle. */
92
+ export(): Promise<PolicyBundle>;
93
+ get(revision: string): Promise<PolicyBundle>;
94
+ /** Check a bundle's signature and integrity on Atlas. */
95
+ verify(body: PolicyBundleUpload): Promise<PolicyBundleVerification>;
96
+ /**
97
+ * Import a signed bundle. `dryRun` returns what would change and applies
98
+ * nothing; a real import applies everything in one transaction. A bundle whose
99
+ * signature or integrity fails is refused with 422 before anything changes.
100
+ */
101
+ import(body: PolicyBundleUpload & {
102
+ dry_run?: boolean;
103
+ prune?: boolean;
104
+ }): Promise<PolicyBundleImport>;
105
+ };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.policyBundlesResource = policyBundlesResource;
4
+ const request_1 = require("./request");
5
+ const toBase64 = (b) => typeof b === 'string' ? b : btoa(Array.from(b, (c) => String.fromCharCode(c)).join(''));
6
+ function policyBundlesResource(request) {
7
+ const upload = (u) => ({ ...u, bundle: toBase64(u.bundle) });
8
+ return {
9
+ /** The stored bundles, newest first (without archives). */
10
+ list() {
11
+ return request({ method: 'GET', path: '/v1/policy_bundles' });
12
+ },
13
+ /** The revision the instance policy is at right now — compare with a deployed bundle's to detect drift. */
14
+ current() {
15
+ return request({ method: 'GET', path: '/v1/policy_bundles/current' });
16
+ },
17
+ /** Export the current policy as a signed bundle. */
18
+ export() {
19
+ return request({ method: 'POST', path: '/v1/policy_bundles' });
20
+ },
21
+ get(revision) {
22
+ return request({ method: 'GET', path: `/v1/policy_bundles/${(0, request_1.enc)(revision)}` });
23
+ },
24
+ /** Check a bundle's signature and integrity on Atlas. */
25
+ verify(body) {
26
+ return request({ method: 'POST', path: '/v1/policy_bundles/verify', body: upload(body) });
27
+ },
28
+ /**
29
+ * Import a signed bundle. `dryRun` returns what would change and applies
30
+ * nothing; a real import applies everything in one transaction. A bundle whose
31
+ * signature or integrity fails is refused with 422 before anything changes.
32
+ */
33
+ import(body) {
34
+ return request({ method: 'POST', path: '/v1/policy_bundles/import', body: upload(body) });
35
+ },
36
+ };
37
+ }
38
+ //# sourceMappingURL=policy-bundles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-bundles.js","sourceRoot":"","sources":["../../src/client/policy-bundles.ts"],"names":[],"mappings":";;AA2EA,sDA+BC;AA1GD,uCAAgD;AAwEhD,MAAM,QAAQ,GAAG,CAAC,CAAsB,EAAU,EAAE,CAClD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1F,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,MAAM,MAAM,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjF,OAAO;QACL,2DAA2D;QAC3D,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,2GAA2G;QAC3G,OAAO;YACL,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,oDAAoD;QACpD,MAAM;YACJ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,QAAgB;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,yDAAyD;QACzD,MAAM,CAAC,IAAwB;YAC7B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD;;;;WAIG;QACH,MAAM,CAAC,IAAiE;YACtE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;KACF,CAAC;AACJ,CAAC"}