@meistrari/auth-core 1.39.3 → 1.40.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
@@ -1357,6 +1357,14 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
1357
1357
  noncePayload: (nonce: string) => Promise<NoncePayloadResponse>;
1358
1358
  };
1359
1359
  };
1360
+ } | {
1361
+ id: "invitation-signup";
1362
+ getActions: ($fetch: better_auth_client.BetterFetch) => {
1363
+ invitationSignup: {
1364
+ status: (invitationId: string) => Promise<InvitationSignupStatus>;
1365
+ setupPassword: (invitationId: string, password: string) => Promise<InvitationPasswordSetupResult>;
1366
+ };
1367
+ };
1360
1368
  } | {
1361
1369
  id: "sso-client";
1362
1370
  version: string;
@@ -5368,6 +5376,33 @@ type CreateTeamPayload = Pick<Team, 'name'> & {
5368
5376
  */
5369
5377
  type UpdateTeamPayload = Pick<Team, 'name'>;
5370
5378
 
5379
+ /**
5380
+ * Status of an invitation as seen by the pre-login invite flow.
5381
+ *
5382
+ * `email` and `requiresAccountSetup` are only present while the invitation is
5383
+ * still pending; other statuses return the status alone.
5384
+ */
5385
+ type InvitationSignupStatus = {
5386
+ status: 'pending';
5387
+ email: string;
5388
+ /** True when the invited user has no account yet and has never signed in. */
5389
+ requiresAccountSetup: boolean;
5390
+ } | {
5391
+ status: 'accepted' | 'canceled' | 'rejected' | 'expired';
5392
+ };
5393
+ /**
5394
+ * Result of creating a password from an invitation. The user is signed in
5395
+ * as part of the call; the session cookie is set on the response.
5396
+ */
5397
+ type InvitationPasswordSetupResult = {
5398
+ token: string;
5399
+ user: {
5400
+ id: string;
5401
+ email: string;
5402
+ name: string;
5403
+ };
5404
+ };
5405
+
5371
5406
  /**
5372
5407
  * Service for managing organizations, members, invitations, and teams.
5373
5408
  *
@@ -5566,6 +5601,29 @@ declare class OrganizationService {
5566
5601
  * and the configured post-acceptance URL for plain organization invitations.
5567
5602
  */
5568
5603
  acceptInvitation(id: string): Promise<AcceptInvitationResult>;
5604
+ /**
5605
+ * Gets the pre-login signup status for an invitation.
5606
+ *
5607
+ * Public endpoint keyed by the invitation id from the emailed invite link.
5608
+ * While the invitation is pending, the result includes the invited email
5609
+ * and whether the invited user still needs to set up their account.
5610
+ *
5611
+ * @param id - The invitation ID from the invite link
5612
+ * @returns The invitation status with account-setup information
5613
+ */
5614
+ getInvitationSignupStatus(id: string): Promise<InvitationSignupStatus>;
5615
+ /**
5616
+ * Creates a password for an invited user who has no account yet.
5617
+ *
5618
+ * Only available once per invitation, while the invitation is pending and
5619
+ * the invited user has never signed in. The user is signed in as part of
5620
+ * the call; the session cookie is set on the response.
5621
+ *
5622
+ * @param id - The invitation ID from the invite link
5623
+ * @param password - The password to create (minimum 8 characters)
5624
+ * @returns The session token and signed-in user
5625
+ */
5626
+ setupInvitationPassword(id: string, password: string): Promise<InvitationPasswordSetupResult>;
5569
5627
  /**
5570
5628
  * Removes a user from the active organization.
5571
5629
  *
@@ -5671,6 +5729,8 @@ type SocialSignInOptions = {
5671
5729
  callbackURL: string;
5672
5730
  /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
5673
5731
  errorCallbackURL?: string;
5732
+ /** Email address to preselect at the provider, sent as the `login_hint` authorization parameter. */
5733
+ loginHint?: string;
5674
5734
  };
5675
5735
  /**
5676
5736
  * Options for signing in via SAML Single Sign-On.
@@ -5772,11 +5832,12 @@ declare class SessionService {
5772
5832
  * @param options.provider - The social provider
5773
5833
  * @param options.callbackURL - URL to redirect to after successful authentication
5774
5834
  * @param options.errorCallbackURL - URL to redirect to on error
5835
+ * @param options.loginHint - Email to preselect at the provider
5775
5836
  *
5776
5837
  * @throws {InvalidSocialProvider} When the provider is not 'google' or 'microsoft'
5777
5838
  * @throws {InvalidCallbackURL} When callback URLs are malformed
5778
5839
  */
5779
- signInWithSocialProvider({ provider, callbackURL, errorCallbackURL, }: SocialSignInOptions): Promise<void>;
5840
+ signInWithSocialProvider({ provider, callbackURL, errorCallbackURL, loginHint, }: SocialSignInOptions): Promise<void>;
5780
5841
  /**
5781
5842
  * Initiates SAML-based Single Sign-On authentication flow.
5782
5843
  *
@@ -6275,4 +6336,4 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
6275
6336
  declare function extractTokenPayload(token: string): DecodedJWTPayload;
6276
6337
 
6277
6338
  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, 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, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6278
- export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, 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, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
6339
+ export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, 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, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
package/dist/index.d.ts CHANGED
@@ -1357,6 +1357,14 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
1357
1357
  noncePayload: (nonce: string) => Promise<NoncePayloadResponse>;
1358
1358
  };
1359
1359
  };
1360
+ } | {
1361
+ id: "invitation-signup";
1362
+ getActions: ($fetch: better_auth_client.BetterFetch) => {
1363
+ invitationSignup: {
1364
+ status: (invitationId: string) => Promise<InvitationSignupStatus>;
1365
+ setupPassword: (invitationId: string, password: string) => Promise<InvitationPasswordSetupResult>;
1366
+ };
1367
+ };
1360
1368
  } | {
1361
1369
  id: "sso-client";
1362
1370
  version: string;
@@ -5368,6 +5376,33 @@ type CreateTeamPayload = Pick<Team, 'name'> & {
5368
5376
  */
5369
5377
  type UpdateTeamPayload = Pick<Team, 'name'>;
5370
5378
 
5379
+ /**
5380
+ * Status of an invitation as seen by the pre-login invite flow.
5381
+ *
5382
+ * `email` and `requiresAccountSetup` are only present while the invitation is
5383
+ * still pending; other statuses return the status alone.
5384
+ */
5385
+ type InvitationSignupStatus = {
5386
+ status: 'pending';
5387
+ email: string;
5388
+ /** True when the invited user has no account yet and has never signed in. */
5389
+ requiresAccountSetup: boolean;
5390
+ } | {
5391
+ status: 'accepted' | 'canceled' | 'rejected' | 'expired';
5392
+ };
5393
+ /**
5394
+ * Result of creating a password from an invitation. The user is signed in
5395
+ * as part of the call; the session cookie is set on the response.
5396
+ */
5397
+ type InvitationPasswordSetupResult = {
5398
+ token: string;
5399
+ user: {
5400
+ id: string;
5401
+ email: string;
5402
+ name: string;
5403
+ };
5404
+ };
5405
+
5371
5406
  /**
5372
5407
  * Service for managing organizations, members, invitations, and teams.
5373
5408
  *
@@ -5566,6 +5601,29 @@ declare class OrganizationService {
5566
5601
  * and the configured post-acceptance URL for plain organization invitations.
5567
5602
  */
5568
5603
  acceptInvitation(id: string): Promise<AcceptInvitationResult>;
5604
+ /**
5605
+ * Gets the pre-login signup status for an invitation.
5606
+ *
5607
+ * Public endpoint keyed by the invitation id from the emailed invite link.
5608
+ * While the invitation is pending, the result includes the invited email
5609
+ * and whether the invited user still needs to set up their account.
5610
+ *
5611
+ * @param id - The invitation ID from the invite link
5612
+ * @returns The invitation status with account-setup information
5613
+ */
5614
+ getInvitationSignupStatus(id: string): Promise<InvitationSignupStatus>;
5615
+ /**
5616
+ * Creates a password for an invited user who has no account yet.
5617
+ *
5618
+ * Only available once per invitation, while the invitation is pending and
5619
+ * the invited user has never signed in. The user is signed in as part of
5620
+ * the call; the session cookie is set on the response.
5621
+ *
5622
+ * @param id - The invitation ID from the invite link
5623
+ * @param password - The password to create (minimum 8 characters)
5624
+ * @returns The session token and signed-in user
5625
+ */
5626
+ setupInvitationPassword(id: string, password: string): Promise<InvitationPasswordSetupResult>;
5569
5627
  /**
5570
5628
  * Removes a user from the active organization.
5571
5629
  *
@@ -5671,6 +5729,8 @@ type SocialSignInOptions = {
5671
5729
  callbackURL: string;
5672
5730
  /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
5673
5731
  errorCallbackURL?: string;
5732
+ /** Email address to preselect at the provider, sent as the `login_hint` authorization parameter. */
5733
+ loginHint?: string;
5674
5734
  };
