@effect-auth/core 0.1.0-alpha.1 → 0.1.0-alpha.13

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 (255) hide show
  1. package/README.md +790 -73
  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 +335 -1
  7. package/dist/AuditLog.d.ts.map +1 -1
  8. package/dist/AuditLog.js +318 -1
  9. package/dist/AuditLog.js.map +1 -1
  10. package/dist/AuthConfig.d.ts +42 -0
  11. package/dist/AuthConfig.d.ts.map +1 -0
  12. package/dist/AuthConfig.js +43 -0
  13. package/dist/AuthConfig.js.map +1 -0
  14. package/dist/AuthFlow.d.ts +462 -36
  15. package/dist/AuthFlow.d.ts.map +1 -1
  16. package/dist/AuthFlow.js +657 -5
  17. package/dist/AuthFlow.js.map +1 -1
  18. package/dist/AuthKernel.d.ts +3 -0
  19. package/dist/AuthKernel.d.ts.map +1 -0
  20. package/dist/AuthKernel.js +9 -0
  21. package/dist/AuthKernel.js.map +1 -0
  22. package/dist/Challenge.d.ts +24 -4
  23. package/dist/Challenge.d.ts.map +1 -1
  24. package/dist/Challenge.js +167 -1
  25. package/dist/Challenge.js.map +1 -1
  26. package/dist/Client.d.ts +449 -0
  27. package/dist/Client.d.ts.map +1 -0
  28. package/dist/Client.js +985 -0
  29. package/dist/Client.js.map +1 -0
  30. package/dist/Crypto.d.ts +6 -1
  31. package/dist/Crypto.d.ts.map +1 -1
  32. package/dist/Crypto.js +62 -1
  33. package/dist/Crypto.js.map +1 -1
  34. package/dist/DomainVerification.d.ts +200 -0
  35. package/dist/DomainVerification.d.ts.map +1 -0
  36. package/dist/DomainVerification.js +304 -0
  37. package/dist/DomainVerification.js.map +1 -0
  38. package/dist/EffectQbSqliteStorage.d.ts +985 -0
  39. package/dist/EffectQbSqliteStorage.d.ts.map +1 -0
  40. package/dist/EffectQbSqliteStorage.js +2824 -0
  41. package/dist/EffectQbSqliteStorage.js.map +1 -0
  42. package/dist/EmailOtp.d.ts +120 -0
  43. package/dist/EmailOtp.d.ts.map +1 -0
  44. package/dist/EmailOtp.js +286 -0
  45. package/dist/EmailOtp.js.map +1 -0
  46. package/dist/EmailVerification.d.ts +121 -0
  47. package/dist/EmailVerification.d.ts.map +1 -0
  48. package/dist/EmailVerification.js +200 -0
  49. package/dist/EmailVerification.js.map +1 -0
  50. package/dist/HttpApi/Api.d.ts +2410 -0
  51. package/dist/HttpApi/Api.d.ts.map +1 -0
  52. package/dist/HttpApi/Api.js +3026 -0
  53. package/dist/HttpApi/Api.js.map +1 -0
  54. package/dist/HttpApi/Endpoints.d.ts +1073 -0
  55. package/dist/HttpApi/Endpoints.d.ts.map +1 -0
  56. package/dist/HttpApi/Endpoints.js +428 -0
  57. package/dist/HttpApi/Endpoints.js.map +1 -0
  58. package/dist/HttpApi/Errors.d.ts +114 -0
  59. package/dist/HttpApi/Errors.d.ts.map +1 -0
  60. package/dist/HttpApi/Errors.js +230 -0
  61. package/dist/HttpApi/Errors.js.map +1 -0
  62. package/dist/HttpApi/Schemas.d.ts +1254 -0
  63. package/dist/HttpApi/Schemas.d.ts.map +1 -0
  64. package/dist/HttpApi/Schemas.js +862 -0
  65. package/dist/HttpApi/Schemas.js.map +1 -0
  66. package/dist/HttpApi/Security.d.ts +159 -0
  67. package/dist/HttpApi/Security.d.ts.map +1 -0
  68. package/dist/HttpApi/Security.js +530 -0
  69. package/dist/HttpApi/Security.js.map +1 -0
  70. package/dist/HttpApi/Transport.d.ts +65 -0
  71. package/dist/HttpApi/Transport.d.ts.map +1 -0
  72. package/dist/HttpApi/Transport.js +311 -0
  73. package/dist/HttpApi/Transport.js.map +1 -0
  74. package/dist/HttpApi/index.d.ts +8 -0
  75. package/dist/HttpApi/index.d.ts.map +1 -0
  76. package/dist/HttpApi/index.js +7 -0
  77. package/dist/HttpApi/index.js.map +1 -0
  78. package/dist/HttpApi.d.ts +2 -0
  79. package/dist/HttpApi.d.ts.map +1 -0
  80. package/dist/HttpApi.js +2 -0
  81. package/dist/HttpApi.js.map +1 -0
  82. package/dist/Identifiers.d.ts +3 -0
  83. package/dist/Identifiers.d.ts.map +1 -1
  84. package/dist/Identifiers.js +2 -0
  85. package/dist/Identifiers.js.map +1 -1
  86. package/dist/IncidentAction.d.ts +80 -0
  87. package/dist/IncidentAction.d.ts.map +1 -0
  88. package/dist/IncidentAction.js +158 -0
  89. package/dist/IncidentAction.js.map +1 -0
  90. package/dist/Internal.d.ts +7 -0
  91. package/dist/Internal.d.ts.map +1 -0
  92. package/dist/Internal.js +12 -0
  93. package/dist/Internal.js.map +1 -0
  94. package/dist/Jwt.d.ts +281 -0
  95. package/dist/Jwt.d.ts.map +1 -0
  96. package/dist/Jwt.js +721 -0
  97. package/dist/Jwt.js.map +1 -0
  98. package/dist/LoginApproval.d.ts +314 -0
  99. package/dist/LoginApproval.d.ts.map +1 -0
  100. package/dist/LoginApproval.js +551 -0
  101. package/dist/LoginApproval.js.map +1 -0
  102. package/dist/LoginNotification.d.ts +183 -0
  103. package/dist/LoginNotification.d.ts.map +1 -0
  104. package/dist/LoginNotification.js +329 -0
  105. package/dist/LoginNotification.js.map +1 -0
  106. package/dist/LoginRisk.d.ts +344 -0
  107. package/dist/LoginRisk.d.ts.map +1 -0
  108. package/dist/LoginRisk.js +484 -0
  109. package/dist/LoginRisk.js.map +1 -0
  110. package/dist/MachineAuth.d.ts +73 -0
  111. package/dist/MachineAuth.d.ts.map +1 -0
  112. package/dist/MachineAuth.js +147 -0
  113. package/dist/MachineAuth.js.map +1 -0
  114. package/dist/MagicLink.d.ts +85 -0
  115. package/dist/MagicLink.d.ts.map +1 -0
  116. package/dist/MagicLink.js +206 -0
  117. package/dist/MagicLink.js.map +1 -0
  118. package/dist/Mailer.d.ts +147 -0
  119. package/dist/Mailer.d.ts.map +1 -0
  120. package/dist/Mailer.js +208 -0
  121. package/dist/Mailer.js.map +1 -0
  122. package/dist/OAuth.d.ts +1890 -0
  123. package/dist/OAuth.d.ts.map +1 -0
  124. package/dist/OAuth.js +3063 -0
  125. package/dist/OAuth.js.map +1 -0
  126. package/dist/Passkey.d.ts +334 -0
  127. package/dist/Passkey.d.ts.map +1 -0
  128. package/dist/Passkey.js +422 -0
  129. package/dist/Passkey.js.map +1 -0
  130. package/dist/PasskeySimpleWebAuthn.d.ts +11 -0
  131. package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -0
  132. package/dist/PasskeySimpleWebAuthn.js +181 -0
  133. package/dist/PasskeySimpleWebAuthn.js.map +1 -0
  134. package/dist/Password.d.ts +237 -0
  135. package/dist/Password.d.ts.map +1 -0
  136. package/dist/Password.js +641 -0
  137. package/dist/Password.js.map +1 -0
  138. package/dist/Policy.d.ts +7 -4
  139. package/dist/Policy.d.ts.map +1 -1
  140. package/dist/Policy.js +28 -5
  141. package/dist/Policy.js.map +1 -1
  142. package/dist/Privacy.d.ts +15 -0
  143. package/dist/Privacy.d.ts.map +1 -1
  144. package/dist/Privacy.js +58 -1
  145. package/dist/Privacy.js.map +1 -1
  146. package/dist/RateLimiter.d.ts +104 -0
  147. package/dist/RateLimiter.d.ts.map +1 -0
  148. package/dist/RateLimiter.js +118 -0
  149. package/dist/RateLimiter.js.map +1 -0
  150. package/dist/RecoveryCode.d.ts +169 -0
  151. package/dist/RecoveryCode.d.ts.map +1 -0
  152. package/dist/RecoveryCode.js +299 -0
  153. package/dist/RecoveryCode.js.map +1 -0
  154. package/dist/RefreshToken.d.ts +222 -0
  155. package/dist/RefreshToken.d.ts.map +1 -0
  156. package/dist/RefreshToken.js +342 -0
  157. package/dist/RefreshToken.js.map +1 -0
  158. package/dist/Retention.d.ts +98 -0
  159. package/dist/Retention.d.ts.map +1 -0
  160. package/dist/Retention.js +204 -0
  161. package/dist/Retention.js.map +1 -0
  162. package/dist/SecurityTimeline.d.ts +78 -0
  163. package/dist/SecurityTimeline.d.ts.map +1 -0
  164. package/dist/SecurityTimeline.js +461 -0
  165. package/dist/SecurityTimeline.js.map +1 -0
  166. package/dist/Sessions.d.ts +123 -11
  167. package/dist/Sessions.d.ts.map +1 -1
  168. package/dist/Sessions.js +534 -1
  169. package/dist/Sessions.js.map +1 -1
  170. package/dist/StepUp.d.ts +44 -0
  171. package/dist/StepUp.d.ts.map +1 -0
  172. package/dist/StepUp.js +82 -0
  173. package/dist/StepUp.js.map +1 -0
  174. package/dist/Storage.d.ts +73 -5
  175. package/dist/Storage.d.ts.map +1 -1
  176. package/dist/Storage.js +11 -1
  177. package/dist/Storage.js.map +1 -1
  178. package/dist/StorageMigrations.d.ts +23 -1
  179. package/dist/StorageMigrations.d.ts.map +1 -1
  180. package/dist/StorageMigrations.js +462 -2
  181. package/dist/StorageMigrations.js.map +1 -1
  182. package/dist/Testing.d.ts +9 -1
  183. package/dist/Testing.d.ts.map +1 -1
  184. package/dist/Testing.js +30 -2
  185. package/dist/Testing.js.map +1 -1
  186. package/dist/Totp.d.ts +220 -0
  187. package/dist/Totp.d.ts.map +1 -0
  188. package/dist/Totp.js +477 -0
  189. package/dist/Totp.js.map +1 -0
  190. package/dist/TrustedDevice.d.ts +127 -0
  191. package/dist/TrustedDevice.d.ts.map +1 -0
  192. package/dist/TrustedDevice.js +252 -0
  193. package/dist/TrustedDevice.js.map +1 -0
  194. package/dist/WaitUntil.d.ts.map +1 -1
  195. package/dist/WaitUntil.js +1 -1
  196. package/dist/WaitUntil.js.map +1 -1
  197. package/dist/Webhook.d.ts +380 -0
  198. package/dist/Webhook.d.ts.map +1 -0
  199. package/dist/Webhook.js +592 -0
  200. package/dist/Webhook.js.map +1 -0
  201. package/dist/alchemy/cloudflare/Email.d.ts +25 -0
  202. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -0
  203. package/dist/alchemy/cloudflare/Email.js +117 -0
  204. package/dist/alchemy/cloudflare/Email.js.map +1 -0
  205. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts +34 -0
  206. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
  207. package/dist/alchemy/cloudflare/RateLimitDurableObject.js +30 -0
  208. package/dist/alchemy/cloudflare/RateLimitDurableObject.js.map +1 -0
  209. package/dist/cloudflare/Email.d.ts +25 -0
  210. package/dist/cloudflare/Email.d.ts.map +1 -0
  211. package/dist/cloudflare/Email.js +153 -0
  212. package/dist/cloudflare/Email.js.map +1 -0
  213. package/dist/cloudflare/RateLimitDurableObject.d.ts +50 -0
  214. package/dist/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
  215. package/dist/cloudflare/RateLimitDurableObject.js +51 -0
  216. package/dist/cloudflare/RateLimitDurableObject.js.map +1 -0
  217. package/dist/index.d.ts +25 -0
  218. package/dist/index.d.ts.map +1 -1
  219. package/dist/index.js +25 -0
  220. package/dist/index.js.map +1 -1
  221. package/dist/internal/RateLimitDurableObject.d.ts +32 -0
  222. package/dist/internal/RateLimitDurableObject.d.ts.map +1 -0
  223. package/dist/internal/RateLimitDurableObject.js +80 -0
  224. package/dist/internal/RateLimitDurableObject.js.map +1 -0
  225. package/migrations/0002_auth_password.sql +25 -0
  226. package/migrations/0003_auth_login_approval_review.sql +22 -0
  227. package/migrations/0004_auth_trusted_device.sql +12 -0
  228. package/migrations/0005_auth_passkey.sql +17 -0
  229. package/migrations/0006_auth_totp_factor.sql +17 -0
  230. package/migrations/0007_auth_recovery_code.sql +13 -0
  231. package/migrations/0008_auth_api_key.sql +17 -0
  232. package/migrations/0009_auth_refresh_token.sql +21 -0
  233. package/migrations/0010_auth_jwt_revocation.sql +8 -0
  234. package/migrations/0011_auth_oauth_account.sql +16 -0
  235. package/migrations/0012_auth_oauth_provider_token_vault.sql +20 -0
  236. package/migrations/0013_auth_security_timeline.sql +16 -0
  237. package/migrations/0014_auth_webhook_outbox.sql +16 -0
  238. package/migrations/0015_auth_webhook_replay.sql +7 -0
  239. package/migrations/0016_auth_login_risk_history.sql +23 -0
  240. package/migrations/0017_auth_audit_log.sql +17 -0
  241. package/migrations/0018_auth_domain_verification.sql +18 -0
  242. package/migrations/0019_auth_oauth_authorization_code.sql +17 -0
  243. package/migrations/0020_auth_oauth_provider_mode_token.sql +24 -0
  244. package/migrations/0021_auth_oauth_client_secret.sql +14 -0
  245. package/migrations/0022_auth_oauth_client.sql +15 -0
  246. package/migrations/0023_auth_oauth_consent.sql +15 -0
  247. package/package.json +162 -26
  248. package/dist/D1Kysely.d.ts +0 -40
  249. package/dist/D1Kysely.d.ts.map +0 -1
  250. package/dist/D1Kysely.js +0 -75
  251. package/dist/D1Kysely.js.map +0 -1
  252. package/dist/KyselyStorage.d.ts +0 -41
  253. package/dist/KyselyStorage.d.ts.map +0 -1
  254. package/dist/KyselyStorage.js +0 -176
  255. package/dist/KyselyStorage.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Jwt.js","sourceRoot":"","sources":["../src/Jwt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,314 @@
1
+ import type { Redacted } from "effect";
2
+ import { Context, Duration, Effect, Layer, Option } from "effect";
3
+ import type { AuthMethod } from "./AuthFlow.js";
4
+ import { Challenge } from "./Challenge.js";
5
+ import type { ChallengeService } from "./Challenge.js";
6
+ import type { AuthFlowId, ChallengeId, Email, UnixMillis, UserId } from "./Identifiers.js";
7
+ import { LoginRiskContext } from "./LoginRisk.js";
8
+ import { AuthMailer } from "./Mailer.js";
9
+ import type { AuthMailerService } from "./Mailer.js";
10
+ import type { AuthAssuranceLevel, AuthMethodReference } from "./Sessions.js";
11
+ export type LoginApprovalMode = "never" | "new-device" | "always";
12
+ export type LoginApprovalChannel = "email" | (string & {});
13
+ export type LoginApprovalIntent = "sign-in" | "sign-up";
14
+ export type LoginApprovalSessionBinding = "originating-device" | "approval-device" | "none";
15
+ export type LoginDeviceStatus = "known" | "new" | "unknown";
16
+ export interface LoginDeviceContext {
17
+ readonly status: LoginDeviceStatus;
18
+ }
19
+ export declare const unknownLoginDeviceContext: LoginDeviceContext;
20
+ export type LoginApprovalReason = "always" | "new-device" | "unknown-device" | "unverified-email" | (string & {});
21
+ export interface LoginApprovalPolicyOptions {
22
+ readonly mode?: LoginApprovalMode;
23
+ readonly channel?: LoginApprovalChannel;
24
+ readonly sessionBinding?: LoginApprovalSessionBinding;
25
+ readonly sameDeviceRequired?: boolean;
26
+ readonly requireForUnverifiedEmail?: boolean;
27
+ readonly skipMethods?: readonly AuthMethod[];
28
+ readonly skipWhenAalAtLeast?: AuthAssuranceLevel;
29
+ }
30
+ export interface LoginApprovalPolicyInput {
31
+ readonly intent?: LoginApprovalIntent;
32
+ readonly userId: UserId;
33
+ readonly email?: Email;
34
+ readonly emailVerified?: boolean;
35
+ readonly method: AuthMethod;
36
+ readonly amr: readonly AuthMethodReference[];
37
+ readonly aal: AuthAssuranceLevel;
38
+ readonly device: LoginDeviceContext;
39
+ readonly risk: LoginRiskContext;
40
+ readonly metadata?: Readonly<Record<string, unknown>>;
41
+ }
42
+ export type LoginApprovalPolicyDecision = {
43
+ readonly _tag: "Continue";
44
+ } | {
45
+ readonly _tag: "RequiresApproval";
46
+ readonly channel: LoginApprovalChannel;
47
+ readonly sessionBinding: LoginApprovalSessionBinding;
48
+ readonly sameDeviceRequired: boolean;
49
+ readonly reason: LoginApprovalReason;
50
+ readonly markEmailVerified?: boolean;
51
+ };
52
+ export interface LoginApprovalPolicyService {
53
+ readonly decide: (input: LoginApprovalPolicyInput) => Effect.Effect<LoginApprovalPolicyDecision>;
54
+ }
55
+ export interface LoginApprovalRequiresApprovalInput {
56
+ readonly channel: LoginApprovalChannel;
57
+ readonly sessionBinding?: LoginApprovalSessionBinding;
58
+ readonly sameDeviceRequired?: boolean;
59
+ readonly reason: LoginApprovalReason;
60
+ readonly markEmailVerified?: boolean;
61
+ }
62
+ export interface LoginApprovalSemanticDecisionInput {
63
+ readonly sessionBinding?: LoginApprovalSessionBinding;
64
+ readonly reason?: LoginApprovalReason;
65
+ readonly markEmailVerified?: boolean;
66
+ }
67
+ declare const LoginApprovalPolicy_base: Context.ServiceClass<LoginApprovalPolicy, "auth/LoginApprovalPolicy", LoginApprovalPolicyService>;
68
+ export declare class LoginApprovalPolicy extends LoginApprovalPolicy_base {
69
+ }
70
+ export declare namespace LoginApprovalPolicy {
71
+ const make: (service: LoginApprovalPolicyService) => LoginApprovalPolicyService;
72
+ const custom: (decide: LoginApprovalPolicyService["decide"]) => LoginApprovalPolicyService;
73
+ }
74
+ export declare const LoginApprovalDecision: {
75
+ continue: () => LoginApprovalPolicyDecision;
76
+ requiresApproval: (input: LoginApprovalRequiresApprovalInput) => LoginApprovalPolicyDecision;
77
+ custom: (input: LoginApprovalRequiresApprovalInput) => LoginApprovalPolicyDecision;
78
+ emailCode: (input?: LoginApprovalSemanticDecisionInput) => LoginApprovalPolicyDecision;
79
+ emailLink: (input?: LoginApprovalSemanticDecisionInput) => LoginApprovalPolicyDecision;
80
+ sms: (input?: LoginApprovalSemanticDecisionInput) => LoginApprovalPolicyDecision;
81
+ adminReview: (input?: LoginApprovalSemanticDecisionInput) => LoginApprovalPolicyDecision;
82
+ };
83
+ export declare const makeLoginApprovalPolicy: (options?: LoginApprovalPolicyOptions) => LoginApprovalPolicyService;
84
+ export declare const LoginApprovalPolicyLive: (options?: LoginApprovalPolicyOptions) => Layer.Layer<LoginApprovalPolicy, never, never>;
85
+ export interface LoginApprovalIssueInput {
86
+ readonly userId: UserId;
87
+ readonly email?: Email;
88
+ readonly channel?: LoginApprovalChannel;
89
+ readonly reason: LoginApprovalReason;
90
+ readonly sessionBinding?: LoginApprovalSessionBinding;
91
+ readonly sameDeviceRequired?: boolean;
92
+ readonly markEmailVerified?: boolean;
93
+ readonly risk?: LoginRiskContext;
94
+ readonly ttl?: Duration.Duration;
95
+ readonly secret?: Redacted.Redacted<string>;
96
+ readonly metadata?: Readonly<Record<string, unknown>>;
97
+ }
98
+ export interface IssuedLoginApproval {
99
+ readonly challengeId: ChallengeId;
100
+ readonly userId: UserId;
101
+ readonly email?: Email;
102
+ readonly channel: LoginApprovalChannel;
103
+ readonly reason: LoginApprovalReason;
104
+ readonly sessionBinding: LoginApprovalSessionBinding;
105
+ readonly sameDeviceRequired: boolean;
106
+ readonly markEmailVerified?: boolean;
107
+ readonly risk?: LoginRiskContext;
108
+ readonly secret?: Redacted.Redacted<string>;
109
+ readonly expiresAt: UnixMillis;
110
+ }
111
+ export interface LoginApprovalVerifyInput {
112
+ readonly challengeId: ChallengeId;
113
+ readonly secret?: Redacted.Redacted<string>;
114
+ }
115
+ export interface VerifiedLoginApproval {
116
+ readonly challengeId: ChallengeId;
117
+ readonly userId: UserId;
118
+ readonly channel: LoginApprovalChannel;
119
+ readonly reason: LoginApprovalReason;
120
+ readonly sessionBinding: LoginApprovalSessionBinding;
121
+ readonly sameDeviceRequired: boolean;
122
+ readonly markEmailVerified?: boolean;
123
+ readonly metadata?: Readonly<Record<string, unknown>>;
124
+ }
125
+ export interface InspectedLoginApproval extends VerifiedLoginApproval {
126
+ readonly expiresAt: UnixMillis;
127
+ }
128
+ declare const LoginApprovalIssueError_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 & {
129
+ readonly _tag: "LoginApprovalIssueError";
130
+ } & Readonly<A>;
131
+ export declare class LoginApprovalIssueError extends LoginApprovalIssueError_base<{
132
+ readonly message: string;
133
+ readonly cause?: unknown;
134
+ }> {
135
+ }
136
+ declare const LoginApprovalVerifyError_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 & {
137
+ readonly _tag: "LoginApprovalVerifyError";
138
+ } & Readonly<A>;
139
+ export declare class LoginApprovalVerifyError extends LoginApprovalVerifyError_base<{
140
+ readonly message: string;
141
+ readonly cause?: unknown;
142
+ }> {
143
+ }
144
+ export interface LoginApprovalDeliveryInput {
145
+ readonly userId: UserId;
146
+ readonly email?: Email;
147
+ readonly channel: LoginApprovalChannel;
148
+ readonly challengeId: ChallengeId;
149
+ readonly secret?: Redacted.Redacted<string>;
150
+ readonly expiresAt: UnixMillis;
151
+ readonly reason: LoginApprovalReason;
152
+ readonly sessionBinding: LoginApprovalSessionBinding;
153
+ readonly sameDeviceRequired: boolean;
154
+ readonly markEmailVerified?: boolean;
155
+ readonly risk?: LoginRiskContext;
156
+ readonly metadata?: Readonly<Record<string, unknown>>;
157
+ }
158
+ declare const LoginApprovalDeliveryError_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 & {
159
+ readonly _tag: "LoginApprovalDeliveryError";
160
+ } & Readonly<A>;
161
+ export declare class LoginApprovalDeliveryError extends LoginApprovalDeliveryError_base<{
162
+ readonly message: string;
163
+ readonly cause?: unknown;
164
+ }> {
165
+ }
166
+ export interface LoginApprovalDeliveryService {
167
+ readonly sendLoginApproval: (input: LoginApprovalDeliveryInput) => Effect.Effect<void, LoginApprovalDeliveryError>;
168
+ }
169
+ declare const LoginApprovalDelivery_base: Context.ServiceClass<LoginApprovalDelivery, "auth/LoginApprovalDelivery", LoginApprovalDeliveryService>;
170
+ export declare class LoginApprovalDelivery extends LoginApprovalDelivery_base {
171
+ }
172
+ export declare namespace LoginApprovalDelivery {
173
+ const make: (service: LoginApprovalDeliveryService) => LoginApprovalDeliveryService;
174
+ }
175
+ export interface LoginApprovalService {
176
+ readonly issue: (input: LoginApprovalIssueInput) => Effect.Effect<IssuedLoginApproval, LoginApprovalIssueError>;
177
+ readonly inspect: (input: LoginApprovalVerifyInput) => Effect.Effect<InspectedLoginApproval, LoginApprovalVerifyError>;
178
+ readonly verify: (input: LoginApprovalVerifyInput) => Effect.Effect<VerifiedLoginApproval, LoginApprovalVerifyError>;
179
+ }
180
+ declare const LoginApproval_base: Context.ServiceClass<LoginApproval, "auth/LoginApproval", LoginApprovalService>;
181
+ export declare class LoginApproval extends LoginApproval_base {
182
+ }
183
+ export declare namespace LoginApproval {
184
+ const make: (service: LoginApprovalService) => LoginApprovalService;
185
+ }
186
+ export type LoginApprovalReviewStatus = "pending" | "approved" | "denied";
187
+ export type LoginApprovalReviewerId = string & {};
188
+ export interface LoginApprovalReviewRecord {
189
+ readonly approvalChallengeId: ChallengeId;
190
+ readonly flowId: AuthFlowId;
191
+ readonly userId: UserId;
192
+ readonly channel: LoginApprovalChannel;
193
+ readonly reason: LoginApprovalReason;
194
+ readonly sessionBinding: LoginApprovalSessionBinding;
195
+ readonly sameDeviceRequired: boolean;
196
+ readonly status: LoginApprovalReviewStatus;
197
+ readonly createdAt: UnixMillis;
198
+ readonly expiresAt: UnixMillis;
199
+ readonly reviewedAt?: UnixMillis;
200
+ readonly reviewedBy?: LoginApprovalReviewerId;
201
+ readonly deniedReason?: string;
202
+ readonly risk?: LoginRiskContext;
203
+ readonly metadata?: Readonly<Record<string, unknown>>;
204
+ readonly reviewMetadata?: Readonly<Record<string, unknown>>;
205
+ }
206
+ export interface LoginApprovalReviewStartInput {
207
+ readonly approval: IssuedLoginApproval;
208
+ readonly flowId: AuthFlowId;
209
+ readonly metadata?: Readonly<Record<string, unknown>>;
210
+ }
211
+ export interface LoginApprovalReviewLookupInput {
212
+ readonly approvalChallengeId: ChallengeId;
213
+ }
214
+ export interface LoginApprovalReviewApproveInput {
215
+ readonly approval: LoginApprovalVerifyInput;
216
+ readonly reviewedBy?: LoginApprovalReviewerId;
217
+ readonly metadata?: Readonly<Record<string, unknown>>;
218
+ }
219
+ export interface LoginApprovalReviewDenyInput {
220
+ readonly approval: LoginApprovalVerifyInput;
221
+ readonly reviewedBy?: LoginApprovalReviewerId;
222
+ readonly reason?: string;
223
+ readonly metadata?: Readonly<Record<string, unknown>>;
224
+ }
225
+ declare const LoginApprovalReviewError_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 & {
226
+ readonly _tag: "LoginApprovalReviewError";
227
+ } & Readonly<A>;
228
+ export declare class LoginApprovalReviewError extends LoginApprovalReviewError_base<{
229
+ readonly message: string;
230
+ readonly cause?: unknown;
231
+ }> {
232
+ }
233
+ export interface LoginApprovalReviewStoreService {
234
+ readonly insertPending: (input: LoginApprovalReviewRecord) => Effect.Effect<LoginApprovalReviewRecord, LoginApprovalReviewError>;
235
+ readonly findByApprovalChallengeId: (input: LoginApprovalReviewLookupInput) => Effect.Effect<Option.Option<LoginApprovalReviewRecord>, LoginApprovalReviewError>;
236
+ readonly approve: (input: {
237
+ readonly approvalChallengeId: ChallengeId;
238
+ readonly reviewedAt: UnixMillis;
239
+ readonly reviewedBy?: LoginApprovalReviewerId;
240
+ readonly metadata?: Readonly<Record<string, unknown>>;
241
+ }) => Effect.Effect<Option.Option<LoginApprovalReviewRecord>, LoginApprovalReviewError>;
242
+ readonly deny: (input: {
243
+ readonly approvalChallengeId: ChallengeId;
244
+ readonly reviewedAt: UnixMillis;
245
+ readonly reviewedBy?: LoginApprovalReviewerId;
246
+ readonly reason?: string;
247
+ readonly metadata?: Readonly<Record<string, unknown>>;
248
+ }) => Effect.Effect<Option.Option<LoginApprovalReviewRecord>, LoginApprovalReviewError>;
249
+ }
250
+ declare const LoginApprovalReviewStore_base: Context.ServiceClass<LoginApprovalReviewStore, "auth/LoginApprovalReviewStore", LoginApprovalReviewStoreService>;
251
+ export declare class LoginApprovalReviewStore extends LoginApprovalReviewStore_base {
252
+ }
253
+ export declare namespace LoginApprovalReviewStore {
254
+ const make: (service: LoginApprovalReviewStoreService) => LoginApprovalReviewStoreService;
255
+ }
256
+ export interface LoginApprovalReviewService {
257
+ readonly start: (input: LoginApprovalReviewStartInput) => Effect.Effect<LoginApprovalReviewRecord, LoginApprovalReviewError>;
258
+ readonly status: (input: LoginApprovalReviewLookupInput) => Effect.Effect<Option.Option<LoginApprovalReviewRecord>, LoginApprovalReviewError>;
259
+ readonly approve: (input: LoginApprovalReviewApproveInput) => Effect.Effect<LoginApprovalReviewRecord, LoginApprovalReviewError>;
260
+ readonly deny: (input: LoginApprovalReviewDenyInput) => Effect.Effect<LoginApprovalReviewRecord, LoginApprovalReviewError>;
261
+ }
262
+ declare const LoginApprovalReview_base: Context.ServiceClass<LoginApprovalReview, "auth/LoginApprovalReview", LoginApprovalReviewService>;
263
+ export declare class LoginApprovalReview extends LoginApprovalReview_base {
264
+ }
265
+ export declare namespace LoginApprovalReview {
266
+ const make: (service: LoginApprovalReviewService) => LoginApprovalReviewService;
267
+ }
268
+ export interface LoginApprovalReviewDependencies {
269
+ readonly loginApproval: LoginApprovalService;
270
+ readonly store: LoginApprovalReviewStoreService;
271
+ }
272
+ declare const LoginApprovalFlowStartError_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 & {
273
+ readonly _tag: "LoginApprovalFlowStartError";
274
+ } & Readonly<A>;
275
+ export declare class LoginApprovalFlowStartError extends LoginApprovalFlowStartError_base<{
276
+ readonly message: string;
277
+ readonly cause?: unknown;
278
+ }> {
279
+ }
280
+ export interface LoginApprovalFlowService {
281
+ readonly start: (input: LoginApprovalIssueInput) => Effect.Effect<IssuedLoginApproval, LoginApprovalFlowStartError>;
282
+ }
283
+ declare const LoginApprovalFlow_base: Context.ServiceClass<LoginApprovalFlow, "auth/LoginApprovalFlow", LoginApprovalFlowService>;
284
+ export declare class LoginApprovalFlow extends LoginApprovalFlow_base {
285
+ }
286
+ export declare namespace LoginApprovalFlow {
287
+ const make: (service: LoginApprovalFlowService) => LoginApprovalFlowService;
288
+ }
289
+ export interface LoginApprovalOptions {
290
+ readonly ttl?: Duration.Duration;
291
+ }
292
+ export interface LoginApprovalDependencies extends LoginApprovalOptions {
293
+ readonly challenge: ChallengeService;
294
+ }
295
+ export interface LoginApprovalFlowDependencies {
296
+ readonly loginApproval: LoginApprovalService;
297
+ readonly delivery: LoginApprovalDeliveryService;
298
+ }
299
+ export interface LoginApprovalDeliveryFromAuthMailerDependencies {
300
+ readonly authMailer: AuthMailerService;
301
+ }
302
+ export declare const defaultLoginApprovalTtl: Duration.Duration;
303
+ export declare const makeLoginApproval: (dependencies: LoginApprovalDependencies) => LoginApprovalService;
304
+ export declare const LoginApprovalLive: (options?: LoginApprovalOptions) => Layer.Layer<LoginApproval, never, Challenge>;
305
+ export declare const makeLoginApprovalReviewStoreMemory: () => LoginApprovalReviewStoreService;
306
+ export declare const LoginApprovalReviewStoreMemoryLive: Layer.Layer<LoginApprovalReviewStore, never, never>;
307
+ export declare const makeLoginApprovalReview: (dependencies: LoginApprovalReviewDependencies) => LoginApprovalReviewService;
308
+ export declare const LoginApprovalReviewLive: Layer.Layer<LoginApprovalReview, never, LoginApproval | LoginApprovalReviewStore>;
309
+ export declare const makeLoginApprovalFlow: (dependencies: LoginApprovalFlowDependencies) => LoginApprovalFlowService;
310
+ export declare const LoginApprovalFlowLive: Layer.Layer<LoginApprovalFlow, never, LoginApprovalDelivery | LoginApproval>;
311
+ export declare const makeLoginApprovalDeliveryFromAuthMailer: (dependencies: LoginApprovalDeliveryFromAuthMailerDependencies) => LoginApprovalDeliveryService;
312
+ export declare const LoginApprovalDeliveryFromAuthMailerLive: Layer.Layer<LoginApprovalDelivery, never, AuthMailer>;
313
+ export {};
314
+ //# sourceMappingURL=LoginApproval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginApproval.d.ts","sourceRoot":"","sources":["../src/LoginApproval.ts"],"names":[],"mappings":"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"}