@atlasauth/backend 0.5.0 → 0.7.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/CHANGELOG.md +84 -0
  2. package/README.md +227 -0
  3. package/dist/client/activity.d.ts +104 -0
  4. package/dist/client/activity.js +29 -0
  5. package/dist/client/activity.js.map +1 -0
  6. package/dist/client/api-keys.d.ts +100 -0
  7. package/dist/client/api-keys.js +15 -0
  8. package/dist/client/api-keys.js.map +1 -1
  9. package/dist/client/audit-events.d.ts +103 -0
  10. package/dist/client/audit-events.js +43 -0
  11. package/dist/client/audit-events.js.map +1 -0
  12. package/dist/client/billing-plans.d.ts +43 -0
  13. package/dist/client/billing-plans.js +26 -0
  14. package/dist/client/billing-plans.js.map +1 -1
  15. package/dist/client/connectors.d.ts +174 -0
  16. package/dist/client/connectors.js +54 -0
  17. package/dist/client/connectors.js.map +1 -0
  18. package/dist/client/data-subject-requests.d.ts +21 -0
  19. package/dist/client/data-subject-requests.js +15 -0
  20. package/dist/client/data-subject-requests.js.map +1 -1
  21. package/dist/client/design.d.ts +295 -0
  22. package/dist/client/design.js +76 -0
  23. package/dist/client/design.js.map +1 -0
  24. package/dist/client/diagnostics.d.ts +53 -0
  25. package/dist/client/diagnostics.js +24 -0
  26. package/dist/client/diagnostics.js.map +1 -0
  27. package/dist/client/email-addresses.d.ts +22 -0
  28. package/dist/client/email-addresses.js +17 -0
  29. package/dist/client/email-addresses.js.map +1 -0
  30. package/dist/client/entitlement-overrides.d.ts +50 -0
  31. package/dist/client/entitlement-overrides.js +20 -0
  32. package/dist/client/entitlement-overrides.js.map +1 -0
  33. package/dist/client/error.d.ts +34 -0
  34. package/dist/client/error.js +33 -1
  35. package/dist/client/error.js.map +1 -1
  36. package/dist/client/import-export.d.ts +2 -0
  37. package/dist/client/import-export.js.map +1 -1
  38. package/dist/client/index.d.ts +461 -16
  39. package/dist/client/index.js +76 -2
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/client/instance.d.ts +54 -0
  42. package/dist/client/instance.js +18 -0
  43. package/dist/client/instance.js.map +1 -1
  44. package/dist/client/invitations.d.ts +14 -0
  45. package/dist/client/invitations.js +9 -0
  46. package/dist/client/invitations.js.map +1 -1
  47. package/dist/client/legacy-auth.d.ts +45 -0
  48. package/dist/client/legacy-auth.js +18 -0
  49. package/dist/client/legacy-auth.js.map +1 -0
  50. package/dist/client/mcp.d.ts +86 -0
  51. package/dist/client/mcp.js +47 -0
  52. package/dist/client/mcp.js.map +1 -0
  53. package/dist/client/notifications.d.ts +92 -0
  54. package/dist/client/notifications.js +55 -0
  55. package/dist/client/notifications.js.map +1 -0
  56. package/dist/client/oauth-clients.d.ts +46 -2
  57. package/dist/client/oauth-clients.js +4 -0
  58. package/dist/client/oauth-clients.js.map +1 -1
  59. package/dist/client/oauth-providers.d.ts +67 -7
  60. package/dist/client/oauth-providers.js +7 -2
  61. package/dist/client/oauth-providers.js.map +1 -1
  62. package/dist/client/openfga.d.ts +137 -0
  63. package/dist/client/openfga.js +72 -0
  64. package/dist/client/openfga.js.map +1 -0
  65. package/dist/client/org-ldap-connections.d.ts +75 -0
  66. package/dist/client/org-ldap-connections.js +36 -0
  67. package/dist/client/org-ldap-connections.js.map +1 -0
  68. package/dist/client/organization-settings-schema.d.ts +24 -0
  69. package/dist/client/organization-settings-schema.js +30 -0
  70. package/dist/client/organization-settings-schema.js.map +1 -0
  71. package/dist/client/organizations.d.ts +205 -4
  72. package/dist/client/organizations.js +109 -0
  73. package/dist/client/organizations.js.map +1 -1
  74. package/dist/client/pca.d.ts +59 -0
  75. package/dist/client/pca.js +40 -0
  76. package/dist/client/pca.js.map +1 -0
  77. package/dist/client/platform.d.ts +328 -0
  78. package/dist/client/platform.js +187 -0
  79. package/dist/client/platform.js.map +1 -0
  80. package/dist/client/redirect-urls.d.ts +23 -0
  81. package/dist/client/redirect-urls.js +22 -0
  82. package/dist/client/redirect-urls.js.map +1 -0
  83. package/dist/client/request.d.ts +45 -0
  84. package/dist/client/request.js +35 -2
  85. package/dist/client/request.js.map +1 -1
  86. package/dist/client/session-exchange-apps.d.ts +43 -0
  87. package/dist/client/session-exchange-apps.js +25 -0
  88. package/dist/client/session-exchange-apps.js.map +1 -0
  89. package/dist/client/sessions.d.ts +28 -0
  90. package/dist/client/sessions.js +20 -0
  91. package/dist/client/sessions.js.map +1 -1
  92. package/dist/client/sign-in-tokens.d.ts +13 -1
  93. package/dist/client/sign-in-tokens.js +11 -0
  94. package/dist/client/sign-in-tokens.js.map +1 -1
  95. package/dist/client/test-mode.d.ts +44 -0
  96. package/dist/client/test-mode.js +26 -0
  97. package/dist/client/test-mode.js.map +1 -0
  98. package/dist/client/tickets.d.ts +49 -0
  99. package/dist/client/tickets.js +19 -0
  100. package/dist/client/tickets.js.map +1 -0
  101. package/dist/client/users.d.ts +351 -0
  102. package/dist/client/users.js +228 -0
  103. package/dist/client/users.js.map +1 -1
  104. package/dist/client/waitlist.d.ts +21 -0
  105. package/dist/client/waitlist.js +16 -0
  106. package/dist/client/waitlist.js.map +1 -1
  107. package/dist/client/webhooks.d.ts +60 -6
  108. package/dist/client/webhooks.js +36 -2
  109. package/dist/client/webhooks.js.map +1 -1
  110. package/dist/index.d.ts +2 -0
  111. package/dist/index.js +9 -1
  112. package/dist/index.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 +7 -0
  117. package/dist/verify.js +13 -0
  118. package/dist/verify.js.map +1 -1
  119. package/package.json +3 -2
