@authhero/adapter-interfaces 4.22.0 → 4.24.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.
@@ -0,0 +1,14 @@
1
+ import type { DeviceCode, DeviceCodePatch } from "../types/DeviceCode";
2
+ /** RFC 8628 grants. Both codes are SHA-256 hashes; never store the wire device code. */
3
+ export interface DeviceCodesAdapter {
4
+ /** Must reject duplicate device/user code hashes within the tenant. */
5
+ create(tenantId: string, code: DeviceCode): Promise<void>;
6
+ get(tenantId: string, deviceCodeHash: string): Promise<DeviceCode | null>;
7
+ getByUserCode(tenantId: string, userCodeHash: string): Promise<DeviceCode | null>;
8
+ /** Atomic compare-and-swap. Increment version iff the expected version matches. */
9
+ update(tenantId: string, deviceCodeHash: string, version: number, patch: DeviceCodePatch): Promise<boolean>;
10
+ /** Atomically increment a fixed-window throttle bucket; return its new count. */
11
+ incrementAttempts(tenantId: string, key: string, expiresAt: string): Promise<number>;
12
+ /** Delete expired grants and throttle buckets globally. DynamoDB may use TTL. */
13
+ cleanup(olderThan: string): Promise<number>;
14
+ }
@@ -1,4 +1,4 @@
1
- import { Rollout, RolloutInsert, RolloutUpdate } from "../types/Rollout";
1
+ import { Rollout, RolloutInsert, RolloutKind, RolloutStatus, RolloutUpdate } from "../types/Rollout";
2
2
  import { ListParams } from "../types/ListParams";
3
3
  export interface ListRolloutsResult {
4
4
  rollouts: Rollout[];
@@ -6,12 +6,16 @@ export interface ListRolloutsResult {
6
6
  limit: number;
7
7
  length: number;
8
8
  }
9
+ export interface ListRolloutsParams extends ListParams {
10
+ status?: RolloutStatus | RolloutStatus[];
11
+ kind?: RolloutKind;
12
+ }
9
13
  export interface RolloutsAdapter {
10
14
  /** Generates the `rol_<nanoid>` id and inserts with status `pending`. */
11
15
  create(rollout: RolloutInsert): Promise<Rollout>;
12
16
  get(id: string): Promise<Rollout | null>;
13
17
  /** Default sort: `created_at` descending. */
14
- list(params?: ListParams): Promise<ListRolloutsResult>;
18
+ list(params?: ListRolloutsParams): Promise<ListRolloutsResult>;
15
19
  /** Always bumps `updated_at`. */
16
20
  update(id: string, rollout: RolloutUpdate): Promise<boolean>;
17
21
  remove(id: string): Promise<boolean>;
@@ -0,0 +1,37 @@
1
+ import type { TenantMemberRequest, TenantMemberRequestInsert, TenantMemberRequestStatus, TenantMemberRequestUpdate } from "../types/TenantMemberRequest";
2
+ import type { ListParams } from "../types/ListParams";
3
+ export interface ListTenantMemberRequestsParams extends ListParams {
4
+ status?: TenantMemberRequestStatus | TenantMemberRequestStatus[];
5
+ /**
6
+ * `true`: only requests the control plane has not acknowledged yet
7
+ * (`notified_at` unset). The reconcile job reads these.
8
+ */
9
+ unnotified?: boolean;
10
+ /** Only requests created before this instant (ISO 8601). */
11
+ created_before?: string;
12
+ }
13
+ export interface ListTenantMemberRequestsResult {
14
+ requests: TenantMemberRequest[];
15
+ start: number;
16
+ limit: number;
17
+ length: number;
18
+ }
19
+ /**
20
+ * Team-change requests of a tenant (issue #1550), stored in the tenant's own
21
+ * database. Every method but `cleanup` is scoped to one tenant.
22
+ */
23
+ export interface TenantMemberRequestsAdapter {
24
+ /** Generates the `tmr_<nanoid>` id and inserts with status `pending`. */
25
+ create(tenantId: string, request: TenantMemberRequestInsert): Promise<TenantMemberRequest>;
26
+ get(tenantId: string, id: string): Promise<TenantMemberRequest | null>;
27
+ /** Default sort: `created_at` descending. */
28
+ list(tenantId: string, params?: ListTenantMemberRequestsParams): Promise<ListTenantMemberRequestsResult>;
29
+ /**
30
+ * Always bumps `updated_at`. With `expectedStatus` the update only applies
31
+ * while the row still has that status, which is how a `pending` request is
32
+ * finished exactly once. Returns whether a row was updated.
33
+ */
34
+ update(tenantId: string, id: string, patch: TenantMemberRequestUpdate, expectedStatus?: TenantMemberRequestStatus): Promise<boolean>;
35
+ /** Deletes finished requests (`succeeded` or `failed`) finished before `olderThan`, across tenants. */
36
+ cleanup(olderThan: string): Promise<number>;
37
+ }
@@ -10,6 +10,7 @@ export interface CreateTenantParams {
10
10
  session_lifetime?: number;
11
11
  idle_session_lifetime?: number;
12
12
  parent_tenant_id?: string | null;
13
+ config_sync?: "inherit-on-read" | "synced" | "detached" | null;
13
14
  deployment_type?: "shared" | "wfp";
14
15
  provisioning_state?: "pending" | "ready" | "failed";
15
16
  provisioning_error?: string;
@@ -8,6 +8,8 @@ import { ClientConnectionsAdapter } from "./ClientConnections";
8
8
  import { ClientGrantsAdapter } from "./ClientGrants";
9
9
  import { ClientRegistrationTokensAdapter } from "./ClientRegistrationTokens";
10
10
  import { CodesAdapter } from "./Codes";
11
+ import { DeviceCodesAdapter } from "./DeviceCodes";
12
+ export type { DeviceCodesAdapter } from "./DeviceCodes";
11
13
  import { PasswordsAdapter } from "./Passwords";
12
14
  import { SessionsAdapter } from "./Sessions";
13
15
  import { TenantsDataAdapter } from "./Tenants";
@@ -59,6 +61,7 @@ import { TenantOperationsAdapter } from "./TenantOperations";
59
61
  import { TenantOperationEventsAdapter } from "./TenantOperationEvents";
60
62
  import { TenantOperationRowsAdapter } from "./TenantOperationRows";
61
63
  import { RolloutsAdapter } from "./Rollouts";
64
+ import { TenantMemberRequestsAdapter } from "./TenantMemberRequests";
62
65
  /**
63
66
  * Parameters for cleaning up expired sessions
64
67
  */
@@ -79,6 +82,8 @@ export interface DataAdapters {
79
82
  clientGrants: ClientGrantsAdapter;
80
83
  clientRegistrationTokens?: ClientRegistrationTokensAdapter;
81
84
  codes: CodesAdapter;
85
+ /** Optional RFC 8628 storage. Enables the device authorization grant. */
86
+ deviceCodes?: DeviceCodesAdapter;
82
87
  connections: ConnectionsAdapter;
83
88
  customDomains: CustomDomainsAdapter;
84
89
  emailProviders: EmailProvidersAdapter;
@@ -184,6 +189,12 @@ export interface DataAdapters {
184
189
  * and CRUD only; the wave/canary coordinator and routes come later.
185
190
  */
186
191
  rollouts?: RolloutsAdapter;
192
+ /**
193
+ * Optional team-change requests of a tenant, kept in the tenant's own
194
+ * database (issue #1550). A shard registers a request here and the control
195
+ * plane writes the outcome back.
196
+ */
197
+ tenantMemberRequests?: TenantMemberRequestsAdapter;
187
198
  themes: ThemesAdapter;
188
199
  universalLoginTemplates: UniversalLoginTemplatesAdapter;
189
200
  customText: CustomTextAdapter;
@@ -308,3 +319,4 @@ export * from "./TenantOperations";
308
319
  export * from "./TenantOperationEvents";
309
320
  export * from "./TenantOperationRows";
310
321
  export * from "./Rollouts";
322
+ export * from "./TenantMemberRequests";
@@ -34,10 +34,10 @@ export declare const targetSchema: z.ZodObject<{
34
34
  }, z.core.$strip>;
35
35
  export type Target = z.infer<typeof targetSchema>;
36
36
  /**
37
- * The authenticated caller of a bearer-token request, mirroring Auth0's
38
- * `details.request.auth` on `sapi` logs. `user` is set when the token was
39
- * issued to a user and omitted for client-credentials tokens. Absent on
40
- * requests that carry no bearer token, such as login flows.
37
+ * The authenticated caller, mirroring Auth0's `details.request.auth` on
38
+ * `sapi` logs. `user` is set for user tokens and verified account sessions,
39
+ * and omitted for client-credentials tokens. `strategy` identifies JWT or
40
+ * session authentication. Absent on unauthenticated requests.
41
41
  */
42
42
  export declare const requestAuthSchema: z.ZodObject<{
43
43
  user: z.ZodOptional<z.ZodObject<{
@@ -0,0 +1,22 @@
1
+ import { z } from "@hono/zod-openapi";
2
+ export declare const deviceCodeSchema: z.ZodObject<{
3
+ device_code_hash: z.ZodString;
4
+ user_code_hash: z.ZodString;
5
+ client_id: z.ZodString;
6
+ scope: z.ZodOptional<z.ZodString>;
7
+ audience: z.ZodOptional<z.ZodString>;
8
+ status: z.ZodEnum<{
9
+ pending: "pending";
10
+ approved: "approved";
11
+ denied: "denied";
12
+ consumed: "consumed";
13
+ }>;
14
+ login_id: z.ZodOptional<z.ZodString>;
15
+ expires_at: z.ZodString;
16
+ created_at: z.ZodString;
17
+ last_polled_at: z.ZodOptional<z.ZodString>;
18
+ interval: z.ZodNumber;
19
+ version: z.ZodNumber;
20
+ }, z.core.$strip>;
21
+ export type DeviceCode = z.infer<typeof deviceCodeSchema>;
22
+ export type DeviceCodePatch = Partial<Pick<DeviceCode, "status" | "login_id" | "last_polled_at" | "interval">>;
@@ -118,7 +118,12 @@ export declare const hookInsertSchema: z.ZodUnion<readonly [z.ZodObject<{
118
118
  "pre-user-registration": "pre-user-registration";
119
119
  "post-user-registration": "post-user-registration";
120
120
  "post-user-login": "post-user-login";
121
+ "post-user-update": "post-user-update";
122
+ "validate-registration-username": "validate-registration-username";
123
+ "pre-user-deletion": "pre-user-deletion";
124
+ "post-user-deletion": "post-user-deletion";
121
125
  "credentials-exchange": "credentials-exchange";
126
+ "pre-user-update": "pre-user-update";
122
127
  }>;
123
128
  code_id: z.ZodString;
124
129
  scope: z.ZodOptional<z.ZodEnum<{
@@ -250,7 +255,12 @@ export declare const hookSchema: z.ZodUnion<readonly [z.ZodObject<{
250
255
  "pre-user-registration": "pre-user-registration";
251
256
  "post-user-registration": "post-user-registration";
252
257
  "post-user-login": "post-user-login";
258
+ "post-user-update": "post-user-update";
259
+ "validate-registration-username": "validate-registration-username";
260
+ "pre-user-deletion": "pre-user-deletion";
261
+ "post-user-deletion": "post-user-deletion";
253
262
  "credentials-exchange": "credentials-exchange";
263
+ "pre-user-update": "pre-user-update";
254
264
  }>;
255
265
  scope: z.ZodOptional<z.ZodEnum<{
256
266
  local: "local";
@@ -69,6 +69,7 @@ export declare const openIDConfigurationSchema: z.ZodObject<{
69
69
  issuer: z.ZodString;
70
70
  authorization_endpoint: z.ZodString;
71
71
  token_endpoint: z.ZodString;
72
+ device_authorization_endpoint: z.ZodOptional<z.ZodString>;
72
73
  userinfo_endpoint: z.ZodString;
73
74
  jwks_uri: z.ZodString;
74
75
  registration_endpoint: z.ZodOptional<z.ZodString>;
@@ -13,6 +13,7 @@ export declare const LogTypes: {
13
13
  readonly CODE_SENT: "cs";
14
14
  readonly DEPRECATION_NOTICE: "depnote";
15
15
  readonly CONFIG_INHERITANCE_DIFF: "cfgdiff";
16
+ readonly CONFIG_DRIFT: "cfgdrift";
16
17
  readonly FAILED_LOGIN: "f";
17
18
  readonly FAILED_BY_CONNECTOR: "fc";
18
19
  readonly FAILED_CHANGE_EMAIL: "fce";
@@ -183,7 +184,7 @@ export declare const LocationInfo: z.ZodObject<{
183
184
  continent_code: z.ZodString;
184
185
  }, z.core.$strip>;
185
186
  export declare const logInsertSchema: z.ZodObject<{
186
- type: z.ZodString & z.ZodType<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string, z.core.$ZodTypeInternals<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string>>;
187
+ type: z.ZodString & z.ZodType<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "cfgdrift" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string, z.core.$ZodTypeInternals<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "cfgdrift" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string>>;
187
188
  date: z.ZodString;
188
189
  description: z.ZodOptional<z.ZodString>;
189
190
  ip: z.ZodOptional<z.ZodString>;
@@ -220,7 +221,7 @@ export declare const logInsertSchema: z.ZodObject<{
220
221
  }, z.core.$strip>;
221
222
  export type LogInsert = z.infer<typeof logInsertSchema>;
222
223
  export declare const logSchema: z.ZodObject<{
223
- type: z.ZodString & z.ZodType<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string, z.core.$ZodTypeInternals<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string>>;
224
+ type: z.ZodString & z.ZodType<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "cfgdrift" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string, z.core.$ZodTypeInternals<"fn" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "cfgdiff" | "cfgdrift" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fh" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "i" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "sapi" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum", string>>;
224
225
  date: z.ZodString;
225
226
  description: z.ZodOptional<z.ZodString>;
226
227
  ip: z.ZodOptional<z.ZodString>;
@@ -9,6 +9,7 @@ export declare const rolloutKindSchema: z.ZodEnum<{
9
9
  upgrade: "upgrade";
10
10
  backup: "backup";
11
11
  reseed: "reseed";
12
+ "config-sync": "config-sync";
12
13
  }>;
13
14
  export type RolloutKind = z.infer<typeof rolloutKindSchema>;
14
15
  export declare const rolloutStatusSchema: z.ZodEnum<{
@@ -25,6 +26,7 @@ export declare const rolloutInsertSchema: z.ZodObject<{
25
26
  upgrade: "upgrade";
26
27
  backup: "backup";
27
28
  reseed: "reseed";
29
+ "config-sync": "config-sync";
28
30
  }>;
29
31
  target_worker_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
32
  target_database_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -32,6 +34,7 @@ export declare const rolloutInsertSchema: z.ZodObject<{
32
34
  canary_tenant_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
33
35
  filter: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
34
36
  initiated_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ config: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
35
38
  }, z.core.$strip>;
36
39
  export type RolloutInsert = z.input<typeof rolloutInsertSchema>;
37
40
  export declare const rolloutSchema: z.ZodObject<{
@@ -39,6 +42,7 @@ export declare const rolloutSchema: z.ZodObject<{
39
42
  upgrade: "upgrade";
40
43
  backup: "backup";
41
44
  reseed: "reseed";
45
+ "config-sync": "config-sync";
42
46
  }>;
43
47
  target_worker_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
48
  target_database_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -46,6 +50,7 @@ export declare const rolloutSchema: z.ZodObject<{
46
50
  canary_tenant_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
47
51
  filter: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
48
52
  initiated_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ config: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
49
54
  id: z.ZodString;
50
55
  status: z.ZodEnum<{
51
56
  pending: "pending";
@@ -58,6 +63,7 @@ export declare const rolloutSchema: z.ZodObject<{
58
63
  created_at: z.ZodString;
59
64
  updated_at: z.ZodString;
60
65
  finished_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ paused_reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
67
  }, z.core.$strip>;
62
68
  export type Rollout = z.infer<typeof rolloutSchema>;
63
69
  export declare const rolloutUpdateSchema: z.ZodObject<{
@@ -70,8 +76,10 @@ export declare const rolloutUpdateSchema: z.ZodObject<{
70
76
  done: "done";
71
77
  }>>;
72
78
  filter: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
79
+ config: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
73
80
  finished_at: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
74
81
  wave_size: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
75
82
  canary_tenant_ids: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>>;
83
+ paused_reason: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
76
84
  }, z.core.$strip>;
77
85
  export type RolloutUpdate = z.infer<typeof rolloutUpdateSchema>;
@@ -2,6 +2,13 @@ import { z } from "@hono/zod-openapi";
2
2
  export declare const tenantInsertSchema: z.ZodObject<{
3
3
  id: z.ZodOptional<z.ZodString>;
4
4
  parent_tenant_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5
+ config_sync: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
6
+ "inherit-on-read": "inherit-on-read";
7
+ synced: "synced";
8
+ detached: "detached";
9
+ }>>>;
10
+ config_sync_hash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ config_synced_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5
12
  audience: z.ZodOptional<z.ZodString>;
6
13
  friendly_name: z.ZodString;
7
14
  picture_url: z.ZodOptional<z.ZodString>;
@@ -208,6 +215,13 @@ export declare const tenantSchema: z.ZodObject<{
208
215
  created_at: z.ZodPipe<z.ZodNullable<z.ZodString>, z.ZodTransform<string, string | null>>;
209
216
  updated_at: z.ZodPipe<z.ZodNullable<z.ZodString>, z.ZodTransform<string, string | null>>;
210
217
  parent_tenant_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
218
+ config_sync: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
219
+ "inherit-on-read": "inherit-on-read";
220
+ synced: "synced";
221
+ detached: "detached";
222
+ }>>>;
223
+ config_sync_hash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
224
+ config_synced_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
211
225
  audience: z.ZodOptional<z.ZodString>;
212
226
  friendly_name: z.ZodString;
213
227
  picture_url: z.ZodOptional<z.ZodString>;
@@ -411,5 +425,6 @@ export declare const tenantSchema: z.ZodObject<{
411
425
  }, z.core.$strip>>;
412
426
  id: z.ZodString;
413
427
  is_control_plane: z.ZodOptional<z.ZodBoolean>;
428
+ has_children: z.ZodOptional<z.ZodBoolean>;
414
429
  }, z.core.$strip>;
415
430
  export type Tenant = z.infer<typeof tenantSchema>;
@@ -0,0 +1,73 @@
1
+ import { z } from "@hono/zod-openapi";
2
+ /**
3
+ * A change to a tenant's team that a WFP shard registers and the control plane
4
+ * carries out (issue #1550). The row lives in the shard's own database, so the
5
+ * shard keeps a record of what was asked, and the control plane writes the
6
+ * outcome back to it.
7
+ */
8
+ export declare const tenantMemberRequestKindSchema: z.ZodEnum<{
9
+ invite: "invite";
10
+ add_members: "add_members";
11
+ remove_members: "remove_members";
12
+ assign_roles: "assign_roles";
13
+ remove_roles: "remove_roles";
14
+ revoke_invitation: "revoke_invitation";
15
+ }>;
16
+ export type TenantMemberRequestKind = z.infer<typeof tenantMemberRequestKindSchema>;
17
+ export declare const tenantMemberRequestStatusSchema: z.ZodEnum<{
18
+ pending: "pending";
19
+ failed: "failed";
20
+ succeeded: "succeeded";
21
+ }>;
22
+ export type TenantMemberRequestStatus = z.infer<typeof tenantMemberRequestStatusSchema>;
23
+ export declare const tenantMemberRequestInsertSchema: z.ZodObject<{
24
+ kind: z.ZodEnum<{
25
+ invite: "invite";
26
+ add_members: "add_members";
27
+ remove_members: "remove_members";
28
+ assign_roles: "assign_roles";
29
+ remove_roles: "remove_roles";
30
+ revoke_invitation: "revoke_invitation";
31
+ }>;
32
+ requested_by: z.ZodString;
33
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
34
+ }, z.core.$strip>;
35
+ export type TenantMemberRequestInsert = z.input<typeof tenantMemberRequestInsertSchema>;
36
+ export declare const tenantMemberRequestSchema: z.ZodObject<{
37
+ kind: z.ZodEnum<{
38
+ invite: "invite";
39
+ add_members: "add_members";
40
+ remove_members: "remove_members";
41
+ assign_roles: "assign_roles";
42
+ remove_roles: "remove_roles";
43
+ revoke_invitation: "revoke_invitation";
44
+ }>;
45
+ requested_by: z.ZodString;
46
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
47
+ id: z.ZodString;
48
+ tenant_id: z.ZodString;
49
+ status: z.ZodEnum<{
50
+ pending: "pending";
51
+ failed: "failed";
52
+ succeeded: "succeeded";
53
+ }>;
54
+ result: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
55
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ notified_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
+ created_at: z.ZodString;
58
+ updated_at: z.ZodString;
59
+ finished_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
+ }, z.core.$strip>;
61
+ export type TenantMemberRequest = z.infer<typeof tenantMemberRequestSchema>;
62
+ export declare const tenantMemberRequestUpdateSchema: z.ZodObject<{
63
+ status: z.ZodOptional<z.ZodEnum<{
64
+ pending: "pending";
65
+ failed: "failed";
66
+ succeeded: "succeeded";
67
+ }>>;
68
+ result: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
69
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
+ notified_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ finished_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ }, z.core.$strip>;
73
+ export type TenantMemberRequestUpdate = z.infer<typeof tenantMemberRequestUpdateSchema>;
@@ -14,6 +14,9 @@ export declare const tenantOperationKindSchema: z.ZodEnum<{
14
14
  backup: "backup";
15
15
  deprovision: "deprovision";
16
16
  users_import: "users_import";
17
+ "sync-defaults": "sync-defaults";
18
+ detach: "detach";
19
+ "tenant-members-request": "tenant-members-request";
17
20
  }>;
18
21
  export type TenantOperationKind = z.infer<typeof tenantOperationKindSchema>;
19
22
  export declare const tenantOperationStatusSchema: z.ZodEnum<{
@@ -50,6 +53,9 @@ export declare const tenantOperationInsertSchema: z.ZodObject<{
50
53
  backup: "backup";
51
54
  deprovision: "deprovision";
52
55
  users_import: "users_import";
56
+ "sync-defaults": "sync-defaults";
57
+ detach: "detach";
58
+ "tenant-members-request": "tenant-members-request";
53
59
  }>;
54
60
  engine: z.ZodString;
55
61
  engine_instance_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -69,6 +75,9 @@ export declare const tenantOperationSchema: z.ZodObject<{
69
75
  backup: "backup";
70
76
  deprovision: "deprovision";
71
77
  users_import: "users_import";
78
+ "sync-defaults": "sync-defaults";
79
+ detach: "detach";
80
+ "tenant-members-request": "tenant-members-request";
72
81
  }>;
73
82
  engine: z.ZodString;
74
83
  engine_instance_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1,5 +1,6 @@
1
1
  import { z } from "@hono/zod-openapi";
2
2
  export declare enum GrantType {
3
+ DeviceCode = "urn:ietf:params:oauth:grant-type:device_code",
3
4
  RefreshToken = "refresh_token",
4
5
  AuthorizationCode = "authorization_code",
5
6
  ClientCredential = "client_credentials",
@@ -12,6 +12,7 @@ export { ComponentCategory, ComponentType, NodeType, coordinatesSchema, richText
12
12
  export * from "./AuthParams";
13
13
  export * from "./Branding";
14
14
  export * from "./Code";
15
+ export * from "./DeviceCode";
15
16
  export * from "./Connection";
16
17
  export * from "./CustomDomain";
17
18
  export * from "./Forms";
@@ -34,6 +35,7 @@ export * from "./TenantOperation";
34
35
  export * from "./TenantOperationEvent";
35
36
  export * from "./TenantOperationRow";
36
37
  export * from "./Rollout";
38
+ export * from "./TenantMemberRequest";
37
39
  export * from "./Token";
38
40
  export * from "./User";
39
41
  export * from "./Theme";
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "type": "git",
12
12
  "url": "https://github.com/sesamyab/authhero"
13
13
  },
14
- "version": "4.22.0",
14
+ "version": "4.24.0",
15
15
  "files": [
16
16
  "dist"
17
17
  ],