@spfn/auth 0.3.0-beta.2 → 0.3.0-beta.20

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 (43) hide show
  1. package/README.md +1382 -23
  2. package/dist/client-proof.d.ts +45 -15
  3. package/dist/client-proof.js +198 -4
  4. package/dist/client-proof.js.map +1 -1
  5. package/dist/client.d.ts +92 -1
  6. package/dist/client.js +58 -0
  7. package/dist/client.js.map +1 -1
  8. package/dist/config.d.ts +302 -0
  9. package/dist/config.js +134 -4
  10. package/dist/config.js.map +1 -1
  11. package/dist/errors.d.ts +370 -3
  12. package/dist/errors.js +245 -2
  13. package/dist/errors.js.map +1 -1
  14. package/dist/index.d.ts +185 -2
  15. package/dist/index.js +256 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/machine-principals-BD4tnASp.d.ts +2739 -0
  18. package/dist/nextjs/api.js +350 -12
  19. package/dist/nextjs/api.js.map +1 -1
  20. package/dist/nextjs/client.d.ts +28 -1
  21. package/dist/nextjs/client.js +24 -3
  22. package/dist/nextjs/client.js.map +1 -1
  23. package/dist/nextjs/server.d.ts +173 -3
  24. package/dist/nextjs/server.js +372 -10
  25. package/dist/nextjs/server.js.map +1 -1
  26. package/dist/server.d.ts +3761 -414
  27. package/dist/server.js +5865 -1043
  28. package/dist/server.js.map +1 -1
  29. package/dist/{session-DTHahDQ9.d.ts → session-Dfwu5g2W.d.ts} +28 -1
  30. package/migrations/20260810112144_colorful_tomorrow_man/migration.sql +18 -0
  31. package/migrations/20260810112144_colorful_tomorrow_man/snapshot.json +3576 -0
  32. package/migrations/20260901091716_fine_arclight/migration.sql +21 -0
  33. package/migrations/20260901091716_fine_arclight/snapshot.json +3849 -0
  34. package/migrations/20260906155957_natural_moonstone/migration.sql +33 -0
  35. package/migrations/20260906155957_natural_moonstone/snapshot.json +4275 -0
  36. package/migrations/20260907020904_giant_eternals/migration.sql +21 -0
  37. package/migrations/20260907020904_giant_eternals/snapshot.json +4561 -0
  38. package/migrations/20260907044807_eminent_angel/migration.sql +2 -0
  39. package/migrations/20260907044807_eminent_angel/snapshot.json +4561 -0
  40. package/migrations/20260918083158_foamy_roughhouse/migration.sql +55 -0
  41. package/migrations/20260918083158_foamy_roughhouse/snapshot.json +5271 -0
  42. package/package.json +9 -6
  43. package/dist/authenticate-55LeXHqZ.d.ts +0 -1447
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ConflictError, ForbiddenError, NotFoundError, UnauthorizedError, ValidationError, ErrorRegistry } from '@spfn/core/errors';
1
+ import { ConflictError, ForbiddenError, NotFoundError, ValidationError, UnauthorizedError, HttpError, ErrorRegistry } from '@spfn/core/errors';
2
2
 
