@djangocfg/api 2.1.545 → 2.1.547

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/auth.cjs +331 -73
  2. package/dist/auth.cjs.map +1 -1
  3. package/dist/auth.d.cts +90 -1
  4. package/dist/auth.d.ts +90 -1
  5. package/dist/auth.mjs +331 -73
  6. package/dist/auth.mjs.map +1 -1
  7. package/dist/clients.cjs +18 -0
  8. package/dist/clients.cjs.map +1 -1
  9. package/dist/clients.d.cts +96 -0
  10. package/dist/clients.d.ts +96 -0
  11. package/dist/clients.mjs +18 -0
  12. package/dist/clients.mjs.map +1 -1
  13. package/dist/hooks.cjs.map +1 -1
  14. package/dist/hooks.mjs.map +1 -1
  15. package/dist/index.cjs +18 -0
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +171 -3
  18. package/dist/index.d.ts +171 -3
  19. package/dist/index.mjs +18 -0
  20. package/dist/index.mjs.map +1 -1
  21. package/package.json +2 -2
  22. package/src/_api/generated/_cfg_accounts/hooks/index.ts +1 -0
  23. package/src/_api/generated/_cfg_accounts/hooks/useCfgAccountsTokenCreate.ts +64 -0
  24. package/src/_api/generated/_cfg_accounts/openapi.json +157 -0
  25. package/src/_api/generated/_cfg_accounts/schemas/PasswordLoginError.ts +13 -0
  26. package/src/_api/generated/_cfg_accounts/schemas/PasswordLoginRequest.ts +13 -0
  27. package/src/_api/generated/_cfg_accounts/schemas/PasswordLoginResponse.ts +18 -0
  28. package/src/_api/generated/_cfg_accounts/schemas/index.ts +3 -0
  29. package/src/_api/generated/openapi.json +157 -0
  30. package/src/_api/generated/sdk.gen.ts +20 -1
  31. package/src/_api/generated/types.gen.ts +149 -0
  32. package/src/auth/__tests__/passwordLogin.test.tsx +239 -0
  33. package/src/auth/context/AccountsContext.tsx +32 -7
  34. package/src/auth/context/AuthContext.tsx +104 -1
  35. package/src/auth/context/types.ts +10 -1
  36. package/src/auth/hooks/useAuthForm.ts +84 -0
  37. package/src/auth/hooks/useAuthFormState.ts +3 -0
  38. package/src/auth/types/form.ts +41 -1
  39. package/src/auth/types/index.ts +2 -0
  40. package/src/auth/utils/analytics.ts +1 -0
package/dist/auth.d.cts CHANGED
@@ -187,6 +187,42 @@ type OtpVerifyResponse = {
187
187
  */
188
188
  persistent_session?: boolean;
189
189
  };
190
+ /**
191
+ * Password-login response.
192
+ *
193
+ * Mirrors the OTP verify response so a client can treat every login flow
194
+ * identically. ``requires_2fa=True`` carries a session id instead of tokens.
195
+ */
196
+ type PasswordLoginResponse = {
197
+ /**
198
+ * Whether 2FA verification is required
199
+ */
200
+ requires_2fa?: boolean;
201
+ /**
202
+ * 2FA session ID (if requires_2fa is True)
203
+ */
204
+ session_id?: string | null;
205
+ /**
206
+ * JWT refresh token (if requires_2fa is False)
207
+ */
208
+ refresh?: string | null;
209
+ /**
210
+ * JWT access token (if requires_2fa is False)
211
+ */
212
+ access?: string | null;
213
+ /**
214
+ * User information (if requires_2fa is False)
215
+ */
216
+ user?: User | null;
217
+ /**
218
+ * Whether user should be prompted to enable 2FA
219
+ */
220
+ should_prompt_2fa?: boolean;
221
+ /**
222
+ * Whether this login should persist across browser restarts
223
+ */
224
+ persistent_session?: boolean;
225
+ };
190
226
  /**
191
227
  * Serializer for updating user profile.
192
228
  */
@@ -411,6 +447,22 @@ declare enum WebmailLinkProviderEnum {
411
447
  FREE_FR = "free_fr",
412
448
  SFR = "sfr"
413
449
  }
450
+ /**
451
+ * Validate email+password against live accounts only.
452
+ *
453
+ * Subclasses SimpleJWT so the field/validation contract stays theirs, but
454
+ * replaces ``validate()`` — the token pair itself is minted by the view via
455
+ * ``mint_tokens_for_request`` so the DPoP binding and remembered-session
456
+ * lifetime match OTP, OAuth and TOTP exactly.
457
+ */
458
+ type PasswordLoginRequestWritable = {
459
+ /**
460
+ * Keep this browser signed in for 30 days
461
+ */
462
+ remember_me?: boolean;
463
+ email: string;
464
+ password: string;
465
+ };
414
466
 
415
467
  /**
416
468
  * Auth Form Types
@@ -438,11 +490,42 @@ interface OTPRequestConsent {
438
490
  /** Version tag of the disclosure copy the user saw (e.g. "product-updates-reg-v1"). */
439
491
  disclosureVersion: string;
440
492
  }
493
+ interface PasswordLoginOptions {
494
+ /** URL to redirect to after a successful login (ignored when skipRedirect). */
495
+ redirectUrl?: string;
496
+ /** Caller owns ALL navigation for this login, including the 2FA continuation. */
497
+ skipRedirect?: boolean;
498
+ /** Ask the server for a 30-day session instead of the default lifetime. */
499
+ rememberMe?: boolean;
500
+ }
501
+ /**
502
+ * Result of a password login.
503
+ *
504
+ * Deliberately the same shape as the verifyOTP result plus the failure codes
505
+ * the password endpoint adds: a sign-in form branches on `requires_2fa` the
506
+ * same way whichever credential it collected.
507
+ */
508
+ interface PasswordLoginResult {
509
+ success: boolean;
510
+ message: string;
511
+ user?: User;
512
+ requires_2fa?: boolean;
513
+ session_id?: string | null;
514
+ should_prompt_2fa?: boolean;
515
+ /** HTTP status of a failure — 401 for bad credentials, 429 when throttled. */
516
+ statusCode?: number;
517
+ /** Machine-readable failure code, e.g. `invalid_credentials`, `locked_out`. */
518
+ errorCode?: string;
519
+ /** Seconds until a throttled caller may retry (429 only). */
520
+ retryAfter?: number;
521
+ }
441
522
  interface AuthFormState {
442
523
  /** Email address */
443
524
  identifier: string;
444
525
  /** OTP code input */
445
526
  otp: string;
527
+ /** Password input (password sign-in; empty for the OTP-only flow) */
528
+ password: string;
446
529
  /** Loading state */
447
530
  isLoading: boolean;
448
531
  /** Terms acceptance state */
@@ -479,6 +562,7 @@ interface AuthFormState {
479
562
  interface AuthFormStateHandlers {
480
563
  setIdentifier: (identifier: string) => void;
481
564
  setOtp: (otp: string) => void;
565
+ setPassword: (password: string) => void;
482
566
  setAcceptedTerms: (accepted: boolean) => void;
483
567
  setMarketingConsent: (consent: boolean | null) => void;
484
568
  setRememberMe: (rememberMe: boolean) => void;
@@ -498,6 +582,8 @@ interface AuthFormStateHandlers {
498
582
  interface AuthFormSubmitHandlers {
499
583
  handleIdentifierSubmit: (e: React.FormEvent) => Promise<void>;
500
584
  handleOTPSubmit: (e: React.FormEvent) => Promise<void>;
585
+ /** Submit email + password against the password grant */
586
+ handlePasswordSubmit: (e: React.FormEvent) => Promise<void>;
501
587
  handleResendOTP: () => Promise<void>;
502
588
  handleBackToIdentifier: () => void;
503
589
  forceOTPStep: () => void;
@@ -595,6 +681,7 @@ interface AuthContextType {
595
681
  session_id?: string | null;
596
682
  should_prompt_2fa?: boolean;
597
683
  }>;
684
+ login: (email: string, password: string, options?: PasswordLoginOptions) => Promise<PasswordLoginResult>;
598
685
  refreshToken: () => Promise<{
599
686
  success: boolean;
600
687
  message: string;
@@ -657,6 +744,7 @@ interface AccountsContextValue {
657
744
  }) => Promise<User | undefined>;
658
745
  requestOTP: (data: OtpRequestRequest) => Promise<OtpRequestResponse>;
659
746
  verifyOTP: (data: OtpVerifyRequest) => Promise<OtpVerifyResponse>;
747
+ loginWithPassword: (data: PasswordLoginRequestWritable) => Promise<PasswordLoginResponse>;
660
748
  logout: () => void;
661
749
  }
662
750
  interface AccountsProviderProps {
@@ -1217,6 +1305,7 @@ declare enum AnalyticsEvent {
1217
1305
  AUTH_OTP_REQUEST = "auth_otp_request",
1218
1306
  AUTH_LOGIN_SUCCESS = "auth_login_success",
1219
1307
  AUTH_OTP_VERIFY_FAIL = "auth_otp_verify_fail",
1308
+ AUTH_PASSWORD_LOGIN_FAIL = "auth_password_login_fail",
1220
1309
  AUTH_SESSION_EXPIRED = "auth_session_expired",
1221
1310
  AUTH_TOKEN_REFRESH = "auth_token_refresh",
1222
1311
  AUTH_TOKEN_REFRESH_FAIL = "auth_token_refresh_fail",
@@ -1266,4 +1355,4 @@ declare const Analytics: {
1266
1355
  setUser(userId: string | null): void;
1267
1356
  };
1268
1357
 
1269
- export { AUTH_CONSTANTS, type AccountsContextValue, AccountsProvider, Analytics, AnalyticsCategory, type AnalyticsCategoryType, AnalyticsEvent, type AnalyticsEventType, type AnalyticsSink, type AuthConfig, AuthContext, type AuthContextType, type AuthFormAutoSubmit, type AuthFormReturn, type AuthFormState, type AuthFormStateHandlers, type AuthFormSubmitHandlers, type AuthFormValidation, AuthProvider, type AuthProviderProps, type AuthStep, type DeleteAccountResult, type GuardInput, type OTPRequestConsent, type OTPRequestResult, type PatchedCfgUserUpdateRequest, PatchedCfgUserUpdateRequestSchema, type ProfileCacheOptions, type SessionSnapshot, type SessionStatus, type TwoFactorDevice, type TwoFactorSetupData, type UseAuthFormOptions, type UseAuthFormStateReturn, type UseAutoAuthOptions, type UseDeleteAccountReturn, type UseGithubAuthOptions, type UseGithubAuthReturn, type UseTwoFactorOptions, type UseTwoFactorReturn, type UseTwoFactorSetupOptions, type UseTwoFactorSetupReturn, type UseTwoFactorStatusReturn, type UseTwoFactorVerifyOptions, type UseTwoFactorVerifyReturn, type UserProfile, type WebmailLink, authLogger, clearProfileCache, consumeSavedRedirect, decodeBase64, encodeBase64, formatAuthError, getCacheMetadata, getCachedProfile, hasValidCache, isAllowedAuthPath, logger, normalizePath, peekSavedRedirect, resolveGuardIsAuthenticated, resolveGuardIsLoading, setAnalyticsSink, setCachedProfile, shouldRedirectToAuth, useAccountsContext, useAuth, useAuthForm, useAuthFormState, useAuthRedirectManager, useAuthValidation, useAutoAuth, useBase64, useCfgRouter, useDeleteAccount, useGithubAuth, useLocalStorage, useQueryParams, useSession, useSessionStorage, useTwoFactor, useTwoFactorSetup, useTwoFactorStatus, useTwoFactorVerify, validateEmail, validateIdentifier };
1358
+ export { AUTH_CONSTANTS, type AccountsContextValue, AccountsProvider, Analytics, AnalyticsCategory, type AnalyticsCategoryType, AnalyticsEvent, type AnalyticsEventType, type AnalyticsSink, type AuthConfig, AuthContext, type AuthContextType, type AuthFormAutoSubmit, type AuthFormReturn, type AuthFormState, type AuthFormStateHandlers, type AuthFormSubmitHandlers, type AuthFormValidation, AuthProvider, type AuthProviderProps, type AuthStep, type DeleteAccountResult, type GuardInput, type OTPRequestConsent, type OTPRequestResult, type PasswordLoginOptions, type PasswordLoginResult, type PatchedCfgUserUpdateRequest, PatchedCfgUserUpdateRequestSchema, type ProfileCacheOptions, type SessionSnapshot, type SessionStatus, type TwoFactorDevice, type TwoFactorSetupData, type UseAuthFormOptions, type UseAuthFormStateReturn, type UseAutoAuthOptions, type UseDeleteAccountReturn, type UseGithubAuthOptions, type UseGithubAuthReturn, type UseTwoFactorOptions, type UseTwoFactorReturn, type UseTwoFactorSetupOptions, type UseTwoFactorSetupReturn, type UseTwoFactorStatusReturn, type UseTwoFactorVerifyOptions, type UseTwoFactorVerifyReturn, type UserProfile, type WebmailLink, authLogger, clearProfileCache, consumeSavedRedirect, decodeBase64, encodeBase64, formatAuthError, getCacheMetadata, getCachedProfile, hasValidCache, isAllowedAuthPath, logger, normalizePath, peekSavedRedirect, resolveGuardIsAuthenticated, resolveGuardIsLoading, setAnalyticsSink, setCachedProfile, shouldRedirectToAuth, useAccountsContext, useAuth, useAuthForm, useAuthFormState, useAuthRedirectManager, useAuthValidation, useAutoAuth, useBase64, useCfgRouter, useDeleteAccount, useGithubAuth, useLocalStorage, useQueryParams, useSession, useSessionStorage, useTwoFactor, useTwoFactorSetup, useTwoFactorStatus, useTwoFactorVerify, validateEmail, validateIdentifier };
package/dist/auth.d.ts CHANGED
@@ -187,6 +187,42 @@ type OtpVerifyResponse = {
187
187
  */
188
188
  persistent_session?: boolean;
189
189
  };
190
+ /**
191
+ * Password-login response.
192
+ *
193
+ * Mirrors the OTP verify response so a client can treat every login flow
194
+ * identically. ``requires_2fa=True`` carries a session id instead of tokens.
195
+ */
196
+ type PasswordLoginResponse = {
197
+ /**
198
+ * Whether 2FA verification is required
199
+ */
200
+ requires_2fa?: boolean;
201
+ /**
202
+ * 2FA session ID (if requires_2fa is True)
203
+ */
204
+ session_id?: string | null;
205
+ /**
206
+ * JWT refresh token (if requires_2fa is False)
207
+ */
208
+ refresh?: string | null;
209
+ /**
210
+ * JWT access token (if requires_2fa is False)
211
+ */
212
+ access?: string | null;
213
+ /**
214
+ * User information (if requires_2fa is False)
215
+ */
216
+ user?: User | null;
217
+ /**
218
+ * Whether user should be prompted to enable 2FA
219
+ */
220
+ should_prompt_2fa?: boolean;
221
+ /**
222
+ * Whether this login should persist across browser restarts
223
+ */
224
+ persistent_session?: boolean;
225
+ };
190
226
  /**
191
227
  * Serializer for updating user profile.
192
228
  */
@@ -411,6 +447,22 @@ declare enum WebmailLinkProviderEnum {
411
447
  FREE_FR = "free_fr",
412
448
  SFR = "sfr"
413
449
  }
450
+ /**
451
+ * Validate email+password against live accounts only.
452
+ *
453
+ * Subclasses SimpleJWT so the field/validation contract stays theirs, but
454
+ * replaces ``validate()`` — the token pair itself is minted by the view via
455
+ * ``mint_tokens_for_request`` so the DPoP binding and remembered-session
456
+ * lifetime match OTP, OAuth and TOTP exactly.
457
+ */
458
+ type PasswordLoginRequestWritable = {
459
+ /**
460
+ * Keep this browser signed in for 30 days
461
+ */
462
+ remember_me?: boolean;
463
+ email: string;
464
+ password: string;
465
+ };
414
466
 
415
467
  /**
416
468
  * Auth Form Types
@@ -438,11 +490,42 @@ interface OTPRequestConsent {
438
490
  /** Version tag of the disclosure copy the user saw (e.g. "product-updates-reg-v1"). */
439
491
  disclosureVersion: string;
440
492
  }
493
+ interface PasswordLoginOptions {
494
+ /** URL to redirect to after a successful login (ignored when skipRedirect). */
495
+ redirectUrl?: string;
496
+ /** Caller owns ALL navigation for this login, including the 2FA continuation. */
497
+ skipRedirect?: boolean;
498
+ /** Ask the server for a 30-day session instead of the default lifetime. */
499
+ rememberMe?: boolean;
500
+ }
501
+ /**
502
+ * Result of a password login.
503
+ *
504
+ * Deliberately the same shape as the verifyOTP result plus the failure codes
505
+ * the password endpoint adds: a sign-in form branches on `requires_2fa` the
506
+ * same way whichever credential it collected.
507
+ */
508
+ interface PasswordLoginResult {
509
+ success: boolean;
510
+ message: string;
511
+ user?: User;
512
+ requires_2fa?: boolean;
513
+ session_id?: string | null;
514
+ should_prompt_2fa?: boolean;
515
+ /** HTTP status of a failure — 401 for bad credentials, 429 when throttled. */
516
+ statusCode?: number;
517
+ /** Machine-readable failure code, e.g. `invalid_credentials`, `locked_out`. */
518
+ errorCode?: string;
519
+ /** Seconds until a throttled caller may retry (429 only). */
520
+ retryAfter?: number;
521
+ }
441
522
  interface AuthFormState {
442
523
  /** Email address */
443
524
  identifier: string;
444
525
  /** OTP code input */
445
526
  otp: string;
527
+ /** Password input (password sign-in; empty for the OTP-only flow) */
528
+ password: string;
446
529
  /** Loading state */
447
530
  isLoading: boolean;
448
531
  /** Terms acceptance state */
@@ -479,6 +562,7 @@ interface AuthFormState {
479
562
  interface AuthFormStateHandlers {
480
563
  setIdentifier: (identifier: string) => void;
481
564
  setOtp: (otp: string) => void;
565
+ setPassword: (password: string) => void;
482
566
  setAcceptedTerms: (accepted: boolean) => void;
483
567
  setMarketingConsent: (consent: boolean | null) => void;
484
568
  setRememberMe: (rememberMe: boolean) => void;
@@ -498,6 +582,8 @@ interface AuthFormStateHandlers {
498
582
  interface AuthFormSubmitHandlers {
499
583
  handleIdentifierSubmit: (e: React.FormEvent) => Promise<void>;
500
584
  handleOTPSubmit: (e: React.FormEvent) => Promise<void>;
585
+ /** Submit email + password against the password grant */
586
+ handlePasswordSubmit: (e: React.FormEvent) => Promise<void>;
501
587
  handleResendOTP: () => Promise<void>;
502
588
  handleBackToIdentifier: () => void;
503
589
  forceOTPStep: () => void;
@@ -595,6 +681,7 @@ interface AuthContextType {
595
681
  session_id?: string | null;
596
682
  should_prompt_2fa?: boolean;
597
683
  }>;
684
+ login: (email: string, password: string, options?: PasswordLoginOptions) => Promise<PasswordLoginResult>;
598
685
  refreshToken: () => Promise<{
599
686
  success: boolean;
600
687
  message: string;
@@ -657,6 +744,7 @@ interface AccountsContextValue {
657
744
  }) => Promise<User | undefined>;
658
745
  requestOTP: (data: OtpRequestRequest) => Promise<OtpRequestResponse>;
659
746
  verifyOTP: (data: OtpVerifyRequest) => Promise<OtpVerifyResponse>;
747
+ loginWithPassword: (data: PasswordLoginRequestWritable) => Promise<PasswordLoginResponse>;
660
748
  logout: () => void;
661
749
  }
662
750
  interface AccountsProviderProps {
@@ -1217,6 +1305,7 @@ declare enum AnalyticsEvent {
1217
1305
  AUTH_OTP_REQUEST = "auth_otp_request",
1218
1306
  AUTH_LOGIN_SUCCESS = "auth_login_success",
1219
1307
  AUTH_OTP_VERIFY_FAIL = "auth_otp_verify_fail",
1308
+ AUTH_PASSWORD_LOGIN_FAIL = "auth_password_login_fail",
1220
1309
  AUTH_SESSION_EXPIRED = "auth_session_expired",
1221
1310
  AUTH_TOKEN_REFRESH = "auth_token_refresh",
1222
1311
  AUTH_TOKEN_REFRESH_FAIL = "auth_token_refresh_fail",
@@ -1266,4 +1355,4 @@ declare const Analytics: {
1266
1355
  setUser(userId: string | null): void;
1267
1356
  };
1268
1357
 
1269
- export { AUTH_CONSTANTS, type AccountsContextValue, AccountsProvider, Analytics, AnalyticsCategory, type AnalyticsCategoryType, AnalyticsEvent, type AnalyticsEventType, type AnalyticsSink, type AuthConfig, AuthContext, type AuthContextType, type AuthFormAutoSubmit, type AuthFormReturn, type AuthFormState, type AuthFormStateHandlers, type AuthFormSubmitHandlers, type AuthFormValidation, AuthProvider, type AuthProviderProps, type AuthStep, type DeleteAccountResult, type GuardInput, type OTPRequestConsent, type OTPRequestResult, type PatchedCfgUserUpdateRequest, PatchedCfgUserUpdateRequestSchema, type ProfileCacheOptions, type SessionSnapshot, type SessionStatus, type TwoFactorDevice, type TwoFactorSetupData, type UseAuthFormOptions, type UseAuthFormStateReturn, type UseAutoAuthOptions, type UseDeleteAccountReturn, type UseGithubAuthOptions, type UseGithubAuthReturn, type UseTwoFactorOptions, type UseTwoFactorReturn, type UseTwoFactorSetupOptions, type UseTwoFactorSetupReturn, type UseTwoFactorStatusReturn, type UseTwoFactorVerifyOptions, type UseTwoFactorVerifyReturn, type UserProfile, type WebmailLink, authLogger, clearProfileCache, consumeSavedRedirect, decodeBase64, encodeBase64, formatAuthError, getCacheMetadata, getCachedProfile, hasValidCache, isAllowedAuthPath, logger, normalizePath, peekSavedRedirect, resolveGuardIsAuthenticated, resolveGuardIsLoading, setAnalyticsSink, setCachedProfile, shouldRedirectToAuth, useAccountsContext, useAuth, useAuthForm, useAuthFormState, useAuthRedirectManager, useAuthValidation, useAutoAuth, useBase64, useCfgRouter, useDeleteAccount, useGithubAuth, useLocalStorage, useQueryParams, useSession, useSessionStorage, useTwoFactor, useTwoFactorSetup, useTwoFactorStatus, useTwoFactorVerify, validateEmail, validateIdentifier };
1358
+ export { AUTH_CONSTANTS, type AccountsContextValue, AccountsProvider, Analytics, AnalyticsCategory, type AnalyticsCategoryType, AnalyticsEvent, type AnalyticsEventType, type AnalyticsSink, type AuthConfig, AuthContext, type AuthContextType, type AuthFormAutoSubmit, type AuthFormReturn, type AuthFormState, type AuthFormStateHandlers, type AuthFormSubmitHandlers, type AuthFormValidation, AuthProvider, type AuthProviderProps, type AuthStep, type DeleteAccountResult, type GuardInput, type OTPRequestConsent, type OTPRequestResult, type PasswordLoginOptions, type PasswordLoginResult, type PatchedCfgUserUpdateRequest, PatchedCfgUserUpdateRequestSchema, type ProfileCacheOptions, type SessionSnapshot, type SessionStatus, type TwoFactorDevice, type TwoFactorSetupData, type UseAuthFormOptions, type UseAuthFormStateReturn, type UseAutoAuthOptions, type UseDeleteAccountReturn, type UseGithubAuthOptions, type UseGithubAuthReturn, type UseTwoFactorOptions, type UseTwoFactorReturn, type UseTwoFactorSetupOptions, type UseTwoFactorSetupReturn, type UseTwoFactorStatusReturn, type UseTwoFactorVerifyOptions, type UseTwoFactorVerifyReturn, type UserProfile, type WebmailLink, authLogger, clearProfileCache, consumeSavedRedirect, decodeBase64, encodeBase64, formatAuthError, getCacheMetadata, getCachedProfile, hasValidCache, isAllowedAuthPath, logger, normalizePath, peekSavedRedirect, resolveGuardIsAuthenticated, resolveGuardIsLoading, setAnalyticsSink, setCachedProfile, shouldRedirectToAuth, useAccountsContext, useAuth, useAuthForm, useAuthFormState, useAuthRedirectManager, useAuthValidation, useAutoAuth, useBase64, useCfgRouter, useDeleteAccount, useGithubAuth, useLocalStorage, useQueryParams, useSession, useSessionStorage, useTwoFactor, useTwoFactorSetup, useTwoFactorStatus, useTwoFactorVerify, validateEmail, validateIdentifier };