@meistrari/auth-core 3.1.0 → 3.2.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.
package/dist/index.d.mts CHANGED
@@ -651,12 +651,22 @@ type ListCandidateOrganizationsResponse = Array<FullOrganization & {
651
651
  */
652
652
  lastUsed?: boolean;
653
653
  }>;
654
+ /**
655
+ * Whether an application refuses sign-ins, and the notice shown to users who
656
+ * try to sign in through it.
657
+ */
658
+ type ApplicationDeprecation = {
659
+ /** Whether the application is disabled. A disabled application refuses every sign-in. */
660
+ disabled: boolean;
661
+ /** Plain-text notice written by an admin, or `null` when the application is enabled or has none. */
662
+ deprecationNotice: string | null;
663
+ };
654
664
  /**
655
665
  * Public application context used to preserve continuity during auth redirects.
656
666
  */
657
667
  type ApplicationAuthContextResponse = {
658
668
  /** Minimal application identity shown in the hosted auth flow. */
659
- application: Pick<Application, 'id' | 'name' | 'config'>;
669
+ application: Pick<Application, 'id' | 'name' | 'config'> & ApplicationDeprecation;
660
670
  /**
661
671
  * Login methods usable for this application: the environment allowlist
662
672
  * intersected with the application's accepted AMRs.
@@ -757,7 +767,7 @@ type DeviceContextApplication = {
757
767
  name: string;
758
768
  /** Human-readable description, or `null` if not set. */
759
769
  description: string | null;
760
- };
770
+ } & ApplicationDeprecation;
761
771
  /**
762
772
  * Context information for a pending device authorization request.
763
773
  */
@@ -768,7 +778,7 @@ type DeviceAuthorizationContextResponse = {
768
778
  };
769
779
  /** The target application the requester wants access to. */
770
780
  target: DeviceContextApplication;
771
- /** Organizations the user can authorize the device for. */
781
+ /** Organizations the user can authorize the device for. Empty when the requester or the target is disabled. */
772
782
  organizations: FullOrganization[];
773
783
  /** Organization pre-selected by the requester, if any. */
774
784
  preselectedOrganizationId: string | null;
@@ -842,6 +852,37 @@ declare class ApplicationSessionAssuranceError extends ApplicationError {
842
852
  readonly validStepUps: SessionAssuranceRequiredPayload['validStepUps'];
843
853
  constructor(payload?: SessionAssuranceRequiredPayload | null, options?: ErrorOptions);
844
854
  }
855
+ /**
856
+ * Payload the API attaches to an `application_disabled` error.
857
+ */
858
+ type ApplicationDisabledPayload = {
859
+ applicationId: string;
860
+ applicationName: string;
861
+ deprecationNotice: string | null;
862
+ };
863
+ /**
864
+ * Reads the {@link ApplicationDisabledPayload} from an error returned by the
865
+ * API, following `cause` chains. Returns `null` when the error is not an
866
+ * `application_disabled` error.
867
+ *
868
+ * @param error - The caught error value
869
+ */
870
+ declare function parseApplicationDisabledPayload(error: unknown): ApplicationDisabledPayload | null;
871
+ /**
872
+ * Thrown when the application was disabled by an admin. Every sign-in, token
873
+ * exchange and refresh through it fails until it is enabled again, so clients
874
+ * must not retry or start a new flow.
875
+ *
876
+ * The message is the application's deprecation notice when it has one.
877
+ */
878
+ declare class ApplicationDisabledError extends ApplicationError {
879
+ readonly applicationId: string | null;
880
+ readonly applicationName: string | null;
881
+ readonly deprecationNotice: string | null;
882
+ constructor(payload?: ApplicationDisabledPayload | null, options?: ErrorOptions & {
883
+ status?: number;
884
+ });
885
+ }
845
886
  /**
846
887
  * Thrown when an operation requires an authenticated user but no session exists.
847
888
  */