3
3
  /**
4
4
  * Authentication & Authorization Error Classes
@@ -199,6 +199,25 @@ declare class InvalidKeyFingerprintError extends ValidationError {
199
199
  details?: Record<string, any>;
200
200
  });
201
201
  }
202
+ /**
203
+ * Key Algorithm Mismatch Error (400)
204
+ *
205
+ * Thrown when the submitted public key's SPKI type is not the one its declared
206
+ * algorithm needs — a P-256 EC key declared RS256, an RSA key declared ES256, a
207
+ * curve other than P-256 declared ES256, or bytes that are no SPKI key at all.
208
+ *
209
+ * The algorithm is stored beside the key and read back at proof verification;
210
+ * nothing re-derives it from the key material. So a mismatch accepted here
211
+ * surfaces only after the device believes it is enrolled, on every request it
212
+ * then makes. It is refused at registration instead, wherever key material is
213
+ * stored: register, login, rotate, invitation acceptance and device start.
214
+ */
215
+ declare class KeyAlgorithmMismatchError extends ValidationError {
216
+ constructor(data?: {
217
+ message?: string;
218
+ details?: Record<string, any>;
219
+ });
220
+ }
202
221
  /**
203
222
  * Key Not Found Error (404)
204
223
  *
@@ -212,6 +231,71 @@ declare class KeyNotFoundError extends NotFoundError {
212
231
  details?: Record<string, any>;
213
232
  });
214
233
  }
234
+ /**
235
+ * Device Auth Not Found Error (404)
236
+ *
237
+ * Thrown when a device-code operation names a code the server cannot act on: one
238
+ * that was never issued, and one whose record has already been consumed.
239
+ *
240
+ * Those two are answered identically on purpose. A consumed record is a login
241
+ * that finished, and saying so would tell whoever holds the code that it was
242
+ * real — which is the difference between guessing at random and knowing a guess
243
+ * landed. Every route that accepts a code is rate limited for the same reason.
244
+ */
245
+ declare class DeviceAuthNotFoundError extends NotFoundError {
246
+ constructor(data?: {
247
+ message?: string;
248
+ details?: Record<string, any>;
249
+ });
250
+ }
251
+ /**
252
+ * Device Auth Expired Error (400)
253
+ *
254
+ * Thrown when a device-code operation names a record whose TTL has run out,
255
+ * whatever state it is in. The waiting device starts again; the approver is told
256
+ * the code on the other screen is stale.
257
+ *
258
+ * 400 rather than 401: on the approve and deny routes the caller's own session is
259
+ * fine, and answering 401 would send a signed-in user to a login screen over a
260
+ * code that simply sat too long.
261
+ */
262
+ declare class DeviceAuthExpiredError extends ValidationError {
263
+ constructor(data?: {
264
+ message?: string;
265
+ details?: Record<string, any>;
266
+ });
267
+ }
268
+ /**
269
+ * Device Auth Already Handled Error (409)
270
+ *
271
+ * Thrown when an approve, deny or info call names a record that has already been
272
+ * approved or denied. A decision on a device is made once — a second approval
273
+ * would let one code be answered twice, and re-approving a record the owner
274
+ * denied would undo the refusal.
275
+ *
276
+ * This is also what the loser of two concurrent approvals sees, since the
277
+ * transition names the state it moves from and only one call can match it.
278
+ */
279
+ declare class DeviceAuthAlreadyHandledError extends ConflictError {
280
+ constructor(data?: {
281
+ message?: string;
282
+ details?: Record<string, any>;
283
+ });
284
+ }
285
+ /**
286
+ * Device Auth Denied Error (403)
287
+ *
288
+ * Thrown when the waiting device polls a record its owner refused. Distinct from
289
+ * a pending answer, and distinct from a code that does not exist: the device
290
+ * asked a person and the person said no, so it should stop polling and say so
291
+ * rather than time out looking like a network fault.
292
+ */
293
+ declare class DeviceAuthDeniedError extends ForbiddenError {
294
+ constructor(data?: {
295
+ message?: string;
296
+ details?: Record<string, any>;
297
+ });
298
+ }
215
299
  /**
216
300
  * Nonce Key Binding Error (400)
217
301
  *
@@ -244,6 +328,73 @@ declare class NativeSignInUnsupportedError extends ValidationError {
244
328
  details?: Record<string, any>;
245
329
  });
246
330
  }
331
+ /**
332
+ * Invalid Signup Link Error (400)
333
+ *
334
+ * Thrown when an emailed signup confirmation link is unknown, expired, already
335
+ * consumed, or superseded by a newer request for the same address.
336
+ *
337
+ * One error for all four states, on purpose. Distinguishing "expired" from
338
+ * "unknown" tells a caller holding a random token whether it named a real
339
+ * pending signup, which is exactly the enumeration the request step avoids. The
340
+ * specific reason is logged.
341
+ */
342
+ declare class InvalidSignupLinkError extends ValidationError {
343
+ constructor(data?: {
344
+ message?: string;
345
+ details?: Record<string, any>;
346
+ });
347
+ }
348
+ /**
349
+ * Invalid Signup Setup Session Error (401)
350
+ *
351
+ * Thrown when the password-setup session backing a verified-email signup is
352
+ * missing, unknown, expired, superseded or already used.
353
+ *
354
+ * One error for every one of those, on purpose: telling a caller which of them
355
+ * applies tells them whether an address is mid-signup, which is the same
356
+ * enumeration the request step is careful not to leak.
357
+ */
358
+ declare class InvalidSignupSetupSessionError extends UnauthorizedError {
359
+ constructor(data?: {
360
+ message?: string;
361
+ details?: Record<string, any>;
362
+ });
363
+ }
364
+ /**
365
+ * Password Reset Link Error (401)
366
+ *
367
+ * Thrown when an emailed password reset link is unknown, expired, already
368
+ * consumed, superseded by a newer request, or belongs to an account that is no
369
+ * longer active.
370
+ *
371
+ * One error for every one of those, on purpose. Distinguishing "expired" from
372
+ * "unknown" tells a caller holding a random token whether it named a real
373
+ * pending reset, which is exactly the enumeration the request step avoids. The
374
+ * specific reason is logged.
375
+ */
376
+ declare class PasswordResetLinkError extends UnauthorizedError {
377
+ constructor(data?: {
378
+ message?: string;
379
+ details?: Record<string, any>;
380
+ });
381
+ }
382
+ /**
383
+ * Password Reset Session Error (401)
384
+ *
385
+ * Thrown when the password-setup session backing a reset is missing, unknown,
386
+ * expired, superseded or already used.
387
+ *
388
+ * One error for every one of those, for the same reason the link error is one
389
+ * error: which of them applies tells a caller whether an account is mid-reset,
390
+ * and that is the enumeration the request step is careful not to leak.
391
+ */
392
+ declare class PasswordResetSessionError extends UnauthorizedError {
393
+ constructor(data?: {
394
+ message?: string;
395
+ details?: Record<string, any>;
396
+ });
397
+ }
247
398
  /**
248
399
  * Unverified Email Link Error (400)
249
400
  *
@@ -335,6 +486,182 @@ declare class InsufficientRoleError extends ForbiddenError {
335
486
  details?: Record<string, any>;
336
487
  });
337
488
  }
489
+ /**
490
+ * Passkey Challenge Error (401)
491
+ *
492
+ * Thrown when the challenge a WebAuthn ceremony presents is unknown, expired,
493
+ * already spent, minted for the other ceremony, or minted for another account.
494
+ *
495
+ * One error for all five, on purpose. Telling a caller which applies tells them
496
+ * whether a challenge they did not mint exists and what it was for, and the
497
+ * remedy is the same in every case: start the ceremony again.
498
+ */
499
+ declare class PasskeyChallengeError extends UnauthorizedError {
500
+ constructor(data?: {
501
+ message?: string;
502
+ details?: Record<string, any>;
503
+ });
504
+ }
505
+ /**
506
+ * Passkey Verification Error (401)
507
+ *
508
+ * Thrown when an assertion or attestation does not verify: wrong origin, wrong
509
+ * rpId, a bad signature, a regressed signature counter — or, on login, a
510
+ * credential that is unknown or has been revoked.
511
+ *
512
+ * Those last two share this error with the cryptographic failures deliberately.
513
+ * A distinct "no such passkey" would answer, to anyone holding a credential id,
514
+ * whether it is enrolled here — and a revoked credential answering differently
515
+ * from an unknown one would say the account once had it.
516
+ */
517
+ declare class PasskeyVerificationError extends UnauthorizedError {
518
+ constructor(data?: {
519
+ message?: string;
520
+ details?: Record<string, any>;
521
+ });
522
+ }
523
+ /**
524
+ * Passkey Not Found Error (404)
525
+ *
526
+ * Thrown when a management operation names a passkey the caller does not own,
527
+ * or one already revoked. Every lookup is owner-scoped, so the answer is only
528
+ * ever "not yours" and says nothing about other accounts.
529
+ */
530
+ declare class PasskeyNotFoundError extends NotFoundError {
531
+ constructor(data?: {
532
+ message?: string;
533
+ details?: Record<string, any>;
534
+ });
535
+ }
536
+ /**
537
+ * Passkey Already Registered Error (409)
538
+ *
539
+ * Thrown when the credential presented for enrollment is already on file for
540
+ * some account — including one that revoked it. A credential id is reserved for
541
+ * good once used, so this is also the answer to re-enrolling one's own revoked
542
+ * passkey.
543
+ */
544
+ declare class PasskeyAlreadyRegisteredError extends ConflictError {
545
+ constructor(data?: {
546
+ message?: string;
547
+ details?: Record<string, any>;
548
+ });
549
+ }
550
+ /**
551
+ * Recent Authentication Required Error (403)
552
+ *
553
+ * Thrown when enrolling or revoking a passkey from a session that proved itself
554
+ * too long ago and carried no password. Clients branch on `code` to know to
555
+ * prompt for the password rather than to show a generic refusal, so the code is
556
+ * a stable field rather than a message they would have to match on.
557
+ */
558
+ declare class RecentAuthenticationRequiredError extends ForbiddenError {
559
+ readonly code = "RECENT_AUTH_REQUIRED";
560
+ constructor(data?: {
561
+ message?: string;
562
+ details?: Record<string, any>;
563
+ });
564
+ }
565
+ /**
566
+ * Last Recovery Credential Error (409)
567
+ *
568
+ * Thrown when revoking a passkey would leave the account with no way back in:
569
+ * no other live passkey, no password, and no linked social account. There is no
570
+ * password reset in this package, so that state is not recoverable by support
571
+ * either — the refusal is the only thing standing between the owner and a
572
+ * locked account.
573
+ *
574
+ * Clients branch on `code` to offer "set a password first" instead of a generic
575
+ * refusal.
576
+ */
577
+ declare class LastRecoveryCredentialError extends ConflictError {
578
+ readonly code = "LAST_RECOVERY_CREDENTIAL";
579
+ constructor(data?: {
580
+ message?: string;
581
+ details?: Record<string, any>;
582
+ });
583
+ }
584
+ /**
585
+ * Passkey Config Error (500)
586
+ *
587
+ * Thrown at boot when the passkey relying-party configuration cannot be honoured
588
+ * — an origin that is not https outside localhost, an origin off the rpId, an
589
+ * unsupported user-verification value.
590
+ *
591
+ * A refusal at boot rather than at the first ceremony: every one of these makes
592
+ * every passkey operation fail, and the drift is between environments, so the
593
+ * deploy that introduces it is where it has to surface.
594
+ */
595
+ declare class PasskeyConfigError extends HttpError {
596
+ constructor(data: {
597
+ message: string;
598
+ details?: Record<string, any>;
599
+ });
600
+ }
601
+ /**
602
+ * OAuth2 Unknown Client Error (400)
603
+ *
604
+ * Thrown by the API authorize endpoints when `client_id` names no registered
605
+ * client. One of the two refusals that must NOT be turned into a redirect: with
606
+ * no client there is no registered redirect URI, so the only place left to send
607
+ * the error is the one the request supplied — which is exactly the open redirect
608
+ * this rule exists to close. The consent screen shows it instead.
609
+ */
610
+ declare class OAuth2UnknownClientError extends ValidationError {
611
+ constructor(data?: {
612
+ message?: string;
613
+ details?: Record<string, any>;
614
+ });
615
+ }
616
+ /**
617
+ * OAuth2 Redirect URI Mismatch Error (400)
618
+ *
619
+ * Thrown when `redirect_uri` is not one the client registered. The second
620
+ * non-redirectable refusal, for the same reason as the first: redirecting the
621
+ * error to an unregistered URI is the attack.
622
+ */
623
+ declare class OAuth2RedirectUriMismatchError extends ValidationError {
624
+ constructor(data?: {
625
+ message?: string;
626
+ details?: Record<string, any>;
627
+ });
628
+ }
629
+ /**
630
+ * OAuth2 Authorize Redirect Error (400)
631
+ *
632
+ * Every other authorize-time refusal — `invalid_request`, `invalid_scope`,
633
+ * `invalid_target`, `access_denied`. The client and its redirect URI are both
634
+ * known by the time these are decided, so RFC 6749 §4.1.2.1 says the error goes
635
+ * back to the client as query parameters on that URI rather than to the person.
636
+ *
637
+ * The API cannot perform that redirect — it is answering the web app's consent
638
+ * handler, not the browser — so it carries the pieces in `details` and the
639
+ * handler builds the 302. `redirectUri` is the registered-and-matched value, not
640
+ * the raw parameter, which is what makes it safe to send somebody to.
641
+ */
642
+ declare class OAuth2AuthorizeRedirectError extends ValidationError {
643
+ constructor(data: {
644
+ error: string;
645
+ redirectUri: string;
646
+ state?: string;
647
+ message?: string;
648
+ details?: Record<string, any>;
649
+ });
650
+ }
651
+ /**
652
+ * OAuth2 Grant Not Found Error (404)
653
+ *
654
+ * Thrown by `DELETE /_auth/oauth2/grants/:id` when the caller owns no live grant
655
+ * of that id. A grant belonging to somebody else answers the same way as one
656
+ * that never existed — the id is a number in a URL, and telling the two apart
657
+ * would let anyone count other people's connected clients.
658
+ */
659
+ declare class OAuth2GrantNotFoundError extends NotFoundError {
660
+ constructor(data?: {
661
+ message?: string;
662
+ details?: Record<string, any>;
663
+ });
664
+ }
338
665
 
