@effect-auth/core 0.1.0-alpha.15 → 0.1.0-alpha.18

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 (627) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +332 -131
  3. package/dist/AbuseProtection.d.ts +100 -0
  4. package/dist/AbuseProtection.d.ts.map +1 -0
  5. package/dist/AbuseProtection.js +71 -0
  6. package/dist/AbuseProtection.js.map +1 -0
  7. package/dist/AccessGrant.d.ts +344 -0
  8. package/dist/AccessGrant.d.ts.map +1 -0
  9. package/dist/AccessGrant.js +687 -0
  10. package/dist/AccessGrant.js.map +1 -0
  11. package/dist/ApiKey.d.ts +2 -14
  12. package/dist/ApiKey.d.ts.map +1 -1
  13. package/dist/ApiKey.js +36 -27
  14. package/dist/ApiKey.js.map +1 -1
  15. package/dist/Assurance.d.ts +415 -0
  16. package/dist/Assurance.d.ts.map +1 -0
  17. package/dist/Assurance.js +764 -0
  18. package/dist/Assurance.js.map +1 -0
  19. package/dist/AtomicPlanExecutor.d.ts +28 -0
  20. package/dist/AtomicPlanExecutor.d.ts.map +1 -0
  21. package/dist/AtomicPlanExecutor.js +5 -0
  22. package/dist/AtomicPlanExecutor.js.map +1 -0
  23. package/dist/AuditLog.d.ts +2314 -52
  24. package/dist/AuditLog.d.ts.map +1 -1
  25. package/dist/AuditLog.js +511 -33
  26. package/dist/AuditLog.js.map +1 -1
  27. package/dist/AuthConfig.d.ts.map +1 -1
  28. package/dist/AuthConfig.js.map +1 -1
  29. package/dist/AuthFlow.d.ts +326 -220
  30. package/dist/AuthFlow.d.ts.map +1 -1
  31. package/dist/AuthFlow.js +611 -263
  32. package/dist/AuthFlow.js.map +1 -1
  33. package/dist/AuthKernel.d.ts +1 -1
  34. package/dist/AuthRateLimit.d.ts +96 -0
  35. package/dist/AuthRateLimit.d.ts.map +1 -0
  36. package/dist/AuthRateLimit.js +212 -0
  37. package/dist/AuthRateLimit.js.map +1 -0
  38. package/dist/Challenge.d.ts +0 -3
  39. package/dist/Challenge.d.ts.map +1 -1
  40. package/dist/Challenge.js +1 -4
  41. package/dist/Challenge.js.map +1 -1
  42. package/dist/Client.d.ts +205 -10
  43. package/dist/Client.d.ts.map +1 -1
  44. package/dist/Client.js +397 -16
  45. package/dist/Client.js.map +1 -1
  46. package/dist/CloudflareTurnstile.d.ts +28 -0
  47. package/dist/CloudflareTurnstile.d.ts.map +1 -0
  48. package/dist/CloudflareTurnstile.js +205 -0
  49. package/dist/CloudflareTurnstile.js.map +1 -0
  50. package/dist/Crypto.d.ts +0 -3
  51. package/dist/Crypto.d.ts.map +1 -1
  52. package/dist/Crypto.js +5 -7
  53. package/dist/Crypto.js.map +1 -1
  54. package/dist/DelegatedAccessStorageMigrations.d.ts +7 -0
  55. package/dist/DelegatedAccessStorageMigrations.d.ts.map +1 -0
  56. package/dist/DelegatedAccessStorageMigrations.js +159 -0
  57. package/dist/DelegatedAccessStorageMigrations.js.map +1 -0
  58. package/dist/DisposableEmailDomains.d.ts +19 -0
  59. package/dist/DisposableEmailDomains.d.ts.map +1 -0
  60. package/dist/DisposableEmailDomains.js +85 -0
  61. package/dist/DisposableEmailDomains.js.map +1 -0
  62. package/dist/DomainVerification.d.ts +0 -9
  63. package/dist/DomainVerification.d.ts.map +1 -1
  64. package/dist/DomainVerification.js +36 -22
  65. package/dist/DomainVerification.js.map +1 -1
  66. package/dist/DrizzleBunSqliteStorage.d.ts +18 -0
  67. package/dist/DrizzleBunSqliteStorage.d.ts.map +1 -0
  68. package/dist/DrizzleBunSqliteStorage.js +11 -0
  69. package/dist/DrizzleBunSqliteStorage.js.map +1 -0
  70. package/dist/DrizzleD1SqliteStorage.d.ts +28 -0
  71. package/dist/DrizzleD1SqliteStorage.d.ts.map +1 -0
  72. package/dist/DrizzleD1SqliteStorage.js +10 -0
  73. package/dist/DrizzleD1SqliteStorage.js.map +1 -0
  74. package/dist/DrizzleDurableObjectSqliteStorage.d.ts +19 -0
  75. package/dist/DrizzleDurableObjectSqliteStorage.d.ts.map +1 -0
  76. package/dist/DrizzleDurableObjectSqliteStorage.js +14 -0
  77. package/dist/DrizzleDurableObjectSqliteStorage.js.map +1 -0
  78. package/dist/DrizzleEffectSqliteStorage.d.ts +31 -0
  79. package/dist/DrizzleEffectSqliteStorage.d.ts.map +1 -0
  80. package/dist/DrizzleEffectSqliteStorage.js +108 -0
  81. package/dist/DrizzleEffectSqliteStorage.js.map +1 -0
  82. package/dist/DrizzleNodeSqliteStorage.d.ts +18 -0
  83. package/dist/DrizzleNodeSqliteStorage.d.ts.map +1 -0
  84. package/dist/DrizzleNodeSqliteStorage.js +11 -0
  85. package/dist/DrizzleNodeSqliteStorage.js.map +1 -0
  86. package/dist/DrizzleWasmSqliteStorage.d.ts +23 -0
  87. package/dist/DrizzleWasmSqliteStorage.d.ts.map +1 -0
  88. package/dist/DrizzleWasmSqliteStorage.js +15 -0
  89. package/dist/DrizzleWasmSqliteStorage.js.map +1 -0
  90. package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts +34 -0
  91. package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts.map +1 -0
  92. package/dist/EffectQbPostgresDelegatedAccessStorage.js +499 -0
  93. package/dist/EffectQbPostgresDelegatedAccessStorage.js.map +1 -0
  94. package/dist/EffectQbPostgresStorage.d.ts +171 -0
  95. package/dist/EffectQbPostgresStorage.d.ts.map +1 -0
  96. package/dist/EffectQbPostgresStorage.js +4280 -0
  97. package/dist/EffectQbPostgresStorage.js.map +1 -0
  98. package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts +112 -0
  99. package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts.map +1 -0
  100. package/dist/EffectQbSqliteDelegatedAccessStorage.js +602 -0
  101. package/dist/EffectQbSqliteDelegatedAccessStorage.js.map +1 -0
  102. package/dist/EffectQbSqliteStorage.d.ts +184 -27
  103. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  104. package/dist/EffectQbSqliteStorage.js +1729 -135
  105. package/dist/EffectQbSqliteStorage.js.map +1 -1
  106. package/dist/EmailAuth.d.ts +65 -0
  107. package/dist/EmailAuth.d.ts.map +1 -0
  108. package/dist/EmailAuth.js +171 -0
  109. package/dist/EmailAuth.js.map +1 -0
  110. package/dist/EmailIdentityAuth.d.ts +30 -0
  111. package/dist/EmailIdentityAuth.d.ts.map +1 -0
  112. package/dist/EmailIdentityAuth.js +142 -0
  113. package/dist/EmailIdentityAuth.js.map +1 -0
  114. package/dist/EmailOtp.d.ts +10 -11
  115. package/dist/EmailOtp.d.ts.map +1 -1
  116. package/dist/EmailOtp.js +44 -81
  117. package/dist/EmailOtp.js.map +1 -1
  118. package/dist/EmailRisk.d.ts +48 -0
  119. package/dist/EmailRisk.d.ts.map +1 -0
  120. package/dist/EmailRisk.js +33 -0
  121. package/dist/EmailRisk.js.map +1 -0
  122. package/dist/EmailVerification.d.ts +10 -16
  123. package/dist/EmailVerification.d.ts.map +1 -1
  124. package/dist/EmailVerification.js +85 -42
  125. package/dist/EmailVerification.js.map +1 -1
  126. package/dist/Guard.d.ts +11 -0
  127. package/dist/Guard.d.ts.map +1 -0
  128. package/dist/Guard.js +11 -0
  129. package/dist/Guard.js.map +1 -0
  130. package/dist/HibpPwnedPasswords.d.ts +56 -0
  131. package/dist/HibpPwnedPasswords.d.ts.map +1 -0
  132. package/dist/HibpPwnedPasswords.js +232 -0
  133. package/dist/HibpPwnedPasswords.js.map +1 -0
  134. package/dist/HttpApi/AdminPermissionDefinition.d.ts +4 -0
  135. package/dist/HttpApi/AdminPermissionDefinition.d.ts.map +1 -0
  136. package/dist/HttpApi/AdminPermissionDefinition.js +4 -0
  137. package/dist/HttpApi/AdminPermissionDefinition.js.map +1 -0
  138. package/dist/HttpApi/AdminSecurityTimeline.d.ts +4 -0
  139. package/dist/HttpApi/AdminSecurityTimeline.d.ts.map +1 -0
  140. package/dist/HttpApi/AdminSecurityTimeline.js +4 -0
  141. package/dist/HttpApi/AdminSecurityTimeline.js.map +1 -0
  142. package/dist/HttpApi/AdminSession.d.ts +4 -0
  143. package/dist/HttpApi/AdminSession.d.ts.map +1 -0
  144. package/dist/HttpApi/AdminSession.js +4 -0
  145. package/dist/HttpApi/AdminSession.js.map +1 -0
  146. package/dist/HttpApi/AdminTrustedDevice.d.ts +4 -0
  147. package/dist/HttpApi/AdminTrustedDevice.d.ts.map +1 -0
  148. package/dist/HttpApi/AdminTrustedDevice.js +4 -0
  149. package/dist/HttpApi/AdminTrustedDevice.js.map +1 -0
  150. package/dist/HttpApi/Api.d.ts +1172 -1172
  151. package/dist/HttpApi/Api.d.ts.map +1 -1
  152. package/dist/HttpApi/Api.js +2160 -896
  153. package/dist/HttpApi/Api.js.map +1 -1
  154. package/dist/HttpApi/ApiKey.d.ts +4 -0
  155. package/dist/HttpApi/ApiKey.d.ts.map +1 -0
  156. package/dist/HttpApi/ApiKey.js +4 -0
  157. package/dist/HttpApi/ApiKey.js.map +1 -0
  158. package/dist/HttpApi/Audit.d.ts +6 -0
  159. package/dist/HttpApi/Audit.d.ts.map +1 -0
  160. package/dist/HttpApi/Audit.js +10 -0
  161. package/dist/HttpApi/Audit.js.map +1 -0
  162. package/dist/HttpApi/ClientApi.d.ts +917 -0
  163. package/dist/HttpApi/ClientApi.d.ts.map +1 -0
  164. package/dist/HttpApi/ClientApi.js +101 -0
  165. package/dist/HttpApi/ClientApi.js.map +1 -0
  166. package/dist/HttpApi/EmailAuth.d.ts +6 -0
  167. package/dist/HttpApi/EmailAuth.d.ts.map +1 -0
  168. package/dist/HttpApi/EmailAuth.js +6 -0
  169. package/dist/HttpApi/EmailAuth.js.map +1 -0
  170. package/dist/HttpApi/EmailGuards.d.ts +115 -0
  171. package/dist/HttpApi/EmailGuards.d.ts.map +1 -0
  172. package/dist/HttpApi/EmailGuards.js +191 -0
  173. package/dist/HttpApi/EmailGuards.js.map +1 -0
  174. package/dist/HttpApi/EmailOtp.d.ts +6 -0
  175. package/dist/HttpApi/EmailOtp.d.ts.map +1 -0
  176. package/dist/HttpApi/EmailOtp.js +6 -0
  177. package/dist/HttpApi/EmailOtp.js.map +1 -0
  178. package/dist/HttpApi/EmailVerification.d.ts +6 -0
  179. package/dist/HttpApi/EmailVerification.d.ts.map +1 -0
  180. package/dist/HttpApi/EmailVerification.js +6 -0
  181. package/dist/HttpApi/EmailVerification.js.map +1 -0
  182. package/dist/HttpApi/Endpoints.d.ts +629 -301
  183. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  184. package/dist/HttpApi/Endpoints.js +178 -120
  185. package/dist/HttpApi/Endpoints.js.map +1 -1
  186. package/dist/HttpApi/Errors.d.ts +26 -7
  187. package/dist/HttpApi/Errors.d.ts.map +1 -1
  188. package/dist/HttpApi/Errors.js +26 -4
  189. package/dist/HttpApi/Errors.js.map +1 -1
  190. package/dist/HttpApi/Identity.d.ts +6 -0
  191. package/dist/HttpApi/Identity.d.ts.map +1 -0
  192. package/dist/HttpApi/Identity.js +6 -0
  193. package/dist/HttpApi/Identity.js.map +1 -0
  194. package/dist/HttpApi/IdentityGuards.d.ts +31 -0
  195. package/dist/HttpApi/IdentityGuards.d.ts.map +1 -0
  196. package/dist/HttpApi/IdentityGuards.js +33 -0
  197. package/dist/HttpApi/IdentityGuards.js.map +1 -0
  198. package/dist/HttpApi/Jwt.d.ts +4 -0
  199. package/dist/HttpApi/Jwt.d.ts.map +1 -0
  200. package/dist/HttpApi/Jwt.js +4 -0
  201. package/dist/HttpApi/Jwt.js.map +1 -0
  202. package/dist/HttpApi/JwtDiscovery.d.ts +4 -0
  203. package/dist/HttpApi/JwtDiscovery.d.ts.map +1 -0
  204. package/dist/HttpApi/JwtDiscovery.js +4 -0
  205. package/dist/HttpApi/JwtDiscovery.js.map +1 -0
  206. package/dist/HttpApi/LoginApproval.d.ts +5 -0
  207. package/dist/HttpApi/LoginApproval.d.ts.map +1 -0
  208. package/dist/HttpApi/LoginApproval.js +5 -0
  209. package/dist/HttpApi/LoginApproval.js.map +1 -0
  210. package/dist/HttpApi/LoginNotification.d.ts +5 -0
  211. package/dist/HttpApi/LoginNotification.d.ts.map +1 -0
  212. package/dist/HttpApi/LoginNotification.js +5 -0
  213. package/dist/HttpApi/LoginNotification.js.map +1 -0
  214. package/dist/HttpApi/MagicLink.d.ts +6 -0
  215. package/dist/HttpApi/MagicLink.d.ts.map +1 -0
  216. package/dist/HttpApi/MagicLink.js +6 -0
  217. package/dist/HttpApi/MagicLink.js.map +1 -0
  218. package/dist/HttpApi/Mfa.d.ts +5 -0
  219. package/dist/HttpApi/Mfa.d.ts.map +1 -0
  220. package/dist/HttpApi/Mfa.js +5 -0
  221. package/dist/HttpApi/Mfa.js.map +1 -0
  222. package/dist/HttpApi/Middleware.d.ts +14 -0
  223. package/dist/HttpApi/Middleware.d.ts.map +1 -0
  224. package/dist/HttpApi/Middleware.js +5 -0
  225. package/dist/HttpApi/Middleware.js.map +1 -0
  226. package/dist/HttpApi/OAuth.d.ts +4 -0
  227. package/dist/HttpApi/OAuth.d.ts.map +1 -0
  228. package/dist/HttpApi/OAuth.js +4 -0
  229. package/dist/HttpApi/OAuth.js.map +1 -0
  230. package/dist/HttpApi/OAuthProviderAuthorization.d.ts +4 -0
  231. package/dist/HttpApi/OAuthProviderAuthorization.d.ts.map +1 -0
  232. package/dist/HttpApi/OAuthProviderAuthorization.js +4 -0
  233. package/dist/HttpApi/OAuthProviderAuthorization.js.map +1 -0
  234. package/dist/HttpApi/OAuthToken.d.ts +4 -0
  235. package/dist/HttpApi/OAuthToken.d.ts.map +1 -0
  236. package/dist/HttpApi/OAuthToken.js +4 -0
  237. package/dist/HttpApi/OAuthToken.js.map +1 -0
  238. package/dist/HttpApi/OidcDiscovery.d.ts +4 -0
  239. package/dist/HttpApi/OidcDiscovery.d.ts.map +1 -0
  240. package/dist/HttpApi/OidcDiscovery.js +4 -0
  241. package/dist/HttpApi/OidcDiscovery.js.map +1 -0
  242. package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts +28 -0
  243. package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts.map +1 -0
  244. package/dist/HttpApi/Operations/AdminPermissionDefinition.js +5 -0
  245. package/dist/HttpApi/Operations/AdminPermissionDefinition.js.map +1 -0
  246. package/dist/HttpApi/Operations/AdminSession.d.ts +16 -0
  247. package/dist/HttpApi/Operations/AdminSession.d.ts.map +1 -0
  248. package/dist/HttpApi/Operations/AdminSession.js +5 -0
  249. package/dist/HttpApi/Operations/AdminSession.js.map +1 -0
  250. package/dist/HttpApi/Operations/ApiKey.d.ts +16 -0
  251. package/dist/HttpApi/Operations/ApiKey.d.ts.map +1 -0
  252. package/dist/HttpApi/Operations/ApiKey.js +5 -0
  253. package/dist/HttpApi/Operations/ApiKey.js.map +1 -0
  254. package/dist/HttpApi/Operations/Discovery.d.ts +19 -0
  255. package/dist/HttpApi/Operations/Discovery.d.ts.map +1 -0
  256. package/dist/HttpApi/Operations/Discovery.js +7 -0
  257. package/dist/HttpApi/Operations/Discovery.js.map +1 -0
  258. package/dist/HttpApi/Operations/EmailAuth.d.ts +12 -0
  259. package/dist/HttpApi/Operations/EmailAuth.d.ts.map +1 -0
  260. package/dist/HttpApi/Operations/EmailAuth.js +5 -0
  261. package/dist/HttpApi/Operations/EmailAuth.js.map +1 -0
  262. package/dist/HttpApi/Operations/EmailOtp.d.ts +14 -0
  263. package/dist/HttpApi/Operations/EmailOtp.d.ts.map +1 -0
  264. package/dist/HttpApi/Operations/EmailOtp.js +5 -0
  265. package/dist/HttpApi/Operations/EmailOtp.js.map +1 -0
  266. package/dist/HttpApi/Operations/EmailVerification.d.ts +14 -0
  267. package/dist/HttpApi/Operations/EmailVerification.d.ts.map +1 -0
  268. package/dist/HttpApi/Operations/EmailVerification.js +5 -0
  269. package/dist/HttpApi/Operations/EmailVerification.js.map +1 -0
  270. package/dist/HttpApi/Operations/HttpOperation.d.ts +4 -0
  271. package/dist/HttpApi/Operations/HttpOperation.d.ts.map +1 -0
  272. package/dist/HttpApi/Operations/HttpOperation.js +2 -0
  273. package/dist/HttpApi/Operations/HttpOperation.js.map +1 -0
  274. package/dist/HttpApi/Operations/Identity.d.ts +22 -0
  275. package/dist/HttpApi/Operations/Identity.d.ts.map +1 -0
  276. package/dist/HttpApi/Operations/Identity.js +5 -0
  277. package/dist/HttpApi/Operations/Identity.js.map +1 -0
  278. package/dist/HttpApi/Operations/Jwt.d.ts +14 -0
  279. package/dist/HttpApi/Operations/Jwt.d.ts.map +1 -0
  280. package/dist/HttpApi/Operations/Jwt.js +5 -0
  281. package/dist/HttpApi/Operations/Jwt.js.map +1 -0
  282. package/dist/HttpApi/Operations/LoginApproval.d.ts +16 -0
  283. package/dist/HttpApi/Operations/LoginApproval.d.ts.map +1 -0
  284. package/dist/HttpApi/Operations/LoginApproval.js +5 -0
  285. package/dist/HttpApi/Operations/LoginApproval.js.map +1 -0
  286. package/dist/HttpApi/Operations/MagicLink.d.ts +14 -0
  287. package/dist/HttpApi/Operations/MagicLink.d.ts.map +1 -0
  288. package/dist/HttpApi/Operations/MagicLink.js +5 -0
  289. package/dist/HttpApi/Operations/MagicLink.js.map +1 -0
  290. package/dist/HttpApi/Operations/Mfa.d.ts +24 -0
  291. package/dist/HttpApi/Operations/Mfa.d.ts.map +1 -0
  292. package/dist/HttpApi/Operations/Mfa.js +5 -0
  293. package/dist/HttpApi/Operations/Mfa.js.map +1 -0
  294. package/dist/HttpApi/Operations/OAuth.d.ts +20 -0
  295. package/dist/HttpApi/Operations/OAuth.d.ts.map +1 -0
  296. package/dist/HttpApi/Operations/OAuth.js +5 -0
  297. package/dist/HttpApi/Operations/OAuth.js.map +1 -0
  298. package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts +12 -0
  299. package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts.map +1 -0
  300. package/dist/HttpApi/Operations/OAuthProviderAuthorization.js +5 -0
  301. package/dist/HttpApi/Operations/OAuthProviderAuthorization.js.map +1 -0
  302. package/dist/HttpApi/Operations/OAuthToken.d.ts +16 -0
  303. package/dist/HttpApi/Operations/OAuthToken.d.ts.map +1 -0
  304. package/dist/HttpApi/Operations/OAuthToken.js +5 -0
  305. package/dist/HttpApi/Operations/OAuthToken.js.map +1 -0
  306. package/dist/HttpApi/Operations/Passkey.d.ts +22 -0
  307. package/dist/HttpApi/Operations/Passkey.d.ts.map +1 -0
  308. package/dist/HttpApi/Operations/Passkey.js +5 -0
  309. package/dist/HttpApi/Operations/Passkey.js.map +1 -0
  310. package/dist/HttpApi/Operations/Password.d.ts +22 -0
  311. package/dist/HttpApi/Operations/Password.d.ts.map +1 -0
  312. package/dist/HttpApi/Operations/Password.js +5 -0
  313. package/dist/HttpApi/Operations/Password.js.map +1 -0
  314. package/dist/HttpApi/Operations/RecoveryCodes.d.ts +20 -0
  315. package/dist/HttpApi/Operations/RecoveryCodes.d.ts.map +1 -0
  316. package/dist/HttpApi/Operations/RecoveryCodes.js +5 -0
  317. package/dist/HttpApi/Operations/RecoveryCodes.js.map +1 -0
  318. package/dist/HttpApi/Operations/RefreshToken.d.ts +12 -0
  319. package/dist/HttpApi/Operations/RefreshToken.d.ts.map +1 -0
  320. package/dist/HttpApi/Operations/RefreshToken.js +5 -0
  321. package/dist/HttpApi/Operations/RefreshToken.js.map +1 -0
  322. package/dist/HttpApi/Operations/Security.d.ts +12 -0
  323. package/dist/HttpApi/Operations/Security.d.ts.map +1 -0
  324. package/dist/HttpApi/Operations/Security.js +5 -0
  325. package/dist/HttpApi/Operations/Security.js.map +1 -0
  326. package/dist/HttpApi/Operations/SecurityTimeline.d.ts +19 -0
  327. package/dist/HttpApi/Operations/SecurityTimeline.d.ts.map +1 -0
  328. package/dist/HttpApi/Operations/SecurityTimeline.js +7 -0
  329. package/dist/HttpApi/Operations/SecurityTimeline.js.map +1 -0
  330. package/dist/HttpApi/Operations/Session.d.ts +22 -0
  331. package/dist/HttpApi/Operations/Session.d.ts.map +1 -0
  332. package/dist/HttpApi/Operations/Session.js +5 -0
  333. package/dist/HttpApi/Operations/Session.js.map +1 -0
  334. package/dist/HttpApi/Operations/StepUp.d.ts +22 -0
  335. package/dist/HttpApi/Operations/StepUp.d.ts.map +1 -0
  336. package/dist/HttpApi/Operations/StepUp.js +5 -0
  337. package/dist/HttpApi/Operations/StepUp.js.map +1 -0
  338. package/dist/HttpApi/Operations/Totp.d.ts +20 -0
  339. package/dist/HttpApi/Operations/Totp.d.ts.map +1 -0
  340. package/dist/HttpApi/Operations/Totp.js +5 -0
  341. package/dist/HttpApi/Operations/Totp.js.map +1 -0
  342. package/dist/HttpApi/Operations/TrustedDevice.d.ts +23 -0
  343. package/dist/HttpApi/Operations/TrustedDevice.d.ts.map +1 -0
  344. package/dist/HttpApi/Operations/TrustedDevice.js +7 -0
  345. package/dist/HttpApi/Operations/TrustedDevice.js.map +1 -0
  346. package/dist/HttpApi/Operations/index.d.ts +27 -0
  347. package/dist/HttpApi/Operations/index.d.ts.map +1 -0
  348. package/dist/HttpApi/Operations/index.js +27 -0
  349. package/dist/HttpApi/Operations/index.js.map +1 -0
  350. package/dist/HttpApi/Passkey.d.ts +5 -0
  351. package/dist/HttpApi/Passkey.d.ts.map +1 -0
  352. package/dist/HttpApi/Passkey.js +5 -0
  353. package/dist/HttpApi/Passkey.js.map +1 -0
  354. package/dist/HttpApi/Password.d.ts +220 -0
  355. package/dist/HttpApi/Password.d.ts.map +1 -0
  356. package/dist/HttpApi/Password.js +237 -0
  357. package/dist/HttpApi/Password.js.map +1 -0
  358. package/dist/HttpApi/PasswordContract.d.ts +307 -0
  359. package/dist/HttpApi/PasswordContract.d.ts.map +1 -0
  360. package/dist/HttpApi/PasswordContract.js +63 -0
  361. package/dist/HttpApi/PasswordContract.js.map +1 -0
  362. package/dist/HttpApi/PasswordGuards.d.ts +82 -0
  363. package/dist/HttpApi/PasswordGuards.d.ts.map +1 -0
  364. package/dist/HttpApi/PasswordGuards.js +179 -0
  365. package/dist/HttpApi/PasswordGuards.js.map +1 -0
  366. package/dist/HttpApi/RecoveryCodes.d.ts +5 -0
  367. package/dist/HttpApi/RecoveryCodes.d.ts.map +1 -0
  368. package/dist/HttpApi/RecoveryCodes.js +5 -0
  369. package/dist/HttpApi/RecoveryCodes.js.map +1 -0
  370. package/dist/HttpApi/RefreshToken.d.ts +4 -0
  371. package/dist/HttpApi/RefreshToken.d.ts.map +1 -0
  372. package/dist/HttpApi/RefreshToken.js +4 -0
  373. package/dist/HttpApi/RefreshToken.js.map +1 -0
  374. package/dist/HttpApi/RequestGuards.d.ts +42 -0
  375. package/dist/HttpApi/RequestGuards.d.ts.map +1 -0
  376. package/dist/HttpApi/RequestGuards.js +194 -0
  377. package/dist/HttpApi/RequestGuards.js.map +1 -0
  378. package/dist/HttpApi/Schemas.d.ts +361 -84
  379. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  380. package/dist/HttpApi/Schemas.js +190 -27
  381. package/dist/HttpApi/Schemas.js.map +1 -1
  382. package/dist/HttpApi/Security.d.ts +12 -93
  383. package/dist/HttpApi/Security.d.ts.map +1 -1
  384. package/dist/HttpApi/Security.js +65 -356
  385. package/dist/HttpApi/Security.js.map +1 -1
  386. package/dist/HttpApi/SecurityTimeline.d.ts +4 -0
  387. package/dist/HttpApi/SecurityTimeline.d.ts.map +1 -0
  388. package/dist/HttpApi/SecurityTimeline.js +4 -0
  389. package/dist/HttpApi/SecurityTimeline.js.map +1 -0
  390. package/dist/HttpApi/Session.d.ts +5 -0
  391. package/dist/HttpApi/Session.d.ts.map +1 -0
  392. package/dist/HttpApi/Session.js +5 -0
  393. package/dist/HttpApi/Session.js.map +1 -0
  394. package/dist/HttpApi/SessionGuards.d.ts +15 -0
  395. package/dist/HttpApi/SessionGuards.d.ts.map +1 -0
  396. package/dist/HttpApi/SessionGuards.js +37 -0
  397. package/dist/HttpApi/SessionGuards.js.map +1 -0
  398. package/dist/HttpApi/StepUp.d.ts +5 -0
  399. package/dist/HttpApi/StepUp.d.ts.map +1 -0
  400. package/dist/HttpApi/StepUp.js +5 -0
  401. package/dist/HttpApi/StepUp.js.map +1 -0
  402. package/dist/HttpApi/Totp.d.ts +5 -0
  403. package/dist/HttpApi/Totp.d.ts.map +1 -0
  404. package/dist/HttpApi/Totp.js +5 -0
  405. package/dist/HttpApi/Totp.js.map +1 -0
  406. package/dist/HttpApi/Transport.d.ts +4 -6
  407. package/dist/HttpApi/Transport.d.ts.map +1 -1
  408. package/dist/HttpApi/Transport.js +62 -36
  409. package/dist/HttpApi/Transport.js.map +1 -1
  410. package/dist/HttpApi/TrustedDevice.d.ts +4 -0
  411. package/dist/HttpApi/TrustedDevice.d.ts.map +1 -0
  412. package/dist/HttpApi/TrustedDevice.js +4 -0
  413. package/dist/HttpApi/TrustedDevice.js.map +1 -0
  414. package/dist/HttpApi/index.d.ts +9 -3
  415. package/dist/HttpApi/index.d.ts.map +1 -1
  416. package/dist/HttpApi/index.js +8 -2
  417. package/dist/HttpApi/index.js.map +1 -1
  418. package/dist/Identity.d.ts +138 -0
  419. package/dist/Identity.d.ts.map +1 -0
  420. package/dist/Identity.js +105 -0
  421. package/dist/Identity.js.map +1 -0
  422. package/dist/IdentityManagement.d.ts +189 -0
  423. package/dist/IdentityManagement.d.ts.map +1 -0
  424. package/dist/IdentityManagement.js +317 -0
  425. package/dist/IdentityManagement.js.map +1 -0
  426. package/dist/IncidentAction.d.ts +1 -4
  427. package/dist/IncidentAction.d.ts.map +1 -1
  428. package/dist/IncidentAction.js +15 -9
  429. package/dist/IncidentAction.js.map +1 -1
  430. package/dist/Internal.d.ts +2 -0
  431. package/dist/Internal.d.ts.map +1 -1
  432. package/dist/Internal.js +30 -0
  433. package/dist/Internal.js.map +1 -1
  434. package/dist/Invitation.d.ts +362 -0
  435. package/dist/Invitation.d.ts.map +1 -0
  436. package/dist/Invitation.js +633 -0
  437. package/dist/Invitation.js.map +1 -0
  438. package/dist/IpQualityScore.d.ts +38 -0
  439. package/dist/IpQualityScore.d.ts.map +1 -0
  440. package/dist/IpQualityScore.js +215 -0
  441. package/dist/IpQualityScore.js.map +1 -0
  442. package/dist/Jwt.d.ts +9 -30
  443. package/dist/Jwt.d.ts.map +1 -1
  444. package/dist/Jwt.js +72 -60
  445. package/dist/Jwt.js.map +1 -1
  446. package/dist/LoginApproval.d.ts +16 -31
  447. package/dist/LoginApproval.d.ts.map +1 -1
  448. package/dist/LoginApproval.js +47 -41
  449. package/dist/LoginApproval.js.map +1 -1
  450. package/dist/LoginNotification.d.ts +8 -12
  451. package/dist/LoginNotification.d.ts.map +1 -1
  452. package/dist/LoginNotification.js +30 -17
  453. package/dist/LoginNotification.js.map +1 -1
  454. package/dist/LoginRisk.d.ts +11 -13
  455. package/dist/LoginRisk.d.ts.map +1 -1
  456. package/dist/LoginRisk.js +66 -26
  457. package/dist/LoginRisk.js.map +1 -1
  458. package/dist/LoginRiskEnrichment.d.ts +145 -0
  459. package/dist/LoginRiskEnrichment.d.ts.map +1 -0
  460. package/dist/LoginRiskEnrichment.js +220 -0
  461. package/dist/LoginRiskEnrichment.js.map +1 -0
  462. package/dist/MachineAuth.d.ts.map +1 -1
  463. package/dist/MachineAuth.js.map +1 -1
  464. package/dist/MagicLink.d.ts +9 -8
  465. package/dist/MagicLink.d.ts.map +1 -1
  466. package/dist/MagicLink.js +40 -73
  467. package/dist/MagicLink.js.map +1 -1
  468. package/dist/Mailer.d.ts +20 -13
  469. package/dist/Mailer.d.ts.map +1 -1
  470. package/dist/Mailer.js +10 -12
  471. package/dist/Mailer.js.map +1 -1
  472. package/dist/OAuth.d.ts +100 -103
  473. package/dist/OAuth.d.ts.map +1 -1
  474. package/dist/OAuth.js +404 -217
  475. package/dist/OAuth.js.map +1 -1
  476. package/dist/Passkey.d.ts +17 -19
  477. package/dist/Passkey.d.ts.map +1 -1
  478. package/dist/Passkey.js +86 -39
  479. package/dist/Passkey.js.map +1 -1
  480. package/dist/PasskeyBrowser.d.ts +39 -0
  481. package/dist/PasskeyBrowser.d.ts.map +1 -0
  482. package/dist/PasskeyBrowser.js +206 -0
  483. package/dist/PasskeyBrowser.js.map +1 -0
  484. package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -1
  485. package/dist/PasskeySimpleWebAuthn.js +19 -7
  486. package/dist/PasskeySimpleWebAuthn.js.map +1 -1
  487. package/dist/Password.d.ts +71 -37
  488. package/dist/Password.d.ts.map +1 -1
  489. package/dist/Password.js +296 -82
  490. package/dist/Password.js.map +1 -1
  491. package/dist/PasswordRisk.d.ts +63 -0
  492. package/dist/PasswordRisk.d.ts.map +1 -0
  493. package/dist/PasswordRisk.js +37 -0
  494. package/dist/PasswordRisk.js.map +1 -0
  495. package/dist/Permission.d.ts +308 -0
  496. package/dist/Permission.d.ts.map +1 -0
  497. package/dist/Permission.js +827 -0
  498. package/dist/Permission.js.map +1 -0
  499. package/dist/Policy.d.ts +31 -18
  500. package/dist/Policy.d.ts.map +1 -1
  501. package/dist/Policy.js +58 -14
  502. package/dist/Policy.js.map +1 -1
  503. package/dist/PostgresDelegatedAccessStorageMigrations.d.ts +7 -0
  504. package/dist/PostgresDelegatedAccessStorageMigrations.d.ts.map +1 -0
  505. package/dist/PostgresDelegatedAccessStorageMigrations.js +119 -0
  506. package/dist/PostgresDelegatedAccessStorageMigrations.js.map +1 -0
  507. package/dist/PostgresStorageMigrations.d.ts +15 -0
  508. package/dist/PostgresStorageMigrations.d.ts.map +1 -0
  509. package/dist/PostgresStorageMigrations.js +620 -0
  510. package/dist/PostgresStorageMigrations.js.map +1 -0
  511. package/dist/Privacy.d.ts +0 -3
  512. package/dist/Privacy.d.ts.map +1 -1
  513. package/dist/Privacy.js +2 -5
  514. package/dist/Privacy.js.map +1 -1
  515. package/dist/RateLimiter.d.ts +0 -3
  516. package/dist/RateLimiter.d.ts.map +1 -1
  517. package/dist/RateLimiter.js +1 -4
  518. package/dist/RateLimiter.js.map +1 -1
  519. package/dist/RecoveryCode.d.ts +84 -12
  520. package/dist/RecoveryCode.d.ts.map +1 -1
  521. package/dist/RecoveryCode.js +273 -75
  522. package/dist/RecoveryCode.js.map +1 -1
  523. package/dist/RecoveryPolicy.d.ts +81 -0
  524. package/dist/RecoveryPolicy.d.ts.map +1 -0
  525. package/dist/RecoveryPolicy.js +119 -0
  526. package/dist/RecoveryPolicy.js.map +1 -0
  527. package/dist/RefreshToken.d.ts +1 -10
  528. package/dist/RefreshToken.d.ts.map +1 -1
  529. package/dist/RefreshToken.js +31 -22
  530. package/dist/RefreshToken.js.map +1 -1
  531. package/dist/Retention.d.ts.map +1 -1
  532. package/dist/Retention.js.map +1 -1
  533. package/dist/SecurityTimeline.d.ts +1 -4
  534. package/dist/SecurityTimeline.d.ts.map +1 -1
  535. package/dist/SecurityTimeline.js +110 -17
  536. package/dist/SecurityTimeline.js.map +1 -1
  537. package/dist/Sessions.d.ts +124 -29
  538. package/dist/Sessions.d.ts.map +1 -1
  539. package/dist/Sessions.js +626 -94
  540. package/dist/Sessions.js.map +1 -1
  541. package/dist/StepUp.d.ts +132 -11
  542. package/dist/StepUp.d.ts.map +1 -1
  543. package/dist/StepUp.js +387 -19
  544. package/dist/StepUp.js.map +1 -1
  545. package/dist/Storage.d.ts +89 -23
  546. package/dist/Storage.d.ts.map +1 -1
  547. package/dist/Storage.js +10 -12
  548. package/dist/Storage.js.map +1 -1
  549. package/dist/StorageMigrations.d.ts +6 -1
  550. package/dist/StorageMigrations.d.ts.map +1 -1
  551. package/dist/StorageMigrations.js +224 -0
  552. package/dist/StorageMigrations.js.map +1 -1
  553. package/dist/StorageSchemaGenerator.d.ts +486 -0
  554. package/dist/StorageSchemaGenerator.d.ts.map +1 -0
  555. package/dist/StorageSchemaGenerator.js +1022 -0
  556. package/dist/StorageSchemaGenerator.js.map +1 -0
  557. package/dist/StrongFactor.d.ts +64 -0
  558. package/dist/StrongFactor.d.ts.map +1 -0
  559. package/dist/StrongFactor.js +100 -0
  560. package/dist/StrongFactor.js.map +1 -0
  561. package/dist/Testing.d.ts +1 -1
  562. package/dist/Testing.js +2 -2
  563. package/dist/Testing.js.map +1 -1
  564. package/dist/Totp.d.ts +88 -13
  565. package/dist/Totp.d.ts.map +1 -1
  566. package/dist/Totp.js +194 -36
  567. package/dist/Totp.js.map +1 -1
  568. package/dist/TrustedDevice.d.ts +0 -9
  569. package/dist/TrustedDevice.d.ts.map +1 -1
  570. package/dist/TrustedDevice.js +15 -17
  571. package/dist/TrustedDevice.js.map +1 -1
  572. package/dist/WaitUntil.d.ts +0 -3
  573. package/dist/WaitUntil.d.ts.map +1 -1
  574. package/dist/WaitUntil.js +1 -4
  575. package/dist/WaitUntil.js.map +1 -1
  576. package/dist/Webhook.d.ts +42 -12
  577. package/dist/Webhook.d.ts.map +1 -1
  578. package/dist/Webhook.js +165 -26
  579. package/dist/Webhook.js.map +1 -1
  580. package/dist/alchemy/cloudflare/Email.d.ts +4 -4
  581. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -1
  582. package/dist/alchemy/cloudflare/Email.js +10 -5
  583. package/dist/alchemy/cloudflare/Email.js.map +1 -1
  584. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts +4 -4
  585. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts.map +1 -1
  586. package/dist/alchemy/cloudflare/RateLimitDurableObject.js +5 -4
  587. package/dist/alchemy/cloudflare/RateLimitDurableObject.js.map +1 -1
  588. package/dist/cloudflare/Email.d.ts.map +1 -1
  589. package/dist/cloudflare/Email.js +1 -1
  590. package/dist/cloudflare/Email.js.map +1 -1
  591. package/dist/cloudflare/RateLimitDurableObject.d.ts +6 -5
  592. package/dist/cloudflare/RateLimitDurableObject.d.ts.map +1 -1
  593. package/dist/cloudflare/RateLimitDurableObject.js.map +1 -1
  594. package/dist/cloudflare/RequestMetadata.d.ts +49 -0
  595. package/dist/cloudflare/RequestMetadata.d.ts.map +1 -0
  596. package/dist/cloudflare/RequestMetadata.js +71 -0
  597. package/dist/cloudflare/RequestMetadata.js.map +1 -0
  598. package/dist/index.d.ts +0 -35
  599. package/dist/index.d.ts.map +1 -1
  600. package/dist/index.js +0 -35
  601. package/dist/index.js.map +1 -1
  602. package/dist/internal/AuthFlowFinalizer.d.ts +31 -0
  603. package/dist/internal/AuthFlowFinalizer.d.ts.map +1 -0
  604. package/dist/internal/AuthFlowFinalizer.js +182 -0
  605. package/dist/internal/AuthFlowFinalizer.js.map +1 -0
  606. package/dist/internal/RateLimitDurableObject.d.ts.map +1 -1
  607. package/dist/internal/RateLimitDurableObject.js +3 -0
  608. package/dist/internal/RateLimitDurableObject.js.map +1 -1
  609. package/migrations/0001_auth_storage.sql +1 -0
  610. package/migrations/0006_auth_totp_factor.sql +1 -0
  611. package/migrations/0024_auth_permission.sql +39 -0
  612. package/migrations/0025_auth_permission_definition.sql +19 -0
  613. package/migrations/0026_auth_user_identity.sql +59 -0
  614. package/migrations/0027_auth_audit_log_storage_order.sql +46 -0
  615. package/migrations/0028_auth_oauth_client_secret_key.sql +39 -0
  616. package/migrations/delegated-access/0001_auth_delegated_access.sql +152 -0
  617. package/migrations/postgres/0001_auth_core.sql +77 -0
  618. package/migrations/postgres/0002_auth_security_oauth.sql +65 -0
  619. package/migrations/postgres/0003_auth_credentials_tokens.sql +43 -0
  620. package/migrations/postgres/0004_auth_security_history.sql +103 -0
  621. package/migrations/postgres/0005_auth_webhooks.sql +29 -0
  622. package/migrations/postgres/0006_auth_domain_timeline.sql +50 -0
  623. package/migrations/postgres/0007_auth_oauth_clients.sql +85 -0
  624. package/migrations/postgres/0008_auth_oauth_tokens.sql +63 -0
  625. package/migrations/postgres/0009_auth_permissions.sql +66 -0
  626. package/migrations/postgres/delegated-access/0001_auth_delegated_access.sql +112 -0
  627. package/package.json +309 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageSchemaGenerator.js","sourceRoot":"","sources":["../src/StorageSchemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import type { CredentialId, UserId } from "./Identifiers.js";
