@gatwech/auth 1.0.0-beta.20 → 1.0.0-beta.21

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 (133) hide show
  1. package/dist/adapters/drizzle-adapter/index.mjs +11 -2
  2. package/dist/adapters/index.d.mts +2 -2
  3. package/dist/adapters/kysely-adapter/index.mjs +1 -1
  4. package/dist/adapters/memory-adapter/index.d.mts +1 -1
  5. package/dist/adapters/memory-adapter/index.mjs +2 -2
  6. package/dist/api/index.d.mts +2 -2
  7. package/dist/api/index.mjs +1 -1
  8. package/dist/{audit-log-DKsUWR8O.mjs → audit-log-DgqHJ-uv.mjs} +132 -63
  9. package/dist/{auth-vfCyIIeV.mjs → auth-BoEA9bN7.mjs} +14 -1
  10. package/dist/client/index.d.mts +2 -2
  11. package/dist/client/plugins/index.d.mts +47 -47
  12. package/dist/client/plugins/index.mjs +2 -2
  13. package/dist/client/react/index.d.mts +2 -2
  14. package/dist/{client-F67q-Lbi.d.mts → client-B00gkznv.d.mts} +1 -1
  15. package/dist/{client-4QEb0rUr.mjs → client-CMsC6-rl.mjs} +1 -1
  16. package/dist/{client-C_qmyez2.d.mts → client-Da7tq8m6.d.mts} +1 -1
  17. package/dist/cookies/index.d.mts +3 -3
  18. package/dist/db/index.d.mts +2 -2
  19. package/dist/db/index.mjs +1 -1
  20. package/dist/{db-7vHnL1XA.mjs → db-CV59HpEF.mjs} +2 -2
  21. package/dist/{index-BX7rl07Z.d.mts → index-BECNG13R.d.mts} +13 -13
  22. package/dist/{index-D57DuhZR.d.mts → index-BKy-8t2n.d.mts} +179 -126
  23. package/dist/{index-Df0KhQRf-BEa5tdwJ.d.mts → index-BL_t8cRp-C4QYBsac.d.mts} +56 -17
  24. package/dist/{index-D6ku0rUC.d.mts → index-BWYXZVsV.d.mts} +5 -5
  25. package/dist/{index-DwPAddfE.d.mts → index-Bhc37y9F.d.mts} +3 -3
  26. package/dist/{index-BNhJglHC.d.mts → index-BjCQ3jmE.d.mts} +119 -119
  27. package/dist/{index-CzpdkTdv.d.mts → index-Bxive_YT.d.mts} +9 -9
  28. package/dist/{index-DGeoJ4gu.d.mts → index-C-IDh5yy.d.mts} +2 -2
  29. package/dist/{index-Dnd8S4S4.d.mts → index-CM1rFdwV.d.mts} +9 -9
  30. package/dist/{index-CNd5jqLl.d.mts → index-CMG4Pnen.d.mts} +4 -4
  31. package/dist/{index-4I1YhYhk.d.mts → index-CTqynuxm.d.mts} +4 -4
  32. package/dist/{index-CP8x1TFq.d.mts → index-CbBQdS-u.d.mts} +6 -6
  33. package/dist/{index-DyXi7S2M.d.mts → index-CpH-1sse.d.mts} +10 -10
  34. package/dist/{index-CC920PPp.d.mts → index-D1OZ2e4m.d.mts} +14 -14
  35. package/dist/{index-CofuaNMl.d.mts → index-Dt2I0G4X.d.mts} +7 -7
  36. package/dist/{index-XfE0WjTN.d.mts → index-IX1to9TB.d.mts} +34 -34
  37. package/dist/{index-KhbNmMmG.d.mts → index-TrOnY3pM.d.mts} +170 -170
  38. package/dist/{index-CsxtcAO0.d.mts → index-VUyESU4p.d.mts} +1 -1
  39. package/dist/{index-CBiGsvDd.d.mts → index-WV7VzW2H.d.mts} +8 -8
  40. package/dist/{index-Bml-PCqP.d.mts → index-YeXSxzhX.d.mts} +19 -19
  41. package/dist/{index-BsSKcKgO.d.mts → index-cPt-00xm.d.mts} +6 -6
  42. package/dist/{index-sb-UFLuo.d.mts → index-iRoaTsOj.d.mts} +2 -2
  43. package/dist/{index-DFSRYWFI.d.mts → index-jEkJ2Zfk.d.mts} +6 -6
  44. package/dist/{index-DTkcY7xH.d.mts → index-oNlp4SvD.d.mts} +10 -10
  45. package/dist/index.d.mts +2 -2
  46. package/dist/index.mjs +3 -3
  47. package/dist/integrations/next-js.d.mts +4 -4
  48. package/dist/integrations/node.d.mts +2 -2
  49. package/dist/integrations/react-start.d.mts +4 -4
  50. package/dist/{kysely-adapter-Bkm1liPW.mjs → kysely-adapter-BidlNTiV.mjs} +4 -2
  51. package/dist/oauth2/index.d.mts +2 -2
  52. package/dist/oauth2/index.mjs +1 -1
  53. package/dist/{organization-CkTKs7bx.mjs → organization-D4QMpChF.mjs} +1 -1
  54. package/dist/plugins/admin/index.d.mts +3 -3
  55. package/dist/plugins/admin/index.mjs +1 -1
  56. package/dist/plugins/anonymous/index.d.mts +3 -3
  57. package/dist/plugins/anonymous/index.mjs +1 -1
  58. package/dist/plugins/audit-log/client.d.mts +24 -24
  59. package/dist/plugins/audit-log/index.d.mts +23 -23
  60. package/dist/plugins/audit-log/index.mjs +2 -2
  61. package/dist/plugins/bearer/index.d.mts +1 -1
  62. package/dist/plugins/captcha/index.d.mts +1 -1
  63. package/dist/plugins/custom-session/index.d.mts +3 -3
  64. package/dist/plugins/custom-session/index.mjs +1 -1
  65. package/dist/plugins/device-authorization/index.d.mts +1 -1
  66. package/dist/plugins/device-authorization/index.mjs +1 -1
  67. package/dist/plugins/email-otp/index.d.mts +2 -2
  68. package/dist/plugins/email-otp/index.mjs +1 -1
  69. package/dist/plugins/generic-oauth/index.d.mts +3 -3
  70. package/dist/plugins/generic-oauth/index.mjs +1 -1
  71. package/dist/plugins/haveibeenpwned/index.d.mts +1 -1
  72. package/dist/plugins/haveibeenpwned/index.mjs +1 -1
  73. package/dist/plugins/index.d.mts +23 -23
  74. package/dist/plugins/index.mjs +5 -5
  75. package/dist/plugins/jwt/index.d.mts +3 -3
  76. package/dist/plugins/jwt/index.mjs +1 -1
  77. package/dist/plugins/magic-link/index.d.mts +1 -1
  78. package/dist/plugins/magic-link/index.mjs +1 -1
  79. package/dist/plugins/multi-session/index.d.mts +2 -2
  80. package/dist/plugins/multi-session/index.mjs +1 -1
  81. package/dist/plugins/oauth-proxy/index.d.mts +1 -1
  82. package/dist/plugins/oauth-proxy/index.mjs +1 -1
  83. package/dist/plugins/one-tap/index.d.mts +1 -1
  84. package/dist/plugins/one-tap/index.mjs +1 -1
  85. package/dist/plugins/one-time-token/index.d.mts +3 -3
  86. package/dist/plugins/one-time-token/index.mjs +5 -5
  87. package/dist/plugins/organization/index.d.mts +3 -3
  88. package/dist/plugins/organization/index.mjs +2 -2
  89. package/dist/plugins/passkey/index.d.mts +3 -3
  90. package/dist/plugins/passkey/index.mjs +1 -1
  91. package/dist/plugins/phone-number/index.d.mts +3 -3
  92. package/dist/plugins/phone-number/index.mjs +1 -1
  93. package/dist/plugins/sentinel/client.d.mts +24 -24
  94. package/dist/plugins/sentinel/client.mjs +2 -2
  95. package/dist/plugins/sentinel/index.d.mts +23 -23
  96. package/dist/plugins/sentinel/index.mjs +3 -3
  97. package/dist/plugins/two-factor/index.d.mts +3 -3
  98. package/dist/plugins/two-factor/index.mjs +1 -1
  99. package/dist/plugins/username/index.d.mts +1 -1
  100. package/dist/plugins/username/index.mjs +1 -1
  101. package/dist/{pow-OK01yPG3.mjs → pow-DvkUopsK.mjs} +17 -1
  102. package/dist/{sentinel-DiPqydKG.mjs → sentinel-B4Wo79HK.mjs} +295 -92
  103. package/dist/src/adapters/memory-adapter/memory-adapter.d.ts +1 -1
  104. package/dist/src/adapters/prisma-adapter/test/auth.d.ts +1 -1
  105. package/dist/src/adapters/tests/auth-flow.d.ts +3 -3
  106. package/dist/src/adapters/tests/normal.d.ts +10 -2
  107. package/dist/src/adapters/tests/number-id.d.ts +4 -4
  108. package/dist/src/adapters/tests/performance.d.ts +3 -3
  109. package/dist/src/adapters/tests/transactions.d.ts +3 -3
  110. package/dist/src/api/index.d.ts +8 -8
  111. package/dist/src/plugins/admin/admin.d.ts +2 -2
  112. package/dist/src/plugins/api-key/index.d.ts +2 -2
  113. package/dist/src/plugins/audit-log/index.d.ts +5 -14
  114. package/dist/src/plugins/audit-log/remote.d.ts +4 -4
  115. package/dist/src/plugins/audit-log/types.d.ts +22 -0
  116. package/dist/src/plugins/email-otp/index.d.ts +1 -1
  117. package/dist/src/plugins/multi-session/index.d.ts +8 -8
  118. package/dist/src/plugins/organization/routes/crud-access-control.d.ts +8 -8
  119. package/dist/src/plugins/organization/routes/crud-invites.d.ts +46 -46
  120. package/dist/src/plugins/organization/routes/crud-members.d.ts +40 -40
  121. package/dist/src/plugins/organization/routes/crud-org.d.ts +36 -36
  122. package/dist/src/plugins/organization/routes/crud-team.d.ts +50 -50
  123. package/dist/src/plugins/sentinel/index.d.ts +10 -1
  124. package/dist/src/plugins/sentinel/intel.d.ts +8 -1
  125. package/dist/src/plugins/sentinel/memory-cache.d.ts +12 -0
  126. package/dist/src/plugins/sentinel/schema.d.ts +4 -0
  127. package/dist/src/plugins/sentinel/store.d.ts +7 -0
  128. package/dist/src/plugins/sentinel/types.d.ts +29 -1
  129. package/dist/src/test-utils/test-instance.d.ts +25 -25
  130. package/dist/test-utils/index.d.mts +1045 -1045
  131. package/dist/test-utils/index.mjs +7 -7
  132. package/dist/types/index.d.mts +2 -2
  133. package/package.json +3 -3
