@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
package/dist/AuditLog.js CHANGED
@@ -1,12 +1,329 @@
1
1
  import { Context, Data, Effect, Layer } from "effect";
2
+ import { currentUnixMillis } from "./Internal.js";
2
3
  export class AuditLogError extends Data.TaggedError("AuditLogError") {
3
4
  }
5
+ export class AuditLogStoreError extends Data.TaggedError("AuditLogStoreError") {
6
+ }
7
+ export const AuditActor = {
8
+ anonymous: () => ({ type: "anonymous" }),
9
+ user: (input) => ({
10
+ type: "user",
11
+ userId: input.userId,
12
+ ...(input.sessionId === undefined ? {} : { sessionId: input.sessionId }),
13
+ }),
14
+ };
15
+ export const AuditSubject = {
16
+ anonymous: () => ({ type: "anonymous" }),
17
+ email: (emailHash) => ({ type: "email", emailHash }),
18
+ user: (userId) => ({ type: "user", userId }),
19
+ };
4
20
  export class AuditLog extends Context.Service()("auth/AuditLog") {
5
21
  }
6
22
  (function (AuditLog) {
7
23
  AuditLog.make = (service) => AuditLog.of(service);
8
24
  })(AuditLog || (AuditLog = {}));
25
+ export class AuditLogStore extends Context.Service()("auth/AuditLogStore") {
26
+ }
27
+ (function (AuditLogStore) {
28
+ AuditLogStore.make = (service) => AuditLogStore.of(service);
29
+ })(AuditLogStore || (AuditLogStore = {}));
30
+ const occurredAt = (value) => value === undefined ? currentUnixMillis : Effect.succeed(value);
31
+ const clone = (value) => structuredClone(value);
32
+ export const auditEventUserId = (event) => {
33
+ if ("userId" in event) {
34
+ return event.userId;
35
+ }
36
+ if (event.type === "auth.risk.assessed") {
37
+ return event.assessment.userId;
38
+ }
39
+ if ("subject" in event && event.subject.type === "user") {
40
+ return event.subject.userId;
41
+ }
42
+ if ("actor" in event && event.actor.type === "user") {
43
+ return event.actor.userId;
44
+ }
45
+ return undefined;
46
+ };
47
+ export const auditEventActorUserId = (event) => "actor" in event && event.actor.type === "user" ? event.actor.userId : undefined;
48
+ const compareAuditEvents = (left, right) => {
49
+ const occurredAtDifference = Number(right.occurredAt) - Number(left.occurredAt);
50
+ return occurredAtDifference === 0
51
+ ? String(right.id ?? "").localeCompare(String(left.id ?? ""))
52
+ : occurredAtDifference;
53
+ };
54
+ const insertSortedAuditEvent = (events, event) => {
55
+ const index = events.findIndex((existing) => compareAuditEvents(event, existing) < 0);
56
+ return index === -1
57
+ ? [...events, event]
58
+ : [...events.slice(0, index), event, ...events.slice(index)];
59
+ };
60
+ const sortAuditEvents = (events) => {
61
+ let sorted = [];
62
+ for (const event of events) {
63
+ sorted = insertSortedAuditEvent(sorted, event);
64
+ }
65
+ return sorted;
66
+ };
67
+ export const filterAuditLogEvents = (events, input = {}) => {
68
+ const types = input.types === undefined ? undefined : new Set(input.types);
69
+ const beforeOccurredAt = input.beforeOccurredAt === undefined
70
+ ? undefined
71
+ : Number(input.beforeOccurredAt);
72
+ const limit = input.limit === undefined ? undefined : Math.max(0, Math.floor(input.limit));
73
+ const filtered = [...events]
74
+ .filter((event) => input.userId === undefined || auditEventUserId(event) === input.userId)
75
+ .filter((event) => beforeOccurredAt === undefined || Number(event.occurredAt) < beforeOccurredAt)
76
+ .filter((event) => types === undefined || types.has(event.type));
77
+ const sorted = sortAuditEvents(filtered).map(clone);
78
+ return limit === undefined ? sorted : sorted.slice(0, limit);
79
+ };
80
+ const auditLogStoreErrorToAuditLogError = (cause) => new AuditLogError({
81
+ message: "Audit log store insert failed",
82
+ cause,
83
+ });
84
+ export const makeAuditLogFromStore = (store) => AuditLog.make({
85
+ emit: (event) => store.insert(event).pipe(Effect.mapError(auditLogStoreErrorToAuditLogError)),
86
+ });
87
+ export const emit = (event) => AuditLog.use((auditLog) => auditLog.emit(event));
88
+ export const insertAuditLogEvent = (event) => AuditLogStore.use((store) => store.insert(event));
89
+ export const listAuditLogEvents = (input = {}) => AuditLogStore.use((store) => store.list(input));
90
+ export const deleteAuditLogEventsBefore = (input) => AuditLogStore.use((store) => store.deleteBefore(input));
91
+ export const loginSucceeded = (input) => Effect.gen(function* () {
92
+ return yield* emit({
93
+ ...input,
94
+ type: "auth.login.succeeded",
95
+ occurredAt: yield* occurredAt(input.occurredAt),
96
+ });
97
+ });
98
+ export const loginFailed = (input) => Effect.gen(function* () {
99
+ return yield* emit({
100
+ ...input,
101
+ type: "auth.login.failed",
102
+ occurredAt: yield* occurredAt(input.occurredAt),
103
+ });
104
+ });
105
+ export const sessionRevoked = (input) => Effect.gen(function* () {
106
+ return yield* emit({
107
+ ...input,
108
+ type: "auth.session.revoked",
109
+ occurredAt: yield* occurredAt(input.occurredAt),
110
+ });
111
+ });
112
+ export const loginRiskAssessed = (input) => Effect.gen(function* () {
113
+ return yield* emit({
114
+ ...input,
115
+ type: "auth.risk.assessed",
116
+ occurredAt: yield* occurredAt(input.occurredAt),
117
+ });
118
+ });
119
+ export const policyDenied = (input) => Effect.gen(function* () {
120
+ return yield* emit({
121
+ ...input,
122
+ type: "auth.policy.denied",
123
+ occurredAt: yield* occurredAt(input.occurredAt),
124
+ });
125
+ });
126
+ export const oauthAccountLinked = (input) => Effect.gen(function* () {
127
+ return yield* emit({
128
+ ...input,
129
+ type: "auth.oauth.account.linked",
130
+ occurredAt: yield* occurredAt(input.occurredAt),
131
+ });
132
+ });
133
+ export const oauthAccountUnlinked = (input) => Effect.gen(function* () {
134
+ return yield* emit({
135
+ ...input,
136
+ type: "auth.oauth.account.unlinked",
137
+ occurredAt: yield* occurredAt(input.occurredAt),
138
+ });
139
+ });
140
+ export const oauthLinkConfirmationStarted = (input) => Effect.gen(function* () {
141
+ return yield* emit({
142
+ ...input,
143
+ type: "auth.oauth.link_confirmation.started",
144
+ occurredAt: yield* occurredAt(input.occurredAt),
145
+ });
146
+ });
147
+ export const oauthLinkConfirmationConfirmed = (input) => Effect.gen(function* () {
148
+ return yield* emit({
149
+ ...input,
150
+ type: "auth.oauth.link_confirmation.confirmed",
151
+ occurredAt: yield* occurredAt(input.occurredAt),
152
+ });
153
+ });
154
+ export const oauthProviderTokenRefreshed = (input) => Effect.gen(function* () {
155
+ return yield* emit({
156
+ ...input,
157
+ type: "auth.oauth.provider_token.refreshed",
158
+ occurredAt: yield* occurredAt(input.occurredAt),
159
+ });
160
+ });
161
+ export const oauthProviderTokenRevoked = (input) => Effect.gen(function* () {
162
+ return yield* emit({
163
+ ...input,
164
+ type: "auth.oauth.provider_token.revoked",
165
+ occurredAt: yield* occurredAt(input.occurredAt),
166
+ });
167
+ });
168
+ export const passkeyCredentialRevoked = (input) => Effect.gen(function* () {
169
+ return yield* emit({
170
+ ...input,
171
+ type: "auth.passkey.credential.revoked",
172
+ occurredAt: yield* occurredAt(input.occurredAt),
173
+ });
174
+ });
175
+ export const totpEnrollmentStarted = (input) => Effect.gen(function* () {
176
+ return yield* emit({
177
+ ...input,
178
+ type: "auth.totp.enrollment.started",
179
+ occurredAt: yield* occurredAt(input.occurredAt),
180
+ });
181
+ });
182
+ export const totpFactorConfirmed = (input) => Effect.gen(function* () {
183
+ return yield* emit({
184
+ ...input,
185
+ type: "auth.totp.factor.confirmed",
186
+ occurredAt: yield* occurredAt(input.occurredAt),
187
+ });
188
+ });
189
+ export const totpFactorVerified = (input) => Effect.gen(function* () {
190
+ return yield* emit({
191
+ ...input,
192
+ type: "auth.totp.factor.verified",
193
+ occurredAt: yield* occurredAt(input.occurredAt),
194
+ });
195
+ });
196
+ export const totpFactorRevoked = (input) => Effect.gen(function* () {
197
+ return yield* emit({
198
+ ...input,
199
+ type: "auth.totp.factor.revoked",
200
+ occurredAt: yield* occurredAt(input.occurredAt),
201
+ });
202
+ });
203
+ export const recoveryCodeGenerated = (input) => Effect.gen(function* () {
204
+ return yield* emit({
205
+ ...input,
206
+ type: "auth.recovery_code.generated",
207
+ occurredAt: yield* occurredAt(input.occurredAt),
208
+ });
209
+ });
210
+ export const recoveryCodeVerified = (input) => Effect.gen(function* () {
211
+ return yield* emit({
212
+ ...input,
213
+ type: "auth.recovery_code.verified",
214
+ occurredAt: yield* occurredAt(input.occurredAt),
215
+ });
216
+ });
217
+ export const recoveryCodeRevoked = (input) => Effect.gen(function* () {
218
+ return yield* emit({
219
+ ...input,
220
+ type: "auth.recovery_code.revoked",
221
+ occurredAt: yield* occurredAt(input.occurredAt),
222
+ });
223
+ });
224
+ export const apiKeyCreated = (input) => Effect.gen(function* () {
225
+ return yield* emit({
226
+ ...input,
227
+ type: "auth.api_key.created",
228
+ occurredAt: yield* occurredAt(input.occurredAt),
229
+ });
230
+ });
231
+ export const apiKeyVerified = (input) => Effect.gen(function* () {
232
+ return yield* emit({
233
+ ...input,
234
+ type: "auth.api_key.verified",
235
+ occurredAt: yield* occurredAt(input.occurredAt),
236
+ });
237
+ });
238
+ export const apiKeyRevoked = (input) => Effect.gen(function* () {
239
+ return yield* emit({
240
+ ...input,
241
+ type: "auth.api_key.revoked",
242
+ occurredAt: yield* occurredAt(input.occurredAt),
243
+ });
244
+ });
245
+ export const apiKeyVerificationFailed = (input) => Effect.gen(function* () {
246
+ return yield* emit({
247
+ ...input,
248
+ type: "auth.api_key.verification_failed",
249
+ occurredAt: yield* occurredAt(input.occurredAt),
250
+ });
251
+ });
252
+ export const refreshTokenIssued = (input) => Effect.gen(function* () {
253
+ return yield* emit({
254
+ ...input,
255
+ type: "auth.refresh_token.issued",
256
+ occurredAt: yield* occurredAt(input.occurredAt),
257
+ });
258
+ });
259
+ export const refreshTokenRotated = (input) => Effect.gen(function* () {
260
+ return yield* emit({
261
+ ...input,
262
+ type: "auth.refresh_token.rotated",
263
+ occurredAt: yield* occurredAt(input.occurredAt),
264
+ });
265
+ });
266
+ export const refreshTokenReuseDetected = (input) => Effect.gen(function* () {
267
+ return yield* emit({
268
+ ...input,
269
+ type: "auth.refresh_token.reuse_detected",
270
+ occurredAt: yield* occurredAt(input.occurredAt),
271
+ });
272
+ });
273
+ export const refreshTokenRevoked = (input) => Effect.gen(function* () {
274
+ return yield* emit({
275
+ ...input,
276
+ type: "auth.refresh_token.revoked",
277
+ occurredAt: yield* occurredAt(input.occurredAt),
278
+ });
279
+ });
280
+ export const incidentActionExecuted = (input) => Effect.gen(function* () {
281
+ return yield* emit({
282
+ ...input,
283
+ type: "auth.incident_action.executed",
284
+ occurredAt: yield* occurredAt(input.occurredAt),
285
+ });
286
+ });
287
+ export const jwtIntrospected = (input) => Effect.gen(function* () {
288
+ return yield* emit({
289
+ ...input,
290
+ type: "auth.jwt.introspected",
291
+ occurredAt: yield* occurredAt(input.occurredAt),
292
+ });
293
+ });
294
+ export const jwtRevoked = (input) => Effect.gen(function* () {
295
+ return yield* emit({
296
+ ...input,
297
+ type: "auth.jwt.revoked",
298
+ occurredAt: yield* occurredAt(input.occurredAt),
299
+ });
300
+ });
301
+ export const makeAuditLogStoreMemory = () => {
302
+ const events = [];
303
+ return AuditLogStore.make({
304
+ insert: (event) => Effect.sync(() => {
305
+ events.push(clone(event));
306
+ }),
307
+ list: (input = {}) => Effect.sync(() => filterAuditLogEvents(events, input)),
308
+ deleteBefore: (input) => Effect.sync(() => {
309
+ const retained = [];
310
+ let deleted = 0;
311
+ for (const event of events) {
312
+ if (Number(event.occurredAt) < Number(input.beforeOccurredAt) &&
313
+ (input.userId === undefined || auditEventUserId(event) === input.userId)) {
314
+ deleted += 1;
315
+ continue;
316
+ }
317
+ retained.push(event);
318
+ }
319
+ events.splice(0, events.length, ...retained);
320
+ return deleted;
321
+ }),
322
+ });
323
+ };
324
+ export const AuditLogStoreMemoryLive = Layer.sync(AuditLogStore, makeAuditLogStoreMemory);
325
+ export const AuditLogFromStoreLive = Layer.effect(AuditLog)(AuditLogStore.use((store) => Effect.succeed(makeAuditLogFromStore(store))));
9
326
  export const AuditLogNoopLive = Layer.succeed(AuditLog)(AuditLog.make({
10
- emit: () => Effect.void
327
+ emit: () => Effect.void,
11
328
  }));
12
329
  //# sourceMappingURL=AuditLog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLog.js","sourceRoot":"","sources":["../src/AuditLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAIrD,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAGjE;CAAG;AAyDL,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CAAC,eAAe,CAAC;CAAG;AAE9F,WAAiB,QAAQ;IACV,aAAI,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACzF,CAAC,EAFgB,QAAQ,KAAR,QAAQ,QAExB;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;CACxB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"AuditLog.js","sourceRoot":"","sources":["../src/AuditLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAkBtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAGjE;CAAG;AAIL,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAI3E;CAAG;AAUL,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS,EAAE,GAAe,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC,KAGN,EAAc,EAAE,CAAC,CAAC;QACjB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;KACzE,CAAC;CACM,CAAC;AAOX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,GAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtD,KAAK,EAAE,CAAC,SAAoB,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC7E,IAAI,EAAE,CAAC,MAAc,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;CAC1D,CAAC;AAkVX,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CACxE,eAAe,CAChB;CAAG;AAEJ,WAAiB,QAAQ;IACV,aAAI,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAChE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,EAHgB,QAAQ,KAAR,QAAQ,QAGxB;AAED,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,OAAO,EAG/C,CAAC,oBAAoB,CAAC;CAAG;AAE5B,WAAiB,aAAa;IACf,kBAAI,GAAG,CAAC,OAA6B,EAAwB,EAAE,CAC1E,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,EAHgB,aAAa,KAAb,aAAa,QAG7B;AASD,MAAM,UAAU,GAAG,CAAC,KAA6B,EAAE,EAAE,CACnD,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAElE,MAAM,KAAK,GAAG,CAAI,KAAQ,EAAK,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAqB,EAAsB,EAAE;IAC5E,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAqB,EACD,EAAE,CACtB,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAEnF,MAAM,kBAAkB,GAAG,CACzB,IAAoB,EACpB,KAAqB,EACb,EAAE;IACV,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEhF,OAAO,oBAAoB,KAAK,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,oBAAoB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,MAAiC,EACjC,KAAqB,EACM,EAAE;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAC5B,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CACtD,CAAC;IAEF,OAAO,KAAK,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC;QACpB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,MAAgC,EACL,EAAE;IAC7B,IAAI,MAAM,GAA8B,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAgC,EAChC,QAA2B,EAAE,EACF,EAAE;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,gBAAgB,GACpB,KAAK,CAAC,gBAAgB,KAAK,SAAS;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC;SACzB,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,CAClF;SACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAChF;SACA,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEpD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CAAC,KAAyB,EAAE,EAAE,CACtE,IAAI,aAAa,CAAC;IAChB,OAAO,EAAE,+BAA+B;IACxC,KAAK;CACN,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAA2B,EACV,EAAE,CACnB,QAAQ,CAAC,IAAI,CAAC;IACZ,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;CAC9F,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,KAAqB,EACyB,EAAE,CAChD,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAqB,EACmC,EAAE,CAC1D,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAA2B,EAAE,EACgD,EAAE,CAC/E,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,KAAgC,EAC0B,EAAE,CAC5D,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAA8C,EACA,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAA2C,EACG,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAA8C,EACA,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAA4C,EACE,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAA4C,EACE,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAmD,EACL,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,KAAqD,EACP,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,6BAA6B;QACnC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,KAA8D,EAChB,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,sCAAsC;QAC5C,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,KAAgE,EAClB,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,wCAAwC;QAC9C,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAA6D,EACf,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,qCAAqC;QAC3C,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAA2D,EACb,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAyD,EACX,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAsD,EACR,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAoD,EACN,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAmD,EACL,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAkD,EACJ,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAsD,EACR,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,KAAqD,EACP,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,6BAA6B;QACnC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAoD,EACN,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAA8C,EACA,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAA+C,EACD,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAA8C,EACA,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAA0D,EACZ,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAmD,EACL,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAoD,EACN,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAA2D,EACb,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAoD,EACN,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAuD,EACT,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,+BAA+B;QACrC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAA+C,EACD,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,KAA0C,EACI,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACjB,GAAG,KAAK;QACR,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAyB,EAAE;IAChE,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,OAAO,aAAa,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC;QACJ,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5E,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,QAAQ,GAAqB,EAAE,CAAC;YACtC,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IACE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBACzD,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EACxE,CAAC;oBACD,OAAO,IAAI,CAAC,CAAC;oBACb,SAAS;gBACX,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;YAE7C,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAC/C,aAAa,EACb,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CACzD,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3E,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CACrD,QAAQ,CAAC,IAAI,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;CACxB,CAAC,CACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Context, Layer } from "effect";