3
+ import type { PasskeyCredentialId, PasskeyCredentialManagementService } from "./Passkey.js";
4
+ import type { RecoveryCodeManagementService } from "./RecoveryCode.js";
5
+ import type { TotpFactorManagementService } from "./Totp.js";
6
+ export type StrongFactorType = "passkey" | "totp" | "recovery-code";
7
+ export type StrongFactorId = CredentialId | PasskeyCredentialId | (string & {});
8
+ export interface StrongFactor {
9
+ readonly type: StrongFactorType;
10
+ readonly id: StrongFactorId;
11
+ }
12
+ export interface StrongFactorInventoryListInput {
13
+ readonly userId: UserId;
14
+ }
15
+ export interface StrongFactorRemovalInput {
16
+ readonly userId: UserId;
17
+ readonly factor: StrongFactor;
18
+ readonly factors?: readonly StrongFactor[];
19
+ }
20
+ export interface StrongFactorInventoryOptions {
21
+ readonly types?: readonly StrongFactorType[];
22
+ }
23
+ export interface StrongFactorInventoryDependencies {
24
+ readonly passkeyCredentialManagement?: PasskeyCredentialManagementService;
25
+ readonly totpFactorManagement?: TotpFactorManagementService;
26
+ readonly recoveryCodeManagement?: RecoveryCodeManagementService;
27
+ }
28
+ export type StrongFactorErrorReason = "factor_not_found" | "last_strong_factor" | "inventory_unavailable";
29
+ declare const StrongFactorError_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 & {
30
+ readonly _tag: "StrongFactorError";
31
+ } & Readonly<A>;
32
+ export declare class StrongFactorError extends StrongFactorError_base<{
33
+ readonly reason: StrongFactorErrorReason;
34
+ readonly message: string;
35
+ readonly factor?: StrongFactor;
36
+ readonly factors?: readonly StrongFactor[];
37
+ readonly cause?: unknown;
38
+ }> {
39
+ }
40
+ export interface StrongFactorInventoryService {
41
+ readonly listForUser: (input: StrongFactorInventoryListInput) => Effect.Effect<readonly StrongFactor[], StrongFactorError>;
42
+ }
43
+ declare const StrongFactorInventory_base: Context.ServiceClass<StrongFactorInventory, "auth/StrongFactorInventory", StrongFactorInventoryService>;
44
+ export declare class StrongFactorInventory extends StrongFactorInventory_base {
45
+ }
46
+ export interface StrongFactorRemovalPolicyService {
47
+ readonly requireCanRemove: (input: StrongFactorRemovalInput) => Effect.Effect<void, StrongFactorError>;
48
+ }
49
+ declare const StrongFactorRemovalPolicy_base: Context.ServiceClass<StrongFactorRemovalPolicy, "auth/StrongFactorRemovalPolicy", StrongFactorRemovalPolicyService>;
50
+ export declare class StrongFactorRemovalPolicy extends StrongFactorRemovalPolicy_base {
51
+ }
52
+ export declare const defaultStrongFactorTypes: readonly ["passkey", "totp", "recovery-code"];
53
+ export declare const strongFactor: (type: StrongFactorType, id: StrongFactorId) => StrongFactor;
54
+ export declare const makeStrongFactorInventory: (dependencies: StrongFactorInventoryDependencies, options?: StrongFactorInventoryOptions) => StrongFactorInventoryService;
55
+ export declare const makeStrongFactorRemovalPolicy: (dependencies: {
56
+ readonly inventory: StrongFactorInventoryService;
57
+ }) => StrongFactorRemovalPolicyService;
58
+ export declare const StrongFactorInventoryLive: (options?: StrongFactorInventoryOptions) => Layer.Layer<StrongFactorInventory, never, never>;
59
+ export declare const StrongFactorRemovalPolicyLive: Layer.Layer<StrongFactorRemovalPolicy, never, StrongFactorInventory>;
60
+ export declare const StrongFactorPolicyLive: (options?: StrongFactorInventoryOptions) => Layer.Layer<StrongFactorRemovalPolicy, never, never>;
61
+ export declare const listStrongFactorsForUser: (input: StrongFactorInventoryListInput) => Effect.Effect<readonly StrongFactor[], StrongFactorError, StrongFactorInventory>;
62
+ export declare const requireCanRemoveStrongFactor: (input: StrongFactorRemovalInput) => Effect.Effect<void, StrongFactorError, StrongFactorRemovalPolicy>;
63
+ export {};
64
+ //# sourceMappingURL=StrongFactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrongFactor.d.ts","sourceRoot":"","sources":["../src/StrongFactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { Context, Data, Effect, Layer, Option } from "effect";
2
+ import { PasskeyCredentialManagement } from "./Passkey.js";
3
+ import { RecoveryCodeManagement } from "./RecoveryCode.js";
4
+ import { TotpFactorManagement } from "./Totp.js";
5
+ export class StrongFactorError extends Data.TaggedError("StrongFactorError") {
6
+ }
7
+ export class StrongFactorInventory extends Context.Service()("auth/StrongFactorInventory") {
8
+ }
9
+ export class StrongFactorRemovalPolicy extends Context.Service()("auth/StrongFactorRemovalPolicy") {
10
+ }
11
+ export const defaultStrongFactorTypes = [
12
+ "passkey",
13
+ "totp",
14
+ "recovery-code",
15
+ ];
16
+ export const strongFactor = (type, id) => ({ type, id });
17
+ const sameStrongFactor = (left, right) => left.type === right.type && left.id === right.id;
18
+ const shouldListType = (types, type) => types.has(type);
19
+ const inventoryError = (cause) => new StrongFactorError({
20
+ reason: "inventory_unavailable",
21
+ message: "Failed to list strong factors",
22
+ cause,
23
+ });
24
+ export const makeStrongFactorInventory = (dependencies, options = {}) => {
25
+ const types = new Set(options.types ?? defaultStrongFactorTypes);
26
+ return StrongFactorInventory.of({
27
+ listForUser: Effect.fn("auth.strong_factor.inventory.list")(function* (input) {
28
+ const factors = [];
29
+ if (shouldListType(types, "passkey") &&
30
+ dependencies.passkeyCredentialManagement !== undefined) {
31
+ const passkeys = yield* dependencies.passkeyCredentialManagement
32
+ .listForUser({ userId: input.userId })
33
+ .pipe(Effect.mapError(inventoryError));
34
+ factors.push(...passkeys.map((passkey) => strongFactor("passkey", passkey.credentialId)));
35
+ }
36
+ if (shouldListType(types, "totp") &&
37
+ dependencies.totpFactorManagement !== undefined) {
38
+ const totpFactors = yield* dependencies.totpFactorManagement
39
+ .listForUser({ userId: input.userId })
40
+ .pipe(Effect.mapError(inventoryError));
41
+ factors.push(...totpFactors.map((factor) => strongFactor("totp", factor.id)));
42
+ }
43
+ if (shouldListType(types, "recovery-code") &&
44
+ dependencies.recoveryCodeManagement !== undefined) {
45
+ const recoveryCodes = yield* dependencies.recoveryCodeManagement
46
+ .listForUser({ userId: input.userId })
47
+ .pipe(Effect.mapError(inventoryError));
48
+ factors.push(...recoveryCodes.map((code) => strongFactor("recovery-code", code.id)));
49
+ }
50
+ return factors;
51
+ }),
52
+ });
53
+ };
54
+ export const makeStrongFactorRemovalPolicy = (dependencies) => StrongFactorRemovalPolicy.of({
55
+ requireCanRemove: Effect.fn("auth.strong_factor.removal.require_can_remove")(function* (input) {
56
+ const factors = input.factors ??
57
+ (yield* dependencies.inventory.listForUser({ userId: input.userId }));
58
+ const target = factors.find((factor) => sameStrongFactor(factor, input.factor));
59
+ if (target === undefined) {
60
+ return yield* new StrongFactorError({
61
+ reason: "factor_not_found",
62
+ message: "Strong factor not found",
63
+ factor: input.factor,
64
+ factors,
65
+ });
66
+ }
67
+ if (factors.length <= 1) {
68
+ return yield* new StrongFactorError({
69
+ reason: "last_strong_factor",
70
+ message: "Cannot remove the last active strong factor",
71
+ factor: input.factor,
72
+ factors,
73
+ });
74
+ }
75
+ }),
76
+ });
77
+ export const StrongFactorInventoryLive = (options) => Layer.effect(StrongFactorInventory)(Effect.gen(function* () {
78
+ const passkeyCredentialManagement = yield* Effect.serviceOption(PasskeyCredentialManagement);
79
+ const totpFactorManagement = yield* Effect.serviceOption(TotpFactorManagement);
80
+ const recoveryCodeManagement = yield* Effect.serviceOption(RecoveryCodeManagement);
81
+ return makeStrongFactorInventory({
82
+ ...(Option.isSome(passkeyCredentialManagement)
83
+ ? { passkeyCredentialManagement: passkeyCredentialManagement.value }
84
+ : {}),
85
+ ...(Option.isSome(totpFactorManagement)
86
+ ? { totpFactorManagement: totpFactorManagement.value }
87
+ : {}),
88
+ ...(Option.isSome(recoveryCodeManagement)
89
+ ? { recoveryCodeManagement: recoveryCodeManagement.value }
90
+ : {}),
91
+ }, options);
92
+ }));
93
+ export const StrongFactorRemovalPolicyLive = Layer.effect(StrongFactorRemovalPolicy)(Effect.gen(function* () {
94
+ const inventory = yield* StrongFactorInventory;
95
+ return makeStrongFactorRemovalPolicy({ inventory });
96
+ }));
97
+ export const StrongFactorPolicyLive = (options) => StrongFactorRemovalPolicyLive.pipe(Layer.provide(StrongFactorInventoryLive(options)));
98
+ export const listStrongFactorsForUser = (input) => StrongFactorInventory.use((inventory) => inventory.listForUser(input));
99
+ export const requireCanRemoveStrongFactor = (input) => StrongFactorRemovalPolicy.use((policy) => policy.requireCanRemove(input));
100
+ //# sourceMappingURL=StrongFactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrongFactor.js","sourceRoot":"","sources":["../src/StrongFactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAK3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAoCjD,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAMzE;CAAG;AAQL,MAAM,OAAO,qBAAsB,SAAQ,OAAO,CAAC,OAAO,EAGvD,CAAC,4BAA4B,CAAC;CAAG;AAQpC,MAAM,OAAO,yBAA0B,SAAQ,OAAO,CAAC,OAAO,EAG3D,CAAC,gCAAgC,CAAC;CAAG;AAExC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS;IACT,MAAM;IACN,eAAe;CAC+B,CAAC;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAsB,EACtB,EAAkB,EACJ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAElC,MAAM,gBAAgB,GAAG,CAAC,IAAkB,EAAE,KAAmB,EAAW,EAAE,CAC5E,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;AAEnD,MAAM,cAAc,GAAG,CACrB,KAAoC,EACpC,IAAsB,EACb,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAE9B,MAAM,cAAc,GAAG,CAAC,KAAc,EAAqB,EAAE,CAC3D,IAAI,iBAAiB,CAAC;IACpB,MAAM,EAAE,uBAAuB;IAC/B,OAAO,EAAE,+BAA+B;IACxC,KAAK;CACN,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,YAA+C,EAC/C,OAAO,GAAiC,EAAE,EACZ,EAAE;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,wBAAwB,CAAC,CAAC;IAEjE,OAAO,qBAAqB,CAAC,EAAE,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,mCAAmC,CAAC,CACzD,QAAQ,CAAC,EAAE,KAAK;YACd,MAAM,OAAO,GAAmB,EAAE,CAAC;YAEnC,IACE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC;gBAChC,YAAY,CAAC,2BAA2B,KAAK,SAAS,EACtD,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,2BAA2B;qBAC7D,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;qBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAEzC,OAAO,CAAC,IAAI,CACV,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAC9C,CACF,CAAC;YACJ,CAAC;YAED,IACE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC7B,YAAY,CAAC,oBAAoB,KAAK,SAAS,EAC/C,CAAC;gBACD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,oBAAoB;qBACzD,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;qBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAEzC,OAAO,CAAC,IAAI,CACV,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAChE,CAAC;YACJ,CAAC;YAED,IACE,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC;gBACtC,YAAY,CAAC,sBAAsB,KAAK,SAAS,EACjD,CAAC;gBACD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,sBAAsB;qBAC7D,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;qBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAEzC,OAAO,CAAC,IAAI,CACV,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,CACvC,CACF,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,YAE7C,EAAoC,EAAE,CACrC,yBAAyB,CAAC,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC,EAAE,CACzB,+CAA+C,CAChD,CAAC,QAAQ,CAAC,EAAE,KAAK;QAChB,MAAM,OAAO,GACX,KAAK,CAAC,OAAO;YACb,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACrC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CACvC,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,CAAC,IAAI,iBAAiB,CAAC;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,IAAI,iBAAiB,CAAC;gBAClC,MAAM,EAAE,oBAAoB;gBAC5B,OAAO,EAAE,6CAA6C;gBACtD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;CACH,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,OAAsC,EACtC,EAAE,CACF,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,2BAA2B,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAC7D,2BAA2B,CAC5B,CAAC;IACF,MAAM,oBAAoB,GACxB,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACpD,MAAM,sBAAsB,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CACxD,sBAAsB,CACvB,CAAC;IAEF,OAAO,yBAAyB,CAC9B;QACE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC;YAC5C,CAAC,CAAC,EAAE,2BAA2B,EAAE,2BAA2B,CAAC,KAAK,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;YACrC,CAAC,CAAC,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,KAAK,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;YACvC,CAAC,CAAC,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,KAAK,EAAE;YAC1D,CAAC,CAAC,EAAE,CAAC;KACR,EACD,OAAO,CACR,CAAC;AACJ,CAAC,CAAC,CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC,MAAM,CACvD,yBAAyB,CAC1B,CACC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,qBAAqB,CAAC;IAE/C,OAAO,6BAA6B,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAsC,EACtC,EAAE,CACF,6BAA6B,CAAC,IAAI,CAChC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAqC,EAKrC,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,KAA+B,EACoC,EAAE,CACrE,yBAAyB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC"}
package/dist/Testing.d.ts CHANGED
@@ -7,5 +7,5 @@ export declare const makeTestCrypto: () => CryptoService;
7
7
  export declare const CryptoTestLive: Layer.Layer<Crypto, never, never>;