@@ -25,7 +25,7 @@ type InternalLogger = { [K in LogLevel]: (...params: LogHandlerParams) => void }
25
25
  };
26
26
  declare const createLogger: (options?: Logger | undefined) => InternalLogger;
27
27
  //#endregion
28
- //#region ../core/dist/index-Df0KhQRf.d.mts
28
+ //#region ../core/dist/index-BL_t8cRp.d.mts
29
29
  //#region src/db/type.d.ts
30
30
  type DBPreservedModels = "user" | "account" | "session" | "verification" | "rate-limit" | "organization" | "member" | "invitation" | "jwks" | "passkey" | "two-factor";
31
31
  type DBFieldType = "string" | "number" | "boolean" | "date" | "json" | `${"string" | "number"}[]` | Array<LiteralString>;
@@ -137,7 +137,7 @@ interface SecondaryStorage {
137
137
  * @param key - Key to get
138
138
  * @returns - Value of the key
139
139
  */
140
- get: (key: string) => Awaitable$1<unknown>;
140
+ get: (key: string) => Awaitable<unknown>;
141
141
  /**
142
142
  * Atomically get a value and delete it from storage.
143
143
  *
@@ -149,7 +149,7 @@ interface SecondaryStorage {
149
149
  * breaking release, or require database-backed verification storage for
150
150
  * security-sensitive consume paths.
151
151
  */
152
- getAndDelete?: (key: string) => Awaitable$1<unknown>;
152
+ getAndDelete?: (key: string) => Awaitable<unknown>;
153
153
  /**
154
154
  * Atomically increment the counter at `key` by one, returning the
155
155
  * post-increment value.
@@ -164,7 +164,7 @@ interface SecondaryStorage {
164
164
  * this required for secondary-storage-backed rate limiting in the next minor
165
165
  * on `next`.
166
166
  */
167
- increment?: (key: string, ttl: number) => Awaitable$1<number>;
167
+ increment?: (key: string, ttl: number) => Awaitable<number>;
168
168
  set: (
169
169
  /**
170
170
  * Key to store
@@ -177,12 +177,12 @@ interface SecondaryStorage {
177
177
  /**
178
178
  * Time to live in seconds
179
179
  */
180
- ttl?: number | undefined) => Awaitable$1<void | null | unknown>;
180
+ ttl?: number | undefined) => Awaitable<void | null | unknown>;
181
181
  /**
182
182
  *
183
183
  * @param key - Key to delete
184
184
  */