5675
5735
  /**
5676
5736
  * Options for signing in via SAML Single Sign-On.
@@ -5772,11 +5832,12 @@ declare class SessionService {
5772
5832
  * @param options.provider - The social provider
5773
5833
  * @param options.callbackURL - URL to redirect to after successful authentication
5774
5834
  * @param options.errorCallbackURL - URL to redirect to on error
5835
+ * @param options.loginHint - Email to preselect at the provider
5775
5836
  *
5776
5837
  * @throws {InvalidSocialProvider} When the provider is not 'google' or 'microsoft'
5777
5838
  * @throws {InvalidCallbackURL} When callback URLs are malformed
5778
5839
  */
5779
- signInWithSocialProvider({ provider, callbackURL, errorCallbackURL, }: SocialSignInOptions): Promise<void>;
5840
+ signInWithSocialProvider({ provider, callbackURL, errorCallbackURL, loginHint, }: SocialSignInOptions): Promise<void>;
5780
5841
  /**
5781
5842
  * Initiates SAML-based Single Sign-On authentication flow.
5782
5843
  *
@@ -6275,4 +6336,4 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
6275
6336
  declare function extractTokenPayload(token: string): DecodedJWTPayload;
6276
6337
 
6277
6338
  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, 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, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6278
- export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, 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, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
6339
+ export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, 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, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, 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 = "1.39.3";
24
+ const version = "1.40.0";
25
25
 
26
26
  function parsedEnumValues(schema) {
27
27
  return Object.fromEntries(
@@ -389,6 +389,27 @@ function handshakePluginClient() {
389
389
  };
390
390
  }
391
391
 
392
+ function invitationSignupPluginClient() {
393
+ return {
394
+ id: "invitation-signup",
395
+ getActions: ($fetch) => ({
396
+ invitationSignup: {
397
+ status: async (invitationId) => {
398
+ return await $fetch("/invitation/signup-status", {
399
+ query: { invitationId }
400
+ });
401
+ },
402
+ setupPassword: async (invitationId, password) => {
403
+ return await $fetch("/invitation/setup-password", {
404
+ method: "POST",
405
+ body: { invitationId, password }
406
+ });
407
+ }
408
+ }
409
+ })
410
+ };
411
+ }
412
+
392
413
  function sessionAssurancePluginClient() {
393
414
  return {
394
415
  id: "session-assurance",
@@ -433,6 +454,7 @@ function createAPIClient(apiUrl, fetchOptions = {}) {
433
454
  }),
434
455
  customEndpointsPluginClient(),
435
456
  handshakePluginClient(),
457
+ invitationSignupPluginClient(),
436
458
  ssoClient(),
437
459
  twoFactorClient(),
438
460
  jwtClient(),
@@ -1708,6 +1730,33 @@ class OrganizationService {
1708
1730
  member: response.member
1709
1731
  };
1710
1732
  }
1733
+ /**
1734
+ * Gets the pre-login signup status for an invitation.
1735
+ *
1736
+ * Public endpoint keyed by the invitation id from the emailed invite link.
1737
+ * While the invitation is pending, the result includes the invited email
1738
+ * and whether the invited user still needs to set up their account.
1739
+ *
1740
+ * @param id - The invitation ID from the invite link
1741
+ * @returns The invitation status with account-setup information
1742
+ */
1743
+ async getInvitationSignupStatus(id) {
1744
+ return await this.client.invitationSignup.status(id);
1745
+ }
1746
+ /**
1747
+ * Creates a password for an invited user who has no account yet.
1748
+ *
1749
+ * Only available once per invitation, while the invitation is pending and
1750
+ * the invited user has never signed in. The user is signed in as part of
1751
+ * the call; the session cookie is set on the response.
1752
+ *
1753
+ * @param id - The invitation ID from the invite link
1754
+ * @param password - The password to create (minimum 8 characters)
1755
+ * @returns The session token and signed-in user
1756
+ */
1757
+ async setupInvitationPassword(id, password) {
1758
+ return await this.client.invitationSignup.setupPassword(id, password);
1759
+ }
1711
1760
  /**
1712
1761
  * Removes a user from the active organization.
1713
1762
  *
@@ -1874,6 +1923,7 @@ class SessionService {
1874
1923
  * @param options.provider - The social provider
1875
1924
  * @param options.callbackURL - URL to redirect to after successful authentication
1876
1925
  * @param options.errorCallbackURL - URL to redirect to on error
1926
+ * @param options.loginHint - Email to preselect at the provider
1877
1927
  *
1878
1928
  * @throws {InvalidSocialProvider} When the provider is not 'google' or 'microsoft'
1879
1929
  * @throws {InvalidCallbackURL} When callback URLs are malformed
@@ -1881,7 +1931,8 @@ class SessionService {
1881
1931
  async signInWithSocialProvider({
1882
1932
  provider,
1883
1933
  callbackURL,
1884
- errorCallbackURL
1934
+ errorCallbackURL,
1935
+ loginHint
1885
1936
  }) {
1886
1937
  if (provider !== "google" && provider !== "microsoft") {
1887
1938
  throw new InvalidSocialProvider("Invalid social provider");
@@ -1896,7 +1947,8 @@ class SessionService {
1896
1947
  await this.client.signIn.social({
1897
1948
  provider,
1898
1949
  callbackURL,
1899
- errorCallbackURL: errorCallbackURL ?? `${this.apiUrl}/error?callbackURL=${appUrl}`
1950
+ errorCallbackURL: errorCallbackURL ?? `${this.apiUrl}/error?callbackURL=${appUrl}`,
1951
+ ...loginHint && { loginHint }
1900
1952
  });
1901
1953
  }
1902
1954
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meistrari/auth-core",
3
- "version": "1.39.3",
3
+ "version": "1.40.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {