@effect-auth/core 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (149) hide show
  1. package/README.md +148 -13
  2. package/dist/ApiKey.d.ts +207 -0
  3. package/dist/ApiKey.d.ts.map +1 -0
  4. package/dist/ApiKey.js +275 -0
  5. package/dist/ApiKey.js.map +1 -0
  6. package/dist/AuditLog.d.ts +204 -1
  7. package/dist/AuditLog.d.ts.map +1 -1
  8. package/dist/AuditLog.js +170 -0
  9. package/dist/AuditLog.js.map +1 -1
  10. package/dist/AuthConfig.d.ts +0 -9
  11. package/dist/AuthConfig.d.ts.map +1 -1
  12. package/dist/AuthConfig.js +1 -14
  13. package/dist/AuthConfig.js.map +1 -1
  14. package/dist/AuthFlow.d.ts +220 -51
  15. package/dist/AuthFlow.d.ts.map +1 -1
  16. package/dist/AuthFlow.js +550 -22
  17. package/dist/AuthFlow.js.map +1 -1
  18. package/dist/AuthKernel.d.ts +1 -1
  19. package/dist/Challenge.d.ts +5 -1
  20. package/dist/Challenge.d.ts.map +1 -1
  21. package/dist/Challenge.js +58 -48
  22. package/dist/Challenge.js.map +1 -1
  23. package/dist/Client.d.ts +242 -1
  24. package/dist/Client.d.ts.map +1 -1
  25. package/dist/Client.js +489 -1
  26. package/dist/Client.js.map +1 -1
  27. package/dist/D1Kysely.d.ts +1 -1
  28. package/dist/D1Kysely.d.ts.map +1 -1
  29. package/dist/EffectQbSqliteStorage.d.ts +156 -41
  30. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  31. package/dist/EffectQbSqliteStorage.js +336 -33
  32. package/dist/EffectQbSqliteStorage.js.map +1 -1
  33. package/dist/EmailOtp.d.ts +5 -2
  34. package/dist/EmailOtp.d.ts.map +1 -1
  35. package/dist/EmailOtp.js +11 -4
  36. package/dist/EmailOtp.js.map +1 -1
  37. package/dist/EmailVerification.d.ts +2 -2
  38. package/dist/EmailVerification.d.ts.map +1 -1
  39. package/dist/EmailVerification.js +2 -3
  40. package/dist/EmailVerification.js.map +1 -1
  41. package/dist/HttpApi/Api.d.ts +1161 -19
  42. package/dist/HttpApi/Api.d.ts.map +1 -1
  43. package/dist/HttpApi/Api.js +1433 -20
  44. package/dist/HttpApi/Api.js.map +1 -1
  45. package/dist/HttpApi/Endpoints.d.ts +611 -0
  46. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  47. package/dist/HttpApi/Endpoints.js +242 -1
  48. package/dist/HttpApi/Endpoints.js.map +1 -1
  49. package/dist/HttpApi/Schemas.d.ts +704 -0
  50. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  51. package/dist/HttpApi/Schemas.js +435 -1
  52. package/dist/HttpApi/Schemas.js.map +1 -1
  53. package/dist/HttpApi/Security.d.ts +13 -1
  54. package/dist/HttpApi/Security.d.ts.map +1 -1
  55. package/dist/HttpApi/Security.js +107 -16
  56. package/dist/HttpApi/Security.js.map +1 -1
  57. package/dist/HttpApi/Transport.d.ts +36 -2
  58. package/dist/HttpApi/Transport.d.ts.map +1 -1
  59. package/dist/HttpApi/Transport.js +151 -9
  60. package/dist/HttpApi/Transport.js.map +1 -1
  61. package/dist/Jwt.d.ts +271 -0
  62. package/dist/Jwt.d.ts.map +1 -0
  63. package/dist/Jwt.js +512 -0
  64. package/dist/Jwt.js.map +1 -0
  65. package/dist/KyselyStorage.d.ts +134 -1
  66. package/dist/KyselyStorage.d.ts.map +1 -1
  67. package/dist/KyselyStorage.js +918 -4
  68. package/dist/KyselyStorage.js.map +1 -1
  69. package/dist/LoginApproval.d.ts +314 -0
  70. package/dist/LoginApproval.d.ts.map +1 -0
  71. package/dist/LoginApproval.js +551 -0
  72. package/dist/LoginApproval.js.map +1 -0
  73. package/dist/LoginNotification.d.ts +183 -0
  74. package/dist/LoginNotification.d.ts.map +1 -0
  75. package/dist/LoginNotification.js +329 -0
  76. package/dist/LoginNotification.js.map +1 -0
  77. package/dist/LoginRisk.d.ts +73 -0
  78. package/dist/LoginRisk.d.ts.map +1 -0
  79. package/dist/LoginRisk.js +57 -0
  80. package/dist/LoginRisk.js.map +1 -0
  81. package/dist/MagicLink.d.ts +85 -0
  82. package/dist/MagicLink.d.ts.map +1 -0
  83. package/dist/MagicLink.js +206 -0
  84. package/dist/MagicLink.js.map +1 -0
  85. package/dist/Mailer.d.ts +33 -2
  86. package/dist/Mailer.d.ts.map +1 -1
  87. package/dist/Mailer.js +107 -0
  88. package/dist/Mailer.js.map +1 -1
  89. package/dist/Passkey.d.ts +334 -0
  90. package/dist/Passkey.d.ts.map +1 -0
  91. package/dist/Passkey.js +422 -0
  92. package/dist/Passkey.js.map +1 -0
  93. package/dist/Password.d.ts +138 -8
  94. package/dist/Password.d.ts.map +1 -1
  95. package/dist/Password.js +397 -8
  96. package/dist/Password.js.map +1 -1
  97. package/dist/RecoveryCode.d.ts +169 -0
  98. package/dist/RecoveryCode.d.ts.map +1 -0
  99. package/dist/RecoveryCode.js +299 -0
  100. package/dist/RecoveryCode.js.map +1 -0
  101. package/dist/RefreshToken.d.ts +222 -0
  102. package/dist/RefreshToken.d.ts.map +1 -0
  103. package/dist/RefreshToken.js +342 -0
  104. package/dist/RefreshToken.js.map +1 -0
  105. package/dist/Sessions.d.ts +52 -2
  106. package/dist/Sessions.d.ts.map +1 -1
  107. package/dist/Sessions.js +123 -1
  108. package/dist/Sessions.js.map +1 -1
  109. package/dist/StepUp.d.ts +44 -0
  110. package/dist/StepUp.d.ts.map +1 -0
  111. package/dist/StepUp.js +82 -0
  112. package/dist/StepUp.js.map +1 -0
  113. package/dist/Storage.d.ts +14 -1
  114. package/dist/Storage.d.ts.map +1 -1
  115. package/dist/Storage.js.map +1 -1
  116. package/dist/StorageMigrations.d.ts +9 -1
  117. package/dist/StorageMigrations.d.ts.map +1 -1
  118. package/dist/StorageMigrations.js +159 -0
  119. package/dist/StorageMigrations.js.map +1 -1
  120. package/dist/Testing.d.ts +1 -1
  121. package/dist/Totp.d.ts +220 -0
  122. package/dist/Totp.d.ts.map +1 -0
  123. package/dist/Totp.js +477 -0
  124. package/dist/Totp.js.map +1 -0
  125. package/dist/TrustedDevice.d.ts +115 -0
  126. package/dist/TrustedDevice.d.ts.map +1 -0
  127. package/dist/TrustedDevice.js +222 -0
  128. package/dist/TrustedDevice.js.map +1 -0
  129. package/dist/alchemy/cloudflare/Email.d.ts +25 -0
  130. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -0
  131. package/dist/alchemy/cloudflare/Email.js +117 -0
  132. package/dist/alchemy/cloudflare/Email.js.map +1 -0
  133. package/dist/cloudflare/Email.d.ts +25 -0
  134. package/dist/cloudflare/Email.d.ts.map +1 -0
  135. package/dist/cloudflare/Email.js +153 -0
  136. package/dist/cloudflare/Email.js.map +1 -0
  137. package/dist/index.d.ts +12 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +12 -0
  140. package/dist/index.js.map +1 -1
  141. package/migrations/0003_auth_login_approval_review.sql +22 -0
  142. package/migrations/0004_auth_trusted_device.sql +12 -0
  143. package/migrations/0005_auth_passkey.sql +17 -0
  144. package/migrations/0006_auth_totp_factor.sql +17 -0
  145. package/migrations/0007_auth_recovery_code.sql +13 -0
  146. package/migrations/0008_auth_api_key.sql +17 -0
  147. package/migrations/0009_auth_refresh_token.sql +21 -0
  148. package/migrations/0010_auth_jwt_revocation.sql +8 -0
  149. package/package.json +57 -1
@@ -1,10 +1,19 @@
1
- import { Context, Data, Effect, Layer } from "effect";
2
- import { AuthFlowId } from "./Identifiers.js";
3
- import type { Email, OAuthProviderId, UserId } from "./Identifiers.js";
1
+ import { Context, Data, Duration, Effect, Layer, Redacted } from "effect";
2
+ import { Challenge } from "./Challenge.js";
3
+ import type { ChallengeService } from "./Challenge.js";
4
+ import type { CryptoService } from "./Crypto.js";
5
+ import type { OAuthProviderId, UnixMillis } from "./Identifiers.js";
6
+ import { AuthFlowId, ChallengeId, Email, UserId } from "./Identifiers.js";
7
+ import { LoginApprovalReview } from "./LoginApproval.js";
8
+ import type { LoginApprovalChannel, LoginApprovalFlowService, LoginApprovalFlowStartError, LoginApprovalIntent, LoginApprovalPolicyService, LoginApprovalReason, LoginApprovalReviewError, LoginApprovalReviewService, LoginApprovalSessionBinding, LoginDeviceContext } from "./LoginApproval.js";
9
+ import type { LoginNotificationService } from "./LoginNotification.js";
10
+ import type { LoginRequestContext, LoginRiskContext, LoginRiskEngineService, LoginRiskError } from "./LoginRisk.js";
4
11
  import { Sessions } from "./Sessions.js";