339
666
  type authErrors_AccountAlreadyExistsError = AccountAlreadyExistsError;
340
667
  declare const authErrors_AccountAlreadyExistsError: typeof AccountAlreadyExistsError;
@@ -346,6 +673,14 @@ type authErrors_DeletionAlreadyRequestedError = DeletionAlreadyRequestedError;
346
673
  declare const authErrors_DeletionAlreadyRequestedError: typeof DeletionAlreadyRequestedError;
347
674
  type authErrors_DeletionNotRequestedError = DeletionNotRequestedError;
348
675
  declare const authErrors_DeletionNotRequestedError: typeof DeletionNotRequestedError;
676
+ type authErrors_DeviceAuthAlreadyHandledError = DeviceAuthAlreadyHandledError;
677
+ declare const authErrors_DeviceAuthAlreadyHandledError: typeof DeviceAuthAlreadyHandledError;
678
+ type authErrors_DeviceAuthDeniedError = DeviceAuthDeniedError;
679
+ declare const authErrors_DeviceAuthDeniedError: typeof DeviceAuthDeniedError;
680
+ type authErrors_DeviceAuthExpiredError = DeviceAuthExpiredError;
681
+ declare const authErrors_DeviceAuthExpiredError: typeof DeviceAuthExpiredError;
682
+ type authErrors_DeviceAuthNotFoundError = DeviceAuthNotFoundError;
683
+ declare const authErrors_DeviceAuthNotFoundError: typeof DeviceAuthNotFoundError;
349
684
  type authErrors_ImmediateDeletionNotAllowedError = ImmediateDeletionNotAllowedError;
350
685
  declare const authErrors_ImmediateDeletionNotAllowedError: typeof ImmediateDeletionNotAllowedError;
351
686
  type authErrors_InsufficientPermissionsError = InsufficientPermissionsError;
@@ -356,6 +691,10 @@ type authErrors_InvalidCredentialsError = InvalidCredentialsError;
356
691
  declare const authErrors_InvalidCredentialsError: typeof InvalidCredentialsError;
357
692
  type authErrors_InvalidKeyFingerprintError = InvalidKeyFingerprintError;
358
693
  declare const authErrors_InvalidKeyFingerprintError: typeof InvalidKeyFingerprintError;
694
+ type authErrors_InvalidSignupLinkError = InvalidSignupLinkError;
695
+ declare const authErrors_InvalidSignupLinkError: typeof InvalidSignupLinkError;
696
+ type authErrors_InvalidSignupSetupSessionError = InvalidSignupSetupSessionError;
697
+ declare const authErrors_InvalidSignupSetupSessionError: typeof InvalidSignupSetupSessionError;
359
698
  type authErrors_InvalidSocialTokenError = InvalidSocialTokenError;
360
699
  declare const authErrors_InvalidSocialTokenError: typeof InvalidSocialTokenError;
361
700
  type authErrors_InvalidTokenError = InvalidTokenError;
@@ -364,16 +703,44 @@ type authErrors_InvalidVerificationCodeError = InvalidVerificationCodeError;
364
703
  declare const authErrors_InvalidVerificationCodeError: typeof InvalidVerificationCodeError;
365
704
  type authErrors_InvalidVerificationTokenError = InvalidVerificationTokenError;
366
705
  declare const authErrors_InvalidVerificationTokenError: typeof InvalidVerificationTokenError;
706
+ type authErrors_KeyAlgorithmMismatchError = KeyAlgorithmMismatchError;
707
+ declare const authErrors_KeyAlgorithmMismatchError: typeof KeyAlgorithmMismatchError;
367
708
  type authErrors_KeyExpiredError = KeyExpiredError;
368
709
  declare const authErrors_KeyExpiredError: typeof KeyExpiredError;
369
710
  type authErrors_KeyIdAlreadyRegisteredError = KeyIdAlreadyRegisteredError;
370
711
  declare const authErrors_KeyIdAlreadyRegisteredError: typeof KeyIdAlreadyRegisteredError;
371
712
  type authErrors_KeyNotFoundError = KeyNotFoundError;
372
713
  declare const authErrors_KeyNotFoundError: typeof KeyNotFoundError;
714
+ type authErrors_LastRecoveryCredentialError = LastRecoveryCredentialError;
715
+ declare const authErrors_LastRecoveryCredentialError: typeof LastRecoveryCredentialError;
373
716
  type authErrors_NativeSignInUnsupportedError = NativeSignInUnsupportedError;
374
717
  declare const authErrors_NativeSignInUnsupportedError: typeof NativeSignInUnsupportedError;
375
718
  type authErrors_NonceKeyBindingError = NonceKeyBindingError;
376
719
  declare const authErrors_NonceKeyBindingError: typeof NonceKeyBindingError;
720
+ type authErrors_OAuth2AuthorizeRedirectError = OAuth2AuthorizeRedirectError;
721
+ declare const authErrors_OAuth2AuthorizeRedirectError: typeof OAuth2AuthorizeRedirectError;
722
+ type authErrors_OAuth2GrantNotFoundError = OAuth2GrantNotFoundError;
723
+ declare const authErrors_OAuth2GrantNotFoundError: typeof OAuth2GrantNotFoundError;
724
+ type authErrors_OAuth2RedirectUriMismatchError = OAuth2RedirectUriMismatchError;
725
+ declare const authErrors_OAuth2RedirectUriMismatchError: typeof OAuth2RedirectUriMismatchError;
726
+ type authErrors_OAuth2UnknownClientError = OAuth2UnknownClientError;
727
+ declare const authErrors_OAuth2UnknownClientError: typeof OAuth2UnknownClientError;
728
+ type authErrors_PasskeyAlreadyRegisteredError = PasskeyAlreadyRegisteredError;
729
+ declare const authErrors_PasskeyAlreadyRegisteredError: typeof PasskeyAlreadyRegisteredError;
730
+ type authErrors_PasskeyChallengeError = PasskeyChallengeError;
731
+ declare const authErrors_PasskeyChallengeError: typeof PasskeyChallengeError;
732
+ type authErrors_PasskeyConfigError = PasskeyConfigError;
733
+ declare const authErrors_PasskeyConfigError: typeof PasskeyConfigError;
734
+ type authErrors_PasskeyNotFoundError = PasskeyNotFoundError;
735
+ declare const authErrors_PasskeyNotFoundError: typeof PasskeyNotFoundError;
736
+ type authErrors_PasskeyVerificationError = PasskeyVerificationError;
737
+ declare const authErrors_PasskeyVerificationError: typeof PasskeyVerificationError;
738
+ type authErrors_PasswordResetLinkError = PasswordResetLinkError;
739
+ declare const authErrors_PasswordResetLinkError: typeof PasswordResetLinkError;
740
+ type authErrors_PasswordResetSessionError = PasswordResetSessionError;
741
+ declare const authErrors_PasswordResetSessionError: typeof PasswordResetSessionError;
742
+ type authErrors_RecentAuthenticationRequiredError = RecentAuthenticationRequiredError;
743
+ declare const authErrors_RecentAuthenticationRequiredError: typeof RecentAuthenticationRequiredError;
377
744
  type authErrors_RegistrationRejectedError = RegistrationRejectedError;
378
745
  declare const authErrors_RegistrationRejectedError: typeof RegistrationRejectedError;
379
746
  type authErrors_ReservedUsernameError = ReservedUsernameError;
@@ -389,7 +756,7 @@ declare const authErrors_VerificationTokenPurposeMismatchError: typeof Verificat
389
756
  type authErrors_VerificationTokenTargetMismatchError = VerificationTokenTargetMismatchError;
390
757
  declare const authErrors_VerificationTokenTargetMismatchError: typeof VerificationTokenTargetMismatchError;
391
758
  declare namespace authErrors {
392
- export { authErrors_AccountAlreadyExistsError as AccountAlreadyExistsError, authErrors_AccountDisabledError as AccountDisabledError, authErrors_AccountPendingDeletionError as AccountPendingDeletionError, authErrors_DeletionAlreadyRequestedError as DeletionAlreadyRequestedError, authErrors_DeletionNotRequestedError as DeletionNotRequestedError, authErrors_ImmediateDeletionNotAllowedError as ImmediateDeletionNotAllowedError, authErrors_InsufficientPermissionsError as InsufficientPermissionsError, authErrors_InsufficientRoleError as InsufficientRoleError, authErrors_InvalidCredentialsError as InvalidCredentialsError, authErrors_InvalidKeyFingerprintError as InvalidKeyFingerprintError, authErrors_InvalidSocialTokenError as InvalidSocialTokenError, authErrors_InvalidTokenError as InvalidTokenError, authErrors_InvalidVerificationCodeError as InvalidVerificationCodeError, authErrors_InvalidVerificationTokenError as InvalidVerificationTokenError, authErrors_KeyExpiredError as KeyExpiredError, authErrors_KeyIdAlreadyRegisteredError as KeyIdAlreadyRegisteredError, authErrors_KeyNotFoundError as KeyNotFoundError, authErrors_NativeSignInUnsupportedError as NativeSignInUnsupportedError, authErrors_NonceKeyBindingError as NonceKeyBindingError, authErrors_RegistrationRejectedError as RegistrationRejectedError, authErrors_ReservedUsernameError as ReservedUsernameError, authErrors_TokenExpiredError as TokenExpiredError, authErrors_UnverifiedEmailLinkError as UnverifiedEmailLinkError, authErrors_UsernameAlreadyTakenError as UsernameAlreadyTakenError, authErrors_VerificationTokenPurposeMismatchError as VerificationTokenPurposeMismatchError, authErrors_VerificationTokenTargetMismatchError as VerificationTokenTargetMismatchError };
759
+ export { authErrors_AccountAlreadyExistsError as AccountAlreadyExistsError, authErrors_AccountDisabledError as AccountDisabledError, authErrors_AccountPendingDeletionError as AccountPendingDeletionError, authErrors_DeletionAlreadyRequestedError as DeletionAlreadyRequestedError, authErrors_DeletionNotRequestedError as DeletionNotRequestedError, authErrors_DeviceAuthAlreadyHandledError as DeviceAuthAlreadyHandledError, authErrors_DeviceAuthDeniedError as DeviceAuthDeniedError, authErrors_DeviceAuthExpiredError as DeviceAuthExpiredError, authErrors_DeviceAuthNotFoundError as DeviceAuthNotFoundError, authErrors_ImmediateDeletionNotAllowedError as ImmediateDeletionNotAllowedError, authErrors_InsufficientPermissionsError as InsufficientPermissionsError, authErrors_InsufficientRoleError as InsufficientRoleError, authErrors_InvalidCredentialsError as InvalidCredentialsError, authErrors_InvalidKeyFingerprintError as InvalidKeyFingerprintError, authErrors_InvalidSignupLinkError as InvalidSignupLinkError, authErrors_InvalidSignupSetupSessionError as InvalidSignupSetupSessionError, authErrors_InvalidSocialTokenError as InvalidSocialTokenError, authErrors_InvalidTokenError as InvalidTokenError, authErrors_InvalidVerificationCodeError as InvalidVerificationCodeError, authErrors_InvalidVerificationTokenError as InvalidVerificationTokenError, authErrors_KeyAlgorithmMismatchError as KeyAlgorithmMismatchError, authErrors_KeyExpiredError as KeyExpiredError, authErrors_KeyIdAlreadyRegisteredError as KeyIdAlreadyRegisteredError, authErrors_KeyNotFoundError as KeyNotFoundError, authErrors_LastRecoveryCredentialError as LastRecoveryCredentialError, authErrors_NativeSignInUnsupportedError as NativeSignInUnsupportedError, authErrors_NonceKeyBindingError as NonceKeyBindingError, authErrors_OAuth2AuthorizeRedirectError as OAuth2AuthorizeRedirectError, authErrors_OAuth2GrantNotFoundError as OAuth2GrantNotFoundError, authErrors_OAuth2RedirectUriMismatchError as OAuth2RedirectUriMismatchError, authErrors_OAuth2UnknownClientError as OAuth2UnknownClientError, authErrors_PasskeyAlreadyRegisteredError as PasskeyAlreadyRegisteredError, authErrors_PasskeyChallengeError as PasskeyChallengeError, authErrors_PasskeyConfigError as PasskeyConfigError, authErrors_PasskeyNotFoundError as PasskeyNotFoundError, authErrors_PasskeyVerificationError as PasskeyVerificationError, authErrors_PasswordResetLinkError as PasswordResetLinkError, authErrors_PasswordResetSessionError as PasswordResetSessionError, authErrors_RecentAuthenticationRequiredError as RecentAuthenticationRequiredError, authErrors_RegistrationRejectedError as RegistrationRejectedError, authErrors_ReservedUsernameError as ReservedUsernameError, authErrors_TokenExpiredError as TokenExpiredError, authErrors_UnverifiedEmailLinkError as UnverifiedEmailLinkError, authErrors_UsernameAlreadyTakenError as UsernameAlreadyTakenError, authErrors_VerificationTokenPurposeMismatchError as VerificationTokenPurposeMismatchError, authErrors_VerificationTokenTargetMismatchError as VerificationTokenTargetMismatchError };
393
760
  }
394
761
 
395
762
  /**
@@ -398,4 +765,4 @@ declare namespace authErrors {
398
765
 
399
766
  declare const authErrorRegistry: ErrorRegistry;
400
767
 
401
- export { AccountAlreadyExistsError, AccountDisabledError, AccountPendingDeletionError, authErrors as AuthError, DeletionAlreadyRequestedError, DeletionNotRequestedError, ImmediateDeletionNotAllowedError, InsufficientPermissionsError, InsufficientRoleError, InvalidCredentialsError, InvalidKeyFingerprintError, InvalidSocialTokenError, InvalidTokenError, InvalidVerificationCodeError, InvalidVerificationTokenError, KeyExpiredError, KeyIdAlreadyRegisteredError, KeyNotFoundError, NativeSignInUnsupportedError, NonceKeyBindingError, RegistrationRejectedError, ReservedUsernameError, TokenExpiredError, UnverifiedEmailLinkError, UsernameAlreadyTakenError, VerificationTokenPurposeMismatchError, VerificationTokenTargetMismatchError, authErrorRegistry };
768
+ export { AccountAlreadyExistsError, AccountDisabledError, AccountPendingDeletionError, authErrors as AuthError, DeletionAlreadyRequestedError, DeletionNotRequestedError, DeviceAuthAlreadyHandledError, DeviceAuthDeniedError, DeviceAuthExpiredError, DeviceAuthNotFoundError, ImmediateDeletionNotAllowedError, InsufficientPermissionsError, InsufficientRoleError, InvalidCredentialsError, InvalidKeyFingerprintError, InvalidSignupLinkError, InvalidSignupSetupSessionError, InvalidSocialTokenError, InvalidTokenError, InvalidVerificationCodeError, InvalidVerificationTokenError, KeyAlgorithmMismatchError, KeyExpiredError, KeyIdAlreadyRegisteredError, KeyNotFoundError, LastRecoveryCredentialError, NativeSignInUnsupportedError, NonceKeyBindingError, OAuth2AuthorizeRedirectError, OAuth2GrantNotFoundError, OAuth2RedirectUriMismatchError, OAuth2UnknownClientError, PasskeyAlreadyRegisteredError, PasskeyChallengeError, PasskeyConfigError, PasskeyNotFoundError, PasskeyVerificationError, PasswordResetLinkError, PasswordResetSessionError, RecentAuthenticationRequiredError, RegistrationRejectedError, ReservedUsernameError, TokenExpiredError, UnverifiedEmailLinkError, UsernameAlreadyTakenError, VerificationTokenPurposeMismatchError, VerificationTokenTargetMismatchError, authErrorRegistry };