@@ -13,9 +13,31 @@ export interface OAuthClient {
13
13
  secret_prefix: string | null;
14
14
  is_public: boolean;
15
15
  first_party: boolean;
16
+ /** Where the client may send users after an RP-initiated logout. */
17
+ post_logout_redirect_uris: string[];
18
+ /** Back-channel logout endpoint Atlas POSTs a `logout_token` to, or null. */
19
+ backchannel_logout_uri: string | null;
20
+ /** Whether the back-channel `logout_token` must carry `sid`. */
21
+ backchannel_logout_session_required: boolean;
22
+ /** Front-channel logout URL Atlas loads in an iframe on sign-out, or null. */
23
+ frontchannel_logout_uri: string | null;
24
+ /** Whether `iss` and `sid` are appended to the front-channel logout URL. */
25
+ frontchannel_logout_session_required: boolean;
16
26
  created_at: number;
17
27
  updated_at: number;
18
28
  }
29
+ /**
30
+ * OIDC logout registration (RP-Initiated, Back-Channel and Front-Channel
31
+ * Logout), accepted on create and update. On update, `null` clears a URI and
32
+ * `[]` clears the post-logout redirect list.
33
+ */
34
+ export interface OAuthClientLogoutFields {
35
+ post_logout_redirect_uris?: string[];
36
+ backchannel_logout_uri?: string | null;
37
+ backchannel_logout_session_required?: boolean;
38
+ frontchannel_logout_uri?: string | null;
39
+ frontchannel_logout_session_required?: boolean;
40
+ }
19
41
  /** Create/rotate reveal the secret exactly once, alongside the client. */