5
12
  import type { AuthAssuranceLevel, AuthMethodReference, IssuedSession, SessionCreateError, SessionClaims, SessionsService } from "./Sessions.js";
13
+ import type { TrustedDeviceError, TrustedDeviceService } from "./TrustedDevice.js";
6
14
  export type AuthMethod = "password" | "email-otp" | "magic-link" | "passkey" | "oauth" | "totp" | "backup-code" | (string & {});
7
- export type EmailVerificationSessionMode = "allow-unverified" | "limited-session" | "require-before-session";
15
+ export type EmailVerificationSessionMode = "allow-unverified" | "limited-session";
16
+ export declare const defaultLoginApprovalSameDeviceSecretBytes = 32;
8
17
  export interface EmailVerificationSessionPolicyOptions {
9
18
  readonly mode?: EmailVerificationSessionMode;
10
19
  }
@@ -14,8 +23,6 @@ export interface EmailVerificationSessionPolicyInput {
14
23
  export type EmailVerificationSessionPolicyDecision = {
15
24
  readonly _tag: "CreateSession";
16
25
  readonly claims?: SessionClaims;
17
- } | {
18
- readonly _tag: "RequiresEmailVerification";
19
26
  };
20
27
  export interface EmailVerificationSessionPolicyService {
21
28
  readonly decide: (input: EmailVerificationSessionPolicyInput) => Effect.Effect<EmailVerificationSessionPolicyDecision>;
@@ -34,23 +41,39 @@ export interface MfaFactor {
34
41
  export interface PrimaryFactorResult<Method extends AuthMethod = AuthMethod> {
35
42
  readonly userId: UserId;
36
43
  readonly email?: Email;
44
+ readonly intent?: LoginApprovalIntent;
37
45
  readonly method: Method;
38
46
  readonly amr: readonly AuthMethodReference[];
39
47
  readonly aal: AuthAssuranceLevel;
40
48
  readonly claims?: SessionClaims;
49
+ readonly device?: LoginDeviceContext;
50
+ readonly trustedDeviceToken?: Redacted.Redacted<string>;
51
+ readonly request?: LoginRequestContext;
52
+ readonly metadata?: Readonly<Record<string, unknown>>;
41
53
  }
42
54
  export interface MfaCompleteInput {
43
55
  readonly flowId: AuthFlowId;
56
+ readonly userId?: UserId;
44
57
  readonly method: AuthMethod;
45
- readonly amr: readonly AuthMethodReference[];
46
- readonly aal: AuthAssuranceLevel;
58
+ readonly amr?: readonly AuthMethodReference[];
59
+ readonly aal?: AuthAssuranceLevel;
60
+ readonly secret?: Redacted.Redacted<string>;
61
+ readonly now?: UnixMillis;
62
+ readonly metadata?: Readonly<Record<string, unknown>>;
47
63
  }
48
64
  export interface AuthFlowCompleteInput<Method extends AuthMethod = AuthMethod> {
49
65
  readonly userId: UserId;
66
+ readonly email?: Email;
67
+ readonly intent?: LoginApprovalIntent;
50
68
  readonly method: Method;
51
69
  readonly amr: readonly AuthMethodReference[];
52
70
  readonly aal: AuthAssuranceLevel;
53
71
  readonly claims?: SessionClaims;
72
+ readonly device?: LoginDeviceContext;
73
+ readonly request?: LoginRequestContext;
74
+ readonly risk?: LoginRiskContext;
75
+ readonly mfaVerifiedAt?: UnixMillis;
76
+ readonly metadata?: Readonly<Record<string, unknown>>;
54
77
  }
55
78
  export type AuthResult = Data.TaggedEnum<{
56
79
  Authenticated: {
@@ -65,6 +88,16 @@ export type AuthResult = Data.TaggedEnum<{
65
88
  readonly userId?: UserId;
66
89
  readonly email?: Email;
67
90
  };
91
+ RequiresLoginApproval: {
92
+ readonly flowId: AuthFlowId;
93
+ readonly approvalChallengeId: ChallengeId;
94
+ readonly channel: LoginApprovalChannel;
95
+ readonly sessionBinding: LoginApprovalSessionBinding;
96
+ readonly sameDeviceRequired: boolean;
97
+ readonly reason: LoginApprovalReason;
98
+ readonly expiresAt: UnixMillis;
99
+ readonly sameDeviceSecret?: Redacted.Redacted<string>;
100
+ };
68
101
  RequiresPasskeyEnrollment: {
69
102
  readonly flowId: AuthFlowId;
70
103
  };
@@ -79,12 +112,6 @@ export type AuthResult = Data.TaggedEnum<{
79
112
  };
80
113
  }>;
81
114
  export declare const AuthResult: {
82
- readonly RequiresEmailVerification: Data.TaggedEnum.ConstructorFrom<{
83
- readonly _tag: "RequiresEmailVerification";
84
- readonly flowId: AuthFlowId;
85
- readonly userId?: UserId | undefined;
86
- readonly email?: Email | undefined;
87
- }, "_tag">;
88
115
  readonly Authenticated: Data.TaggedEnum.ConstructorFrom<{
89
116
  readonly _tag: "Authenticated";
90
117
  readonly session: IssuedSession;
@@ -94,6 +121,23 @@ export declare const AuthResult: {
94
121
  readonly flowId: AuthFlowId;
95
122
  readonly factors: readonly MfaFactor[];
96
123
  }, "_tag">;
124
+ readonly RequiresEmailVerification: Data.TaggedEnum.ConstructorFrom<{
125
+ readonly _tag: "RequiresEmailVerification";
126
+ readonly flowId: AuthFlowId;
127
+ readonly userId?: UserId | undefined;
128
+ readonly email?: Email | undefined;
129
+ }, "_tag">;
130
+ readonly RequiresLoginApproval: Data.TaggedEnum.ConstructorFrom<{
131
+ readonly _tag: "RequiresLoginApproval";
132
+ readonly flowId: AuthFlowId;
133
+ readonly approvalChallengeId: ChallengeId;
134
+ readonly channel: LoginApprovalChannel;
135
+ readonly sessionBinding: LoginApprovalSessionBinding;
136
+ readonly sameDeviceRequired: boolean;
137
+ readonly reason: LoginApprovalReason;
138
+ readonly expiresAt: UnixMillis;
139
+ readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
140
+ }, "_tag">;
97
141
  readonly RequiresPasskeyEnrollment: Data.TaggedEnum.ConstructorFrom<{
98
142
  readonly _tag: "RequiresPasskeyEnrollment";
99
143
  readonly flowId: AuthFlowId;
@@ -113,14 +157,7 @@ export declare const AuthResult: {
113
157
  readonly _tag: "PolicyDenied";
114
158
  readonly reason?: string | undefined;
115
159
  }, "_tag">;
116
- readonly $is: <Tag extends "RequiresEmailVerification" | "Authenticated" | "RequiresMfa" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied">(tag: Tag) => (u: unknown) => u is Extract<{
117
- readonly _tag: "RequiresEmailVerification";
118
- readonly flowId: AuthFlowId;
119
- readonly userId?: UserId | undefined;
120
- readonly email?: Email | undefined;
121
- }, {
122
- readonly _tag: Tag;
123
- }> | Extract<{
160
+ readonly $is: <Tag extends "Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied">(tag: Tag) => (u: unknown) => u is Extract<{
124
161
  readonly _tag: "Authenticated";
125
162
  readonly session: IssuedSession;
126
163
  }, {
@@ -131,6 +168,25 @@ export declare const AuthResult: {
131
168
  readonly factors: readonly MfaFactor[];
132
169
  }, {
133
170
  readonly _tag: Tag;
171
+ }> | Extract<{
172
+ readonly _tag: "RequiresEmailVerification";
173
+ readonly flowId: AuthFlowId;
174
+ readonly userId?: UserId | undefined;
175
+ readonly email?: Email | undefined;
176
+ }, {
177
+ readonly _tag: Tag;
178
+ }> | Extract<{
179
+ readonly _tag: "RequiresLoginApproval";
180
+ readonly flowId: AuthFlowId;
181
+ readonly approvalChallengeId: ChallengeId;
182
+ readonly channel: LoginApprovalChannel;
183
+ readonly sessionBinding: LoginApprovalSessionBinding;
184
+ readonly sameDeviceRequired: boolean;
185
+ readonly reason: LoginApprovalReason;
186
+ readonly expiresAt: UnixMillis;
187
+ readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
188
+ }, {
189
+ readonly _tag: Tag;
134
190
  }> | Extract<{
135
191
  readonly _tag: "RequiresPasskeyEnrollment";
136
192
  readonly flowId: AuthFlowId;
@@ -158,12 +214,6 @@ export declare const AuthResult: {
158
214
  }>;
159
215
  readonly $match: {
160
216
  <Cases extends {
161
- readonly RequiresEmailVerification: (args: {
162
- readonly _tag: "RequiresEmailVerification";
163
- readonly flowId: AuthFlowId;
164
- readonly userId?: UserId | undefined;
165
- readonly email?: Email | undefined;
166
- }) => any;
167
217
  readonly Authenticated: (args: {
168
218
  readonly _tag: "Authenticated";
169
219
  readonly session: IssuedSession;
@@ -173,6 +223,23 @@ export declare const AuthResult: {
173
223
  readonly flowId: AuthFlowId;
174
224
  readonly factors: readonly MfaFactor[];
175
225
  }) => any;
226
+ readonly RequiresEmailVerification: (args: {
227
+ readonly _tag: "RequiresEmailVerification";
228
+ readonly flowId: AuthFlowId;
229
+ readonly userId?: UserId | undefined;
230
+ readonly email?: Email | undefined;
231
+ }) => any;
232
+ readonly RequiresLoginApproval: (args: {
233
+ readonly _tag: "RequiresLoginApproval";
234
+ readonly flowId: AuthFlowId;
235
+ readonly approvalChallengeId: ChallengeId;
236
+ readonly channel: LoginApprovalChannel;
237
+ readonly sessionBinding: LoginApprovalSessionBinding;
238
+ readonly sameDeviceRequired: boolean;
239
+ readonly reason: LoginApprovalReason;
240
+ readonly expiresAt: UnixMillis;
241
+ readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
242
+ }) => any;
176
243
  readonly RequiresPasskeyEnrollment: (args: {
177
244
  readonly _tag: "RequiresPasskeyEnrollment";
178
245
  readonly flowId: AuthFlowId;
@@ -193,17 +260,27 @@ export declare const AuthResult: {
193
260
  readonly reason?: string | undefined;
194
261
  }) => any;
195
262
  }>(cases: Cases): (value: {
196
- readonly _tag: "RequiresEmailVerification";
197
- readonly flowId: AuthFlowId;
198
- readonly userId?: UserId | undefined;
199
- readonly email?: Email | undefined;
200
- } | {
201
263
  readonly _tag: "Authenticated";
202
264
  readonly session: IssuedSession;
203
265
  } | {
204
266
  readonly _tag: "RequiresMfa";
205
267
  readonly flowId: AuthFlowId;
206
268
  readonly factors: readonly MfaFactor[];
269
+ } | {
270
+ readonly _tag: "RequiresEmailVerification";
271
+ readonly flowId: AuthFlowId;
272
+ readonly userId?: UserId | undefined;
273
+ readonly email?: Email | undefined;
274
+ } | {
275
+ readonly _tag: "RequiresLoginApproval";
276
+ readonly flowId: AuthFlowId;
277
+ readonly approvalChallengeId: ChallengeId;
278
+ readonly channel: LoginApprovalChannel;
279
+ readonly sessionBinding: LoginApprovalSessionBinding;
280
+ readonly sameDeviceRequired: boolean;
281
+ readonly reason: LoginApprovalReason;
282
+ readonly expiresAt: UnixMillis;
283
+ readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
207
284
  } | {
208
285
  readonly _tag: "RequiresPasskeyEnrollment";
209
286
  readonly flowId: AuthFlowId;
@@ -218,14 +295,8 @@ export declare const AuthResult: {
218
295
  } | {
219
296
  readonly _tag: "PolicyDenied";
220
297
  readonly reason?: string | undefined;
221
- }) => import("effect/Unify").Unify<ReturnType<Cases["RequiresEmailVerification" | "Authenticated" | "RequiresMfa" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
298
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
222
299
  <Cases extends {
223
- readonly RequiresEmailVerification: (args: {
224
- readonly _tag: "RequiresEmailVerification";
225
- readonly flowId: AuthFlowId;
226
- readonly userId?: UserId | undefined;
227
- readonly email?: Email | undefined;
228
- }) => any;
229
300
  readonly Authenticated: (args: {
230
301
  readonly _tag: "Authenticated";
231
302
  readonly session: IssuedSession;
@@ -235,6 +306,23 @@ export declare const AuthResult: {
235
306
  readonly flowId: AuthFlowId;
236
307
  readonly factors: readonly MfaFactor[];
237
308
  }) => any;
309
+ readonly RequiresEmailVerification: (args: {
310
+ readonly _tag: "RequiresEmailVerification";
311
+ readonly flowId: AuthFlowId;
312
+ readonly userId?: UserId | undefined;
313
+ readonly email?: Email | undefined;
314
+ }) => any;
315
+ readonly RequiresLoginApproval: (args: {
316
+ readonly _tag: "RequiresLoginApproval";
317
+ readonly flowId: AuthFlowId;
318
+ readonly approvalChallengeId: ChallengeId;
319
+ readonly channel: LoginApprovalChannel;
320
+ readonly sessionBinding: LoginApprovalSessionBinding;
321
+ readonly sameDeviceRequired: boolean;
322
+ readonly reason: LoginApprovalReason;
323
+ readonly expiresAt: UnixMillis;
324
+ readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
325
+ }) => any;
238
326
  readonly RequiresPasskeyEnrollment: (args: {
239
327
  readonly _tag: "RequiresPasskeyEnrollment";
240
328
  readonly flowId: AuthFlowId;
@@ -255,17 +343,27 @@ export declare const AuthResult: {
255
343
  readonly reason?: string | undefined;
256
344
  }) => any;
257
345
  }>(value: {
258
- readonly _tag: "RequiresEmailVerification";
259
- readonly flowId: AuthFlowId;
260
- readonly userId?: UserId | undefined;
261
- readonly email?: Email | undefined;
262
- } | {
263
346
  readonly _tag: "Authenticated";
264
347
  readonly session: IssuedSession;
265
348
  } | {
266
349
  readonly _tag: "RequiresMfa";
267
350
  readonly flowId: AuthFlowId;
268
351
  readonly factors: readonly MfaFactor[];
352
+ } | {
353
+ readonly _tag: "RequiresEmailVerification";
354
+ readonly flowId: AuthFlowId;
355
+ readonly userId?: UserId | undefined;
356
+ readonly email?: Email | undefined;
357
+ } | {
358
+ readonly _tag: "RequiresLoginApproval";
359
+ readonly flowId: AuthFlowId;
360
+ readonly approvalChallengeId: ChallengeId;
361
+ readonly channel: LoginApprovalChannel;
362
+ readonly sessionBinding: LoginApprovalSessionBinding;
363
+ readonly sameDeviceRequired: boolean;
364
+ readonly reason: LoginApprovalReason;
365
+ readonly expiresAt: UnixMillis;
366
+ readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
269
367
  } | {
270
368
  readonly _tag: "RequiresPasskeyEnrollment";
271
369
  readonly flowId: AuthFlowId;
@@ -280,14 +378,14 @@ export declare const AuthResult: {
280
378
  } | {
281
379
  readonly _tag: "PolicyDenied";
282
380
  readonly reason?: string | undefined;
283
- }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["RequiresEmailVerification" | "Authenticated" | "RequiresMfa" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
381
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
284
382
  };
285
383
  };
286
384
  export type AuthResultOf<Tag extends AuthResult["_tag"]> = Extract<AuthResult, {
287
385
  readonly _tag: Tag;
288
386
  }>;
289
387
  export type AuthenticatedResult = AuthResultOf<"Authenticated">;
290
- type CommonPrimaryFactorResult = AuthResultOf<"Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresPasskeyEnrollment" | "PolicyDenied">;
388
+ type CommonPrimaryFactorResult = AuthResultOf<"Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "PolicyDenied">;
291
389
  export type AuthFlowPrimaryFactorResult<Method extends AuthMethod = AuthMethod> = CommonPrimaryFactorResult | (Method extends "oauth" ? AuthResultOf<"RequiresExplicitLinking"> : never);
292
390
  export type AuthFlowMfaResult = AuthResultOf<"Authenticated" | "PolicyDenied">;
293
391
  declare const AuthFlowStateError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
@@ -298,12 +396,51 @@ export declare class AuthFlowStateError extends AuthFlowStateError_base<{
298
396
  readonly cause?: unknown;
299
397
  }> {
300
398
  }
399
+ export interface AuthFlowStateStartInput<Method extends AuthMethod = AuthMethod> extends AuthFlowCompleteInput<Method> {
400
+ readonly ttl?: Duration.Duration;
401
+ readonly secret?: Redacted.Redacted<string>;
402
+ readonly metadata?: Readonly<Record<string, unknown>>;
403
+ }
404
+ export interface StartedAuthFlowState {
405
+ readonly flowId: AuthFlowId;
406
+ readonly userId: UserId;
407
+ readonly expiresAt: UnixMillis;
408
+ }
409
+ export interface ConsumedAuthFlowState<Method extends AuthMethod = AuthMethod> extends AuthFlowCompleteInput<Method> {
410
+ readonly flowId: AuthFlowId;
411
+ readonly metadata?: Readonly<Record<string, unknown>>;
412
+ }
413
+ export interface InspectedAuthFlowState<Method extends AuthMethod = AuthMethod> extends ConsumedAuthFlowState<Method> {
414
+ readonly expiresAt: UnixMillis;
415
+ }
416
+ export interface AuthFlowStateService {
417
+ readonly start: <Method extends AuthMethod>(input: AuthFlowStateStartInput<Method>) => Effect.Effect<StartedAuthFlowState, AuthFlowStateError>;
418
+ readonly inspect: (flowId: AuthFlowId, secret?: Redacted.Redacted<string>) => Effect.Effect<InspectedAuthFlowState, AuthFlowStateError>;
419
+ readonly consume: (flowId: AuthFlowId, secret?: Redacted.Redacted<string>) => Effect.Effect<ConsumedAuthFlowState, AuthFlowStateError>;
420
+ }
421
+ declare const AuthFlowState_base: Context.ServiceClass<AuthFlowState, "auth/AuthFlowState", AuthFlowStateService>;
422
+ export declare class AuthFlowState extends AuthFlowState_base {
423
+ }
424
+ export declare namespace AuthFlowState {
425
+ const make: (service: AuthFlowStateService) => AuthFlowStateService;
426
+ }
427
+ export interface AuthFlowStateOptions {
428
+ readonly ttl?: Duration.Duration;
429
+ }
430
+ export interface AuthFlowStateDependencies extends AuthFlowStateOptions {
431
+ readonly challenge: ChallengeService;
432
+ }
433
+ export declare const defaultAuthFlowStateTtl: Duration.Duration;
434
+ export declare const makeAuthFlowState: (dependencies: AuthFlowStateDependencies) => AuthFlowStateService;
435
+ export declare const AuthFlowStateLive: (options?: AuthFlowStateOptions) => Layer.Layer<AuthFlowState, never, Challenge>;
301
436
  export type AuthFlowCompleteError = SessionCreateError;
302
- export type AuthFlowError = AuthFlowStateError | AuthFlowCompleteError;
437
+ export type AuthFlowMfaError = AuthFlowStateError | AuthFlowCompleteError;
438
+ export type AuthFlowPrimaryFactorError = AuthFlowCompleteError | TrustedDeviceError | LoginRiskError | AuthFlowStateError | LoginApprovalReviewError | LoginApprovalFlowStartError;
439
+ export type AuthFlowError = AuthFlowPrimaryFactorError;
303
440
  export interface AuthFlowService {
304
- readonly startPrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowCompleteError>;
305
- readonly completePrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowCompleteError>;
306
- readonly completeMfa: (input: MfaCompleteInput) => Effect.Effect<AuthFlowMfaResult, AuthFlowStateError>;
441
+ readonly startPrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowPrimaryFactorError>;
442
+ readonly completePrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowPrimaryFactorError>;
443
+ readonly completeMfa: (input: MfaCompleteInput) => Effect.Effect<AuthFlowMfaResult, AuthFlowMfaError>;
307
444
  readonly complete: <Method extends AuthMethod>(input: AuthFlowCompleteInput<Method>) => Effect.Effect<AuthenticatedResult, AuthFlowCompleteError>;
308
445
  }
309
446
  declare const AuthFlow_base: Context.ServiceClass<AuthFlow, "auth/AuthFlow", AuthFlowService>;
@@ -312,9 +449,41 @@ export declare class AuthFlow extends AuthFlow_base {
312
449
  export declare namespace AuthFlow {
313
450
  const make: (service: AuthFlowService) => AuthFlowService;
314
451
  }
452
+ export interface LoginApprovalFinalizeInput {
453
+ readonly flowId: AuthFlowId;
454
+ readonly approvalChallengeId: ChallengeId;
455
+ readonly sameDeviceSecret?: Redacted.Redacted<string>;
456
+ }
457
+ export type LoginApprovalFinalizeResult = AuthenticatedResult | AuthResultOf<"PolicyDenied">;
458
+ export type LoginApprovalFinalizeError = LoginApprovalReviewError | AuthFlowStateError | AuthFlowCompleteError;
459
+ export interface LoginApprovalFinalizeService {
460
+ readonly complete: (input: LoginApprovalFinalizeInput) => Effect.Effect<LoginApprovalFinalizeResult, LoginApprovalFinalizeError>;
461
+ }
462
+ declare const LoginApprovalFinalize_base: Context.ServiceClass<LoginApprovalFinalize, "auth/LoginApprovalFinalize", LoginApprovalFinalizeService>;
463
+ export declare class LoginApprovalFinalize extends LoginApprovalFinalize_base {
464
+ }
465
+ export declare namespace LoginApprovalFinalize {
466
+ const make: (service: LoginApprovalFinalizeService) => LoginApprovalFinalizeService;
467
+ }
468
+ export interface LoginApprovalFinalizeDependencies {
469
+ readonly loginApprovalReview: LoginApprovalReviewService;
470
+ readonly authFlowState: AuthFlowStateService;
471
+ readonly authFlow: AuthFlowService;
472
+ }
473
+ export declare const makeLoginApprovalFinalize: (dependencies: LoginApprovalFinalizeDependencies) => LoginApprovalFinalizeService;
474
+ export declare const LoginApprovalFinalizeLive: Layer.Layer<LoginApprovalFinalize, never, LoginApprovalReview | AuthFlowState | AuthFlow>;
315
475
  export interface AuthFlowDependencies {
316
476
  readonly sessions: SessionsService;
317
477
  readonly emailVerificationSessionPolicy?: EmailVerificationSessionPolicyService;
478
+ readonly loginApprovalPolicy?: LoginApprovalPolicyService;
479
+ readonly loginApprovalFlow?: LoginApprovalFlowService;
480
+ readonly authFlowState?: AuthFlowStateService;
481
+ readonly crypto?: CryptoService;
482
+ readonly trustedDevice?: TrustedDeviceService;
483
+ readonly loginRiskEngine?: LoginRiskEngineService;
484
+ readonly loginApprovalReview?: LoginApprovalReviewService;
485
+ readonly loginNotification?: LoginNotificationService;
486
+ readonly loginApprovalSameDeviceSecretBytes?: number;
318
487
  }
319
488
  export declare const makeAuthFlow: (dependencies: AuthFlowDependencies) => AuthFlowService;
320
489
  export declare const AuthFlowLive: Layer.Layer<AuthFlow, never, Sessions>;
@@ -1 +1 @@
1
- {"version":3,"file":"AuthFlow.d.ts","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,aAAa,EAEb,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,WAAW,GACX,YAAY,GACZ,SAAS,GACT,OAAO,GACP,MAAM,GACN,aAAa,GACb,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,4BAA4B,GACpC,kBAAkB,GAClB,iBAAiB,GACjB,wBAAwB,CAAC;AAE7B,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAC;CAC9C;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,MAAM,sCAAsC,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,mCAAmC,KACvC,MAAM,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;CAC5D;;AAED,qBAAa,8BAA+B,SAAQ,mCAGV;CAAG;AAE7C,yBAAiB,8BAA8B,CAAC;IACvC,MAAM,IAAI,GACf,SAAS,qCAAqC,KAC7C,qCACyC,CAAC;CAC9C;AAqCD,eAAO,MAAM,kCAAkC,GAC7C,UAAS,qCAA0C,KAClD,qCAsCF,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,UAAU,qCAAqC,8DAI9C,CAAC;AAEJ,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACvC,aAAa,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC;IACnD,WAAW,EAAE;QACX,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;QAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;KACxC,CAAC;IACF,yBAAyB,EAAE;QACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;QAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACxB,CAAC;IACF,yBAAyB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC;IAC3D,uBAAuB,EAAE;QACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;QAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;KACpC,CAAC;IACF,kBAAkB,EAAE,EAAE,CAAC;IACvB,eAAe,EAAE,EAAE,CAAC;IACpB,YAAY,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC,CAAC;AAEH,eAAO,MAAM,UAAU;;;yBAdF,UAAU;0BACT,MAAM;yBACP,KAAK;;;;0BARW,aAAa;;;;yBAE7B,UAAU;0BACT,SAAS,SAAS,EAAE;;;;yBAOM,UAAU;;;;yBAErC,UAAU;2BACR,eAAe;;;;;;;;;;0BAIF,MAAM;;;;yBAXrB,UAAU;0BACT,MAAM;yBACP,KAAK;;;;;0BARW,aAAa;;;;;yBAE7B,UAAU;0BACT,SAAS,SAAS,EAAE;;;;;yBAOM,UAAU;;;;;yBAErC,UAAU;2BACR,eAAe;;;;;;;;;;;;;0BAIF,MAAM;;;;;;;;iCAXrB,UAAU;kCACT,MAAM;iCACP,KAAK;;;;kCARW,aAAa;;;;iCAE7B,UAAU;kCACT,SAAS,SAAS,EAAE;;;;iCAOM,UAAU;;;;iCAErC,UAAU;mCACR,eAAe;;;;;;;;;;kCAIF,MAAM;;;;6BAXrB,UAAU;8BACT,MAAM;6BACP,KAAK;;;8BARW,aAAa;;;6BAE7B,UAAU;8BACT,SAAS,SAAS,EAAE;;;6BAOM,UAAU;;;6BAErC,UAAU;+BACR,eAAe;;;;;;;8BAIF,MAAM;;;;;iCAXrB,UAAU;kCACT,MAAM;iCACP,KAAK;;;;kCARW,aAAa;;;;iCAE7B,UAAU;kCACT,SAAS,SAAS,EAAE;;;;iCAOM,UAAU;;;;iCAErC,UAAU;mCACR,eAAe;;;;;;;;;;kCAIF,MAAM;;;;6BAXrB,UAAU;8BACT,MAAM;6BACP,KAAK;;;8BARW,aAAa;;;6BAE7B,UAAU;8BACT,SAAS,SAAS,EAAE;;;6BAOM,UAAU;;;6BAErC,UAAU;+BACR,eAAe;;;;;;;8BAIF,MAAM;;;CAGa,CAAC;AAExD,MAAM,MAAM,YAAY,CAAC,GAAG,SAAS,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAChE,UAAU,EACV;IAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAEhE,KAAK,yBAAyB,GAAG,YAAY,CACzC,eAAe,GACf,aAAa,GACb,2BAA2B,GAC3B,2BAA2B,GAC3B,cAAc,CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,UAAU,GAAG,UAAU,IAEpC,yBAAyB,GACzB,CAAC,MAAM,SAAS,OAAO,GAAG,YAAY,CAAC,yBAAyB,CAAC,GAAG,KAAK,CAAC,CAAC;AAE/E,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC;;;;AAE/E,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,SAAS,UAAU,EACrD,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAC/B,MAAM,CAAC,MAAM,CAChB,2BAA2B,CAAC,MAAM,CAAC,EACnC,qBAAqB,CACtB,CAAC;IACF,QAAQ,CAAC,qBAAqB,EAAE,CAAC,MAAM,SAAS,UAAU,EACxD,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAC/B,MAAM,CAAC,MAAM,CAChB,2BAA2B,CAAC,MAAM,CAAC,EACnC,qBAAqB,CACtB,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,CACpB,KAAK,EAAE,gBAAgB,KACpB,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,SAAS,UAAU,EAC3C,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;CAChE;;AAED,qBAAa,QAAS,SAAQ,aAE7B;CAAG;AAEJ,yBAAiB,QAAQ,CAAC;IACjB,MAAM,IAAI,GAAI,SAAS,eAAe,KAAG,eAC1B,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,qCAAqC,CAAC;CACjF;AAED,eAAO,MAAM,YAAY,GACvB,cAAc,oBAAoB,KACjC,eAmEF,CAAC;AAEF,eAAO,MAAM,YAAY,wCAaxB,CAAC;AAEF,eAAO,MAAM,uCAAuC,GAClD,UAAU,qCAAqC,2CAY9C,CAAC"}
1
+ {"version":3,"file":"AuthFlow.d.ts","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"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"}