185
- delete: (key: string) => Awaitable$1<void | null | string>;
185
+ delete: (key: string) => Awaitable<void | null | string>;
186
186
  }
187
187
  //#endregion
188
188
  //#region src/db/plugin.d.ts
@@ -912,7 +912,7 @@ type PayvoAuthCookies = {
912
912
  //#endregion
913
913
  //#region src/types/helper.d.ts
914
914
  type Primitive = string | number | symbol | bigint | boolean | null | undefined;
915
- type Awaitable$1<T> = T | Promise<T>;
915
+ type Awaitable<T> = T | Promise<T>;
916
916
  type LiteralString = "" | (string & Record<never, never>);
917
917
  type LiteralUnion<LiteralType, BaseType extends Primitive> = LiteralType | (BaseType & Record<never, never>);
918
918
  //#endregion
@@ -1118,7 +1118,7 @@ type SocialProviders = { [K in SocialProviderList[number]]?: Parameters<(typeof
1118
1118
  type SocialProviderList = typeof socialProviderList;
1119
1119
  //#endregion
1120
1120
  //#region src/types/plugin.d.ts
1121
- type Awaitable<T> = T | Promise<T>;
1121
+ type Awaitable$1<T> = T | Promise<T>;
1122
1122
  type DeepPartial<T> = T extends Function ? T : T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;
1123
1123
  type HookEndpointContext = Partial<EndpointContext<string, any> & Omit<InputContext<string, any>, "method">> & {
1124
1124
  path: string;
@@ -1134,7 +1134,7 @@ type PayvoAuthPlugin = {
1134
1134
  * The init function is called when the plugin is initialized.
1135
1135
  * You can return a new context or modify the existing context.
1136
1136
  */
1137
- init?: ((ctx: AuthContext) => Awaitable<{
1137
+ init?: ((ctx: AuthContext) => Awaitable$1<{
1138
1138
  context?: DeepPartial<Omit<AuthContext, "options">>;
1139
1139
  options?: Partial<PayvoAuthOptions>;
1140
1140
  }> | void | Promise<void>) | undefined;
@@ -1355,6 +1355,27 @@ type PayvoAuthAdvancedOptions = {
1355
1355
  * Payvo Auth. And could lead to security vulnerabilities.
1356
1356
  */
1357
1357
  disableOriginCheck?: boolean | undefined;
1358
+ /**
1359
+ * Run deferred work, such as sending events to a remote service, after the
1360
+ * response is sent. On serverless platforms, pass the platform's hook so
1361
+ * the function stays alive until the work finishes.
1362
+ *
1363
+ * @example
1364
+ * // Vercel
1365
+ * import { waitUntil } from "@vercel/functions";
1366
+ * advanced: { backgroundTasks: { handler: waitUntil } }
1367
+ *
1368
+ * @example
1369
+ * // Cloudflare Workers, with the execution context kept in AsyncLocalStorage
1370
+ * advanced: {
1371
+ * backgroundTasks: {
1372
+ * handler: (promise) => executionContext.getStore()?.waitUntil(promise),
1373
+ * },
1374
+ * }
1375
+ */
1376
+ backgroundTasks?: {
1377
+ handler: (promise: Promise<unknown>) => void;
1378
+ } | undefined;
1358
1379
  /**
1359
1380
  * Configure cookies to be cross subdomains
1360
1381
  */
@@ -2100,9 +2121,10 @@ type PayvoAuthOptions = {
2100
2121
  data: Optional<User & Record<string, any>>;
2101
2122
  }>;
2102
2123
  /**
2103
- * Hook that is called after a user is updated.
2124
+ * Hook that is called after a user is updated. `data` holds the
2125
+ * fields that were written, after every `before` hook ran.
2104
2126
  */
2105
- after?: (user: User & Record<string, unknown>, context?: GenericEndpointContext) => Promise<void>;
2127
+ after?: (user: User & Record<string, unknown>, context?: GenericEndpointContext, data?: Partial<User> & Record<string, unknown>) => Promise<void>;
2106
2128
  };
2107
2129
  delete?: {
2108
2130
  /**
@@ -2147,9 +2169,10 @@ type PayvoAuthOptions = {
2147
2169
  data: Optional<Session & Record<string, any>>;
2148
2170
  }>;
2149
2171
  /**
2150
- * Hook that is called after a session is updated.
2172
+ * Hook that is called after a session is updated. `data` holds the
2173
+ * fields that were written, after every `before` hook ran.
2151
2174
  */
2152
- after?: (session: Session & Record<string, unknown>, context?: GenericEndpointContext) => Promise<void>;
2175
+ after?: (session: Session & Record<string, unknown>, context?: GenericEndpointContext, data?: Partial<Session> & Record<string, unknown>) => Promise<void>;
2153
2176
  };
2154
2177
  delete?: {
2155
2178
  /**
@@ -2194,9 +2217,10 @@ type PayvoAuthOptions = {
2194
2217
  data: Optional<Account & Record<string, any>>;
2195
2218
  }>;
2196
2219
  /**
2197
- * Hook that is called after a account is updated.
2220
+ * Hook that is called after a account is updated. `data` holds the
2221
+ * fields that were written, after every `before` hook ran.
2198
2222
  */
2199
- after?: (account: Account & Record<string, unknown>, context?: GenericEndpointContext) => Promise<void>;
2223
+ after?: (account: Account & Record<string, unknown>, context?: GenericEndpointContext, data?: Partial<Account> & Record<string, unknown>) => Promise<void>;
2200
2224
  };
2201
2225
  delete?: {
2202
2226
  /**
@@ -2238,9 +2262,11 @@ type PayvoAuthOptions = {
2238
2262
  data: Optional<Verification & Record<string, any>>;
2239
2263
  }>;
2240
2264
  /**
2241
- * Hook that is called after a verification is updated.
2265
+ * Hook that is called after a verification is updated. `data`
2266
+ * holds the fields that were written, after every `before` hook
2267
+ * ran.
2242
2268
  */
2243
- after?: (verification: Verification & Record<string, unknown>, context?: GenericEndpointContext) => Promise<void>;
2269
+ after?: (verification: Verification & Record<string, unknown>, context?: GenericEndpointContext, data?: Partial<Verification> & Record<string, unknown>) => Promise<void>;
2244
2270
  };
2245
2271
  delete?: {
2246
2272
  /**
@@ -2524,6 +2550,19 @@ type AuthContext<Options extends PayvoAuthOptions = PayvoAuthOptions> = {
2524
2550
  * @default false
2525
2551
  */
2526
2552
  skipCSRFCheck: boolean;
2553
+ /**
2554
+ * Runs work after the response without blocking it, e.g. sending an
2555
+ * event to a remote service.
2556
+ *
2557
+ * This is inferred from the `options.advanced?.backgroundTasks?.handler`
2558
+ * option. Without one, the promise runs on its own.
2559
+ */
2560
+ runInBackground: (promise: Promise<unknown>) => void;
2561
+ /**
2562
+ * Runs work in the background when `advanced.backgroundTasks` is
2563
+ * configured, and awaits it otherwise, for work that must finish
2564
+ */
2565
+ runInBackgroundOrAwait: (promise: Promise<unknown> | void) => Awaitable<unknown>;
2527
2566
  };
2528
2567
  //#endregion
2529
2568
  //#region src/types/plugin-client.d.ts
@@ -1,6 +1,6 @@
1
- import { g as User, h as Session } from "./index-BNhJglHC.mjs";
1
+ import { g as User, h as Session } from "./index-BjCQ3jmE.mjs";
2
2
  import { GenericEndpointContext } from "@gatwech/core";
3
- import * as better_call109 from "better-call";
3
+ import * as better_call93 from "better-call";
4
4
  import * as z$1 from "zod";
5
5
 
6
6
  //#region src/plugins/one-time-token/index.d.ts
@@ -67,7 +67,7 @@ declare const oneTimeToken: (options?: OneTimeTokenOptions | undefined) => {
67
67
  } & {
68
68
  asResponse?: boolean;
69
69
  returnHeaders?: boolean;
70
- use?: better_call109.Middleware[];
70
+ use?: better_call93.Middleware[];
71
71
  path?: string;
72
72
  } & {
73
73
  asResponse?: AsResponse | undefined;
@@ -82,7 +82,7 @@ declare const oneTimeToken: (options?: OneTimeTokenOptions | undefined) => {
82
82
  }>;
83
83
  options: {
84
84
  method: "GET";
85
- use: ((inputContext: better_call109.MiddlewareInputContext<better_call109.MiddlewareOptions>) => Promise<{
85
+ use: ((inputContext: better_call93.MiddlewareInputContext<better_call93.MiddlewareOptions>) => Promise<{
86
86
  session: {
87
87
  session: Record<string, any> & {
88
88
  id: string;
@@ -143,7 +143,7 @@ declare const oneTimeToken: (options?: OneTimeTokenOptions | undefined) => {
143
143
  } & {
144
144
  asResponse?: boolean;
145
145
  returnHeaders?: boolean;
146
- use?: better_call109.Middleware[];
146
+ use?: better_call93.Middleware[];
147
147
  path?: string;
148
148
  } & {
149
149
  asResponse?: AsResponse | undefined;
@@ -1,4 +1,4 @@
1
- import * as _gatwech_core11 from "@gatwech/core";
1
+ import * as _gatwech_core18 from "@gatwech/core";
2
2
 
3
3
  //#region src/plugins/haveibeenpwned/index.d.ts
4
4
 
@@ -13,7 +13,7 @@ interface HaveIBeenPwnedOptions {
13
13
  }
14
14
  declare const haveIBeenPwned: (options?: HaveIBeenPwnedOptions | undefined) => {
15
15
  id: "haveIBeenPwned";
16
- init(ctx: _gatwech_core11.AuthContext<_gatwech_core11.PayvoAuthOptions>): {
16
+ init(ctx: _gatwech_core18.AuthContext<_gatwech_core18.PayvoAuthOptions>): {
17
17
  context: {
18
18
  password: {
19
19
  hash(password: string): Promise<string>;
@@ -25,7 +25,7 @@ declare const haveIBeenPwned: (options?: HaveIBeenPwnedOptions | undefined) => {
25
25
  minPasswordLength: number;
26
26
  maxPasswordLength: number;
27
27
  };
28
- checkPassword: (userId: string, ctx: _gatwech_core11.GenericEndpointContext<_gatwech_core11.PayvoAuthOptions>) => Promise<boolean>;
28
+ checkPassword: (userId: string, ctx: _gatwech_core18.GenericEndpointContext<_gatwech_core18.PayvoAuthOptions>) => Promise<boolean>;
29
29
  };
30
30
  };
31
31
  };