8
8
  export declare const makeTestPasswordHasher: () => PasswordHasherService;
9
9
  export declare const PasswordHasherTestLive: Layer.Layer<PasswordHasher, never, never>;
10
- export declare const CoreTestingLive: Layer.Layer<Crypto | import("./WaitUntil.js").WaitUntil | import("./Privacy.js").Privacy | import("./AuditLog.js").AuditLog | PasswordHasher, never, never>;
10
+ export declare const CoreTestingLive: Layer.Layer<import("./AuditLog.js").AuditLog | Crypto | PasswordHasher | import("./Privacy.js").Privacy | import("./WaitUntil.js").WaitUntil, never, never>;
11
11
  //# sourceMappingURL=Testing.d.ts.map
package/dist/Testing.js CHANGED
@@ -9,7 +9,7 @@ const valueToString = (value) => typeof value === "string" ? value : bytesToStri
9
9
  const keyToString = (key) => key instanceof Uint8Array ? bytesToString(key) : Redacted.value(key);
10
10
  export const makeTestCrypto = () => {
11
11
  let counter = 0;
12
- return Crypto.make({
12
+ return Crypto.of({
13
13
  randomBytes: (byteLength) => Effect.sync(() => {
14
14
  counter += 1;
15
15
  return Uint8Array.from({ length: byteLength }, (_, index) => (counter + index) % 256);
@@ -25,7 +25,7 @@ export const makeTestCrypto = () => {
25
25
  });
26
26
  };
27
27
  export const CryptoTestLive = Layer.succeed(Crypto)(makeTestCrypto());
28
- export const makeTestPasswordHasher = () => PasswordHasher.make({
28
+ export const makeTestPasswordHasher = () => PasswordHasher.of({
29
29
  hash: (input) => Effect.succeed(`test-hash:${Redacted.value(input.password)}`),
30
30
  verify: (input) => Effect.succeed(input.hash === `test-hash:${Redacted.value(input.password)}`),
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Testing.js","sourceRoot":"","sources":["../src/Testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Testing.js","sourceRoot":"","sources":["../src/Testing.ts"],"names":[],"mappings":"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"}
package/dist/Totp.d.ts CHANGED
@@ -4,6 +4,7 @@ import { Crypto } from "./Crypto.js";
4
4
  import type { CryptoService } from "./Crypto.js";
5
5
  import { CredentialId } from "./Identifiers.js";
6
6
  import type { UnixMillis, UserId } from "./Identifiers.js";
7
+ import type { NewSessionRow, SessionAssureAndRotateStoreInput, SessionRow, VerificationRow } from "./Storage.js";
7
8
  export type TotpSecret = Brand.Branded<string, "auth/TotpSecret">;
8
9
  export declare const TotpSecret: Brand.Constructor<TotpSecret>;
9
10
  export type TotpAlgorithm = "SHA1" | "SHA256" | "SHA512";
@@ -44,10 +45,13 @@ export interface TotpVerifyInput extends TotpGenerateCodeInput {
44
45
  readonly code: Redacted.Redacted<string>;
45
46
  readonly window?: number;
46
47
  }
47
- export interface TotpVerifyResult {
48
- readonly valid: boolean;
49
- readonly delta?: number;
50
- }
48
+ export type TotpVerifyResult = {
49
+ readonly valid: true;
50
+ readonly counter: number;
51
+ readonly delta: number;
52
+ } | {
53
+ readonly valid: false;
54
+ };
51
55
  export interface TotpService {
52
56
  readonly generateSecret: (input?: TotpGenerateSecretInput) => Effect.Effect<Redacted.Redacted<TotpSecret>, TotpError>;
53
57
  readonly normalizeSecret: (secret: Redacted.Redacted<string>) => Effect.Effect<Redacted.Redacted<TotpSecret>, TotpError>;
@@ -58,9 +62,6 @@ export interface TotpService {
58
62
  declare const Totp_base: Context.ServiceClass<Totp, "auth/Totp", TotpService>;
59
63
  export declare class Totp extends Totp_base {
60
64
  }
61
- export declare namespace Totp {
62
- const make: (service: TotpService) => TotpService;
63
- }
64
65
  export interface TotpDependencies {
65
66
  readonly crypto: CryptoService;
66
67
  readonly webCrypto?: typeof globalThis.crypto;
@@ -77,6 +78,7 @@ export interface TotpFactorRecord {
77
78
  readonly createdAt: UnixMillis;
78
79
  readonly confirmedAt?: UnixMillis;
79
80
  readonly lastUsedAt?: UnixMillis;
81
+ readonly lastAcceptedCounter?: number;
80
82
  readonly revokedAt?: UnixMillis;
81
83
  readonly metadata?: Readonly<Record<string, unknown>>;
82
84
  }
@@ -90,17 +92,26 @@ export interface TotpFactorConfirmInput {
90
92
  readonly confirmedAt: UnixMillis;
91
93
  readonly metadata?: Readonly<Record<string, unknown>>;
92
94
  }
93
- export interface TotpFactorMarkUsedInput {
95
+ export interface TotpFactorAcceptCounterInput {
94
96
  readonly id: CredentialId;
95
97
  readonly lastUsedAt: UnixMillis;
98
+ readonly counter: number;
96
99
  readonly metadata?: Readonly<Record<string, unknown>>;
97
100
  }
101
+ export type TotpFactorAcceptCounterResult = {
102
+ readonly _tag: "Accepted";
103
+ readonly factor: TotpFactorRecord;
104
+ } | {
105
+ readonly _tag: "Replay";
106
+ } | {
107
+ readonly _tag: "Unavailable";
108
+ };
98
109
  export interface TotpFactorRevokeInput {
99
110
  readonly id: CredentialId;
100
111
  readonly revokedAt: UnixMillis;
101
112
  readonly reason?: string;
102
113
  }
103
- export type TotpFactorStoreOperation = "insert" | "find" | "list" | "confirm" | "mark-used" | "revoke";
114
+ export type TotpFactorStoreOperation = "insert" | "find" | "list" | "confirm" | "accept-counter" | "revoke";
104
115
  declare const TotpFactorStoreError_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 & {
105
116
  readonly _tag: "TotpFactorStoreError";
106
117
  } & Readonly<A>;
@@ -115,15 +126,76 @@ export interface TotpFactorStoreService {
115
126
  readonly findById: (id: CredentialId) => Effect.Effect<OptionTypes.Option<TotpFactorRecord>, TotpFactorStoreError>;
116
127
  readonly listByUser: (input: TotpFactorListByUserInput) => Effect.Effect<readonly TotpFactorRecord[], TotpFactorStoreError>;
117
128
  readonly confirm: (input: TotpFactorConfirmInput) => Effect.Effect<OptionTypes.Option<TotpFactorRecord>, TotpFactorStoreError>;
118
- readonly markUsed: (input: TotpFactorMarkUsedInput) => Effect.Effect<OptionTypes.Option<TotpFactorRecord>, TotpFactorStoreError>;
129
+ readonly acceptCounter: (input: TotpFactorAcceptCounterInput) => Effect.Effect<TotpFactorAcceptCounterResult, TotpFactorStoreError>;
119
130
  readonly revoke: (input: TotpFactorRevokeInput) => Effect.Effect<void, TotpFactorStoreError>;
120
131
  }
121
132
  declare const TotpFactorStore_base: Context.ServiceClass<TotpFactorStore, "auth/TotpFactorStore", TotpFactorStoreService>;
122
133
  export declare class TotpFactorStore extends TotpFactorStore_base {
123
134
  }
124
- export declare namespace TotpFactorStore {
125
- const make: (service: TotpFactorStoreService) => TotpFactorStoreService;
135
+ export interface TotpSessionRotateStoreInput extends SessionAssureAndRotateStoreInput {
136
+ readonly factorId: CredentialId;
137
+ readonly userId: UserId;
138
+ readonly counter: number;
139
+ readonly lastUsedAt: UnixMillis;
140
+ readonly factorMetadata?: Readonly<Record<string, unknown>>;
141
+ }
142
+ declare const TotpSessionRotateStoreError_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 & {
143
+ readonly _tag: "TotpSessionRotateStoreError";
144
+ } & Readonly<A>;
145
+ export declare class TotpSessionRotateStoreError extends TotpSessionRotateStoreError_base<{
146
+ readonly message: string;
147
+ readonly cause?: unknown;
148
+ }> {
149
+ }
150
+ /** Atomically accepts a TOTP counter and rotates current-session assurance. */
151
+ export interface TotpSessionRotateStoreService {
152
+ readonly acceptAndRotate: (input: TotpSessionRotateStoreInput) => Effect.Effect<OptionTypes.Option<SessionRow>, TotpSessionRotateStoreError>;
153
+ }
154
+ declare const TotpSessionRotateStore_base: Context.ServiceClass<TotpSessionRotateStore, "auth/TotpSessionRotateStore", TotpSessionRotateStoreService>;
155
+ export declare class TotpSessionRotateStore extends TotpSessionRotateStore_base {
156
+ }
157
+ export interface TotpLoginCommitStoreInputBase {
158
+ readonly verification: VerificationRow;
159
+ readonly factorId: CredentialId;
160
+ readonly userId: UserId;
161
+ readonly counter: number;
162
+ readonly consumedAt: UnixMillis;
163
+ readonly lastUsedAt: UnixMillis;
164
+ readonly factorMetadata?: Readonly<Record<string, unknown>>;
165
+ }
166
+ export type TotpLoginCommitStoreInput = TotpLoginCommitStoreInputBase & ({
167
+ readonly session: NewSessionRow;
168
+ readonly continuation?: never;
169
+ } | {
170
+ readonly continuation: "login-approval";
171
+ readonly session?: never;
172
+ });
173
+ declare const TotpLoginCommitStoreError_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 & {
174
+ readonly _tag: "TotpLoginCommitStoreError";
175
+ } & Readonly<A>;
176
+ export declare class TotpLoginCommitStoreError extends TotpLoginCommitStoreError_base<{
177
+ readonly message: string;
178
+ readonly cause?: unknown;
179
+ }> {
126
180
  }
181
+ /** Atomically accepts a TOTP counter and consumes exact pending flow state before a session or login-approval continuation. */
182
+ export interface TotpLoginCommitStoreService {
183
+ readonly commit: (input: TotpLoginCommitStoreInput) => Effect.Effect<boolean, TotpLoginCommitStoreError>;
184
+ }
185
+ declare const TotpLoginCommitStore_base: Context.ServiceClass<TotpLoginCommitStore, "auth/TotpLoginCommitStore", TotpLoginCommitStoreService>;
186
+ export declare class TotpLoginCommitStore extends TotpLoginCommitStore_base {
187
+ }
188
+ export declare const makeTotpSessionRotateStoreMemory: (options?: {
189
+ readonly factors?: readonly TotpFactorRecord[];
190
+ readonly sessions?: readonly SessionRow[];
191
+ readonly failBeforeCommit?: () => boolean;
192
+ }) => TotpSessionRotateStoreService;
193
+ export declare const makeTotpLoginCommitStoreMemory: (options?: {
194
+ readonly verifications?: readonly VerificationRow[];
195
+ readonly factors?: readonly TotpFactorRecord[];
196
+ readonly sessions?: readonly SessionRow[];
197
+ readonly failBeforeCommit?: () => boolean;
198
+ }) => TotpLoginCommitStoreService;
127
199
  export declare const makeTotpFactorStoreMemory: () => TotpFactorStoreService;
128
200
  export declare const TotpFactorStoreMemoryLive: Layer.Layer<TotpFactorStore, never, never>;
129
201
  export interface TotpFactorInfo {
@@ -173,6 +245,7 @@ export interface TotpVerifyForUserResult {
173
245
  readonly valid: boolean;
174
246
  readonly factor?: TotpFactorInfo;
175
247
  readonly delta?: number;
248
+ readonly acceptedCounter?: number;
176
249
  }
177
250
  export interface TotpFactorManagementListInput {
178
251
  readonly userId: UserId;
@@ -199,6 +272,8 @@ export interface TotpFactorManagementService {
199
272
  readonly startEnrollment: (input: TotpEnrollmentStartInput) => Effect.Effect<StartedTotpEnrollment, TotpFactorManagementError>;
200
273
  readonly confirmEnrollment: (input: TotpEnrollmentConfirmInput) => Effect.Effect<TotpFactorInfo, TotpFactorManagementError>;
201
274
  readonly verifyForUser: (input: TotpVerifyForUserInput) => Effect.Effect<TotpVerifyForUserResult, TotpFactorManagementError>;
275
+ /** Verifies and identifies a candidate without advancing its replay floor. */
276
+ readonly identifyForUser: (input: TotpVerifyForUserInput) => Effect.Effect<TotpVerifyForUserResult, TotpFactorManagementError>;
202
277
  readonly listForUser: (input: TotpFactorManagementListInput) => Effect.Effect<readonly TotpFactorInfo[], TotpFactorManagementError>;
203
278
  readonly revokeForUser: (input: TotpFactorManagementRevokeInput) => Effect.Effect<void, TotpFactorManagementError>;
204
279
  }
@@ -206,7 +281,7 @@ declare const TotpFactorManagement_base: Context.ServiceClass<TotpFactorManageme
206
281
  export declare class TotpFactorManagement extends TotpFactorManagement_base {
207
282
  }
208
283
  export declare namespace TotpFactorManagement {
209
- const make: (service: TotpFactorManagementService) => TotpFactorManagementService;
284
+ const make: (service: Omit<TotpFactorManagementService, "identifyForUser"> & Partial<Pick<TotpFactorManagementService, "identifyForUser">>) => TotpFactorManagementService;
210
285
  }
211
286
  export interface TotpFactorManagementDependencies {
212
287
  readonly totp: TotpService;
@@ -1 +1 @@
1
- {"version":3,"file":"Totp.d.ts","sourceRoot":"","sources":["../src/Totp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Totp.d.ts","sourceRoot":"","sources":["../src/Totp.ts"],"names":[],"mappings":"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"}