2
+ import type { EmailVerificationSessionPolicyOptions } from "./AuthFlow.js";
3
+ import type { ChallengeOptions } from "./Challenge.js";
4
+ import { Crypto } from "./Crypto.js";
5
+ import type { CryptoError, CryptoKey } from "./Crypto.js";
6
+ import type { PrivacyOptions } from "./Privacy.js";
7
+ import type { SessionCookieOptions, SessionsOptions } from "./Sessions.js";
8
+ export interface AuthSecretsShape {
9
+ readonly session: CryptoKey;
10
+ readonly challenge: CryptoKey;
11
+ readonly privacy: CryptoKey;
12
+ }
13
+ declare const AuthSecrets_base: Context.ServiceClass<AuthSecrets, "auth/AuthSecrets", AuthSecretsShape>;
14
+ export declare class AuthSecrets extends AuthSecrets_base {
15
+ }
16
+ export declare namespace AuthSecrets {
17
+ const make: (secrets: AuthSecretsShape) => AuthSecretsShape;
18
+ }
19
+ export declare const AuthSecretsLive: (secrets: AuthSecretsShape) => Layer.Layer<AuthSecrets, never, never>;
20
+ export interface AuthSecretsFromRootOptions {
21
+ readonly root: CryptoKey;
22
+ readonly namespace?: string;
23
+ }
24
+ export declare const AuthSecretsFromRootLive: (options: AuthSecretsFromRootOptions) => Layer.Layer<AuthSecrets, CryptoError, Crypto>;
25
+ export type AuthSessionsConfig = Omit<SessionsOptions, "secret">;
26
+ export type AuthChallengeConfig = Omit<ChallengeOptions, "secret">;
27
+ export type AuthPrivacyConfig = Omit<PrivacyOptions, "secret">;
28
+ export declare const AuthSessionsConfig: Context.Reference<AuthSessionsConfig>;
29
+ export declare const AuthSessionCookieConfig: Context.Reference<SessionCookieOptions>;
30
+ export declare const AuthChallengeConfig: Context.Reference<AuthChallengeConfig>;
31
+ export declare const AuthPrivacyConfig: Context.Reference<AuthPrivacyConfig>;
32
+ export declare const AuthEmailVerificationSessionPolicyConfig: Context.Reference<EmailVerificationSessionPolicyOptions>;
33
+ export interface AuthDomainConfigOptions {
34
+ readonly sessions?: AuthSessionsConfig;
35
+ readonly sessionCookie?: SessionCookieOptions;
36
+ readonly challenge?: AuthChallengeConfig;
37
+ readonly privacy?: AuthPrivacyConfig;
38
+ readonly emailVerificationSessionPolicy?: EmailVerificationSessionPolicyOptions;
39
+ }
40
+ export declare const AuthDomainConfigLive: (options?: AuthDomainConfigOptions) => Layer.Layer<never, never, never>;
41
+ export {};
42
+ //# sourceMappingURL=AuthConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthConfig.d.ts","sourceRoot":"","sources":["../src/AuthConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,KAAK,EAAY,MAAM,QAAQ,CAAC;AAE1D,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;CAC7B;;AAED,qBAAa,WAAY,SAAQ,gBAGV;CAAG;AAE1B,yBAAiB,WAAW,CAAC;IACpB,MAAM,IAAI,GAAI,SAAS,gBAAgB,KAAG,gBACxB,CAAC;CAC3B;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,gBAAgB,2CACF,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAiBD,eAAO,MAAM,uBAAuB,GAClC,SAAS,0BAA0B,kDAapC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,uCAG9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,yCAGnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wCAG/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,sCAG7B,CAAC;AAEF,eAAO,MAAM,wCAAwC,0DAIlD,CAAC;AAEJ,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,qCAAqC,CAAC;CACjF;AAED,eAAO,MAAM,oBAAoB,GAAI,UAAS,uBAA4B,qCAmBvE,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { Context, Effect, Layer, Redacted } from "effect";
2
+ import { Crypto } from "./Crypto.js";
3
+ export class AuthSecrets extends Context.Service()("auth/AuthSecrets") {
4
+ }
5
+ (function (AuthSecrets) {
6
+ AuthSecrets.make = (secrets) => AuthSecrets.of(secrets);
7
+ })(AuthSecrets || (AuthSecrets = {}));
8
+ export const AuthSecretsLive = (secrets) => Layer.succeed(AuthSecrets)(AuthSecrets.make(secrets));
9
+ const deriveSecret = (root, namespace, purpose) => Effect.gen(function* () {
10
+ const crypto = yield* Crypto;
11
+ const value = yield* crypto.hmacSha256({
12
+ key: root,
13
+ data: `${namespace}.${purpose}`,
14
+ });
15
+ return Redacted.make(value);
16
+ });
17
+ export const AuthSecretsFromRootLive = (options) => {
18
+ const namespace = options.namespace ?? "auth.secret.v1";
19
+ return Layer.effect(AuthSecrets)(Effect.gen(function* () {
20
+ return AuthSecrets.make({
21
+ session: yield* deriveSecret(options.root, namespace, "session"),
22
+ challenge: yield* deriveSecret(options.root, namespace, "challenge"),
23
+ privacy: yield* deriveSecret(options.root, namespace, "privacy"),
24
+ });
25
+ }));
26
+ };
27
+ export const AuthSessionsConfig = Context.Reference("auth/config/Sessions", { defaultValue: () => ({}) });
28
+ export const AuthSessionCookieConfig = Context.Reference("auth/config/SessionCookie", { defaultValue: () => ({}) });
29
+ export const AuthChallengeConfig = Context.Reference("auth/config/Challenge", { defaultValue: () => ({}) });
30
+ export const AuthPrivacyConfig = Context.Reference("auth/config/Privacy", { defaultValue: () => ({}) });
31
+ export const AuthEmailVerificationSessionPolicyConfig = Context.Reference("auth/config/EmailVerificationSessionPolicy", { defaultValue: () => ({}) });
32
+ export const AuthDomainConfigLive = (options = {}) => Layer.mergeAll(options.sessions === undefined
33
+ ? Layer.empty
34
+ : Layer.succeed(AuthSessionsConfig)(options.sessions), options.sessionCookie === undefined
35
+ ? Layer.empty
36
+ : Layer.succeed(AuthSessionCookieConfig)(options.sessionCookie), options.challenge === undefined
37
+ ? Layer.empty
38
+ : Layer.succeed(AuthChallengeConfig)(options.challenge), options.privacy === undefined
39
+ ? Layer.empty
40
+ : Layer.succeed(AuthPrivacyConfig)(options.privacy), options.emailVerificationSessionPolicy === undefined
41
+ ? Layer.empty
42
+ : Layer.succeed(AuthEmailVerificationSessionPolicyConfig)(options.emailVerificationSessionPolicy));
43
+ //# sourceMappingURL=AuthConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthConfig.js","sourceRoot":"","sources":["../src/AuthConfig.ts"],"names":[],"mappings":"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"}