20
42
  export interface OAuthClientWithSecret extends OAuthClient {
21
43
  client_secret?: string;
@@ -31,7 +53,7 @@ export interface ClientGrant {
31
53
  created_at: number;
32
54
  updated_at: number;
33
55
  }
34
- export interface CreateOAuthClientBody {
56
+ export interface CreateOAuthClientBody extends OAuthClientLogoutFields {
35
57
  name: string;
36
58
  redirect_uris: string[];
37
59
  allowed_scopes?: string[];
@@ -40,7 +62,7 @@ export interface CreateOAuthClientBody {
40
62
  logo_url?: string;
41
63
  first_party?: boolean;
42
64
  }
43
- export interface UpdateOAuthClientBody {
65
+ export interface UpdateOAuthClientBody extends OAuthClientLogoutFields {
44
66
  name?: string;
45
67
  redirect_uris?: string[];
46
68
  allowed_scopes?: string[];
@@ -48,7 +70,29 @@ export interface UpdateOAuthClientBody {
48
70
  logo_url?: string | null;
49
71
  first_party?: boolean;
50
72
  }
73
+ /** One client in a migration import. Idempotent per `client_id`. */
74
+ export interface ImportOAuthClientEntry {
75
+ /** Preserve the existing client_id. */
76
+ client_id: string;
77
+ name: string;
78
+ redirect_uris: string[];
79
+ /** Plaintext secret; hashed on import. Write-only. */
80
+ client_secret?: string;
81
+ /** A pre-computed secret hash imported verbatim (instead of `client_secret`). */
82
+ client_secret_hash?: string;
83
+ allowed_scopes?: string[];
84
+ grant_types?: string[];
85
+ token_endpoint_auth_method?: string;
86
+ }
87
+ /** An imported client as returned by `import`. */
88
+ export interface ImportedOAuthClient extends OAuthClient {
89
+ client_secret?: string;
90
+ }
51
91
  export declare function oauthClientsResource(request: RequestFn): {
92
+ /** Bulk-import OAuth clients for a migration, optionally with pre-hashed secrets. */
93
+ import(body: {
94
+ clients: ImportOAuthClientEntry[];
95
+ }, idempotencyKey?: string): Promise<ListPage<ImportedOAuthClient>>;
52
96
  list(): Promise<ListPage<OAuthClient>>;
53
97
  get(id: string): Promise<OAuthClient>;
54
98
  create(body: CreateOAuthClientBody, idempotencyKey?: string): Promise<OAuthClientWithSecret>;
@@ -4,6 +4,10 @@ exports.oauthClientsResource = oauthClientsResource;
4
4
  const request_1 = require("./request");
5
5
  function oauthClientsResource(request) {
6
6
  return {
7
+ /** Bulk-import OAuth clients for a migration, optionally with pre-hashed secrets. */
8
+ import(body, idempotencyKey) {
9
+ return request({ method: 'POST', path: '/v1/oauth_clients/import', body, idempotencyKey });
10
+ },
7
11
  list() {
8
12
  return request({ method: 'GET', path: '/v1/oauth_clients' });
9
13
  },
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":";;AAwDA,oDA8CC;AAtGD,uCAAgD;AAwDhD,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,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzF,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;QAED,MAAM,EAAE;YACN,IAAI,CAAC,QAAgB;gBACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,CACJ,QAAgB,EAChB,IAAuD;gBAEvD,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,QAAQ,CAAC,SAAS;oBACjD,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,QAAgB,EAChB,OAAe;gBAEf,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,QAAQ,CAAC,WAAW,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE;iBAClE,CAAC,CAAC;YACL,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":";;AAmGA,oDAqDC;AAxJD,uCAAgD;AAmGhD,SAAgB,oBAAoB,CAAC,OAAkB;IACrD,OAAO;QACL,qFAAqF;QACrF,MAAM,CACJ,IAA2C,EAC3C,cAAuB;YAEvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,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,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzF,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;QAED,MAAM,EAAE;YACN,IAAI,CAAC,QAAgB;gBACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,CACJ,QAAgB,EAChB,IAAuD;gBAEvD,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,QAAQ,CAAC,SAAS;oBACjD,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,QAAgB,EAChB,OAAe;gBAEf,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,QAAQ,CAAC,WAAW,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE;iBAClE,CAAC,CAAC;YACL,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -45,6 +45,46 @@ export interface OAuthProvider {
45
45
  allow_sign_up: boolean;
46
46
  scopes: string[];
47
47
  updated_at: number | null;
48
+ /** Extra scopes the provider's API supports beyond sign-in. */
49
+ api_scopes?: string[];
50
+ /** The effective sign-in mode (in-page native library or redirect). */
51
+ mode?: OAuthProviderMode;
52
+ /** Native providers only: the JavaScript origins to register at the provider console. */
53
+ javascript_origins?: string[];
54
+ /** Atlas's own callback URL; a `custom_redirect_uri` forwards `?code&state` here. */
55
+ atlas_callback?: string;
56
+ /** Your own already-registered callback (migration), or null. */
57
+ custom_redirect_uri?: string | null;
58
+ /** The instance's icon override for this provider's button, or null. */
59
+ icon_url?: string | null;
60
+ /** Wallet providers only (siwe, siws, siwf): the stored verifier settings. */
61
+ setting_values?: Record<string, string>;
62
+ }
63
+ export type OAuthProviderMode = 'native' | 'redirect';
64
+ /** `GET /v1/oauth_providers` filters. */
65
+ export interface ListOAuthProvidersParams {
66
+ /** Only these catalogue keys (exact match, e.g. `google`). */
67
+ provider?: string | string[];
68
+ /** `true`: only providers with credentials stored; `false`: only those not set up. */
69
+ configured?: boolean;
70
+ }
71
+ /**
72
+ * Verifier settings for the wallet providers (no credentials). `null` or `""`
73
+ * clears one; an unknown key is refused.
74
+ */
75
+ export interface OAuthWalletSettings {
76
+ /** siwe / siws / siwf: the expected domain (`hostname[:port]`). */
77
+ domain?: string | null;
78
+ /** siwe / siwf: allowed chain ids (positive integers, array or comma list). */
79
+ chain_ids?: number[] | string | null;
80
+ /** siwe: an https RPC URL; enables smart-contract (EIP-1271) wallets. */
81
+ rpc_url?: string | null;
82
+ /** siws: allowed networks. */
83
+ networks?: Array<'mainnet' | 'devnet' | 'testnet'> | string | null;
84
+ /** siwf: an https Optimism RPC URL, required to verify FID ownership. */
85
+ optimism_rpc_url?: string | null;
86
+ /** siwf: the Farcaster ID registry contract (`0x…`). */
87
+ id_registry_address?: string | null;
48
88
  }
49
89
  /**
50
90
  * Credentials for the redirect code-exchange flow. `client_id`/`client_secret`
@@ -58,7 +98,31 @@ export interface UpsertOAuthProviderBody {
58
98
  client_secret?: string;
59
99
  scopes?: string[];
60
100
  values?: Record<string, string>;
61
- settings?: Record<string, string>;
101
+ /**
102
+ * Non-secret provider settings (e.g. `redirect_uri`), or the wallet
103
+ * providers' verifier settings. `null` or `""` clears a setting.
104
+ */
105
+ settings?: Record<string, string | null> | OAuthWalletSettings;
106
+ /** Your own already-registered callback URL (migration). */
107
+ custom_redirect_uri?: string;
108
+ native?: boolean;
109
+ /** Force the sign-in mode; `""` or `null` clears the override. */
110
+ mode?: OAuthProviderMode | '' | null;
111
+ /** The brand shown on the button (e.g. "Discord"); empty or `null` clears. Display only. */
112
+ display_name?: string | null;
113
+ /** An http(s) or `data:image` icon for the button; empty or `null` clears. */
114
+ icon_url?: string | null;
115
+ }
116
+ /** What `upsert` returns. */
117
+ export interface OAuthProviderUpsertResult {
118
+ object: 'oauth_provider';
119
+ provider: string;
120
+ configured: boolean;
121
+ enabled: boolean;
122
+ /** Wallet providers only: the stored verifier settings after this write. */
123
+ setting_values?: Record<string, string>;
124
+ updated_fields: string[];
125
+ warning?: string;
62
126
  }
63
127
  /** The connectivity test's honest verdict: what it proved, and what it did not. */
64
128
  export interface OAuthConnectionTest {
@@ -74,14 +138,10 @@ export interface OAuthConnectionTest {
74
138
  }
75
139
  export declare function oauthProvidersResource(request: RequestFn): {
76
140
  /** The whole catalog, configured or not — a not-yet-set-up provider is exactly the one a setup agent wants. */
77
- list(): Promise<ListPage<OAuthProvider>>;
141
+ list(params?: ListOAuthProvidersParams): Promise<ListPage<OAuthProvider>>;
78
142
  get(provider: string): Promise<OAuthProvider>;
79
143
  /** Set (or replace) this instance's own credentials for a provider. */
80
- upsert(provider: string, body: UpsertOAuthProviderBody, idempotencyKey?: string): Promise<{
81
- object: "oauth_provider";
82
- provider: string;
83
- configured: true;
84
- }>;
144
+ upsert(provider: string, body: UpsertOAuthProviderBody, idempotencyKey?: string): Promise<OAuthProviderUpsertResult>;
85
145
  delete(provider: string): Promise<{
86
146
  object: "oauth_provider";
87
147
  provider: string;
@@ -5,8 +5,13 @@ const request_1 = require("./request");
5
5
  function oauthProvidersResource(request) {
6
6
  return {
7
7
  /** The whole catalog, configured or not — a not-yet-set-up provider is exactly the one a setup agent wants. */
8
- list() {
9
- return request({ method: 'GET', path: '/v1/oauth_providers' });
8
+ list(params = {}) {
9
+ const provider = Array.isArray(params.provider) ? params.provider.join(',') : params.provider;
10
+ return request({
11
+ method: 'GET',
12
+ path: '/v1/oauth_providers',
13
+ query: { provider, configured: params.configured },
14
+ });
10
15
  },
11
16
  get(provider) {
12
17
  return request({ method: 'GET', path: `/v1/oauth_providers/${(0, request_1.enc)(provider)}` });
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-providers.js","sourceRoot":"","sources":["../../src/client/oauth-providers.ts"],"names":[],"mappings":";;AAgFA,wDA2DC;AA3ID,uCAAgD;AAgFhD,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,+GAA+G;QAC/G,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,QAAgB;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,uEAAuE;QACvE,MAAM,CACJ,QAAgB,EAChB,IAA6B,EAC7B,cAAuB;YAEvB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CACJ,QAAgB;YAEhB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,qFAAqF;QACrF,UAAU,CACR,QAAgB,EAChB,OAAgB;YAEhB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,UAAU;gBACpD,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;QACL,CAAC;QACD,0EAA0E;QAC1E,QAAQ,CACN,QAAgB,EAChB,IAAwD;YAOxD,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,QAAQ;gBAClD,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QACD,gGAAgG;QAChG,IAAI,CAAC,QAAgB;YACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"oauth-providers.js","sourceRoot":"","sources":["../../src/client/oauth-providers.ts"],"names":[],"mappings":";;AAoJA,wDAgEC;AApND,uCAAgD;AAoJhD,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,+GAA+G;QAC/G,IAAI,CAAC,SAAmC,EAAE;YACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC9F,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,QAAgB;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,uEAAuE;QACvE,MAAM,CACJ,QAAgB,EAChB,IAA6B,EAC7B,cAAuB;YAEvB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CACJ,QAAgB;YAEhB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,qFAAqF;QACrF,UAAU,CACR,QAAgB,EAChB,OAAgB;YAEhB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,UAAU;gBACpD,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;QACL,CAAC;QACD,0EAA0E;QAC1E,QAAQ,CACN,QAAgB,EAChB,IAAwD;YAOxD,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,QAAQ;gBAClD,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QACD,gGAAgG;QAChG,IAAI,CAAC,QAAgB;YACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { type RequestFn } from './request';
2
+ /**
3
+ * The OpenFGA-wire ReBAC surface (`/v1/openfga/stores/...`). Shapes follow the
4
+ * OpenFGA HTTP API (snake_case on the wire), so an existing OpenFGA client's
5
+ * payloads work unchanged. Distinct from `fga` (Atlas's own relationship API).
6
+ */
7
+ /** An OpenFGA store. Timestamps are ISO-8601 strings, as in OpenFGA. */
8
+ export interface OpenFgaStore {
9
+ id: string;
10
+ name: string;
11
+ created_at: string;
12
+ updated_at: string;
13
+ }
14
+ /** A relationship tuple key: `user` (e.g. `user:alice`), `relation`, `object` (e.g. `document:roadmap`). */
15
+ export interface OpenFgaTupleKey {
16
+ user: string;
17
+ relation: string;
18
+ object: string;
19
+ }
20
+ /** Contextual tuples: either the OpenFGA `{ tuple_keys }` wrapper or a bare array. */
21
+ export type OpenFgaContextualTuples = {
22
+ tuple_keys: OpenFgaTupleKey[];
23
+ } | OpenFgaTupleKey[];
24
+ /** An authorization model. `type_definitions` and other OpenFGA keys pass through as-is. */
25
+ export interface OpenFgaAuthorizationModel {
26
+ id: string;
27
+ schema_version: string;
28
+ type_definitions?: Array<Record<string, unknown>>;
29
+ [key: string]: unknown;
30
+ }
31
+ /**
32
+ * A new model: the OpenFGA JSON form (`schema_version` + `type_definitions`) or
33
+ * the DSL text in `dsl`.
34
+ */
35
+ export interface WriteOpenFgaModelBody {
36
+ type_definitions?: Array<Record<string, unknown>>;
37
+ schema_version?: string;
38
+ dsl?: string;
39
+ [key: string]: unknown;
40
+ }
41
+ export interface OpenFgaCheckBody {
42
+ tuple_key: OpenFgaTupleKey;
43
+ authorization_model_id?: string;
44
+ contextual_tuples?: OpenFgaContextualTuples;
45
+ }
46
+ export interface OpenFgaBatchCheckItem {
47
+ tuple_key: OpenFgaTupleKey;
48
+ /** Keys the result; defaults to the item's index. */
49
+ correlation_id?: string;
50
+ contextual_tuples?: OpenFgaContextualTuples;
51
+ }
52
+ export interface OpenFgaBatchCheckBody {
53
+ /** 1–100 checks. */
54
+ checks: OpenFgaBatchCheckItem[];
55
+ authorization_model_id?: string;
56
+ }
57
+ export interface OpenFgaExpandBody {
58
+ tuple_key: {
59
+ object: string;
60
+ relation: string;
61
+ };
62
+ authorization_model_id?: string;
63
+ }
64
+ export interface OpenFgaListObjectsBody {
65
+ /** Object type, e.g. `document`. */
66
+ type: string;
67
+ relation: string;
68
+ user: string;
69
+ authorization_model_id?: string;
70
+ contextual_tuples?: OpenFgaContextualTuples;
71
+ }
72
+ export interface OpenFgaReadBody {
73
+ /** Optional filter; `object` may be a full `type:id` or a bare `type:` prefix. */
74
+ tuple_key?: Partial<OpenFgaTupleKey>;
75
+ page_size?: number;
76
+ continuation_token?: string;
77
+ }
78
+ export interface OpenFgaTuple {
79
+ key: OpenFgaTupleKey;
80
+ timestamp: string;
81
+ }
82
+ export interface OpenFgaWriteBody {
83
+ writes?: {
84
+ tuple_keys: OpenFgaTupleKey[];
85
+ };
86
+ deletes?: {
87
+ tuple_keys: OpenFgaTupleKey[];
88
+ };
89
+ }
90
+ export declare function openfgaResource(request: RequestFn): {
91
+ stores: {
92
+ list(): Promise<{
93
+ stores: OpenFgaStore[];
94
+ }>;
95
+ create(body: {
96
+ name: string;
97
+ }, idempotencyKey?: string): Promise<OpenFgaStore>;
98
+ get(store: string): Promise<OpenFgaStore>;
99
+ };
100
+ authorizationModels: {
101
+ list(store: string): Promise<{
102
+ authorization_models: OpenFgaAuthorizationModel[];
103
+ }>;
104
+ /** Write a new model; it becomes the latest model of the store. */
105
+ write(store: string, body: WriteOpenFgaModelBody): Promise<{
106
+ authorization_model_id: string;
107
+ }>;
108
+ get(store: string, modelId: string): Promise<{
109
+ authorization_model: OpenFgaAuthorizationModel;
110
+ }>;
111
+ };
112
+ check(store: string, body: OpenFgaCheckBody): Promise<{
113
+ allowed: boolean;
114
+ }>;
115
+ /** Up to 100 checks in one call; results keyed by correlation id. */
116
+ batchCheck(store: string, body: OpenFgaBatchCheckBody): Promise<{
117
+ result: Record<string, {
118
+ allowed: boolean;
119
+ }>;
120
+ }>;
121
+ /** The userset tree for an (object, relation), in OpenFGA's node format. */
122
+ expand(store: string, body: OpenFgaExpandBody): Promise<{
123
+ tree: {
124
+ root: Record<string, unknown>;
125
+ };
126
+ }>;
127
+ /** Objects (`type:id`) of `type` the user has `relation` on. */
128
+ listObjects(store: string, body: OpenFgaListObjectsBody): Promise<{
129
+ objects: string[];
130
+ }>;
131
+ read(store: string, body?: OpenFgaReadBody): Promise<{
132
+ tuples: OpenFgaTuple[];
133
+ continuation_token: string;
134
+ }>;
135
+ /** Add (`writes`) and/or remove (`deletes`) tuples. */
136
+ write(store: string, body: OpenFgaWriteBody): Promise<Record<string, never>>;
137
+ };
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.openfgaResource = openfgaResource;
4
+ const request_1 = require("./request");
5
+ function openfgaResource(request) {
6
+ return {
7
+ stores: {
8
+ list() {
9
+ return request({ method: 'GET', path: '/v1/openfga/stores' });
10
+ },
11
+ create(body, idempotencyKey) {
12
+ return request({ method: 'POST', path: '/v1/openfga/stores', body, idempotencyKey });
13
+ },
14
+ get(store) {
15
+ return request({ method: 'GET', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}` });
16
+ },
17
+ },
18
+ authorizationModels: {
19
+ list(store) {
20
+ return request({
21
+ method: 'GET',
22
+ path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/authorization-models`,
23
+ });
24
+ },
25
+ /** Write a new model; it becomes the latest model of the store. */
26
+ write(store, body) {
27
+ return request({
28
+ method: 'POST',
29
+ path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/authorization-models`,
30
+ body,
31
+ });
32
+ },
33
+ get(store, modelId) {
34
+ return request({
35
+ method: 'GET',
36
+ path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/authorization-models/${(0, request_1.enc)(modelId)}`,
37
+ });
38
+ },
39
+ },
40
+ check(store, body) {
41
+ return request({ method: 'POST', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/check`, body });
42
+ },
43
+ /** Up to 100 checks in one call; results keyed by correlation id. */
44
+ batchCheck(store, body) {
45
+ return request({
46
+ method: 'POST',
47
+ path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/batch-check`,
48
+ body,
49
+ });
50
+ },
51
+ /** The userset tree for an (object, relation), in OpenFGA's node format. */
52
+ expand(store, body) {
53
+ return request({ method: 'POST', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/expand`, body });
54
+ },
55
+ /** Objects (`type:id`) of `type` the user has `relation` on. */
56
+ listObjects(store, body) {
57
+ return request({
58
+ method: 'POST',
59
+ path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/list-objects`,
60
+ body,
61
+ });
62
+ },
63
+ read(store, body = {}) {
64
+ return request({ method: 'POST', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/read`, body });
65
+ },
66
+ /** Add (`writes`) and/or remove (`deletes`) tuples. */
67
+ write(store, body) {
68
+ return request({ method: 'POST', path: `/v1/openfga/stores/${(0, request_1.enc)(store)}/write`, body });
69
+ },
70
+ };
71
+ }
72
+ //# sourceMappingURL=openfga.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openfga.js","sourceRoot":"","sources":["../../src/client/openfga.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { type RequestFn } from './request';
2
+ import type { ListPage } from './types';
3
+ export type OrgLdapConnectionStatus = 'draft' | 'active' | 'disabled';
4
+ /** Directory attribute → Atlas field mapping. `email` is required. */
5
+ export interface OrgLdapAttributeMap {
6
+ email: string;
7
+ firstName?: string;
8
+ lastName?: string;
9
+ username?: string;
10
+ }
11
+ /** An organization-owned LDAP / Active Directory connection. Never the bind password. */
12
+ export interface OrgLdapConnection {
13
+ object: 'org_ldap_connection';
14
+ id: string;
15
+ organization_id: string;
16
+ status: OrgLdapConnectionStatus;
17
+ url: string;
18
+ bind_dn: string;
19
+ base_dn: string;
20
+ user_filter: string;
21
+ start_tls: boolean;
22
+ attributes: OrgLdapAttributeMap;
23
+ has_bind_password: boolean;
24
+ default_role_id: string | null;
25
+ created_at: number;
26
+ updated_at: number;
27
+ }
28
+ export interface UpdateOrgLdapConnectionBody {
29
+ status?: OrgLdapConnectionStatus;
30
+ /** `ldap://` or `ldaps://` directory URL. */
31
+ url?: string;
32
+ /** Service-account DN Atlas binds as to search. */
33
+ bind_dn?: string;
34
+ /** Subtree searched under. */
35
+ base_dn?: string;
36
+ /** Search filter with a `{{username}}` placeholder. */
37
+ user_filter?: string;
38
+ start_tls?: boolean;
39
+ attributes?: OrgLdapAttributeMap;
40
+ /** Service-account password. Write-only; re-encrypted only when supplied. */
41
+ bind_password?: string;
42
+ default_role_id?: string | null;
43
+ }
44
+ /** One connection per organization. */
45
+ export interface CreateOrgLdapConnectionBody extends UpdateOrgLdapConnectionBody {
46
+ organization_id: string;
47
+ }
48
+ export interface OrgLdapConnectionTest {
49
+ object: 'org_ldap_connection_test';
50
+ id: string;
51
+ /** Whether the service-account bind succeeded. */
52
+ ok: boolean;
53
+ /** Present only when the bind failed. */
54
+ error?: string;
55
+ }
56
+ export declare function orgLdapConnectionsResource(request: RequestFn): {
57
+ list(params?: {
58
+ organization_id?: string;
59
+ }): Promise<ListPage<OrgLdapConnection>>;
60
+ create(body: CreateOrgLdapConnectionBody, idempotencyKey?: string): Promise<OrgLdapConnection>;
61
+ get(id: string): Promise<OrgLdapConnection>;
62
+ update(id: string, body: UpdateOrgLdapConnectionBody, idempotencyKey?: string): Promise<OrgLdapConnection>;
63
+ delete(id: string): Promise<{
64
+ object: "org_ldap_connection";
65
+ id: string;
66
+ deleted: true;
67
+ }>;
68
+ /**
69
+ * Attempt a service-account bind and report ok/failure. Pass `bind_password`
70
+ * to test a password before saving it.
71
+ */
72
+ test(id: string, body?: {
73
+ bind_password?: string;
74
+ }): Promise<OrgLdapConnectionTest>;
75
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orgLdapConnectionsResource = orgLdapConnectionsResource;
4
+ const request_1 = require("./request");
5
+ function orgLdapConnectionsResource(request) {
6
+ return {
7
+ list(params = {}) {
8
+ return request({ method: 'GET', path: '/v1/org_ldap_connections', query: { ...params } });
9
+ },
10
+ create(body, idempotencyKey) {
11
+ return request({ method: 'POST', path: '/v1/org_ldap_connections', body, idempotencyKey });
12
+ },
13
+ get(id) {
14
+ return request({ method: 'GET', path: `/v1/org_ldap_connections/${(0, request_1.enc)(id)}` });
15
+ },
16
+ update(id, body, idempotencyKey) {
17
+ return request({
18
+ method: 'PATCH',
19
+ path: `/v1/org_ldap_connections/${(0, request_1.enc)(id)}`,
20
+ body,
21
+ idempotencyKey,
22
+ });
23
+ },
24
+ delete(id) {
25
+ return request({ method: 'DELETE', path: `/v1/org_ldap_connections/${(0, request_1.enc)(id)}` });
26
+ },
27
+ /**
28
+ * Attempt a service-account bind and report ok/failure. Pass `bind_password`
29
+ * to test a password before saving it.
30
+ */
31
+ test(id, body = {}) {
32
+ return request({ method: 'POST', path: `/v1/org_ldap_connections/${(0, request_1.enc)(id)}/test`, body });
33
+ },
34
+ };
35
+ }
36
+ //# sourceMappingURL=org-ldap-connections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-ldap-connections.js","sourceRoot":"","sources":["../../src/client/org-ldap-connections.ts"],"names":[],"mappings":";;AA8DA,gEAuCC;AArGD,uCAAgD;AA8DhD,SAAgB,0BAA0B,CAAC,OAAkB;IAC3D,OAAO;QACL,IAAI,CACF,SAAuC,EAAE;YAEzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,CACJ,IAAiC,EACjC,cAAuB;YAEvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CACJ,EAAU,EACV,IAAiC,EACjC,cAAuB;YAEvB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE;gBAC3C,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;QACD;;;WAGG;QACH,IAAI,CAAC,EAAU,EAAE,OAAmC,EAAE;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,IAAA,aAAG,EAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { RequestFn } from './request';
2
+ /**
3
+ * The instance-wide JSON Schema every organization's settings document is
4
+ * validated against (`organizations.settings.*`). The validated subset is
5
+ * type/required/properties/enum/minimum/maximum/minLength/maxLength/minItems/
6
+ * maxItems/items/additionalProperties/pattern/format (email, uri/url,
7
+ * date-time, uuid).
8
+ */
9
+ export interface OrganizationSettingsSchema {
10
+ object: 'organization_settings_schema';
11
+ schema: Record<string, unknown>;
12
+ /** Bumped each time the schema is re-registered. */
13
+ version: number;
14
+ /** Last registered (epoch ms). */
15
+ updated_at: number;
16
+ }
17
+ export declare function organizationSettingsSchemaResource(request: RequestFn): {
18
+ /** 404 when no schema is registered. */
19
+ get(): Promise<OrganizationSettingsSchema>;
20
+ /** First registration. */
21
+ create(schema: Record<string, unknown>, idempotencyKey?: string): Promise<OrganizationSettingsSchema>;
22
+ /** Replace the schema; bumps `version` so consumers can detect the contract change. */
23
+ replace(schema: Record<string, unknown>, idempotencyKey?: string): Promise<OrganizationSettingsSchema>;
24
+ };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.organizationSettingsSchemaResource = organizationSettingsSchemaResource;
4
+ function organizationSettingsSchemaResource(request) {
5
+ return {
6
+ /** 404 when no schema is registered. */
7
+ get() {
8
+ return request({ method: 'GET', path: '/v1/organization_settings_schema' });
9
+ },
10
+ /** First registration. */
11
+ create(schema, idempotencyKey) {
12
+ return request({
13
+ method: 'POST',
14
+ path: '/v1/organization_settings_schema',
15
+ body: { schema },
16
+ idempotencyKey,
17
+ });
18
+ },
19
+ /** Replace the schema; bumps `version` so consumers can detect the contract change. */
20
+ replace(schema, idempotencyKey) {
21
+ return request({
22
+ method: 'PUT',
23
+ path: '/v1/organization_settings_schema',
24
+ body: { schema },
25
+ idempotencyKey,
26
+ });
27
+ },
28
+ };
29
+ }
30
+ //# sourceMappingURL=organization-settings-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-settings-schema.js","sourceRoot":"","sources":["../../src/client/organization-settings-schema.ts"],"names":[],"mappings":";;AAkBA,gFA+BC;AA/BD,SAAgB,kCAAkC,CAAC,OAAkB;IACnE,OAAO;QACL,wCAAwC;QACxC,GAAG;YACD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,0BAA0B;QAC1B,MAAM,CACJ,MAA+B,EAC/B,cAAuB;YAEvB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,kCAAkC;gBACxC,IAAI,EAAE,EAAE,MAAM,EAAE;gBAChB,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,uFAAuF;QACvF,OAAO,CACL,MAA+B,EAC/B,cAAuB;YAEvB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,kCAAkC;gBACxC,IAAI,EAAE,EAAE,MAAM,EAAE;gBAChB,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}