@@ -993,6 +1034,7 @@ declare class ApplicationService {
993
1034
  * @throws {DeviceCodeExpiredError} The device code has expired
994
1035
  * @throws {DeviceTransientServerError} Transient server error — safe to retry
995
1036
  * @throws {ApplicationSessionAssuranceError} Assurance policy changed or is no longer met — start a new flow
1037
+ * @throws {ApplicationDisabledError} The requester or target application is disabled — stop polling
996
1038
  */
997
1039
  exchangeDeviceCodeForTokens(deviceCode: string): Promise<CompleteAuthorizationFlowResponse>;
998
1040
  /**
@@ -1017,6 +1059,7 @@ declare class ApplicationService {
1017
1059
  *
1018
1060
  * @param refreshToken - The refresh token to use for the authentication token refresh
1019
1061
  * @throws {RefreshTokenExpiredError} When the refresh token has expired or is invalid
1062
+ * @throws {ApplicationDisabledError} When the application has been disabled
1020
1063
  * @throws {ApplicationError} For other API errors
1021
1064
  */
1022
1065
  refreshAccessToken(refreshToken: string): Promise<CompleteAuthorizationFlowResponse>;
@@ -4516,6 +4559,13 @@ type CreateAdminApplicationSecretOptions = {
4516
4559
  /** Optional display name for the secret. */
4517
4560
  name?: string;
4518
4561
  };
4562
+ /**
4563
+ * Options accepted when disabling an application.
4564
+ */
4565
+ type DisableAdminApplicationOptions = {
4566
+ /** Plain-text notice shown to users who try to sign in through the application. Blank or `null` clears it. */
4567
+ deprecationNotice?: string | null;
4568
+ };
4519
4569
  /**
4520
4570
  * Client secret metadata returned by application management endpoints.
4521
4571
  */
@@ -5044,6 +5094,12 @@ type AdminApplication = {
5044
5094
  config: ApplicationConfig | null;
5045
5095
  serviceAccountUserId: string | null;
5046
5096
  serviceAccountUser?: AdminApplicationIdentity | null;
5097
+ /** When the application was disabled, or `null` while it is enabled. A disabled application refuses every sign-in. */
5098
+ disabledAt: string | null;
5099
+ /** ID of the admin who disabled the application, or `null`. */
5100
+ disabledBy: string | null;
5101
+ /** Plain-text notice shown to users who try to sign in through the disabled application. */
5102
+ deprecationNotice: string | null;
5047
5103
  createdBy: string;
5048
5104
  updatedBy: string;
5049
5105
  createdAt: string;
@@ -5216,6 +5272,24 @@ declare class AdminService {
5216
5272
  * @returns The updated application
5217
5273
  */
5218
5274
  updateApplication(applicationId: string, options: CreateAdminApplicationOptions): Promise<AdminApplicationRecord>;
5275
+ /**
5276
+ * Disables an application. Sign-ins, token exchanges, refreshes and
5277
+ * client-credentials exchanges through it fail with `application_disabled`,
5278
+ * which carries the deprecation notice. Disabling an already disabled
5279
+ * application replaces its notice.
5280
+ *
5281
+ * @param applicationId - ID of the application to disable
5282
+ * @param options - Optional deprecation notice
5283
+ * @returns The updated application
5284
+ */
5285
+ disableApplication(applicationId: string, options?: DisableAdminApplicationOptions): Promise<AdminApplicationRecord>;
5286
+ /**
5287
+ * Enables a disabled application and clears its deprecation notice.
5288
+ *
5289
+ * @param applicationId - ID of the application to enable
5290
+ * @returns The updated application
5291
+ */
5292
+ enableApplication(applicationId: string): Promise<AdminApplicationRecord>;
5219
5293
  /** Lists the role catalog for an application. */
5220
5294
  listApplicationRoles(applicationId: string): Promise<AdminApplicationRole[]>;
5221
5295
  /** Creates an application-scoped role definition. */
@@ -6602,5 +6676,5 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
6602
6676
  */
6603
6677
  declare function extractTokenPayload(token: string): DecodedJWTPayload;
6604
6678
 
6605
- export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6606
- export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationRole, ApplicationScopedMember, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, FullOrganizationMember, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsInclude, ListCandidateOrganizationsOptions, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
6679
+ export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationDisabledError, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseApplicationDisabledPayload, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6680
+ export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationDeprecation, ApplicationDisabledPayload, ApplicationRole, ApplicationScopedMember, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, DisableAdminApplicationOptions, EmailOTPSignInOptions, FullOrganization, FullOrganizationMember, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsInclude, ListCandidateOrganizationsOptions, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
package/dist/index.d.ts CHANGED
@@ -651,12 +651,22 @@ type ListCandidateOrganizationsResponse = Array<FullOrganization & {
651
651
  */
652
652
  lastUsed?: boolean;
653
653
  }>;
654
+ /**
655
+ * Whether an application refuses sign-ins, and the notice shown to users who
656
+ * try to sign in through it.
657
+ */
658
+ type ApplicationDeprecation = {
659
+ /** Whether the application is disabled. A disabled application refuses every sign-in. */
660
+ disabled: boolean;
661
+ /** Plain-text notice written by an admin, or `null` when the application is enabled or has none. */
662
+ deprecationNotice: string | null;
663
+ };
654
664
  /**
655
665
  * Public application context used to preserve continuity during auth redirects.
656
666
  */
657
667
  type ApplicationAuthContextResponse = {
658
668
  /** Minimal application identity shown in the hosted auth flow. */
659
- application: Pick<Application, 'id' | 'name' | 'config'>;
669
+ application: Pick<Application, 'id' | 'name' | 'config'> & ApplicationDeprecation;
660
670
  /**
661
671
  * Login methods usable for this application: the environment allowlist
662
672
  * intersected with the application's accepted AMRs.
@@ -757,7 +767,7 @@ type DeviceContextApplication = {
757
767
  name: string;
758
768
  /** Human-readable description, or `null` if not set. */
759
769
  description: string | null;
760
- };
770
+ } & ApplicationDeprecation;
761
771
  /**
762
772
  * Context information for a pending device authorization request.
763
773
  */
@@ -768,7 +778,7 @@ type DeviceAuthorizationContextResponse = {
768
778
  };
769
779
  /** The target application the requester wants access to. */
770
780
  target: DeviceContextApplication;
771
- /** Organizations the user can authorize the device for. */
781
+ /** Organizations the user can authorize the device for. Empty when the requester or the target is disabled. */
772
782
  organizations: FullOrganization[];
773
783
  /** Organization pre-selected by the requester, if any. */
774
784
  preselectedOrganizationId: string | null;
@@ -842,6 +852,37 @@ declare class ApplicationSessionAssuranceError extends ApplicationError {
842
852
  readonly validStepUps: SessionAssuranceRequiredPayload['validStepUps'];
843
853
  constructor(payload?: SessionAssuranceRequiredPayload | null, options?: ErrorOptions);
844
854
  }
855
+ /**
856
+ * Payload the API attaches to an `application_disabled` error.
857
+ */
858
+ type ApplicationDisabledPayload = {
859
+ applicationId: string;
860
+ applicationName: string;
861
+ deprecationNotice: string | null;
862
+ };
863
+ /**
864
+ * Reads the {@link ApplicationDisabledPayload} from an error returned by the
865
+ * API, following `cause` chains. Returns `null` when the error is not an
866
+ * `application_disabled` error.
867
+ *
868
+ * @param error - The caught error value
869
+ */
870
+ declare function parseApplicationDisabledPayload(error: unknown): ApplicationDisabledPayload | null;
871
+ /**
872
+ * Thrown when the application was disabled by an admin. Every sign-in, token
873
+ * exchange and refresh through it fails until it is enabled again, so clients
874
+ * must not retry or start a new flow.
875
+ *
876
+ * The message is the application's deprecation notice when it has one.
877
+ */
878
+ declare class ApplicationDisabledError extends ApplicationError {
879
+ readonly applicationId: string | null;
880
+ readonly applicationName: string | null;
881
+ readonly deprecationNotice: string | null;
882
+ constructor(payload?: ApplicationDisabledPayload | null, options?: ErrorOptions & {
883
+ status?: number;
884
+ });
885
+ }
845
886
  /**
846
887
  * Thrown when an operation requires an authenticated user but no session exists.
847
888
  */
@@ -993,6 +1034,7 @@ declare class ApplicationService {
993
1034
  * @throws {DeviceCodeExpiredError} The device code has expired
994
1035
  * @throws {DeviceTransientServerError} Transient server error — safe to retry
995
1036
  * @throws {ApplicationSessionAssuranceError} Assurance policy changed or is no longer met — start a new flow
1037
+ * @throws {ApplicationDisabledError} The requester or target application is disabled — stop polling
996
1038
  */
997
1039
  exchangeDeviceCodeForTokens(deviceCode: string): Promise<CompleteAuthorizationFlowResponse>;
998
1040
  /**
@@ -1017,6 +1059,7 @@ declare class ApplicationService {
1017
1059
  *
1018
1060
  * @param refreshToken - The refresh token to use for the authentication token refresh
1019
1061
  * @throws {RefreshTokenExpiredError} When the refresh token has expired or is invalid
1062
+ * @throws {ApplicationDisabledError} When the application has been disabled
1020
1063
  * @throws {ApplicationError} For other API errors
1021
1064
  */
1022
1065
  refreshAccessToken(refreshToken: string): Promise<CompleteAuthorizationFlowResponse>;
@@ -4516,6 +4559,13 @@ type CreateAdminApplicationSecretOptions = {
4516
4559
  /** Optional display name for the secret. */
4517
4560
  name?: string;
4518
4561
  };
4562
+ /**
4563
+ * Options accepted when disabling an application.
4564
+ */
4565
+ type DisableAdminApplicationOptions = {
4566
+ /** Plain-text notice shown to users who try to sign in through the application. Blank or `null` clears it. */
4567
+ deprecationNotice?: string | null;
4568
+ };
4519
4569
  /**
4520
4570
  * Client secret metadata returned by application management endpoints.
4521
4571
  */
@@ -5044,6 +5094,12 @@ type AdminApplication = {
5044
5094
  config: ApplicationConfig | null;
5045
5095
  serviceAccountUserId: string | null;
5046
5096
  serviceAccountUser?: AdminApplicationIdentity | null;
5097
+ /** When the application was disabled, or `null` while it is enabled. A disabled application refuses every sign-in. */
5098
+ disabledAt: string | null;
5099
+ /** ID of the admin who disabled the application, or `null`. */
5100
+ disabledBy: string | null;
5101
+ /** Plain-text notice shown to users who try to sign in through the disabled application. */
5102
+ deprecationNotice: string | null;
5047
5103
  createdBy: string;
5048
5104
  updatedBy: string;
5049
5105
  createdAt: string;
@@ -5216,6 +5272,24 @@ declare class AdminService {
5216
5272
  * @returns The updated application
5217
5273
  */
5218
5274
  updateApplication(applicationId: string, options: CreateAdminApplicationOptions): Promise<AdminApplicationRecord>;
5275
+ /**
5276
+ * Disables an application. Sign-ins, token exchanges, refreshes and
5277
+ * client-credentials exchanges through it fail with `application_disabled`,
5278
+ * which carries the deprecation notice. Disabling an already disabled
5279
+ * application replaces its notice.
5280
+ *
5281
+ * @param applicationId - ID of the application to disable
5282
+ * @param options - Optional deprecation notice
5283
+ * @returns The updated application
5284
+ */
5285
+ disableApplication(applicationId: string, options?: DisableAdminApplicationOptions): Promise<AdminApplicationRecord>;
5286
+ /**
5287
+ * Enables a disabled application and clears its deprecation notice.
5288
+ *
5289
+ * @param applicationId - ID of the application to enable
5290
+ * @returns The updated application
5291
+ */
5292
+ enableApplication(applicationId: string): Promise<AdminApplicationRecord>;
5219
5293
  /** Lists the role catalog for an application. */
5220
5294
  listApplicationRoles(applicationId: string): Promise<AdminApplicationRole[]>;
5221
5295
  /** Creates an application-scoped role definition. */
@@ -6602,5 +6676,5 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
6602
6676
  */
6603
6677
  declare function extractTokenPayload(token: string): DecodedJWTPayload;
6604
6678
 
6605
- export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6606
- export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationRole, ApplicationScopedMember, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, FullOrganizationMember, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsInclude, ListCandidateOrganizationsOptions, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
6679
+ export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationDisabledError, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseApplicationDisabledPayload, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6680
+ export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationDeprecation, ApplicationDisabledPayload, ApplicationRole, ApplicationScopedMember, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, DisableAdminApplicationOptions, EmailOTPSignInOptions, FullOrganization, FullOrganizationMember, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsInclude, ListCandidateOrganizationsOptions, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
package/dist/index.mjs CHANGED
@@ -21,7 +21,7 @@ function isTokenExpired(token, expiresInMs) {
21
21
  return nowInSeconds > expirationTime;
22
22
  }
23
23
 
24
- const version = "3.1.0";
24
+ const version = "3.2.0";
25
25
 
26
26
  function parsedEnumValues(schema) {
27
27
  return Object.fromEntries(
@@ -610,6 +610,35 @@ class AdminService {
610
610
  body: options
611
611
  });
612
612
  }
613
+ /**
614
+ * Disables an application. Sign-ins, token exchanges, refreshes and
615
+ * client-credentials exchanges through it fail with `application_disabled`,
616
+ * which carries the deprecation notice. Disabling an already disabled
617
+ * application replaces its notice.
618
+ *
619
+ * @param applicationId - ID of the application to disable
620
+ * @param options - Optional deprecation notice
621
+ * @returns The updated application
622
+ */
623
+ async disableApplication(applicationId, options = {}) {
624
+ return await this.requestApplicationRoute("applications/:applicationId/disable", {
625
+ params: { applicationId },
626
+ method: "POST",
627
+ body: options
628
+ });
629
+ }
630
+ /**
631
+ * Enables a disabled application and clears its deprecation notice.
632
+ *
633
+ * @param applicationId - ID of the application to enable
634
+ * @returns The updated application
635
+ */
636
+ async enableApplication(applicationId) {
637
+ return await this.requestApplicationRoute("applications/:applicationId/enable", {
638
+ params: { applicationId },
639
+ method: "POST"
640
+ });
641
+ }
613
642
  /** Lists the role catalog for an application. */
614
643
  async listApplicationRoles(applicationId) {
615
644
  return await this.requestApplicationRoute(
@@ -1202,6 +1231,41 @@ class ApplicationSessionAssuranceError extends ApplicationError {
1202
1231
  this.validStepUps = payload?.validStepUps ?? [];
1203
1232
  }
1204
1233
  }
1234
+ function parseApplicationDisabledPayload(error) {
1235
+ const seen = /* @__PURE__ */ new Set();
1236
+ let current = error;
1237
+ while (current && typeof current === "object" && !seen.has(current)) {
1238
+ seen.add(current);
1239
+ const candidate = current;
1240
+ for (const details of [candidate.details, candidate.error?.details]) {
1241
+ if (!details || typeof details !== "object") {
1242
+ continue;
1243
+ }
1244
+ const payload = details;
1245
+ if (payload.code === "application_disabled" && typeof payload.applicationId === "string") {
1246
+ return {
1247
+ applicationId: payload.applicationId,
1248
+ applicationName: typeof payload.applicationName === "string" ? payload.applicationName : "",
1249
+ deprecationNotice: typeof payload.deprecationNotice === "string" ? payload.deprecationNotice : null
1250
+ };
1251
+ }
1252
+ }
1253
+ current = candidate.cause;
1254
+ }
1255
+ return null;
1256
+ }
1257
+ class ApplicationDisabledError extends ApplicationError {
1258
+ applicationId;
1259
+ applicationName;
1260
+ deprecationNotice;
1261
+ constructor(payload = null, options) {
1262
+ super(payload?.deprecationNotice || `${payload?.applicationName || "The application"} has been disabled`, options);
1263
+ this.code = "APPLICATION_DISABLED";
1264
+ this.applicationId = payload?.applicationId ?? null;
1265
+ this.applicationName = payload?.applicationName || null;
1266
+ this.deprecationNotice = payload?.deprecationNotice ?? null;
1267
+ }
1268
+ }
1205
1269
  class UserNotLoggedInError extends ApplicationError {
1206
1270
  constructor(message, options) {
1207
1271
  super(message, options);
@@ -1433,8 +1497,17 @@ function parseErrorMessage(error) {
1433
1497
  const nested = typeof candidateError.error === "string" ? candidateError.error : candidateError.error?.message;
1434
1498
  return candidateError.message ?? nested ?? "Failed to exchange device code for tokens";
1435
1499
  }
1500
+ function throwIfApplicationDisabled(error) {
1501
+ const payload = parseApplicationDisabledPayload(error);
1502
+ if (payload) {
1503
+ throw new ApplicationDisabledError(payload, { cause: error });
1504
+ }
1505
+ }
1436
1506
  function throwDeviceGrantError(error) {
1437
1507
  const code = parseErrorCode(error);
1508
+ if (code === "application_disabled") {
1509
+ throw new ApplicationDisabledError(parseApplicationDisabledPayload(error), { cause: error });
1510
+ }
1438
1511
  if (code === "authorization_pending") {
1439
1512
  throw new DeviceAuthorizationPendingError({ cause: error });
1440
1513
  }
@@ -1512,6 +1585,7 @@ class ApplicationService {
1512
1585
  try {
1513
1586
  const response = await this.client.applications.startAuthorizationFlow(applicationId, redirectUri, codeChallenge, organizationId);
1514
1587
  if (!response.data) {
1588
+ throwIfApplicationDisabled(response.error);
1515
1589
  const payload = parseSessionAssuranceRequiredPayload(response.error);
1516
1590
  if (payload) {
1517
1591
  throw new SessionAssuranceRequiredError(payload, { cause: response.error });
@@ -1520,9 +1594,10 @@ class ApplicationService {
1520
1594
  }
1521
1595
  return response.data;
1522
1596
  } catch (error) {
1523
- if (error instanceof SessionAssuranceRequiredError) {
1597
+ if (error instanceof SessionAssuranceRequiredError || error instanceof ApplicationDisabledError) {
1524
1598
  throw error;
1525
1599
  }
1600
+ throwIfApplicationDisabled(error);
1526
1601
  const payload = parseSessionAssuranceRequiredPayload(error);
1527
1602
  if (payload) {
1528
1603
  throw new SessionAssuranceRequiredError(payload, { cause: error });
@@ -1605,6 +1680,7 @@ class ApplicationService {
1605
1680
  * @throws {DeviceCodeExpiredError} The device code has expired
1606
1681
  * @throws {DeviceTransientServerError} Transient server error — safe to retry
1607
1682
  * @throws {ApplicationSessionAssuranceError} Assurance policy changed or is no longer met — start a new flow
1683
+ * @throws {ApplicationDisabledError} The requester or target application is disabled — stop polling
1608
1684
  */
1609
1685
  async exchangeDeviceCodeForTokens(deviceCode) {
1610
1686
  try {
@@ -1629,8 +1705,12 @@ class ApplicationService {
1629
1705
  * @returns A short-lived access token with service-account and organization details
1630
1706
  */
1631
1707
  async exchangeClientCredentialsForToken(credentials) {
1632
- const response = await this.client.applications.exchangeClientCredentialsForToken(credentials);
1708
+ const response = await this.client.applications.exchangeClientCredentialsForToken(credentials).catch((error) => {
1709
+ throwIfApplicationDisabled(error);
1710
+ throw error;
1711
+ });
1633
1712
  if (!response.data) {
1713
+ throwIfApplicationDisabled(response.error);
1634
1714
  throw new Error("No data returned from the API", { cause: response.error });
1635
1715
  }
1636
1716
  return response.data;
@@ -1642,8 +1722,12 @@ class ApplicationService {
1642
1722
  * @param codeVerifier - The code verifier to use for the authorization flow
1643
1723
  */
1644
1724
  async completeAuthorizationFlow(code, codeVerifier) {
1645
- const response = await this.client.applications.completeAuthorizationFlow(code, codeVerifier);
1725
+ const response = await this.client.applications.completeAuthorizationFlow(code, codeVerifier).catch((error) => {
1726
+ throwIfApplicationDisabled(error);
1727
+ throw error;
1728
+ });
1646
1729
  if (!response.data) {
1730
+ throwIfApplicationDisabled(response.error);
1647
1731
  throw new Error("No data returned from the API", { cause: response.error });
1648
1732
  }
1649
1733
  return response.data;
@@ -1653,11 +1737,15 @@ class ApplicationService {
1653
1737
  *
1654
1738
  * @param refreshToken - The refresh token to use for the authentication token refresh
1655
1739
  * @throws {RefreshTokenExpiredError} When the refresh token has expired or is invalid
1740
+ * @throws {ApplicationDisabledError} When the application has been disabled
1656
1741
  * @throws {ApplicationError} For other API errors
1657
1742
  */
1658
1743
  async refreshAccessToken(refreshToken) {
1659
1744
  const handleRefreshError = (error) => {
1660
1745
  const status = error?.status;
1746
+ if (parseErrorCode(error) === "application_disabled") {
1747
+ throw new ApplicationDisabledError(parseApplicationDisabledPayload(error), { cause: error, status });
1748
+ }
1661
1749
  if (status === 401 || status === 404) {
1662
1750
  throw new RefreshTokenExpiredError({ cause: error, status });
1663
1751
  }
@@ -2643,4 +2731,4 @@ function extractTokenPayload(token) {
2643
2731
  return payload;
2644
2732
  }
2645
2733
 
2646
- export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
2734
+ export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationDisabledError, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseApplicationDisabledPayload, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meistrari/auth-core",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {