@warlock.js/auth 5.30.0 → 5.32.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.
Files changed (179) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/esm/commands/auth-cleanup-command.d.mts +1 -2
  3. package/esm/commands/auth-cleanup-command.d.mts.map +1 -1
  4. package/esm/commands/auth-purge-never-expiring-command.d.mts +1 -2
  5. package/esm/commands/auth-purge-never-expiring-command.d.mts.map +1 -1
  6. package/esm/commands/auth-purge-never-expiring-command.mjs.map +1 -1
  7. package/esm/commands/jwt-secret-generator-command.d.mts +1 -2
  8. package/esm/commands/jwt-secret-generator-command.d.mts.map +1 -1
  9. package/esm/commands/jwt-secret-generator-command.mjs.map +1 -1
  10. package/esm/contracts/auth-contract.d.mts +1 -3
  11. package/esm/contracts/auth-contract.d.mts.map +1 -1
  12. package/esm/contracts/index.d.mts +2 -1
  13. package/esm/contracts/providers.d.mts +82 -50
  14. package/esm/contracts/providers.d.mts.map +1 -1
  15. package/esm/contracts/request-locals.d.mts +2 -3
  16. package/esm/contracts/request-locals.d.mts.map +1 -1
  17. package/esm/contracts/types.d.mts +59 -43
  18. package/esm/contracts/types.d.mts.map +1 -1
  19. package/esm/errors/auth-provider-sdk-missing.error.d.mts +1 -3
  20. package/esm/errors/auth-provider-sdk-missing.error.d.mts.map +1 -1
  21. package/esm/errors/email-not-verified.error.d.mts +1 -3
  22. package/esm/errors/email-not-verified.error.d.mts.map +1 -1
  23. package/esm/errors/index.d.mts +2 -1
  24. package/esm/errors/index.mjs +1 -1
  25. package/esm/errors/invalid-one-time-token.error.d.mts +1 -3
  26. package/esm/errors/invalid-one-time-token.error.d.mts.map +1 -1
  27. package/esm/errors/invalid-passkey.error.d.mts +1 -3
  28. package/esm/errors/invalid-passkey.error.d.mts.map +1 -1
  29. package/esm/errors/invalid-provider-callback.error.d.mts +1 -3
  30. package/esm/errors/invalid-provider-callback.error.d.mts.map +1 -1
  31. package/esm/errors/notifications-unavailable.error.d.mts +1 -3
  32. package/esm/errors/notifications-unavailable.error.d.mts.map +1 -1
  33. package/esm/errors/provider-email-not-verified.error.d.mts +1 -3
  34. package/esm/errors/provider-email-not-verified.error.d.mts.map +1 -1
  35. package/esm/index.d.mts +8 -0
  36. package/esm/localization/auth-default-translations.d.mts +1 -3
  37. package/esm/localization/auth-default-translations.d.mts.map +1 -1
  38. package/esm/localization/auth-translations.type.d.mts +11 -7
  39. package/esm/localization/auth-translations.type.d.mts.map +1 -1
  40. package/esm/localization/index.mjs +1 -1
  41. package/esm/localization/register-auth-translations.d.mts +1 -2
  42. package/esm/localization/register-auth-translations.d.mts.map +1 -1
  43. package/esm/middleware/auth.middleware.d.mts +10 -10
  44. package/esm/middleware/auth.middleware.d.mts.map +1 -1
  45. package/esm/middleware/auth.middleware.mjs +2 -2
  46. package/esm/middleware/auth.middleware.mjs.map +1 -1
  47. package/esm/middleware/csrf-origin-check.d.mts +4 -6
  48. package/esm/middleware/csrf-origin-check.d.mts.map +1 -1
  49. package/esm/middleware/csrf-origin-check.mjs +1 -1
  50. package/esm/middleware/csrf-origin-check.mjs.map +1 -1
  51. package/esm/middleware/index.d.mts +2 -1
  52. package/esm/middleware/index.mjs +1 -1
  53. package/esm/middleware/login-throttle.middleware.d.mts +4 -6
  54. package/esm/middleware/login-throttle.middleware.d.mts.map +1 -1
  55. package/esm/middleware/login-throttle.middleware.mjs +1 -1
  56. package/esm/middleware/login-throttle.middleware.mjs.map +1 -1
  57. package/esm/middleware/one-time-token-throttle.middleware.d.mts +2 -4
  58. package/esm/middleware/one-time-token-throttle.middleware.d.mts.map +1 -1
  59. package/esm/middleware/otp-throttle.middleware.d.mts +2 -4
  60. package/esm/middleware/otp-throttle.middleware.d.mts.map +1 -1
  61. package/esm/middleware/require-verified-email.middleware.d.mts +1 -3
  62. package/esm/middleware/require-verified-email.middleware.d.mts.map +1 -1
  63. package/esm/models/access-token/access-token.model.d.mts +6 -30
  64. package/esm/models/access-token/access-token.model.d.mts.map +1 -1
  65. package/esm/models/access-token/index.d.mts +2 -1
  66. package/esm/models/access-token/index.mjs +1 -1
  67. package/esm/models/auth-token-family/auth-token-family.model.d.mts +2 -28
  68. package/esm/models/auth-token-family/auth-token-family.model.d.mts.map +1 -1
  69. package/esm/models/auth-token-family/index.d.mts +2 -1
  70. package/esm/models/auth-token-family/index.mjs +1 -1
  71. package/esm/models/auth.model.d.mts +1 -3
  72. package/esm/models/auth.model.d.mts.map +1 -1
  73. package/esm/models/index.d.mts +8 -2
  74. package/esm/models/index.d.mts.map +1 -1
  75. package/esm/models/index.mjs +1 -1
  76. package/esm/models/one-time-token/index.d.mts +2 -1
  77. package/esm/models/one-time-token/index.mjs +1 -1
  78. package/esm/models/one-time-token/one-time-token.model.d.mts +3 -37
  79. package/esm/models/one-time-token/one-time-token.model.d.mts.map +1 -1
  80. package/esm/models/passkey-credential/index.d.mts +2 -1
  81. package/esm/models/passkey-credential/index.mjs +1 -1
  82. package/esm/models/passkey-credential/passkey-credential.model.d.mts +2 -32
  83. package/esm/models/passkey-credential/passkey-credential.model.d.mts.map +1 -1
  84. package/esm/models/provider-account/index.d.mts +2 -1
  85. package/esm/models/provider-account/index.mjs +1 -1
  86. package/esm/models/provider-account/provider-account.model.d.mts +2 -28
  87. package/esm/models/provider-account/provider-account.model.d.mts.map +1 -1
  88. package/esm/models/refresh-token/index.d.mts +2 -1
  89. package/esm/models/refresh-token/index.mjs +1 -1
  90. package/esm/models/refresh-token/refresh-token.model.d.mts +11 -55
  91. package/esm/models/refresh-token/refresh-token.model.d.mts.map +1 -1
  92. package/esm/otp/index.d.mts +2 -1
  93. package/esm/otp/index.mjs +1 -1
  94. package/esm/otp/otp.d.mts +2 -4
  95. package/esm/otp/otp.d.mts.map +1 -1
  96. package/esm/otp/otp.mjs +2 -1
  97. package/esm/otp/otp.mjs.map +1 -1
  98. package/esm/passkeys/index.d.mts +2 -1
  99. package/esm/passkeys/index.mjs +1 -1
  100. package/esm/passkeys/passkey-authentication.d.mts +2 -4
  101. package/esm/passkeys/passkey-authentication.d.mts.map +1 -1
  102. package/esm/passkeys/passkey-authentication.mjs +2 -1
  103. package/esm/passkeys/passkey-authentication.mjs.map +1 -1
  104. package/esm/passkeys/passkey-registration.d.mts +3 -4
  105. package/esm/passkeys/passkey-registration.d.mts.map +1 -1
  106. package/esm/passkeys/simplewebauthn.d.mts +2 -3
  107. package/esm/passkeys/simplewebauthn.d.mts.map +1 -1
  108. package/esm/passkeys/simplewebauthn.mjs +1 -1
  109. package/esm/providers/apple-provider.d.mts +5 -9
  110. package/esm/providers/apple-provider.d.mts.map +1 -1
  111. package/esm/providers/discord-provider.d.mts +2 -7
  112. package/esm/providers/discord-provider.d.mts.map +1 -1
  113. package/esm/providers/facebook-provider.d.mts +2 -7
  114. package/esm/providers/facebook-provider.d.mts.map +1 -1
  115. package/esm/providers/github-provider.d.mts +2 -7
  116. package/esm/providers/github-provider.d.mts.map +1 -1
  117. package/esm/providers/google-provider.d.mts +5 -10
  118. package/esm/providers/google-provider.d.mts.map +1 -1
  119. package/esm/providers/index.d.mts +2 -1
  120. package/esm/providers/index.mjs +1 -1
  121. package/esm/providers/linkedin-provider.d.mts +3 -8
  122. package/esm/providers/linkedin-provider.d.mts.map +1 -1
  123. package/esm/providers/provider-login.d.mts +3 -5
  124. package/esm/providers/provider-login.d.mts.map +1 -1
  125. package/esm/providers/provider-login.mjs +3 -2
  126. package/esm/providers/provider-login.mjs.map +1 -1
  127. package/esm/providers/provider-state-cookie.mjs +3 -2
  128. package/esm/providers/provider-state-cookie.mjs.map +1 -1
  129. package/esm/providers/x-provider.d.mts +2 -7
  130. package/esm/providers/x-provider.d.mts.map +1 -1
  131. package/esm/services/auth-events.d.mts +5 -6
  132. package/esm/services/auth-events.d.mts.map +1 -1
  133. package/esm/services/auth.service.d.mts +10 -9
  134. package/esm/services/auth.service.d.mts.map +1 -1
  135. package/esm/services/current-user.d.mts +1 -3
  136. package/esm/services/current-user.d.mts.map +1 -1
  137. package/esm/services/email-verification.d.mts +3 -5
  138. package/esm/services/email-verification.d.mts.map +1 -1
  139. package/esm/services/generate-jwt-secret.d.mts +1 -2
  140. package/esm/services/generate-jwt-secret.d.mts.map +1 -1
  141. package/esm/services/index.d.mts +2 -1
  142. package/esm/services/index.mjs +1 -1
  143. package/esm/services/jwt.d.mts +8 -29
  144. package/esm/services/jwt.d.mts.map +1 -1
  145. package/esm/services/jwt.mjs +2 -2
  146. package/esm/services/jwt.mjs.map +1 -1
  147. package/esm/services/one-time-tokens.d.mts +6 -6
  148. package/esm/services/one-time-tokens.d.mts.map +1 -1
  149. package/esm/services/password-reset.d.mts +2 -4
  150. package/esm/services/password-reset.d.mts.map +1 -1
  151. package/esm/services/resolve-request-user.d.mts +19 -14
  152. package/esm/services/resolve-request-user.d.mts.map +1 -1
  153. package/esm/services/resolve-request-user.mjs.map +1 -1
  154. package/esm/services/token-family-operation.mjs +1 -1
  155. package/esm/session/index.d.mts +2 -1
  156. package/esm/session/index.mjs +1 -1
  157. package/esm/session/page-session.d.mts +26 -18
  158. package/esm/session/page-session.d.mts.map +1 -1
  159. package/esm/utils/auth-error-codes.d.mts +11 -22
  160. package/esm/utils/auth-error-codes.d.mts.map +1 -1
  161. package/esm/utils/index.mjs +1 -1
  162. package/esm/utils/safe-equal.d.mts +1 -2
  163. package/esm/utils/safe-equal.d.mts.map +1 -1
  164. package/esm/utils/token-expiry.d.mts +3 -4
  165. package/esm/utils/token-expiry.d.mts.map +1 -1
  166. package/llms-full.txt +189 -111
  167. package/package.json +8 -8
  168. package/skills/auth-basics/SKILL.md +10 -13
  169. package/skills/customize-token-storage/SKILL.md +24 -19
  170. package/skills/customize-user-type/SKILL.md +3 -1
  171. package/skills/index.md +4 -1
  172. package/skills/login-with-providers/SKILL.md +54 -29
  173. package/skills/manage-tokens/SKILL.md +2 -2
  174. package/skills/overview/SKILL.md +10 -1
  175. package/skills/protect-routes/SKILL.md +23 -14
  176. package/skills/register-user/SKILL.md +4 -4
  177. package/skills/run-auth-commands/SKILL.md +1 -1
  178. package/skills/throttle-login-attempts/SKILL.md +51 -22
  179. package/skills/verify-email-and-reset-password/SKILL.md +7 -5
@@ -1,9 +1,8 @@
1
1
  import { Auth } from "../auth.model.mjs";
2
2
  import { Model } from "@warlock.js/cascade";
3
-
4
3
  //#region ../../packages/auth/src/models/auth-token-family/auth-token-family.model.d.ts
5
4
  /** Durable revision authority for one refresh-token rotation family. */
6
- declare const authTokenFamilySchema: import("@warlock.js/seal").ObjectValidator<{
5
+ export declare const authTokenFamilySchema: import("@warlock.js/seal").ObjectValidator<{
7
6
  family_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
8
7
  user_id: import("@warlock.js/seal").ScalarValidator & import("@warlock.js/seal").StandardSchemaV1<string | number | boolean, string | number | boolean>;
9
8
  user_type: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
@@ -13,21 +12,9 @@ declare const authTokenFamilySchema: import("@warlock.js/seal").ObjectValidator<
13
12
  revoked_at: import("@warlock.js/seal").DateValidator & import("@warlock.js/seal").StandardSchemaV1<Date, Date> & {
14
13
  isOptional: true;
15
14
  };
16
- }> & import("@warlock.js/seal").StandardSchemaV1<{
17
- revision?: number | undefined;
18
- revoked_at?: Date | undefined;
19
- family_id: string;
20
- user_id: string | number | boolean;
21
- user_type: string;
22
- }, {
23
- revision?: number | undefined;
24
- revoked_at?: Date | undefined;
25
- family_id: string;
26
- user_id: string | number | boolean;
27
- user_type: string;
28
15
  }>;
29
16
  /** Coordinates family-wide refresh, replay containment, and logout transitions. */
30
- declare class AuthTokenFamily extends Model {
17
+ export declare class AuthTokenFamily extends Model {
31
18
  static table: string;
32
19
  static schema: import("@warlock.js/seal").ObjectValidator<{
33
20
  family_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
@@ -39,18 +26,6 @@ declare class AuthTokenFamily extends Model {
39
26
  revoked_at: import("@warlock.js/seal").DateValidator & import("@warlock.js/seal").StandardSchemaV1<Date, Date> & {
40
27
  isOptional: true;
41
28
  };
42
- }> & import("@warlock.js/seal").StandardSchemaV1<{
43
- revision?: number | undefined;
44
- revoked_at?: Date | undefined;
45
- family_id: string;
46
- user_id: string | number | boolean;
47
- user_type: string;
48
- }, {
49
- revision?: number | undefined;
50
- revoked_at?: Date | undefined;
51
- family_id: string;
52
- user_id: string | number | boolean;
53
- user_type: string;
54
29
  }>;
55
30
  /** Whether a family-wide revoke has made every member unusable. */
56
31
  get isRevoked(): boolean;
@@ -70,5 +45,4 @@ declare class AuthTokenFamily extends Model {
70
45
  static revoke(familyId: string, expectedRevision: number): Promise<number>;
71
46
  }
72
47
  //#endregion
73
- export { AuthTokenFamily, authTokenFamilySchema };
74
48
  //# sourceMappingURL=auth-token-family.model.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-token-family.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/auth-token-family/auth-token-family.model.ts"],"mappings":";;;;;cAKa,qBAAA,6BAAqB,eAAA;;;;;;;;;;;;;;;;;;;;;;;;cASrB,eAAA,SAAwB,KAAA;EAAA,OACrB,KAAA;EAAA,OAEA,MAAA,6BAAM,eAAA;;;;;;;;;;;;;;;;;;;;;;;;MAGT,SAAA;;SAKG,KAAA,CAAM,IAAA,EAAM,IAAA,EAAM,QAAA,WAAgB,OAAA,CAAA,eAAA;EAAA,OASlC,cAAA,CAAe,QAAA,WAAmB,OAAA,CAAQ,eAAA;EATR;EAAA,OAc5B,MAAA,CAAO,IAAA,EAAM,IAAA,EAAM,QAAA,WAAmB,OAAA,CAAQ,eAAA;EALlB;EAAA,OAqClC,SAAA,CAAU,IAAA,EAAM,IAAA,GAAO,OAAA,CAAQ,eAAA;EAhCqB;;;;EAAA,OA0CpD,eAAA,CAAgB,QAAA,UAAkB,gBAAA,WAA2B,OAAA;EAAA;EAAA,OAQ7D,MAAA,CAAO,QAAA,UAAkB,gBAAA,WAA2B,OAAA;AAAA"}
1
+ {"version":3,"file":"auth-token-family.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/auth-token-family/auth-token-family.model.ts"],"mappings":";;;;qBAKa,kDAAqB;;;;;;;;;;;;qBASrB,wBAAwB;SACrB;SAEA,mCAAM;;;;;;;;;;;;MAGT;;SAKG,MAAM,MAAM,MAAM,mBAAgB,QAAA;SASlC,eAAe,mBAAmB,QAAQ;;SAKpC,OAAO,MAAM,MAAM,mBAAmB,QAAQ;;SAgCpD,UAAU,MAAM,OAAO,QAAQ;;;;;SAU/B,gBAAgB,kBAAkB,2BAA2B;;SAQ7D,OAAO,kBAAkB,2BAA2B"}
@@ -1 +1,2 @@
1
- import { AuthTokenFamily, authTokenFamilySchema } from "./auth-token-family.model.mjs";
1
+ import { AuthTokenFamily, authTokenFamilySchema } from "./auth-token-family.model.mjs";
2
+ export { AuthTokenFamily, authTokenFamilySchema };
@@ -1,3 +1,3 @@
1
1
  import { AuthTokenFamily, authTokenFamilySchema } from "./auth-token-family.model.mjs";
2
2
 
3
- export { };
3
+ export { AuthTokenFamily, authTokenFamilySchema };
@@ -2,9 +2,8 @@ import { AccessTokenOutput, DeviceInfo, TokenPair } from "../contracts/types.mjs
2
2
  import { RefreshToken } from "./refresh-token/refresh-token.model.mjs";
3
3
  import { Authenticable } from "../contracts/auth-contract.mjs";
4
4
  import { ChildModel, Model, ModelSchema } from "@warlock.js/cascade";
5
-
6
5
  //#region ../../packages/auth/src/models/auth.model.d.ts
7
- declare abstract class Auth<Schema extends ModelSchema = ModelSchema> extends Model<Schema> implements Authenticable {
6
+ export declare abstract class Auth<Schema extends ModelSchema = ModelSchema> extends Model<Schema> implements Authenticable {
8
7
  /**
9
8
  * Get user type
10
9
  */
@@ -55,5 +54,4 @@ declare abstract class Auth<Schema extends ModelSchema = ModelSchema> extends Mo
55
54
  confirmPassword(password: string): Promise<boolean>;
56
55
  }
57
56
  //#endregion
58
- export { Auth };
59
57
  //# sourceMappingURL=auth.model.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.model.d.mts","names":[],"sources":["../../../../../../../../packages/auth/src/models/auth.model.ts"],"mappings":";;;;;;uBAMsB,IAAA,gBAAoB,WAAA,GAAc,WAAA,UAC9C,KAAA,CAAM,MAAA,aACH,aAAA;;AAFb;;eAOsB,QAAA;EAPoB;;;EAYjC,kBAAA,IAAkB,MAAA;EAOiB;;;EAA7B,eAAA,CAAgB,UAAA,GAAa,UAAA,GAAa,OAAA,CAAQ,SAAA;EAOjB;;;EAAjC,mBAAA,CAAoB,IAAA,SAAa,OAAA,CAAQ,iBAAA;EAcP;;;EAPlC,oBAAA,CAAqB,UAAA,GAAa,UAAA,GAAa,OAAA,CAAQ,YAAA;EAmC7B;;;EA5B1B,iBAAA,CAAkB,KAAA,WAAgB,OAAA;EAmCyB;;;EA5B3D,kBAAA,CAAmB,KAAA,WAAgB,OAAA;EA7CrC;;;EAoDE,qBAAA,IAAyB,OAAA;EAtDE;;;EA6D3B,eAAA,IAAmB,OAAA;EA3DrB;;;EAkEE,cAAA,IAAkB,OAAA,CAAQ,YAAA;EAjD1B;;;EAAA,OAwDO,OAAA,CAAQ,IAAA,EAAM,UAAA,CAAW,IAAA,GAAO,IAAA,QAAY,OAAA,CAAQ,IAAA;EAxDT;;;EA+DlD,eAAA,CAAgB,QAAA,WAAmB,OAAA;AAAA"}
1
+ {"version":3,"file":"auth.model.d.mts","names":[],"sources":["../../../../../../../../packages/auth/src/models/auth.model.ts"],"mappings":";;;;;8BAMsB,KAAK,eAAe,cAAc,qBAC9C,MAAM,mBACH;;;;eAKS;;;;EAKb,sBAAkB;;;;EAOZ,gBAAgB,aAAa,aAAa,QAAQ;;;;EAOlD,oBAAoB,aAAa,QAAQ;;;;EAOzC,qBAAqB,aAAa,aAAa,QAAQ;;;;EAOvD,kBAAkB,gBAAgB;;;;EAOlC,mBAAmB,gBAAgB;;;;EAOnC,yBAAyB;;;;EAOzB,mBAAmB;;;;EAOnB,kBAAkB,QAAQ;;;;SAOnB,QAAQ,MAAM,WAAW,OAAO,YAAY,QAAQ;;;;EAO3D,gBAAgB,mBAAmB"}
@@ -1,12 +1,18 @@
1
1
  import { Auth } from "./auth.model.mjs";
2
2
  import { AccessToken, accessTokenSchema } from "./access-token/access-token.model.mjs";
3
+ import "./access-token/index.mjs";
3
4
  import { OneTimeToken, OneTimeTokenPurpose, oneTimeTokenSchema } from "./one-time-token/one-time-token.model.mjs";
5
+ import "./one-time-token/index.mjs";
6
+ import "./refresh-token/index.mjs";
4
7
  import { RefreshToken, RefreshTokenIssueOptions, refreshTokenSchema } from "./refresh-token/refresh-token.model.mjs";
5
8
  import { AuthTokenFamily, authTokenFamilySchema } from "./auth-token-family/auth-token-family.model.mjs";
9
+ import "./auth-token-family/index.mjs";
6
10
  import { PasskeyCredential, passkeyCredentialSchema } from "./passkey-credential/passkey-credential.model.mjs";
11
+ import "./passkey-credential/index.mjs";
7
12
  import { ProviderAccount, providerAccountSchema } from "./provider-account/provider-account.model.mjs";
13
+ import "./provider-account/index.mjs";
8
14
  //#region ../../packages/auth/src/models/index.d.ts
9
- declare const authMigrations: import("@warlock.js/cascade").MigrationConstructor[];
15
+ export declare const authMigrations: import("@warlock.js/cascade").MigrationConstructor[];
10
16
  //#endregion
11
- export { authMigrations };
17
+ export { AccessToken, Auth, AuthTokenFamily, OneTimeToken, OneTimeTokenPurpose, PasskeyCredential, ProviderAccount, RefreshToken, RefreshTokenIssueOptions, accessTokenSchema, authTokenFamilySchema, oneTimeTokenSchema, passkeyCredentialSchema, providerAccountSchema, refreshTokenSchema };
12
18
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../../../../../packages/auth/src/models/index.ts"],"mappings":";;;;;;;;cAiBa,cAAA,gCAAc,oBAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../../../../../packages/auth/src/models/index.ts"],"mappings":";;;;;;;;;;;;;;qBAiBa,8CAAc"}
@@ -33,5 +33,5 @@ const authMigrations = [
33
33
  ];
34
34
 
35
35
  //#endregion
36
- export { authMigrations };
36
+ export { AccessToken, Auth, AuthTokenFamily, OneTimeToken, PasskeyCredential, ProviderAccount, RefreshToken, accessTokenSchema, authMigrations, authTokenFamilySchema, oneTimeTokenSchema, passkeyCredentialSchema, providerAccountSchema, refreshTokenSchema };
37
37
  //# sourceMappingURL=index.mjs.map
@@ -1 +1,2 @@
1
- import { OneTimeToken, OneTimeTokenPurpose, oneTimeTokenSchema } from "./one-time-token.model.mjs";
1
+ import { OneTimeToken, OneTimeTokenPurpose, oneTimeTokenSchema } from "./one-time-token.model.mjs";
2
+ export { OneTimeToken, OneTimeTokenPurpose, oneTimeTokenSchema };
@@ -1,3 +1,3 @@
1
1
  import { OneTimeToken, oneTimeTokenSchema } from "./one-time-token.model.mjs";
2
2
 
3
- export { };
3
+ export { OneTimeToken, oneTimeTokenSchema };
@@ -1,14 +1,13 @@
1
1
  import { Auth } from "../auth.model.mjs";
2
2
  import { Model } from "@warlock.js/cascade";
3
-
4
3
  //#region ../../packages/auth/src/models/one-time-token/one-time-token.model.d.ts
5
4
  /** What a one-time token may be used for. A token only ever satisfies its own purpose. */
6
- type OneTimeTokenPurpose = "email-verification" | "password-reset" | "otp" | "passkey-registration" | "passkey-authentication";
5
+ export type OneTimeTokenPurpose = "email-verification" | "password-reset" | "otp" | "passkey-registration" | "passkey-authentication";
7
6
  /**
8
7
  * Seal schema for the persisted one-time token. Exported so an override can
9
8
  * extend it (e.g. a tenant key).
10
9
  */
11
- declare const oneTimeTokenSchema: import("@warlock.js/seal").ObjectValidator<{
10
+ export declare const oneTimeTokenSchema: import("@warlock.js/seal").ObjectValidator<{
12
11
  token_hash: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
13
12
  purpose: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
14
13
  user_id: import("@warlock.js/seal").ScalarValidator & import("@warlock.js/seal").StandardSchemaV1<string | number | boolean, string | number | boolean> & {
@@ -24,22 +23,6 @@ declare const oneTimeTokenSchema: import("@warlock.js/seal").ObjectValidator<{
24
23
  attempts: import("@warlock.js/seal").IntValidator & import("@warlock.js/seal").StandardSchemaV1<number, number> & {
25
24
  isOptional: true;
26
25
  };
27
- }> & import("@warlock.js/seal").StandardSchemaV1<{
28
- user_id?: string | number | boolean | undefined;
29
- user_type?: string | undefined;
30
- consumed_at?: Date | undefined;
31
- attempts?: number | undefined;
32
- token_hash: string;
33
- purpose: string;
34
- expires_at: Date;
35
- }, {
36
- user_id?: string | number | boolean | undefined;
37
- user_type?: string | undefined;
38
- consumed_at?: Date | undefined;
39
- attempts?: number | undefined;
40
- token_hash: string;
41
- purpose: string;
42
- expires_at: Date;
43
26
  }>;
44
27
  /**
45
28
  * Persisted one-time secret: email-verification / password-reset token, OTP
@@ -50,7 +33,7 @@ declare const oneTimeTokenSchema: import("@warlock.js/seal").ObjectValidator<{
50
33
  * enforced by {@link consumeIfActive}, a conditional update in the same shape
51
34
  * as `RefreshToken.revokeIfActive`. Override via `config.auth.oneTimeToken.model`.
52
35
  */
53
- declare class OneTimeToken extends Model {
36
+ export declare class OneTimeToken extends Model {
54
37
  static table: string;
55
38
  static schema: import("@warlock.js/seal").ObjectValidator<{
56
39
  token_hash: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
@@ -68,22 +51,6 @@ declare class OneTimeToken extends Model {
68
51
  attempts: import("@warlock.js/seal").IntValidator & import("@warlock.js/seal").StandardSchemaV1<number, number> & {
69
52
  isOptional: true;
70
53
  };
71
- }> & import("@warlock.js/seal").StandardSchemaV1<{
72
- user_id?: string | number | boolean | undefined;
73
- user_type?: string | undefined;
74
- consumed_at?: Date | undefined;
75
- attempts?: number | undefined;
76
- token_hash: string;
77
- purpose: string;
78
- expires_at: Date;
79
- }, {
80
- user_id?: string | number | boolean | undefined;
81
- user_type?: string | undefined;
82
- consumed_at?: Date | undefined;
83
- attempts?: number | undefined;
84
- token_hash: string;
85
- purpose: string;
86
- expires_at: Date;
87
54
  }>;
88
55
  /**
89
56
  * The SHA-256 of a one-time secret. For a short OTP code the hash is
@@ -143,5 +110,4 @@ declare class OneTimeToken extends Model {
143
110
  static invalidateActiveFor(user: Auth, purpose: OneTimeTokenPurpose): Promise<number>;
144
111
  }
145
112
  //#endregion
146
- export { OneTimeToken, OneTimeTokenPurpose, oneTimeTokenSchema };
147
113
  //# sourceMappingURL=one-time-token.model.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"one-time-token.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/one-time-token/one-time-token.model.ts"],"mappings":";;;;;KAMY,mBAAA;AAAZ;;;;AAAA,cAWa,kBAAA,6BAAkB,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoBlB,YAAA,SAAqB,KAAA;EAAA,OAClB,KAAA;EAAA,OAEA,MAAA,6BAAM,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DZ;;;;;EAAA,OApDM,MAAA;EA2ED;;;;;;EAAA,OAnEC,cAAA;EAqFX;EAAA,IAlFQ,MAAA;EAiHuB;EAAA,IA5GvB,QAAA;EA8HA;EAAA,IAzHA,UAAA;EAiI6B;EAAA,IA5H7B,SAAA;EA4HkE;;;;;EA/GhE,eAAA,IAAmB,OAAA;EA9ClB;EAAA,OA0DA,KAAA,CACZ,IAAA,EAAM,IAAA,EACN,OAAA,EAAS,mBAAA,EACT,SAAA,UACA,SAAA,EAAW,IAAA,GAAI,OAAA,CAAA,YAAA;;;;;SAiBH,cAAA,CACZ,OAAA,EAAS,mBAAA,EACT,SAAA,UACA,SAAA,EAAW,IAAA,EACX,IAAA,GAAO,IAAA,GAAI,OAAA,CAAA,YAAA;;SAcC,aAAA,CACZ,IAAA,EAAM,IAAA,EACN,OAAA,EAAS,mBAAA,GACR,OAAA,CAAQ,YAAA;;;;;;EAYE,aAAA,CAAc,GAAA,WAAc,OAAA;;;;;;;SAmBrB,UAAA,IAAc,OAAA;;SAepB,UAAA,CACZ,SAAA,UACA,OAAA,EAAS,mBAAA,GACR,OAAA,CAAQ,YAAA;;;;;SAQG,mBAAA,CAAoB,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,mBAAA,GAAsB,OAAA;AAAA"}
1
+ {"version":3,"file":"one-time-token.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/one-time-token/one-time-token.model.ts"],"mappings":";;;;YAMY;;;;;qBAWC,+CAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;qBAoBlB,qBAAqB;SAClB;SAEA,mCAAM;;;;;;;;;;;;;;;;;;;;;;SAON;;;;;;;SAQA;;MAGH;;MAKA;;MAKA;;MAKA;;;;;;EAaE,mBAAmB;;SAYlB,MACZ,MAAM,MACN,SAAS,qBACT,mBACA,WAAW,OAAI,QAAA;;;;;SAiBH,eACZ,SAAS,qBACT,mBACA,WAAW,MACX,OAAO,OAAI,QAAA;;SAcC,cACZ,MAAM,MACN,SAAS,sBACR,QAAQ;;;;;;EAYE,cAAc,cAAc;;;;;;;SAmBrB,cAAc;;SAepB,WACZ,mBACA,SAAS,sBACR,QAAQ;;;;;SAQG,oBAAoB,MAAM,MAAM,SAAS,sBAAsB"}
@@ -1 +1,2 @@
1
- import { PasskeyCredential, passkeyCredentialSchema } from "./passkey-credential.model.mjs";
1
+ import { PasskeyCredential, passkeyCredentialSchema } from "./passkey-credential.model.mjs";
2
+ export { PasskeyCredential, passkeyCredentialSchema };
@@ -1,3 +1,3 @@
1
1
  import { PasskeyCredential, passkeyCredentialSchema } from "./passkey-credential.model.mjs";
2
2
 
3
- export { };
3
+ export { PasskeyCredential, passkeyCredentialSchema };
@@ -1,9 +1,8 @@
1
1
  import { Auth } from "../auth.model.mjs";
2
2
  import { Model } from "@warlock.js/cascade";
3
-
4
3
  //#region ../../packages/auth/src/models/passkey-credential/passkey-credential.model.d.ts
5
4
  /** Seal schema for a stored passkey. Exported so an override can extend it. */
6
- declare const passkeyCredentialSchema: import("@warlock.js/seal").ObjectValidator<{
5
+ export declare const passkeyCredentialSchema: import("@warlock.js/seal").ObjectValidator<{
7
6
  credential_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
8
7
  public_key: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
9
8
  counter: import("@warlock.js/seal").IntValidator & import("@warlock.js/seal").StandardSchemaV1<number, number>;
@@ -14,27 +13,13 @@ declare const passkeyCredentialSchema: import("@warlock.js/seal").ObjectValidato
14
13
  };
15
14
  user_id: import("@warlock.js/seal").ScalarValidator & import("@warlock.js/seal").StandardSchemaV1<string | number | boolean, string | number | boolean>;
16
15
  user_type: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
17
- }> & import("@warlock.js/seal").StandardSchemaV1<{
18
- transports?: string[] | undefined;
19
- credential_id: string;
20
- public_key: string;
21
- counter: number;
22
- user_id: string | number | boolean;
23
- user_type: string;
24
- }, {
25
- transports?: string[] | undefined;
26
- credential_id: string;
27
- public_key: string;
28
- counter: number;
29
- user_id: string | number | boolean;
30
- user_type: string;
31
16
  }>;
32
17
  /**
33
18
  * A registered WebAuthn credential. `credential_id` and `public_key` are
34
19
  * base64url; `counter` is the last signature counter seen, which an
35
20
  * authentication must advance (a clone detector).
36
21
  */
37
- declare class PasskeyCredential extends Model {
22
+ export declare class PasskeyCredential extends Model {
38
23
  static table: string;
39
24
  static schema: import("@warlock.js/seal").ObjectValidator<{
40
25
  credential_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
@@ -47,20 +32,6 @@ declare class PasskeyCredential extends Model {
47
32
  };
48
33
  user_id: import("@warlock.js/seal").ScalarValidator & import("@warlock.js/seal").StandardSchemaV1<string | number | boolean, string | number | boolean>;
49
34
  user_type: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
50
- }> & import("@warlock.js/seal").StandardSchemaV1<{
51
- transports?: string[] | undefined;
52
- credential_id: string;
53
- public_key: string;
54
- counter: number;
55
- user_id: string | number | boolean;
56
- user_type: string;
57
- }, {
58
- transports?: string[] | undefined;
59
- credential_id: string;
60
- public_key: string;
61
- counter: number;
62
- user_id: string | number | boolean;
63
- user_type: string;
64
35
  }>;
65
36
  /**
66
37
  * Permanent regardless of the data source default — Mongo's driver default
@@ -88,5 +59,4 @@ declare class PasskeyCredential extends Model {
88
59
  advanceCounter(expected: number, newCounter: number): Promise<boolean>;
89
60
  }
90
61
  //#endregion
91
- export { PasskeyCredential, passkeyCredentialSchema };
92
62
  //# sourceMappingURL=passkey-credential.model.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"passkey-credential.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/passkey-credential/passkey-credential.model.ts"],"mappings":";;;;;cAKa,uBAAA,6BAAuB,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAcvB,iBAAA,SAA0B,KAAA;EAAA,OACvB,KAAA;EAAA,OAEA,MAAA,6BAAM,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAQN,cAAA;;MAGH,YAAA;;MAKA,OAAA;;MAKA,MAAA;;MAKA,QAAA;;SAKG,kBAAA,CAAmB,YAAA,WAAuB,OAAA,CAAQ,iBAAA;;SAKlD,OAAA,CAAQ,IAAA,EAAM,IAAA,GAAO,OAAA,CAAQ,iBAAA;;;;;EAQ9B,cAAA,CAAe,QAAA,UAAkB,UAAA,WAAqB,OAAA;AAAA"}
1
+ {"version":3,"file":"passkey-credential.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/passkey-credential/passkey-credential.model.ts"],"mappings":";;;;qBAKa,oDAAuB;;;;;;;;;;;;;;;;;qBAcvB,0BAA0B;SACvB;SAEA,mCAAM;;;;;;;;;;;;;;;;;;SAQN;;MAGH;;MAKA;;MAKA;;MAKA;;SAKG,mBAAmB,uBAAuB,QAAQ;;SAKlD,QAAQ,MAAM,OAAO,QAAQ;;;;;EAQ9B,eAAe,kBAAkB,qBAAqB"}
@@ -1 +1,2 @@
1
- import { ProviderAccount, providerAccountSchema } from "./provider-account.model.mjs";
1
+ import { ProviderAccount, providerAccountSchema } from "./provider-account.model.mjs";
2
+ export { ProviderAccount, providerAccountSchema };
@@ -1,3 +1,3 @@
1
1
  import { ProviderAccount, providerAccountSchema } from "./provider-account.model.mjs";
2
2
 
3
- export { };
3
+ export { ProviderAccount, providerAccountSchema };
@@ -1,9 +1,8 @@
1
1
  import { Auth } from "../auth.model.mjs";
2
2
  import { Model } from "@warlock.js/cascade";
3
-
4
3
  //#region ../../packages/auth/src/models/provider-account/provider-account.model.d.ts
5
4
  /** Seal schema for a provider link. Exported so an override can extend it. */
6
- declare const providerAccountSchema: import("@warlock.js/seal").ObjectValidator<{
5
+ export declare const providerAccountSchema: import("@warlock.js/seal").ObjectValidator<{
7
6
  provider: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
8
7
  provider_user_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
9
8
  user_id: import("@warlock.js/seal").ScalarValidator & import("@warlock.js/seal").StandardSchemaV1<string | number | boolean, string | number | boolean>;
@@ -11,18 +10,6 @@ declare const providerAccountSchema: import("@warlock.js/seal").ObjectValidator<
11
10
  email: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string> & {
12
11
  isOptional: true;
13
12
  };
14
- }> & import("@warlock.js/seal").StandardSchemaV1<{
15
- email?: string | undefined;
16
- provider: string;
17
- provider_user_id: string;
18
- user_id: string | number | boolean;
19
- user_type: string;
20
- }, {
21
- email?: string | undefined;
22
- provider: string;
23
- provider_user_id: string;
24
- user_id: string | number | boolean;
25
- user_type: string;
26
13
  }>;
27
14
  /**
28
15
  * Links a provider identity (`provider` + the provider's stable user id) to
@@ -30,7 +17,7 @@ declare const providerAccountSchema: import("@warlock.js/seal").ObjectValidator<
30
17
  * a user is created for it; afterwards the link alone resolves the user, so a
31
18
  * later email change at the provider cannot move the login to another account.
32
19
  */
33
- declare class ProviderAccount extends Model {
20
+ export declare class ProviderAccount extends Model {
34
21
  static table: string;
35
22
  static schema: import("@warlock.js/seal").ObjectValidator<{
36
23
  provider: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
@@ -40,18 +27,6 @@ declare class ProviderAccount extends Model {
40
27
  email: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string> & {
41
28
  isOptional: true;
42
29
  };
43
- }> & import("@warlock.js/seal").StandardSchemaV1<{
44
- email?: string | undefined;
45
- provider: string;
46
- provider_user_id: string;
47
- user_id: string | number | boolean;
48
- user_type: string;
49
- }, {
50
- email?: string | undefined;
51
- provider: string;
52
- provider_user_id: string;
53
- user_id: string | number | boolean;
54
- user_type: string;
55
30
  }>;
56
31
  /** The linked user's id. */
57
32
  get userId(): any;
@@ -63,5 +38,4 @@ declare class ProviderAccount extends Model {
63
38
  static link(provider: string, providerUserId: string, user: Auth, email?: string): Promise<ProviderAccount>;
64
39
  }
65
40
  //#endregion
66
- export { ProviderAccount, providerAccountSchema };
67
41
  //# sourceMappingURL=provider-account.model.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-account.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/provider-account/provider-account.model.ts"],"mappings":";;;;;cAKa,qBAAA,6BAAqB,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cAcrB,eAAA,SAAwB,KAAA;EAAA,OACrB,KAAA;EAAA,OAEA,MAAA,6BAAM,eAAA;;;;;;;;;;;;;;;;;;;;;;MAGT,MAAA;;MAKA,QAAA;;SAKG,QAAA,CACZ,QAAA,UACA,cAAA,WACC,OAAA,CAAQ,eAAA;;SAKG,IAAA,CAAK,QAAA,UAAkB,cAAA,UAAwB,IAAA,EAAM,IAAA,EAAM,KAAA,YAAc,OAAA,CAAA,eAAA;AAAA"}
1
+ {"version":3,"file":"provider-account.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/provider-account/provider-account.model.ts"],"mappings":";;;;qBAKa,kDAAqB;;;;;;;;;;;;;;;qBAcrB,wBAAwB;SACrB;SAEA,mCAAM;;;;;;;;;;MAGT;;MAKA;;SAKG,SACZ,kBACA,yBACC,QAAQ;;SAKG,KAAK,kBAAkB,wBAAwB,MAAM,MAAM,iBAAc,QAAA"}
@@ -1 +1,2 @@
1
- import { RefreshToken, RefreshTokenIssueOptions, refreshTokenSchema } from "./refresh-token.model.mjs";
1
+ import { RefreshToken, RefreshTokenIssueOptions, refreshTokenSchema } from "./refresh-token.model.mjs";
2
+ export { RefreshToken, RefreshTokenIssueOptions, refreshTokenSchema };
@@ -1,3 +1,3 @@
1
1
  import { RefreshToken, refreshTokenSchema } from "./refresh-token.model.mjs";
2
2
 
3
- export { };
3
+ export { RefreshToken, refreshTokenSchema };
@@ -1,7 +1,6 @@
1
1
  import { Auth } from "../auth.model.mjs";
2
2
  import { DeviceInfo } from "../../contracts/types.mjs";
3
3
  import { Model } from "@warlock.js/cascade";
4
-
5
4
  //#region ../../packages/auth/src/models/refresh-token/refresh-token.model.d.ts
6
5
  /**
7
6
  * Seal schema for the persisted refresh-token record. Exported so an override
@@ -15,7 +14,7 @@ import { Model } from "@warlock.js/cascade";
15
14
  * });
16
15
  * }
17
16
  */
18
- declare const refreshTokenSchema: import("@warlock.js/seal").ObjectValidator<{
17
+ export declare const refreshTokenSchema: import("@warlock.js/seal").ObjectValidator<{
19
18
  token: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
20
19
  user_id: import("@warlock.js/seal").ScalarValidator & import("@warlock.js/seal").StandardSchemaV1<string | number | boolean, string | number | boolean>;
21
20
  user_type: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
@@ -26,45 +25,24 @@ declare const refreshTokenSchema: import("@warlock.js/seal").ObjectValidator<{
26
25
  };
27
26
  revoked_at: import("@warlock.js/seal").DateValidator & import("@warlock.js/seal").StandardSchemaV1<Date, Date> & {
28
27
  isOptional: true;
29
- }; /** The successor pair a bounded concurrent renewal may reuse. */
28
+ };
29
+ /** The successor pair a bounded concurrent renewal may reuse. */
30
30
  successor_access_token_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string> & {
31
31
  isOptional: true;
32
32
  };
33
33
  successor_refresh_token_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string> & {
34
34
  isOptional: true;
35
35
  };
36
- device_info: import("@warlock.js/seal").RecordValidator & {
36
+ device_info: import("@warlock.js/seal").StandardSchemaV1<Record<string, any>, Record<string, any>> & import("@warlock.js/seal").RecordValidator & {
37
37
  valueValidator: import("@warlock.js/seal").AnyValidator & import("@warlock.js/seal").StandardSchemaV1<any, any>;
38
- } & import("@warlock.js/seal").StandardSchemaV1<Record<string, any>, Record<string, any>> & {
38
+ } & {
39
39
  isOptional: true;
40
40
  };
41
- }> & import("@warlock.js/seal").StandardSchemaV1<{
42
- last_used_at?: Date | undefined;
43
- revoked_at?: Date | undefined;
44
- successor_access_token_id?: string | undefined;
45
- successor_refresh_token_id?: string | undefined;
46
- device_info?: Record<string, any> | undefined;
47
- token: string;
48
- user_id: string | number | boolean;
49
- user_type: string;
50
- family_id: string;
51
- expires_at: Date;
52
- }, {
53
- last_used_at?: Date | undefined;
54
- revoked_at?: Date | undefined;
55
- successor_access_token_id?: string | undefined;
56
- successor_refresh_token_id?: string | undefined;
57
- device_info?: Record<string, any> | undefined;
58
- token: string;
59
- user_id: string | number | boolean;
60
- user_type: string;
61
- family_id: string;
62
- expires_at: Date;
63
41
  }>;
64
42
  /**
65
43
  * Extra attributes captured when a refresh token is issued.
66
44
  */
67
- type RefreshTokenIssueOptions = {
45
+ export type RefreshTokenIssueOptions = {
68
46
  familyId: string;
69
47
  expiresAt: string;
70
48
  deviceInfo?: DeviceInfo;
@@ -79,7 +57,7 @@ type RefreshTokenIssueOptions = {
79
57
  * structurally impossible and lets an override rename or add columns by
80
58
  * extending this class and registering it under `config.auth.refreshToken.model`.
81
59
  */
82
- declare class RefreshToken extends Model {
60
+ export declare class RefreshToken extends Model {
83
61
  static table: string;
84
62
  static schema: import("@warlock.js/seal").ObjectValidator<{
85
63
  token: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string>;
@@ -92,40 +70,19 @@ declare class RefreshToken extends Model {
92
70
  };
93
71
  revoked_at: import("@warlock.js/seal").DateValidator & import("@warlock.js/seal").StandardSchemaV1<Date, Date> & {
94
72
  isOptional: true;
95
- }; /** The successor pair a bounded concurrent renewal may reuse. */
73
+ };
74
+ /** The successor pair a bounded concurrent renewal may reuse. */
96
75
  successor_access_token_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string> & {
97
76
  isOptional: true;
98
77
  };
99
78
  successor_refresh_token_id: import("@warlock.js/seal").StringValidator & import("@warlock.js/seal").StandardSchemaV1<string, string> & {
100
79
  isOptional: true;
101
80
  };
102
- device_info: import("@warlock.js/seal").RecordValidator & {
81
+ device_info: import("@warlock.js/seal").StandardSchemaV1<Record<string, any>, Record<string, any>> & import("@warlock.js/seal").RecordValidator & {
103
82
  valueValidator: import("@warlock.js/seal").AnyValidator & import("@warlock.js/seal").StandardSchemaV1<any, any>;
104
- } & import("@warlock.js/seal").StandardSchemaV1<Record<string, any>, Record<string, any>> & {
83
+ } & {
105
84
  isOptional: true;
106
85
  };
107
- }> & import("@warlock.js/seal").StandardSchemaV1<{
108
- last_used_at?: Date | undefined;
109
- revoked_at?: Date | undefined;
110
- successor_access_token_id?: string | undefined;
111
- successor_refresh_token_id?: string | undefined;
112
- device_info?: Record<string, any> | undefined;
113
- token: string;
114
- user_id: string | number | boolean;
115
- user_type: string;
116
- family_id: string;
117
- expires_at: Date;
118
- }, {
119
- last_used_at?: Date | undefined;
120
- revoked_at?: Date | undefined;
121
- successor_access_token_id?: string | undefined;
122
- successor_refresh_token_id?: string | undefined;
123
- device_info?: Record<string, any> | undefined;
124
- token: string;
125
- user_id: string | number | boolean;
126
- user_type: string;
127
- family_id: string;
128
- expires_at: Date;
129
86
  }>;
130
87
  /**
131
88
  * The raw signed refresh JWT is a bearer credential — never serialize it.
@@ -252,5 +209,4 @@ declare class RefreshToken extends Model {
252
209
  static purgeNeverExpiring(): Promise<RefreshToken[]>;
253
210
  }
254
211
  //#endregion
255
- export { RefreshToken, RefreshTokenIssueOptions, refreshTokenSchema };
256
212
  //# sourceMappingURL=refresh-token.model.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-token.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/refresh-token/refresh-token.model.ts"],"mappings":";;;;;;;AAkBA;;;;;;;;;;cAAa,kBAAA,6BAAkB,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiBnB,wBAAA;EACV,QAAA;EACA,SAAA;EACA,UAAA,GAAa,UAAU;AAAA;;;;;;;;;;;cAaZ,YAAA,SAAqB,KAAA;EAAA,OAClB,KAAA;EAAA,OAEA,MAAA,6BAAM,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAQN,MAAA;EAsFY;;;;;;EAAA,OA9EZ,cAAA;EA0GgD;EAAA,IAvGnD,QAAA;EA4G2C;;;;;;;;;;EAAA,IA9F3C,SAAA;EAoI2C;;;;EAAA,IAxH3C,YAAA;EAuJ8C;EAAA,IAlJ9C,SAAA;EAsKyB;EAAA,IAjKzB,OAAA;EAiL8B;;;EA1K5B,MAAA,IAAU,OAAA;EAjEc;;;;;;;EA4ExB,cAAA,IAAkB,OAAA;;;;EAclB,UAAA,IAAc,OAAA;;;;SAOb,KAAA,CAAM,IAAA,EAAM,IAAA,EAAM,KAAA,UAAe,OAAA,EAAS,wBAAA,GAAwB,OAAA,CAAA,YAAA;;;;SAoBlE,WAAA,CAAY,KAAA,WAAgB,OAAA,CAAQ,YAAA;;;;;SAQpC,WAAA,CAAY,IAAA,EAAM,IAAA,EAAM,KAAA,WAAgB,OAAA,CAAQ,YAAA;;SAKhD,YAAA,CAAa,QAAA,WAAmB,OAAA,CAAQ,YAAA;;;;;SAQxC,eAAA,CAAgB,IAAA,EAAM,IAAA,GAAO,OAAA,CAAQ,YAAA;;;;SAOrC,aAAA,CAAc,IAAA,EAAM,IAAA,EAAM,KAAA,WAAa,OAAA;;;;SAOvC,SAAA,CAAU,IAAA,EAAM,IAAA,GAAO,OAAA,CAAQ,YAAA;;;;;;;;;SAgBzB,YAAA,CAAa,IAAA,EAAM,IAAA,GAAO,OAAA,CAAQ,YAAA;;;;;SAgBlC,YAAA,CAAa,QAAA,WAAmB,OAAA,CAAQ,YAAA;;;;;;SAexC,UAAA,CAAW,IAAA,EAAM,IAAA,EAAM,GAAA,WAAc,OAAA;;;;;;SAoBrC,YAAA,IAAgB,OAAA,CAAQ,YAAA;;;;;;;SAgBxB,iBAAA,IAAqB,OAAA,CAAQ,YAAA;;;;;;;;;;SAe7B,kBAAA,IAAsB,OAAA,CAAQ,YAAA;AAAA"}
1
+ {"version":3,"file":"refresh-token.model.d.mts","names":[],"sources":["../../../../../../../../../packages/auth/src/models/refresh-token/refresh-token.model.ts"],"mappings":";;;;;;;;;;;;;;;;qBAkBa,+CAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiBnB;EACV;EACA;EACA,aAAa;;;;;;;;;;;;qBAaF,qBAAqB;SAClB;SAEA,mCAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAQN;;;;;;;SAQA;;MAGH;;;;;;;;;;;MAcA;;;;;MAYA;;MAKA;;MAKA;;;;EAOE,UAAU;;;;;;;;EAWV,kBAAkB;;;;EAclB,cAAc;;;;SAOb,MAAM,MAAM,MAAM,eAAe,SAAS,2BAAwB,QAAA;;;;SAoBlE,YAAY,gBAAgB,QAAQ;;;;;SAQpC,YAAY,MAAM,MAAM,gBAAgB,QAAQ;;SAKhD,aAAa,mBAAmB,QAAQ;;;;;SAQxC,gBAAgB,MAAM,OAAO,QAAQ;;;;SAOrC,cAAc,MAAM,MAAM,gBAAa;;;;SAOvC,UAAU,MAAM,OAAO,QAAQ;;;;;;;;;SAgBzB,aAAa,MAAM,OAAO,QAAQ;;;;;SAgBlC,aAAa,mBAAmB,QAAQ;;;;;;SAexC,WAAW,MAAM,MAAM,cAAc;;;;;;SAoBrC,gBAAgB,QAAQ;;;;;;;SAgBxB,qBAAqB,QAAQ;;;;;;;;;;SAe7B,sBAAsB,QAAQ"}
@@ -1 +1,2 @@
1
- import { requestOtp, verifyOtp } from "./otp.mjs";
1
+ import { requestOtp, verifyOtp } from "./otp.mjs";
2
+ export { requestOtp, verifyOtp };
package/esm/otp/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import { requestOtp, verifyOtp } from "./otp.mjs";
2
2
 
3
- export { };
3
+ export { requestOtp, verifyOtp };
package/esm/otp/otp.d.mts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { Auth } from "../models/auth.model.mjs";
2
2
  import { DeviceInfo, LoginResult } from "../contracts/types.mjs";
3
3
  import { ChildModel } from "@warlock.js/cascade";
4
-
5
4
  //#region ../../packages/auth/src/otp/otp.d.ts
6
5
  /**
7
6
  * Send a 6-digit login code to the account whose `auth.otp.phoneField`
@@ -17,7 +16,7 @@ import { ChildModel } from "@warlock.js/cascade";
17
16
  * @throws AuthProviderSdkMissingError when `@warlock.js/notifications` is not
18
17
  * installed and no `auth.otp.send` is configured.
19
18
  */
20
- declare function requestOtp<T extends Auth>(Model: ChildModel<T>, phone: string, options?: {
19
+ export declare function requestOtp<T extends Auth>(Model: ChildModel<T>, phone: string, options?: {
21
20
  channel?: string;
22
21
  }): Promise<void>;
23
22
  /**
@@ -32,7 +31,6 @@ declare function requestOtp<T extends Auth>(Model: ChildModel<T>, phone: string,
32
31
  * @throws InvalidOneTimeTokenError (400, EC008) — the same for an unknown
33
32
  * phone, a wrong, expired, used or exhausted code.
34
33
  */
35
- declare function verifyOtp<T extends Auth>(Model: ChildModel<T>, phone: string, code: string, deviceInfo?: DeviceInfo): Promise<LoginResult<T>>;
34
+ export declare function verifyOtp<T extends Auth>(Model: ChildModel<T>, phone: string, code: string, deviceInfo?: DeviceInfo): Promise<LoginResult<T>>;
36
35
  //#endregion
37
- export { requestOtp, verifyOtp };
38
36
  //# sourceMappingURL=otp.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"otp.d.mts","names":[],"sources":["../../../../../../../../packages/auth/src/otp/otp.ts"],"mappings":";;;;;;;AAuFA;;;;;;;;;;;;iBAAsB,UAAA,WAAqB,IAAA,EACzC,KAAA,EAAO,UAAA,CAAW,CAAA,GAClB,KAAA,UACA,OAAA;EAAW,OAAA;AAAA,IACV,OAAA;;;;;AAAO;AAkCV;;;;;;;iBAAsB,SAAA,WAAoB,IAAA,EACxC,KAAA,EAAO,UAAA,CAAW,CAAA,GAClB,KAAA,UACA,IAAA,UACA,UAAA,GAAa,UAAA,GACZ,OAAA,CAAQ,WAAA,CAAY,CAAA"}
1
+ {"version":3,"file":"otp.d.mts","names":[],"sources":["../../../../../../../../packages/auth/src/otp/otp.ts"],"mappings":";;;;;;;;;;;;;;;;;;wBAuFsB,WAAW,UAAU,MACzC,OAAO,WAAW,IAClB,eACA;EAAW;IACV;;;;;;;;;;;;;wBAkCmB,UAAU,UAAU,MACxC,OAAO,WAAW,IAClB,eACA,cACA,aAAa,aACZ,QAAQ,YAAY"}
package/esm/otp/otp.mjs CHANGED
@@ -19,7 +19,8 @@ function invalidCode() {
19
19
  * value unique.
20
20
  */
21
21
  function macCode(user, salt, code) {
22
- return createHmac("sha256", createHmac("sha256", authConfig.accessToken.secret()).update("@warlock.js/auth:otp").digest()).update(`${salt}:${user.userType}:${user.id}:${code}`).digest("base64url");
22
+ const key = createHmac("sha256", authConfig.accessToken.secret()).update("@warlock.js/auth:otp").digest();
23
+ return createHmac("sha256", key).update(`${salt}:${user.userType}:${user.id}:${code}`).digest("base64url");
23
24
  }
24
25
  /** Stored form: `<salt>.<mac>` — 16 + 1 + 43 chars, inside the 64-char `token_hash` column. */
25
26
  function storedCodeHash(user, code) {