@effect-auth/core 0.1.0-alpha.16 → 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 (607) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +308 -133
  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 +0 -12
  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/AuthFlow.d.ts +128 -38
  28. package/dist/AuthFlow.d.ts.map +1 -1
  29. package/dist/AuthFlow.js +611 -263
  30. package/dist/AuthFlow.js.map +1 -1
  31. package/dist/AuthRateLimit.d.ts +96 -0
  32. package/dist/AuthRateLimit.d.ts.map +1 -0
  33. package/dist/AuthRateLimit.js +212 -0
  34. package/dist/AuthRateLimit.js.map +1 -0
  35. package/dist/Challenge.d.ts +0 -3
  36. package/dist/Challenge.d.ts.map +1 -1
  37. package/dist/Challenge.js +1 -4
  38. package/dist/Challenge.js.map +1 -1
  39. package/dist/Client.d.ts +205 -10
  40. package/dist/Client.d.ts.map +1 -1
  41. package/dist/Client.js +397 -16
  42. package/dist/Client.js.map +1 -1
  43. package/dist/CloudflareTurnstile.d.ts +28 -0
  44. package/dist/CloudflareTurnstile.d.ts.map +1 -0
  45. package/dist/CloudflareTurnstile.js +205 -0
  46. package/dist/CloudflareTurnstile.js.map +1 -0
  47. package/dist/Crypto.d.ts +0 -3
  48. package/dist/Crypto.d.ts.map +1 -1
  49. package/dist/Crypto.js +1 -4
  50. package/dist/Crypto.js.map +1 -1
  51. package/dist/DelegatedAccessStorageMigrations.d.ts +7 -0
  52. package/dist/DelegatedAccessStorageMigrations.d.ts.map +1 -0
  53. package/dist/DelegatedAccessStorageMigrations.js +159 -0
  54. package/dist/DelegatedAccessStorageMigrations.js.map +1 -0
  55. package/dist/DisposableEmailDomains.d.ts +19 -0
  56. package/dist/DisposableEmailDomains.d.ts.map +1 -0
  57. package/dist/DisposableEmailDomains.js +85 -0
  58. package/dist/DisposableEmailDomains.js.map +1 -0
  59. package/dist/DomainVerification.d.ts +0 -9
  60. package/dist/DomainVerification.d.ts.map +1 -1
  61. package/dist/DomainVerification.js +36 -22
  62. package/dist/DomainVerification.js.map +1 -1
  63. package/dist/DrizzleBunSqliteStorage.d.ts +18 -0
  64. package/dist/DrizzleBunSqliteStorage.d.ts.map +1 -0
  65. package/dist/DrizzleBunSqliteStorage.js +11 -0
  66. package/dist/DrizzleBunSqliteStorage.js.map +1 -0
  67. package/dist/DrizzleD1SqliteStorage.d.ts +4 -4
  68. package/dist/DrizzleD1SqliteStorage.d.ts.map +1 -1
  69. package/dist/DrizzleD1SqliteStorage.js +5 -5
  70. package/dist/DrizzleD1SqliteStorage.js.map +1 -1
  71. package/dist/DrizzleDurableObjectSqliteStorage.d.ts +19 -0
  72. package/dist/DrizzleDurableObjectSqliteStorage.d.ts.map +1 -0
  73. package/dist/DrizzleDurableObjectSqliteStorage.js +14 -0
  74. package/dist/DrizzleDurableObjectSqliteStorage.js.map +1 -0
  75. package/dist/DrizzleEffectSqliteStorage.d.ts +13 -4
  76. package/dist/DrizzleEffectSqliteStorage.d.ts.map +1 -1
  77. package/dist/DrizzleEffectSqliteStorage.js +71 -4
  78. package/dist/DrizzleEffectSqliteStorage.js.map +1 -1
  79. package/dist/DrizzleNodeSqliteStorage.d.ts +18 -0
  80. package/dist/DrizzleNodeSqliteStorage.d.ts.map +1 -0
  81. package/dist/DrizzleNodeSqliteStorage.js +11 -0
  82. package/dist/DrizzleNodeSqliteStorage.js.map +1 -0
  83. package/dist/DrizzleWasmSqliteStorage.d.ts +23 -0
  84. package/dist/DrizzleWasmSqliteStorage.d.ts.map +1 -0
  85. package/dist/DrizzleWasmSqliteStorage.js +15 -0
  86. package/dist/DrizzleWasmSqliteStorage.js.map +1 -0
  87. package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts +34 -0
  88. package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts.map +1 -0
  89. package/dist/EffectQbPostgresDelegatedAccessStorage.js +499 -0
  90. package/dist/EffectQbPostgresDelegatedAccessStorage.js.map +1 -0
  91. package/dist/EffectQbPostgresStorage.d.ts +171 -0
  92. package/dist/EffectQbPostgresStorage.d.ts.map +1 -0
  93. package/dist/EffectQbPostgresStorage.js +4280 -0
  94. package/dist/EffectQbPostgresStorage.js.map +1 -0
  95. package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts +112 -0
  96. package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts.map +1 -0
  97. package/dist/EffectQbSqliteDelegatedAccessStorage.js +602 -0
  98. package/dist/EffectQbSqliteDelegatedAccessStorage.js.map +1 -0
  99. package/dist/EffectQbSqliteStorage.d.ts +181 -23
  100. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  101. package/dist/EffectQbSqliteStorage.js +1728 -135
  102. package/dist/EffectQbSqliteStorage.js.map +1 -1
  103. package/dist/EmailAuth.d.ts +65 -0
  104. package/dist/EmailAuth.d.ts.map +1 -0
  105. package/dist/EmailAuth.js +171 -0
  106. package/dist/EmailAuth.js.map +1 -0
  107. package/dist/EmailIdentityAuth.d.ts +30 -0
  108. package/dist/EmailIdentityAuth.d.ts.map +1 -0
  109. package/dist/EmailIdentityAuth.js +142 -0
  110. package/dist/EmailIdentityAuth.js.map +1 -0
  111. package/dist/EmailOtp.d.ts +10 -11
  112. package/dist/EmailOtp.d.ts.map +1 -1
  113. package/dist/EmailOtp.js +44 -81
  114. package/dist/EmailOtp.js.map +1 -1
  115. package/dist/EmailRisk.d.ts +48 -0
  116. package/dist/EmailRisk.d.ts.map +1 -0
  117. package/dist/EmailRisk.js +33 -0
  118. package/dist/EmailRisk.js.map +1 -0
  119. package/dist/EmailVerification.d.ts +10 -16
  120. package/dist/EmailVerification.d.ts.map +1 -1
  121. package/dist/EmailVerification.js +85 -42
  122. package/dist/EmailVerification.js.map +1 -1
  123. package/dist/Guard.d.ts +11 -0
  124. package/dist/Guard.d.ts.map +1 -0
  125. package/dist/Guard.js +11 -0
  126. package/dist/Guard.js.map +1 -0
  127. package/dist/HibpPwnedPasswords.d.ts +56 -0
  128. package/dist/HibpPwnedPasswords.d.ts.map +1 -0
  129. package/dist/HibpPwnedPasswords.js +232 -0
  130. package/dist/HibpPwnedPasswords.js.map +1 -0
  131. package/dist/HttpApi/AdminPermissionDefinition.d.ts +4 -0
  132. package/dist/HttpApi/AdminPermissionDefinition.d.ts.map +1 -0
  133. package/dist/HttpApi/AdminPermissionDefinition.js +4 -0
  134. package/dist/HttpApi/AdminPermissionDefinition.js.map +1 -0
  135. package/dist/HttpApi/AdminSecurityTimeline.d.ts +4 -0
  136. package/dist/HttpApi/AdminSecurityTimeline.d.ts.map +1 -0
  137. package/dist/HttpApi/AdminSecurityTimeline.js +4 -0
  138. package/dist/HttpApi/AdminSecurityTimeline.js.map +1 -0
  139. package/dist/HttpApi/AdminSession.d.ts +4 -0
  140. package/dist/HttpApi/AdminSession.d.ts.map +1 -0
  141. package/dist/HttpApi/AdminSession.js +4 -0
  142. package/dist/HttpApi/AdminSession.js.map +1 -0
  143. package/dist/HttpApi/AdminTrustedDevice.d.ts +4 -0
  144. package/dist/HttpApi/AdminTrustedDevice.d.ts.map +1 -0
  145. package/dist/HttpApi/AdminTrustedDevice.js +4 -0
  146. package/dist/HttpApi/AdminTrustedDevice.js.map +1 -0
  147. package/dist/HttpApi/Api.d.ts +879 -877
  148. package/dist/HttpApi/Api.d.ts.map +1 -1
  149. package/dist/HttpApi/Api.js +2160 -896
  150. package/dist/HttpApi/Api.js.map +1 -1
  151. package/dist/HttpApi/ApiKey.d.ts +4 -0
  152. package/dist/HttpApi/ApiKey.d.ts.map +1 -0
  153. package/dist/HttpApi/ApiKey.js +4 -0
  154. package/dist/HttpApi/ApiKey.js.map +1 -0
  155. package/dist/HttpApi/Audit.d.ts +6 -0
  156. package/dist/HttpApi/Audit.d.ts.map +1 -0
  157. package/dist/HttpApi/Audit.js +10 -0
  158. package/dist/HttpApi/Audit.js.map +1 -0
  159. package/dist/HttpApi/ClientApi.d.ts +917 -0
  160. package/dist/HttpApi/ClientApi.d.ts.map +1 -0
  161. package/dist/HttpApi/ClientApi.js +101 -0
  162. package/dist/HttpApi/ClientApi.js.map +1 -0
  163. package/dist/HttpApi/EmailAuth.d.ts +6 -0
  164. package/dist/HttpApi/EmailAuth.d.ts.map +1 -0
  165. package/dist/HttpApi/EmailAuth.js +6 -0
  166. package/dist/HttpApi/EmailAuth.js.map +1 -0
  167. package/dist/HttpApi/EmailGuards.d.ts +115 -0
  168. package/dist/HttpApi/EmailGuards.d.ts.map +1 -0
  169. package/dist/HttpApi/EmailGuards.js +191 -0
  170. package/dist/HttpApi/EmailGuards.js.map +1 -0
  171. package/dist/HttpApi/EmailOtp.d.ts +6 -0
  172. package/dist/HttpApi/EmailOtp.d.ts.map +1 -0
  173. package/dist/HttpApi/EmailOtp.js +6 -0
  174. package/dist/HttpApi/EmailOtp.js.map +1 -0
  175. package/dist/HttpApi/EmailVerification.d.ts +6 -0
  176. package/dist/HttpApi/EmailVerification.d.ts.map +1 -0
  177. package/dist/HttpApi/EmailVerification.js +6 -0
  178. package/dist/HttpApi/EmailVerification.js.map +1 -0
  179. package/dist/HttpApi/Endpoints.d.ts +629 -301
  180. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  181. package/dist/HttpApi/Endpoints.js +178 -120
  182. package/dist/HttpApi/Endpoints.js.map +1 -1
  183. package/dist/HttpApi/Errors.d.ts +26 -7
  184. package/dist/HttpApi/Errors.d.ts.map +1 -1
  185. package/dist/HttpApi/Errors.js +26 -4
  186. package/dist/HttpApi/Errors.js.map +1 -1
  187. package/dist/HttpApi/Identity.d.ts +6 -0
  188. package/dist/HttpApi/Identity.d.ts.map +1 -0
  189. package/dist/HttpApi/Identity.js +6 -0
  190. package/dist/HttpApi/Identity.js.map +1 -0
  191. package/dist/HttpApi/IdentityGuards.d.ts +31 -0
  192. package/dist/HttpApi/IdentityGuards.d.ts.map +1 -0
  193. package/dist/HttpApi/IdentityGuards.js +33 -0
  194. package/dist/HttpApi/IdentityGuards.js.map +1 -0
  195. package/dist/HttpApi/Jwt.d.ts +4 -0
  196. package/dist/HttpApi/Jwt.d.ts.map +1 -0
  197. package/dist/HttpApi/Jwt.js +4 -0
  198. package/dist/HttpApi/Jwt.js.map +1 -0
  199. package/dist/HttpApi/JwtDiscovery.d.ts +4 -0
  200. package/dist/HttpApi/JwtDiscovery.d.ts.map +1 -0
  201. package/dist/HttpApi/JwtDiscovery.js +4 -0
  202. package/dist/HttpApi/JwtDiscovery.js.map +1 -0
  203. package/dist/HttpApi/LoginApproval.d.ts +5 -0
  204. package/dist/HttpApi/LoginApproval.d.ts.map +1 -0
  205. package/dist/HttpApi/LoginApproval.js +5 -0
  206. package/dist/HttpApi/LoginApproval.js.map +1 -0
  207. package/dist/HttpApi/LoginNotification.d.ts +5 -0
  208. package/dist/HttpApi/LoginNotification.d.ts.map +1 -0
  209. package/dist/HttpApi/LoginNotification.js +5 -0
  210. package/dist/HttpApi/LoginNotification.js.map +1 -0
  211. package/dist/HttpApi/MagicLink.d.ts +6 -0
  212. package/dist/HttpApi/MagicLink.d.ts.map +1 -0
  213. package/dist/HttpApi/MagicLink.js +6 -0
  214. package/dist/HttpApi/MagicLink.js.map +1 -0
  215. package/dist/HttpApi/Mfa.d.ts +5 -0
  216. package/dist/HttpApi/Mfa.d.ts.map +1 -0
  217. package/dist/HttpApi/Mfa.js +5 -0
  218. package/dist/HttpApi/Mfa.js.map +1 -0
  219. package/dist/HttpApi/Middleware.d.ts +14 -0
  220. package/dist/HttpApi/Middleware.d.ts.map +1 -0
  221. package/dist/HttpApi/Middleware.js +5 -0
  222. package/dist/HttpApi/Middleware.js.map +1 -0
  223. package/dist/HttpApi/OAuth.d.ts +4 -0
  224. package/dist/HttpApi/OAuth.d.ts.map +1 -0
  225. package/dist/HttpApi/OAuth.js +4 -0
  226. package/dist/HttpApi/OAuth.js.map +1 -0
  227. package/dist/HttpApi/OAuthProviderAuthorization.d.ts +4 -0
  228. package/dist/HttpApi/OAuthProviderAuthorization.d.ts.map +1 -0
  229. package/dist/HttpApi/OAuthProviderAuthorization.js +4 -0
  230. package/dist/HttpApi/OAuthProviderAuthorization.js.map +1 -0
  231. package/dist/HttpApi/OAuthToken.d.ts +4 -0
  232. package/dist/HttpApi/OAuthToken.d.ts.map +1 -0
  233. package/dist/HttpApi/OAuthToken.js +4 -0
  234. package/dist/HttpApi/OAuthToken.js.map +1 -0
  235. package/dist/HttpApi/OidcDiscovery.d.ts +4 -0
  236. package/dist/HttpApi/OidcDiscovery.d.ts.map +1 -0
  237. package/dist/HttpApi/OidcDiscovery.js +4 -0
  238. package/dist/HttpApi/OidcDiscovery.js.map +1 -0
  239. package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts +28 -0
  240. package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts.map +1 -0
  241. package/dist/HttpApi/Operations/AdminPermissionDefinition.js +5 -0
  242. package/dist/HttpApi/Operations/AdminPermissionDefinition.js.map +1 -0
  243. package/dist/HttpApi/Operations/AdminSession.d.ts +16 -0
  244. package/dist/HttpApi/Operations/AdminSession.d.ts.map +1 -0
  245. package/dist/HttpApi/Operations/AdminSession.js +5 -0
  246. package/dist/HttpApi/Operations/AdminSession.js.map +1 -0
  247. package/dist/HttpApi/Operations/ApiKey.d.ts +16 -0
  248. package/dist/HttpApi/Operations/ApiKey.d.ts.map +1 -0
  249. package/dist/HttpApi/Operations/ApiKey.js +5 -0
  250. package/dist/HttpApi/Operations/ApiKey.js.map +1 -0
  251. package/dist/HttpApi/Operations/Discovery.d.ts +19 -0
  252. package/dist/HttpApi/Operations/Discovery.d.ts.map +1 -0
  253. package/dist/HttpApi/Operations/Discovery.js +7 -0
  254. package/dist/HttpApi/Operations/Discovery.js.map +1 -0
  255. package/dist/HttpApi/Operations/EmailAuth.d.ts +12 -0
  256. package/dist/HttpApi/Operations/EmailAuth.d.ts.map +1 -0
  257. package/dist/HttpApi/Operations/EmailAuth.js +5 -0
  258. package/dist/HttpApi/Operations/EmailAuth.js.map +1 -0
  259. package/dist/HttpApi/Operations/EmailOtp.d.ts +14 -0
  260. package/dist/HttpApi/Operations/EmailOtp.d.ts.map +1 -0
  261. package/dist/HttpApi/Operations/EmailOtp.js +5 -0
  262. package/dist/HttpApi/Operations/EmailOtp.js.map +1 -0
  263. package/dist/HttpApi/Operations/EmailVerification.d.ts +14 -0
  264. package/dist/HttpApi/Operations/EmailVerification.d.ts.map +1 -0
  265. package/dist/HttpApi/Operations/EmailVerification.js +5 -0
  266. package/dist/HttpApi/Operations/EmailVerification.js.map +1 -0
  267. package/dist/HttpApi/Operations/HttpOperation.d.ts +4 -0
  268. package/dist/HttpApi/Operations/HttpOperation.d.ts.map +1 -0
  269. package/dist/HttpApi/Operations/HttpOperation.js +2 -0
  270. package/dist/HttpApi/Operations/HttpOperation.js.map +1 -0
  271. package/dist/HttpApi/Operations/Identity.d.ts +22 -0
  272. package/dist/HttpApi/Operations/Identity.d.ts.map +1 -0
  273. package/dist/HttpApi/Operations/Identity.js +5 -0
  274. package/dist/HttpApi/Operations/Identity.js.map +1 -0
  275. package/dist/HttpApi/Operations/Jwt.d.ts +14 -0
  276. package/dist/HttpApi/Operations/Jwt.d.ts.map +1 -0
  277. package/dist/HttpApi/Operations/Jwt.js +5 -0
  278. package/dist/HttpApi/Operations/Jwt.js.map +1 -0
  279. package/dist/HttpApi/Operations/LoginApproval.d.ts +16 -0
  280. package/dist/HttpApi/Operations/LoginApproval.d.ts.map +1 -0
  281. package/dist/HttpApi/Operations/LoginApproval.js +5 -0
  282. package/dist/HttpApi/Operations/LoginApproval.js.map +1 -0
  283. package/dist/HttpApi/Operations/MagicLink.d.ts +14 -0
  284. package/dist/HttpApi/Operations/MagicLink.d.ts.map +1 -0
  285. package/dist/HttpApi/Operations/MagicLink.js +5 -0
  286. package/dist/HttpApi/Operations/MagicLink.js.map +1 -0
  287. package/dist/HttpApi/Operations/Mfa.d.ts +24 -0
  288. package/dist/HttpApi/Operations/Mfa.d.ts.map +1 -0
  289. package/dist/HttpApi/Operations/Mfa.js +5 -0
  290. package/dist/HttpApi/Operations/Mfa.js.map +1 -0
  291. package/dist/HttpApi/Operations/OAuth.d.ts +20 -0
  292. package/dist/HttpApi/Operations/OAuth.d.ts.map +1 -0
  293. package/dist/HttpApi/Operations/OAuth.js +5 -0
  294. package/dist/HttpApi/Operations/OAuth.js.map +1 -0
  295. package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts +12 -0
  296. package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts.map +1 -0
  297. package/dist/HttpApi/Operations/OAuthProviderAuthorization.js +5 -0
  298. package/dist/HttpApi/Operations/OAuthProviderAuthorization.js.map +1 -0
  299. package/dist/HttpApi/Operations/OAuthToken.d.ts +16 -0
  300. package/dist/HttpApi/Operations/OAuthToken.d.ts.map +1 -0
  301. package/dist/HttpApi/Operations/OAuthToken.js +5 -0
  302. package/dist/HttpApi/Operations/OAuthToken.js.map +1 -0
  303. package/dist/HttpApi/Operations/Passkey.d.ts +22 -0
  304. package/dist/HttpApi/Operations/Passkey.d.ts.map +1 -0
  305. package/dist/HttpApi/Operations/Passkey.js +5 -0
  306. package/dist/HttpApi/Operations/Passkey.js.map +1 -0
  307. package/dist/HttpApi/Operations/Password.d.ts +22 -0
  308. package/dist/HttpApi/Operations/Password.d.ts.map +1 -0
  309. package/dist/HttpApi/Operations/Password.js +5 -0
  310. package/dist/HttpApi/Operations/Password.js.map +1 -0
  311. package/dist/HttpApi/Operations/RecoveryCodes.d.ts +20 -0
  312. package/dist/HttpApi/Operations/RecoveryCodes.d.ts.map +1 -0
  313. package/dist/HttpApi/Operations/RecoveryCodes.js +5 -0
  314. package/dist/HttpApi/Operations/RecoveryCodes.js.map +1 -0
  315. package/dist/HttpApi/Operations/RefreshToken.d.ts +12 -0
  316. package/dist/HttpApi/Operations/RefreshToken.d.ts.map +1 -0
  317. package/dist/HttpApi/Operations/RefreshToken.js +5 -0
  318. package/dist/HttpApi/Operations/RefreshToken.js.map +1 -0
  319. package/dist/HttpApi/Operations/Security.d.ts +12 -0
  320. package/dist/HttpApi/Operations/Security.d.ts.map +1 -0
  321. package/dist/HttpApi/Operations/Security.js +5 -0
  322. package/dist/HttpApi/Operations/Security.js.map +1 -0
  323. package/dist/HttpApi/Operations/SecurityTimeline.d.ts +19 -0
  324. package/dist/HttpApi/Operations/SecurityTimeline.d.ts.map +1 -0
  325. package/dist/HttpApi/Operations/SecurityTimeline.js +7 -0
  326. package/dist/HttpApi/Operations/SecurityTimeline.js.map +1 -0
  327. package/dist/HttpApi/Operations/Session.d.ts +22 -0
  328. package/dist/HttpApi/Operations/Session.d.ts.map +1 -0
  329. package/dist/HttpApi/Operations/Session.js +5 -0
  330. package/dist/HttpApi/Operations/Session.js.map +1 -0
  331. package/dist/HttpApi/Operations/StepUp.d.ts +22 -0
  332. package/dist/HttpApi/Operations/StepUp.d.ts.map +1 -0
  333. package/dist/HttpApi/Operations/StepUp.js +5 -0
  334. package/dist/HttpApi/Operations/StepUp.js.map +1 -0
  335. package/dist/HttpApi/Operations/Totp.d.ts +20 -0
  336. package/dist/HttpApi/Operations/Totp.d.ts.map +1 -0
  337. package/dist/HttpApi/Operations/Totp.js +5 -0
  338. package/dist/HttpApi/Operations/Totp.js.map +1 -0
  339. package/dist/HttpApi/Operations/TrustedDevice.d.ts +23 -0
  340. package/dist/HttpApi/Operations/TrustedDevice.d.ts.map +1 -0
  341. package/dist/HttpApi/Operations/TrustedDevice.js +7 -0
  342. package/dist/HttpApi/Operations/TrustedDevice.js.map +1 -0
  343. package/dist/HttpApi/Operations/index.d.ts +27 -0
  344. package/dist/HttpApi/Operations/index.d.ts.map +1 -0
  345. package/dist/HttpApi/Operations/index.js +27 -0
  346. package/dist/HttpApi/Operations/index.js.map +1 -0
  347. package/dist/HttpApi/Passkey.d.ts +5 -0
  348. package/dist/HttpApi/Passkey.d.ts.map +1 -0
  349. package/dist/HttpApi/Passkey.js +5 -0
  350. package/dist/HttpApi/Passkey.js.map +1 -0
  351. package/dist/HttpApi/Password.d.ts +220 -0
  352. package/dist/HttpApi/Password.d.ts.map +1 -0
  353. package/dist/HttpApi/Password.js +237 -0
  354. package/dist/HttpApi/Password.js.map +1 -0
  355. package/dist/HttpApi/PasswordContract.d.ts +307 -0
  356. package/dist/HttpApi/PasswordContract.d.ts.map +1 -0
  357. package/dist/HttpApi/PasswordContract.js +63 -0
  358. package/dist/HttpApi/PasswordContract.js.map +1 -0
  359. package/dist/HttpApi/PasswordGuards.d.ts +82 -0
  360. package/dist/HttpApi/PasswordGuards.d.ts.map +1 -0
  361. package/dist/HttpApi/PasswordGuards.js +179 -0
  362. package/dist/HttpApi/PasswordGuards.js.map +1 -0
  363. package/dist/HttpApi/RecoveryCodes.d.ts +5 -0
  364. package/dist/HttpApi/RecoveryCodes.d.ts.map +1 -0
  365. package/dist/HttpApi/RecoveryCodes.js +5 -0
  366. package/dist/HttpApi/RecoveryCodes.js.map +1 -0
  367. package/dist/HttpApi/RefreshToken.d.ts +4 -0
  368. package/dist/HttpApi/RefreshToken.d.ts.map +1 -0
  369. package/dist/HttpApi/RefreshToken.js +4 -0
  370. package/dist/HttpApi/RefreshToken.js.map +1 -0
  371. package/dist/HttpApi/RequestGuards.d.ts +42 -0
  372. package/dist/HttpApi/RequestGuards.d.ts.map +1 -0
  373. package/dist/HttpApi/RequestGuards.js +194 -0
  374. package/dist/HttpApi/RequestGuards.js.map +1 -0
  375. package/dist/HttpApi/Schemas.d.ts +361 -84
  376. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  377. package/dist/HttpApi/Schemas.js +190 -27
  378. package/dist/HttpApi/Schemas.js.map +1 -1
  379. package/dist/HttpApi/Security.d.ts +12 -93
  380. package/dist/HttpApi/Security.d.ts.map +1 -1
  381. package/dist/HttpApi/Security.js +65 -356
  382. package/dist/HttpApi/Security.js.map +1 -1
  383. package/dist/HttpApi/SecurityTimeline.d.ts +4 -0
  384. package/dist/HttpApi/SecurityTimeline.d.ts.map +1 -0
  385. package/dist/HttpApi/SecurityTimeline.js +4 -0
  386. package/dist/HttpApi/SecurityTimeline.js.map +1 -0
  387. package/dist/HttpApi/Session.d.ts +5 -0
  388. package/dist/HttpApi/Session.d.ts.map +1 -0
  389. package/dist/HttpApi/Session.js +5 -0
  390. package/dist/HttpApi/Session.js.map +1 -0
  391. package/dist/HttpApi/SessionGuards.d.ts +15 -0
  392. package/dist/HttpApi/SessionGuards.d.ts.map +1 -0
  393. package/dist/HttpApi/SessionGuards.js +37 -0
  394. package/dist/HttpApi/SessionGuards.js.map +1 -0
  395. package/dist/HttpApi/StepUp.d.ts +5 -0
  396. package/dist/HttpApi/StepUp.d.ts.map +1 -0
  397. package/dist/HttpApi/StepUp.js +5 -0
  398. package/dist/HttpApi/StepUp.js.map +1 -0
  399. package/dist/HttpApi/Totp.d.ts +5 -0
  400. package/dist/HttpApi/Totp.d.ts.map +1 -0
  401. package/dist/HttpApi/Totp.js +5 -0
  402. package/dist/HttpApi/Totp.js.map +1 -0
  403. package/dist/HttpApi/Transport.d.ts +4 -6
  404. package/dist/HttpApi/Transport.d.ts.map +1 -1
  405. package/dist/HttpApi/Transport.js +62 -36
  406. package/dist/HttpApi/Transport.js.map +1 -1
  407. package/dist/HttpApi/TrustedDevice.d.ts +4 -0
  408. package/dist/HttpApi/TrustedDevice.d.ts.map +1 -0
  409. package/dist/HttpApi/TrustedDevice.js +4 -0
  410. package/dist/HttpApi/TrustedDevice.js.map +1 -0
  411. package/dist/HttpApi/index.d.ts +9 -3
  412. package/dist/HttpApi/index.d.ts.map +1 -1
  413. package/dist/HttpApi/index.js +8 -2
  414. package/dist/HttpApi/index.js.map +1 -1
  415. package/dist/Identity.d.ts +138 -0
  416. package/dist/Identity.d.ts.map +1 -0
  417. package/dist/Identity.js +105 -0
  418. package/dist/Identity.js.map +1 -0
  419. package/dist/IdentityManagement.d.ts +189 -0
  420. package/dist/IdentityManagement.d.ts.map +1 -0
  421. package/dist/IdentityManagement.js +317 -0
  422. package/dist/IdentityManagement.js.map +1 -0
  423. package/dist/IncidentAction.d.ts +1 -4
  424. package/dist/IncidentAction.d.ts.map +1 -1
  425. package/dist/IncidentAction.js +15 -9
  426. package/dist/IncidentAction.js.map +1 -1
  427. package/dist/Internal.d.ts +2 -0
  428. package/dist/Internal.d.ts.map +1 -1
  429. package/dist/Internal.js +30 -0
  430. package/dist/Internal.js.map +1 -1
  431. package/dist/Invitation.d.ts +362 -0
  432. package/dist/Invitation.d.ts.map +1 -0
  433. package/dist/Invitation.js +633 -0
  434. package/dist/Invitation.js.map +1 -0
  435. package/dist/IpQualityScore.d.ts +38 -0
  436. package/dist/IpQualityScore.d.ts.map +1 -0
  437. package/dist/IpQualityScore.js +215 -0
  438. package/dist/IpQualityScore.js.map +1 -0
  439. package/dist/Jwt.d.ts +8 -29
  440. package/dist/Jwt.d.ts.map +1 -1
  441. package/dist/Jwt.js +67 -56
  442. package/dist/Jwt.js.map +1 -1
  443. package/dist/LoginApproval.d.ts +15 -30
  444. package/dist/LoginApproval.d.ts.map +1 -1
  445. package/dist/LoginApproval.js +47 -41
  446. package/dist/LoginApproval.js.map +1 -1
  447. package/dist/LoginNotification.d.ts +7 -11
  448. package/dist/LoginNotification.d.ts.map +1 -1
  449. package/dist/LoginNotification.js +30 -17
  450. package/dist/LoginNotification.js.map +1 -1
  451. package/dist/LoginRisk.d.ts +11 -13
  452. package/dist/LoginRisk.d.ts.map +1 -1
  453. package/dist/LoginRisk.js +66 -26
  454. package/dist/LoginRisk.js.map +1 -1
  455. package/dist/LoginRiskEnrichment.d.ts +145 -0
  456. package/dist/LoginRiskEnrichment.d.ts.map +1 -0
  457. package/dist/LoginRiskEnrichment.js +220 -0
  458. package/dist/LoginRiskEnrichment.js.map +1 -0
  459. package/dist/MagicLink.d.ts +9 -8
  460. package/dist/MagicLink.d.ts.map +1 -1
  461. package/dist/MagicLink.js +40 -73
  462. package/dist/MagicLink.js.map +1 -1
  463. package/dist/Mailer.d.ts +19 -12
  464. package/dist/Mailer.d.ts.map +1 -1
  465. package/dist/Mailer.js +10 -12
  466. package/dist/Mailer.js.map +1 -1
  467. package/dist/OAuth.d.ts +93 -96
  468. package/dist/OAuth.d.ts.map +1 -1
  469. package/dist/OAuth.js +404 -217
  470. package/dist/OAuth.js.map +1 -1
  471. package/dist/Passkey.d.ts +15 -17
  472. package/dist/Passkey.d.ts.map +1 -1
  473. package/dist/Passkey.js +86 -39
  474. package/dist/Passkey.js.map +1 -1
  475. package/dist/PasskeyBrowser.d.ts +39 -0
  476. package/dist/PasskeyBrowser.d.ts.map +1 -0
  477. package/dist/PasskeyBrowser.js +206 -0
  478. package/dist/PasskeyBrowser.js.map +1 -0
  479. package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -1
  480. package/dist/PasskeySimpleWebAuthn.js +19 -7
  481. package/dist/PasskeySimpleWebAuthn.js.map +1 -1
  482. package/dist/Password.d.ts +71 -37
  483. package/dist/Password.d.ts.map +1 -1
  484. package/dist/Password.js +295 -81
  485. package/dist/Password.js.map +1 -1
  486. package/dist/PasswordRisk.d.ts +63 -0
  487. package/dist/PasswordRisk.d.ts.map +1 -0
  488. package/dist/PasswordRisk.js +37 -0
  489. package/dist/PasswordRisk.js.map +1 -0
  490. package/dist/Permission.d.ts +308 -0
  491. package/dist/Permission.d.ts.map +1 -0
  492. package/dist/Permission.js +827 -0
  493. package/dist/Permission.js.map +1 -0
  494. package/dist/Policy.d.ts +31 -18
  495. package/dist/Policy.d.ts.map +1 -1
  496. package/dist/Policy.js +58 -14
  497. package/dist/Policy.js.map +1 -1
  498. package/dist/PostgresDelegatedAccessStorageMigrations.d.ts +7 -0
  499. package/dist/PostgresDelegatedAccessStorageMigrations.d.ts.map +1 -0
  500. package/dist/PostgresDelegatedAccessStorageMigrations.js +119 -0
  501. package/dist/PostgresDelegatedAccessStorageMigrations.js.map +1 -0
  502. package/dist/PostgresStorageMigrations.d.ts +15 -0
  503. package/dist/PostgresStorageMigrations.d.ts.map +1 -0
  504. package/dist/PostgresStorageMigrations.js +620 -0
  505. package/dist/PostgresStorageMigrations.js.map +1 -0
  506. package/dist/Privacy.d.ts +0 -3
  507. package/dist/Privacy.d.ts.map +1 -1
  508. package/dist/Privacy.js +2 -5
  509. package/dist/Privacy.js.map +1 -1
  510. package/dist/RateLimiter.d.ts +0 -3
  511. package/dist/RateLimiter.d.ts.map +1 -1
  512. package/dist/RateLimiter.js +1 -4
  513. package/dist/RateLimiter.js.map +1 -1
  514. package/dist/RecoveryCode.d.ts +83 -11
  515. package/dist/RecoveryCode.d.ts.map +1 -1
  516. package/dist/RecoveryCode.js +273 -75
  517. package/dist/RecoveryCode.js.map +1 -1
  518. package/dist/RecoveryPolicy.d.ts +81 -0
  519. package/dist/RecoveryPolicy.d.ts.map +1 -0
  520. package/dist/RecoveryPolicy.js +119 -0
  521. package/dist/RecoveryPolicy.js.map +1 -0
  522. package/dist/RefreshToken.d.ts +0 -9
  523. package/dist/RefreshToken.d.ts.map +1 -1
  524. package/dist/RefreshToken.js +31 -22
  525. package/dist/RefreshToken.js.map +1 -1
  526. package/dist/SecurityTimeline.d.ts +1 -4
  527. package/dist/SecurityTimeline.d.ts.map +1 -1
  528. package/dist/SecurityTimeline.js +110 -17
  529. package/dist/SecurityTimeline.js.map +1 -1
  530. package/dist/Sessions.d.ts +124 -29
  531. package/dist/Sessions.d.ts.map +1 -1
  532. package/dist/Sessions.js +626 -94
  533. package/dist/Sessions.js.map +1 -1
  534. package/dist/StepUp.d.ts +132 -11
  535. package/dist/StepUp.d.ts.map +1 -1
  536. package/dist/StepUp.js +387 -19
  537. package/dist/StepUp.js.map +1 -1
  538. package/dist/Storage.d.ts +89 -23
  539. package/dist/Storage.d.ts.map +1 -1
  540. package/dist/Storage.js +10 -12
  541. package/dist/Storage.js.map +1 -1
  542. package/dist/StorageMigrations.d.ts +6 -1
  543. package/dist/StorageMigrations.d.ts.map +1 -1
  544. package/dist/StorageMigrations.js +224 -0
  545. package/dist/StorageMigrations.js.map +1 -1
  546. package/dist/StorageSchemaGenerator.d.ts +486 -0
  547. package/dist/StorageSchemaGenerator.d.ts.map +1 -0
  548. package/dist/StorageSchemaGenerator.js +1022 -0
  549. package/dist/StorageSchemaGenerator.js.map +1 -0
  550. package/dist/StrongFactor.d.ts +64 -0
  551. package/dist/StrongFactor.d.ts.map +1 -0
  552. package/dist/StrongFactor.js +100 -0
  553. package/dist/StrongFactor.js.map +1 -0
  554. package/dist/Testing.js +2 -2
  555. package/dist/Testing.js.map +1 -1
  556. package/dist/Totp.d.ts +88 -13
  557. package/dist/Totp.d.ts.map +1 -1
  558. package/dist/Totp.js +192 -34
  559. package/dist/Totp.js.map +1 -1
  560. package/dist/TrustedDevice.d.ts +0 -9
  561. package/dist/TrustedDevice.d.ts.map +1 -1
  562. package/dist/TrustedDevice.js +15 -17
  563. package/dist/TrustedDevice.js.map +1 -1
  564. package/dist/WaitUntil.d.ts +0 -3
  565. package/dist/WaitUntil.d.ts.map +1 -1
  566. package/dist/WaitUntil.js +1 -4
  567. package/dist/WaitUntil.js.map +1 -1
  568. package/dist/Webhook.d.ts +42 -12
  569. package/dist/Webhook.d.ts.map +1 -1
  570. package/dist/Webhook.js +165 -26
  571. package/dist/Webhook.js.map +1 -1
  572. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -1
  573. package/dist/alchemy/cloudflare/Email.js +9 -4
  574. package/dist/alchemy/cloudflare/Email.js.map +1 -1
  575. package/dist/cloudflare/Email.js +1 -1
  576. package/dist/cloudflare/Email.js.map +1 -1
  577. package/dist/cloudflare/RequestMetadata.d.ts +49 -0
  578. package/dist/cloudflare/RequestMetadata.d.ts.map +1 -0
  579. package/dist/cloudflare/RequestMetadata.js +71 -0
  580. package/dist/cloudflare/RequestMetadata.js.map +1 -0
  581. package/dist/index.d.ts +0 -35
  582. package/dist/index.d.ts.map +1 -1
  583. package/dist/index.js +0 -35
  584. package/dist/index.js.map +1 -1
  585. package/dist/internal/AuthFlowFinalizer.d.ts +31 -0
  586. package/dist/internal/AuthFlowFinalizer.d.ts.map +1 -0
  587. package/dist/internal/AuthFlowFinalizer.js +182 -0
  588. package/dist/internal/AuthFlowFinalizer.js.map +1 -0
  589. package/migrations/0001_auth_storage.sql +1 -0
  590. package/migrations/0006_auth_totp_factor.sql +1 -0
  591. package/migrations/0024_auth_permission.sql +39 -0
  592. package/migrations/0025_auth_permission_definition.sql +19 -0
  593. package/migrations/0026_auth_user_identity.sql +59 -0
  594. package/migrations/0027_auth_audit_log_storage_order.sql +46 -0
  595. package/migrations/0028_auth_oauth_client_secret_key.sql +39 -0
  596. package/migrations/delegated-access/0001_auth_delegated_access.sql +152 -0
  597. package/migrations/postgres/0001_auth_core.sql +77 -0
  598. package/migrations/postgres/0002_auth_security_oauth.sql +65 -0
  599. package/migrations/postgres/0003_auth_credentials_tokens.sql +43 -0
  600. package/migrations/postgres/0004_auth_security_history.sql +103 -0
  601. package/migrations/postgres/0005_auth_webhooks.sql +29 -0
  602. package/migrations/postgres/0006_auth_domain_timeline.sql +50 -0
  603. package/migrations/postgres/0007_auth_oauth_clients.sql +85 -0
  604. package/migrations/postgres/0008_auth_oauth_tokens.sql +63 -0
  605. package/migrations/postgres/0009_auth_permissions.sql +66 -0
  606. package/migrations/postgres/delegated-access/0001_auth_delegated_access.sql +112 -0
  607. package/package.json +301 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/HttpApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/HttpApi/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
- export * from "./Api.js";
1
+ export { passwordSetInput, passwordChangeInput, emailVerificationVerifyInput, oauthAuthorizationStartInput, oauthAuthorizationStartedHttpBody, oauthLinkConfirmationStartInput, oauthLinkConfirmationInspectInput, oauthLinkConfirmationConfirmInput, oauthLinkConfirmationStartedHttpBody, oauthLinkConfirmationPendingHttpBody, oauthAuthorizationCallbackQueryPayload, oauthAuthorizationCallbackFormPostPayload, oauthAuthorizationCallbackInput, oauthLinkConfirmationConfirmedHttpBody, oauthAccountUnlinkResolutionHttpBody, PasskeyHttpConfig, PasskeyHttpConfigLive, TotpHttpConfig, TotpHttpConfigLive, RecoveryCodeHttpConfig, RecoveryCodeHttpConfigLive, OAuthHttpConfig, OAuthHttpConfigLive, OAuthTokenHttpConfig, OAuthTokenHttpConfigLive, RefreshTokenHttpConfig, RefreshTokenHttpConfigLive, JwtHttpConfig, JwtHttpConfigLive, passkeyRegistrationStartInput, passkeyAuthenticationStartInput, passkeyMfaStartInput, passkeyRegistrationFinishInput, passkeyAuthenticationFinishInput, passkeyMfaVerifyInput, passkeyCredentialRevokeInput, totpEnrollmentStartInput, totpEnrollmentConfirmInput, totpVerifyInput, totpFactorRevokeInput, recoveryCodeGenerateInput, recoveryCodeRegenerateInput, recoveryCodeVerifyInput, recoveryCodeRevokeInput, apiKeyCreateInput, apiKeyRevokeInput, refreshTokenRefreshInput, jwtIntrospectInput, jwtRevokeInput, jwtJwksHttpBody, totpMfaVerifyInput, totpMfaVerifyForFlowInput, recoveryCodeMfaVerifyInput, recoveryCodeMfaVerifyForFlowInput, stepUpTotpVerifyInput, stepUpPasswordVerifyInput, stepUpRecoveryCodeVerifyInput, stepUpPasskeyStartInput, stepUpPasskeyVerifyInput, loginApprovalApproveInput, loginApprovalStatusInput, loginApprovalFinalizeInput, loginNotificationReportInput, adminSessionHttpBody, stepUpAuthenticatedHttpBody, AdminSessionAuthorization, AdminPermissionDefinitionAuthorization, AdminSecurityTimelineAuthorization, AdminTrustedDeviceAuthorization, OidcDiscoveryMetadata, OidcDiscoveryMetadataLive, securityTimelineEventHttpBody, trustedDeviceHttpBody, PasswordHttpApiGroup, PasswordHttpApi, SessionHttpApiGroup, AdminSessionHttpApiGroup, AdminSessionHttpApi, AdminPermissionDefinitionHttpApiGroup, AdminPermissionDefinitionHttpApi, EmailVerificationHttpApiGroup, EmailOtpHttpApiGroup, EmailAuthHttpApiGroup, EmailAuthHttpApi, MagicLinkHttpApiGroup, PasskeyHttpApiGroup, PasskeyHttpApi, IdentityHttpApiGroup, IdentityHttpApi, TotpHttpApiGroup, TotpHttpApi, RecoveryCodesHttpApiGroup, RecoveryCodesHttpApi, OAuthHttpApiGroup, OAuthHttpApi, OAuthTokenHttpApiGroup, OAuthTokenHttpApi, OAuthProviderAuthorizationHttpApiGroup, OAuthProviderAuthorizationHttpApi, LoginApprovalHttpApiGroup, MfaHttpApiGroup, MfaHttpApi, StepUpHttpApiGroup, StepUpHttpApi, ApiKeyHttpApiGroup, ApiKeyHttpApi, RefreshTokenHttpApiGroup, RefreshTokenHttpApi, JwtHttpApiGroup, JwtHttpApi, JwtDiscoveryHttpApiGroup, JwtDiscoveryHttpApi, OidcDiscoveryHttpApiGroup, OidcDiscoveryHttpApi, LoginNotificationHttpApiGroup, SecurityTimelineHttpApiGroup, SecurityTimelineHttpApi, AdminSecurityTimelineHttpApiGroup, AdminSecurityTimelineHttpApi, TrustedDeviceHttpApiGroup, TrustedDeviceHttpApi, AdminTrustedDeviceHttpApiGroup, AdminTrustedDeviceHttpApi, CoreAuthHttpApi, AuthClientProtocolApi, PasswordHttpOperationsLive, SessionHttpOperationsLive, EmailVerificationHttpOperationsLive, EmailOtpHttpOperationsLive, EmailAuthHttpOperationsLive, MagicLinkHttpOperationsLive, PasskeyHttpOperationsLive, IdentityHttpOperationsLive, TotpHttpOperationsLive, RecoveryCodesHttpOperationsLive, MfaHttpOperationsLive, StepUpHttpOperationsLive, AdminSessionHttpOperationsLive, AdminPermissionDefinitionHttpOperationsLive, LoginNotificationHttpOperationsLive, SecurityTimelineHttpOperationsLive, AdminSecurityTimelineHttpOperationsLive, TrustedDeviceHttpOperationsLive, AdminTrustedDeviceHttpOperationsLive, OAuthHttpOperationsLive, OAuthProviderAuthorizationHttpOperationsLive, OAuthTokenHttpOperationsLive, LoginApprovalHttpOperationsLive, ApiKeyHttpOperationsLive, RefreshTokenHttpOperationsLive, JwtHttpOperationsLive, JwtDiscoveryHttpOperationsLive, OidcDiscoveryHttpOperationsLive, CoreAuthPasswordGroupLive, PasswordHttpApiGroupLive, PasswordHttpApiLive, CoreAuthSessionGroupLive, AdminSessionHttpApiGroupLive, AdminSessionHttpApiLive, AdminPermissionDefinitionHttpApiGroupLive, AdminPermissionDefinitionHttpRequirementsLive, AdminPermissionDefinitionHttpApiLive, CoreAuthEmailVerificationGroupLive, CoreAuthEmailOtpGroupLive, EmailAuthHttpApiGroupLive, EmailAuthHttpApiLive, CoreAuthMagicLinkGroupLive, PasskeyHttpApiGroupLive, PasskeyHttpApiLive, IdentityHttpApiGroupLive, IdentityHttpApiLive, TotpHttpApiGroupLive, TotpHttpApiLive, RecoveryCodesHttpApiGroupLive, RecoveryCodesHttpApiLive, MfaHttpApiGroupLive, MfaHttpApiLive, StepUpHttpApiGroupLive, StepUpHttpApiLive, OAuthHttpApiGroupLive, OAuthHttpApiLive, ApiKeyHttpApiGroupLive, ApiKeyHttpApiLive, RefreshTokenHttpApiGroupLive, RefreshTokenHttpApiLive, JwtHttpApiGroupLive, JwtHttpApiLive, CoreAuthLoginApprovalGroupLive, CoreAuthLoginNotificationGroupLive, SecurityTimelineHttpApiGroupLive, SecurityTimelineHttpApiLive, OAuthProviderAuthorizationHttpApiGroupLive, OAuthProviderAuthorizationHttpApiLive, OAuthTokenHttpApiGroupLive, OAuthTokenHttpApiLive, JwtDiscoveryHttpApiGroupLive, JwtDiscoveryHttpApiLive, OidcDiscoveryHttpApiGroupLive, OidcDiscoveryHttpApiLive, AdminSecurityTimelineHttpApiGroupLive, AdminSecurityTimelineHttpApiLive, TrustedDeviceHttpApiGroupLive, TrustedDeviceHttpApiLive, AdminTrustedDeviceHttpApiGroupLive, AdminTrustedDeviceHttpApiLive, CoreAuthHttpApiLive, AuthResult, } from "./Api.js";
2
2
  export * from "./Endpoints.js";
3
+ export * from "./Audit.js";
4
+ export * from "./EmailGuards.js";
3
5
  export * from "./Errors.js";
6
+ export * from "./IdentityGuards.js";
7
+ export * from "./PasswordGuards.js";
8
+ export * from "./RequestGuards.js";
4
9
  export * from "./Schemas.js";
5
- export { AuthHttpApiConfig, AuthHttpApiConfigLive, AuthApiRateLimit, AuthApiRateLimitMiddlewareLive, AuthCsrfMiddleware, AuthCsrfMiddlewareLive, AuthOriginCheckMiddleware, AuthOriginCheckMiddlewareLive, AuthRateLimitMiddleware, AuthRateLimitMiddlewareLive, AuthRateLimitPolicy, AuthRequestMetadata, AuthRequestMetadataMiddleware, AuthRequestMetadataMiddlewareLive, makeAuthRequestMetadata, } from "./Security.js";
10
+ export { AuthHttpApiConfig, AuthHttpApiConfigLive, AuthCsrfMiddleware, AuthCsrfMiddlewareLive, AuthOriginCheckMiddleware, AuthOriginCheckMiddlewareLive, AuthRequestMetadata, AuthRequestMetadataMiddleware, AuthRequestMetadataMiddlewareLive, mapAuthGuardErrors, makeAuthRequestMetadata, } from "./Security.js";
6
11
  export * from "./Transport.js";
12
+ export * from "./Operations/index.js";
7
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/HttpApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAmBvB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/HttpApi/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import type { Email, IdentityId, UnixMillis, UserId } from "./Identifiers.js";
3
+ export type IdentityScope = {
4
+ readonly type: "global";
5
+ } | {
6
+ readonly type: "tenant";
7
+ readonly tenantId: string;
8
+ };
9
+ export declare const globalIdentityScope: IdentityScope;
10
+ export declare const tenantIdentityScope: (tenantId: string) => IdentityScope;
11
+ export type IdentityKind = "email" | "username" | (string & {});
12
+ export type IdentityAllowedScopes = "global" | "tenant" | "both";
13
+ export interface LoginIdentityInput {
14
+ readonly scope: IdentityScope;
15
+ readonly kind: IdentityKind;
16
+ readonly value: string;
17
+ }
18
+ export interface NormalizedLoginIdentity extends LoginIdentityInput {
19
+ readonly normalizedValue: string;
20
+ }
21
+ export interface UserIdentityRow {
22
+ readonly id: IdentityId;
23
+ readonly userId: UserId;
24
+ readonly scope: IdentityScope;
25
+ readonly kind: IdentityKind;
26
+ readonly value: string;
27
+ readonly normalizedValue: string;
28
+ readonly verifiedAt?: UnixMillis;
29
+ readonly isPrimaryLogin: boolean;
30
+ readonly createdAt: UnixMillis;
31
+ readonly updatedAt: UnixMillis;
32
+ readonly revokedAt?: UnixMillis;
33
+ readonly replacedById?: IdentityId;
34
+ readonly metadata?: Readonly<Record<string, unknown>>;
35
+ }
36
+ export interface NewUserIdentityRow {
37
+ readonly id: IdentityId;
38
+ readonly userId: UserId;
39
+ readonly scope: IdentityScope;
40
+ readonly kind: IdentityKind;
41
+ readonly value: string;
42
+ readonly normalizedValue: string;
43
+ readonly verifiedAt?: UnixMillis;
44
+ readonly isPrimaryLogin?: boolean;
45
+ readonly createdAt: UnixMillis;
46
+ readonly metadata?: Readonly<Record<string, unknown>>;
47
+ }
48
+ export interface VerifyUserIdentityInput {
49
+ readonly id: IdentityId;
50
+ readonly expectedNormalizedValue: string;
51
+ readonly verifiedAt: UnixMillis;
52
+ }
53
+ export interface RevokeUserIdentityInput {
54
+ readonly id: IdentityId;
55
+ readonly userId: UserId;
56
+ readonly expectedUpdatedAt: UnixMillis;
57
+ readonly revokedAt: UnixMillis;
58
+ readonly reason?: string;
59
+ }
60
+ export interface ReplaceUserIdentityInput {
61
+ readonly id: IdentityId;
62
+ readonly userId: UserId;
63
+ readonly expectedUpdatedAt: UnixMillis;
64
+ readonly replacement: NewUserIdentityRow;
65
+ readonly replacedAt: UnixMillis;
66
+ }
67
+ export interface SetPrimaryLoginIdentityInput {
68
+ readonly userId: UserId;
69
+ readonly identityId: IdentityId;
70
+ readonly expectedUpdatedAt: UnixMillis;
71
+ readonly updatedAt: UnixMillis;
72
+ }
73
+ /**
74
+ * Core's login rule. Email ownership must be proved by EmailVerification;
75
+ * username and custom kinds are locally verified and eligible by default.
76
+ * Registering a custom kind only supplies validation and normalization. Apps
77
+ * that need proofing for a custom kind should deny mutations with
78
+ * IdentityMutationPolicy until their own proofing flow has completed.
79
+ */
80
+ export declare const isIdentityLoginEligible: (identity: Pick<UserIdentityRow, "kind" | "verifiedAt" | "revokedAt">) => boolean;
81
+ export type IdentityValidationReason = "invalid-value" | "reserved-value" | (string & {});
82
+ declare const IdentityValidationError_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 & {
83
+ readonly _tag: "IdentityValidationError";
84
+ } & Readonly<A>;
85
+ export declare class IdentityValidationError extends IdentityValidationError_base<{
86
+ readonly kind: IdentityKind;
87
+ readonly reason: IdentityValidationReason;
88
+ readonly message: string;
89
+ }> {
90
+ }
91
+ declare const IdentityKindNotRegisteredError_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 & {
92
+ readonly _tag: "IdentityKindNotRegisteredError";
93
+ } & Readonly<A>;
94
+ export declare class IdentityKindNotRegisteredError extends IdentityKindNotRegisteredError_base<{
95
+ readonly kind: IdentityKind;
96
+ }> {
97
+ }
98
+ declare const IdentityScopeNotAllowedError_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 & {
99
+ readonly _tag: "IdentityScopeNotAllowedError";
100
+ } & Readonly<A>;
101
+ export declare class IdentityScopeNotAllowedError extends IdentityScopeNotAllowedError_base<{
102
+ readonly kind: IdentityKind;
103
+ readonly scope: IdentityScope;
104
+ readonly allowedScopes: IdentityAllowedScopes;
105
+ }> {
106
+ }
107
+ export type IdentityNormalizationError = IdentityValidationError | IdentityKindNotRegisteredError | IdentityScopeNotAllowedError;
108
+ export interface IdentityKindDefinition {
109
+ readonly kind: IdentityKind;
110
+ readonly allowedScopes: IdentityAllowedScopes;
111
+ readonly normalize: (value: string) => Effect.Effect<string, IdentityValidationError>;
112
+ readonly validate: (value: string) => Effect.Effect<void, IdentityValidationError>;
113
+ }
114
+ export interface IdentityKindRegistryService {
115
+ readonly get: (kind: IdentityKind) => Effect.Effect<IdentityKindDefinition, IdentityKindNotRegisteredError>;
116
+ readonly normalize: (input: LoginIdentityInput) => Effect.Effect<NormalizedLoginIdentity, IdentityNormalizationError>;
117
+ }
118
+ declare const IdentityKindRegistry_base: Context.ServiceClass<IdentityKindRegistry, "auth/IdentityKindRegistry", IdentityKindRegistryService>;
119
+ export declare class IdentityKindRegistry extends IdentityKindRegistry_base {
120
+ }
121
+ export declare const normalizeEmail: (value: string) => Effect.Effect<Email, IdentityValidationError>;
122
+ export declare const EmailIdentityKind: IdentityKindDefinition;
123
+ export declare const defaultReservedUsernames: ReadonlySet<string>;
124
+ export interface UsernameIdentityKindOptions {
125
+ readonly minimumLength?: number;
126
+ readonly maximumLength?: number;
127
+ readonly reserved?: ReadonlySet<string>;
128
+ }
129
+ export declare const makeUsernameIdentityKind: (options?: UsernameIdentityKindOptions) => IdentityKindDefinition;
130
+ export declare const UsernameIdentityKind: IdentityKindDefinition;
131
+ export declare const makeIdentityKindRegistry: (definitions: Iterable<IdentityKindDefinition>) => IdentityKindRegistryService;
132
+ export declare const IdentityKindRegistryFromDefinitionsLive: (definitions: Iterable<IdentityKindDefinition>) => Layer.Layer<IdentityKindRegistry, never, never>;
133
+ export declare const IdentityKindRegistryDefaultLive: Layer.Layer<IdentityKindRegistry, never, never>;
134
+ export declare const normalizeLoginIdentity: (input: LoginIdentityInput) => Effect.Effect<NormalizedLoginIdentity, IdentityNormalizationError, IdentityKindRegistry>;
135
+ export declare const emailLoginIdentity: (value: string) => LoginIdentityInput;
136
+ export declare const usernameLoginIdentity: (value: string, scope?: IdentityScope) => LoginIdentityInput;
137
+ export {};
138
+ //# sourceMappingURL=Identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Identity.d.ts","sourceRoot":"","sources":["../src/Identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import { Context, Data, Effect, Layer } from "effect";
2
+ import { Email as makeEmail } from "./Identifiers.js";
3
+ export const globalIdentityScope = { type: "global" };
4
+ export const tenantIdentityScope = (tenantId) => ({
5
+ type: "tenant",
6
+ tenantId,
7
+ });
8
+ /**
9
+ * Core's login rule. Email ownership must be proved by EmailVerification;
10
+ * username and custom kinds are locally verified and eligible by default.
11
+ * Registering a custom kind only supplies validation and normalization. Apps
12
+ * that need proofing for a custom kind should deny mutations with
13
+ * IdentityMutationPolicy until their own proofing flow has completed.
14
+ */
15
+ export const isIdentityLoginEligible = (identity) => identity.revokedAt === undefined &&
16
+ (identity.kind !== "email" || identity.verifiedAt !== undefined);
17
+ export class IdentityValidationError extends Data.TaggedError("IdentityValidationError") {
18
+ }
19
+ export class IdentityKindNotRegisteredError extends Data.TaggedError("IdentityKindNotRegisteredError") {
20
+ }
21
+ export class IdentityScopeNotAllowedError extends Data.TaggedError("IdentityScopeNotAllowedError") {
22
+ }
23
+ export class IdentityKindRegistry extends Context.Service()("auth/IdentityKindRegistry") {
24
+ }
25
+ const validationError = (kind, message, reason = "invalid-value") => new IdentityValidationError({ kind, reason, message });
26
+ const emailPattern = /^[^\s@]+@[^\s@.]+(?:\.[^\s@.]+)+$/;
27
+ export const normalizeEmail = (value) => {
28
+ const trimmed = value.trim();
29
+ const separator = trimmed.lastIndexOf("@");
30
+ if (separator <= 0 || !emailPattern.test(trimmed)) {
31
+ return Effect.fail(validationError("email", "Invalid email address"));
32
+ }
33
+ return Effect.succeed(makeEmail(`${trimmed.slice(0, separator)}${trimmed.slice(separator).toLowerCase()}`));
34
+ };
35
+ export const EmailIdentityKind = {
36
+ kind: "email",
37
+ allowedScopes: "global",
38
+ normalize: normalizeEmail,
39
+ validate: (value) => Effect.asVoid(normalizeEmail(value)),
40
+ };
41
+ export const defaultReservedUsernames = new Set([
42
+ "admin",
43
+ "administrator",
44
+ "root",
45
+ "support",
46
+ "system",
47
+ ]);
48
+ export const makeUsernameIdentityKind = (options = {}) => {
49
+ const minimumLength = options.minimumLength ?? 3;
50
+ const maximumLength = options.maximumLength ?? 64;
51
+ const reserved = options.reserved ?? defaultReservedUsernames;
52
+ const normalize = (value) => Effect.succeed(value.trim().normalize("NFKC").toLowerCase());
53
+ const validate = (value) => {
54
+ if (value.length < minimumLength ||
55
+ value.length > maximumLength ||
56
+ !/^[a-z0-9](?:[a-z0-9_.-]*[a-z0-9])?$/.test(value)) {
57
+ return Effect.fail(validationError("username", `Username must be ${minimumLength}-${maximumLength} lowercase ASCII characters`));
58
+ }
59
+ if (reserved.has(value)) {
60
+ return Effect.fail(validationError("username", "Username is reserved", "reserved-value"));
61
+ }
62
+ return Effect.void;
63
+ };
64
+ return { kind: "username", allowedScopes: "both", normalize, validate };
65
+ };
66
+ export const UsernameIdentityKind = makeUsernameIdentityKind();
67
+ const scopeAllowed = (allowed, scope) => allowed === "both" || allowed === scope.type;
68
+ export const makeIdentityKindRegistry = (definitions) => {
69
+ const byKind = new Map(Array.from(definitions, (definition) => [definition.kind, definition]));
70
+ const get = (kind) => {
71
+ const definition = byKind.get(kind);
72
+ return definition === undefined
73
+ ? Effect.fail(new IdentityKindNotRegisteredError({ kind }))
74
+ : Effect.succeed(definition);
75
+ };
76
+ return IdentityKindRegistry.of({
77
+ get,
78
+ normalize: (input) => Effect.gen(function* () {
79
+ const definition = yield* get(input.kind);
80
+ if (!scopeAllowed(definition.allowedScopes, input.scope)) {
81
+ return yield* new IdentityScopeNotAllowedError({
82
+ kind: input.kind,
83
+ scope: input.scope,
84
+ allowedScopes: definition.allowedScopes,
85
+ });
86
+ }
87
+ const normalizedValue = yield* definition.normalize(input.value);
88
+ yield* definition.validate(normalizedValue);
89
+ return { ...input, normalizedValue };
90
+ }),
91
+ });
92
+ };
93
+ export const IdentityKindRegistryFromDefinitionsLive = (definitions) => Layer.succeed(IdentityKindRegistry)(makeIdentityKindRegistry(definitions));
94
+ export const IdentityKindRegistryDefaultLive = IdentityKindRegistryFromDefinitionsLive([
95
+ EmailIdentityKind,
96
+ UsernameIdentityKind,
97
+ ]);
98
+ export const normalizeLoginIdentity = (input) => Effect.flatMap(IdentityKindRegistry, (registry) => registry.normalize(input));
99
+ export const emailLoginIdentity = (value) => ({
100
+ scope: globalIdentityScope,
101
+ kind: "email",
102
+ value,
103
+ });
104
+ export const usernameLoginIdentity = (value, scope = globalIdentityScope) => ({ scope, kind: "username", value });
105
+ //# sourceMappingURL=Identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Identity.js","sourceRoot":"","sources":["../src/Identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import type { AuditActor, AuditLogService, AuditRequest } from "./AuditLog.js";
3
+ import type { CryptoService } from "./Crypto.js";
4
+ import { Crypto } from "./Crypto.js";
5
+ import type { EmailAcceptancePolicyService, EmailRiskProviderUnavailableError } from "./EmailRisk.js";
6
+ import { EmailAcceptancePolicy, EmailNotAcceptedError } from "./EmailRisk.js";
7
+ import { IdentityId } from "./Identifiers.js";
8
+ import type { AuditEventId, UnixMillis, UserId } from "./Identifiers.js";
9
+ import { IdentityKindRegistry } from "./Identity.js";
10
+ import type { IdentityKind, IdentityKindRegistryService, IdentityNormalizationError, IdentityScope, LoginIdentityInput, UserIdentityRow } from "./Identity.js";
11
+ import type { ValidatedSession } from "./Sessions.js";
12
+ import { IdentityStore, StorageError, UserStore } from "./Storage.js";
13
+ import type { IdentityStoreService, UserStoreService } from "./Storage.js";
14
+ export interface IdentityInfo {
15
+ readonly id: IdentityId;
16
+ readonly scope: IdentityScope;
17
+ readonly kind: IdentityKind;
18
+ readonly value: string;
19
+ readonly verified: boolean;
20
+ readonly loginEligible: boolean;
21
+ readonly isPrimaryLogin: boolean;
22
+ readonly createdAt: UnixMillis;
23
+ readonly updatedAt: UnixMillis;
24
+ }
25
+ export declare const identityInfo: (row: UserIdentityRow) => IdentityInfo;
26
+ export type IdentityMutationOperation = "add" | "replace" | "revoke" | "set-primary";
27
+ export interface IdentityMutationPolicyInput {
28
+ readonly operation: IdentityMutationOperation;
29
+ readonly userId: UserId;
30
+ readonly current?: IdentityInfo;
31
+ readonly proposed?: LoginIdentityInput;
32
+ readonly currentSession?: ValidatedSession;
33
+ }
34
+ declare const IdentityMutationDeniedError_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 & {
35
+ readonly _tag: "IdentityMutationDeniedError";
36
+ } & Readonly<A>;
37
+ export declare class IdentityMutationDeniedError extends IdentityMutationDeniedError_base<{
38
+ readonly operation: IdentityMutationOperation;
39
+ readonly reason?: string;
40
+ }> {
41
+ }
42
+ export interface IdentityMutationPolicyService {
43
+ readonly authorize: (input: IdentityMutationPolicyInput) => Effect.Effect<void, IdentityMutationDeniedError>;
44
+ }
45
+ declare const IdentityMutationPolicy_base: Context.ServiceClass<IdentityMutationPolicy, "auth/IdentityMutationPolicy", IdentityMutationPolicyService>;
46
+ export declare class IdentityMutationPolicy extends IdentityMutationPolicy_base {
47
+ }
48
+ export declare const IdentityMutationPolicyAllow: Layer.Layer<IdentityMutationPolicy, never, never>;
49
+ declare const IdentityNotFoundError_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 & {
50
+ readonly _tag: "IdentityNotFoundError";
51
+ } & Readonly<A>;
52
+ export declare class IdentityNotFoundError extends IdentityNotFoundError_base<{
53
+ readonly id?: IdentityId;
54
+ }> {
55
+ }
56
+ declare const IdentityOwnershipError_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 & {
57
+ readonly _tag: "IdentityOwnershipError";
58
+ } & Readonly<A>;
59
+ export declare class IdentityOwnershipError extends IdentityOwnershipError_base<{
60
+ readonly id: IdentityId;
61
+ }> {
62
+ }
63
+ declare const IdentityInactiveError_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 & {
64
+ readonly _tag: "IdentityInactiveError";
65
+ } & Readonly<A>;
66
+ export declare class IdentityInactiveError extends IdentityInactiveError_base<{
67
+ readonly id: IdentityId;
68
+ }> {
69
+ }
70
+ declare const IdentityConcurrentModificationError_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 & {
71
+ readonly _tag: "IdentityConcurrentModificationError";
72
+ } & Readonly<A>;
73
+ export declare class IdentityConcurrentModificationError extends IdentityConcurrentModificationError_base<{
74
+ readonly id: IdentityId;
75
+ readonly expectedUpdatedAt: UnixMillis;
76
+ }> {
77
+ }
78
+ declare const IdentityAlreadyExistsError_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 & {
79
+ readonly _tag: "IdentityAlreadyExistsError";
80
+ } & Readonly<A>;
81
+ export declare class IdentityAlreadyExistsError extends IdentityAlreadyExistsError_base<{
82
+ readonly scope: IdentityScope;
83
+ readonly kind: IdentityKind;
84
+ }> {
85
+ }
86
+ declare const IdentityUserNotActiveError_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 & {
87
+ readonly _tag: "IdentityUserNotActiveError";
88
+ } & Readonly<A>;
89
+ export declare class IdentityUserNotActiveError extends IdentityUserNotActiveError_base<{
90
+ readonly userId: UserId;
91
+ }> {
92
+ }
93
+ declare const LastLoginIdentityError_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 & {
94
+ readonly _tag: "LastLoginIdentityError";
95
+ } & Readonly<A>;
96
+ export declare class LastLoginIdentityError extends LastLoginIdentityError_base<{
97
+ readonly id: IdentityId;
98
+ }> {
99
+ }
100
+ declare const IdentityNotLoginEligibleError_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 & {
101
+ readonly _tag: "IdentityNotLoginEligibleError";
102
+ } & Readonly<A>;
103
+ export declare class IdentityNotLoginEligibleError extends IdentityNotLoginEligibleError_base<{
104
+ readonly id: IdentityId;
105
+ }> {
106
+ }
107
+ declare const IdentityManagementStorageError_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 & {
108
+ readonly _tag: "IdentityManagementStorageError";
109
+ } & Readonly<A>;
110
+ export declare class IdentityManagementStorageError extends IdentityManagementStorageError_base<{
111
+ readonly operation: IdentityMutationOperation | "availability" | "list";
112
+ readonly cause: StorageError;
113
+ }> {
114
+ }
115
+ declare const IdentityIdGenerationError_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 & {
116
+ readonly _tag: "IdentityIdGenerationError";
117
+ } & Readonly<A>;
118
+ export declare class IdentityIdGenerationError extends IdentityIdGenerationError_base<{
119
+ readonly cause: unknown;
120
+ }> {
121
+ }
122
+ export type IdentityManagementError = IdentityNormalizationError | IdentityMutationDeniedError | IdentityNotFoundError | IdentityOwnershipError | IdentityInactiveError | IdentityConcurrentModificationError | IdentityAlreadyExistsError | IdentityUserNotActiveError | LastLoginIdentityError | IdentityNotLoginEligibleError | IdentityManagementStorageError | IdentityIdGenerationError | EmailNotAcceptedError | EmailRiskProviderUnavailableError;
123
+ export interface IdentityAvailabilityInput extends LoginIdentityInput {
124
+ }
125
+ export interface AddIdentityInput extends LoginIdentityInput {
126
+ readonly userId: UserId;
127
+ readonly currentSession?: ValidatedSession;
128
+ }
129
+ export interface ReplaceIdentityInput extends LoginIdentityInput {
130
+ readonly userId: UserId;
131
+ readonly identityId: IdentityId;
132
+ readonly expectedUpdatedAt: UnixMillis;
133
+ readonly currentSession?: ValidatedSession;
134
+ }
135
+ export interface RevokeIdentityInput {
136
+ readonly userId: UserId;
137
+ readonly identityId: IdentityId;
138
+ readonly expectedUpdatedAt: UnixMillis;
139
+ readonly reason?: string;
140
+ readonly currentSession?: ValidatedSession;
141
+ }
142
+ export interface SetPrimaryIdentityInput {
143
+ readonly userId: UserId;
144
+ readonly identityId: IdentityId;
145
+ readonly expectedUpdatedAt: UnixMillis;
146
+ readonly currentSession?: ValidatedSession;
147
+ }
148
+ export interface IdentityManagementService {
149
+ readonly availability: (input: IdentityAvailabilityInput) => Effect.Effect<boolean, IdentityManagementError>;
150
+ readonly list: (userId: UserId) => Effect.Effect<readonly IdentityInfo[], IdentityManagementError>;
151
+ readonly add: (input: AddIdentityInput) => Effect.Effect<IdentityInfo, IdentityManagementError>;
152
+ readonly replace: (input: ReplaceIdentityInput) => Effect.Effect<IdentityInfo, IdentityManagementError>;
153
+ readonly revoke: (input: RevokeIdentityInput) => Effect.Effect<IdentityInfo, IdentityManagementError>;
154
+ readonly setPrimary: (input: SetPrimaryIdentityInput) => Effect.Effect<IdentityInfo, IdentityManagementError>;
155
+ }
156
+ declare const IdentityManagement_base: Context.ServiceClass<IdentityManagement, "auth/IdentityManagement", IdentityManagementService>;
157
+ export declare class IdentityManagement extends IdentityManagement_base {
158
+ }
159
+ export interface IdentityManagementDependencies {
160
+ readonly identities: IdentityStoreService;
161
+ readonly users: UserStoreService;
162
+ readonly registry: IdentityKindRegistryService;
163
+ readonly policy: IdentityMutationPolicyService;
164
+ readonly crypto: CryptoService;
165
+ }
166
+ export interface IdentityManagementAuditContext {
167
+ readonly actor: AuditActor;
168
+ readonly request?: AuditRequest;
169
+ }
170
+ export interface IdentityManagementAuditOptions {
171
+ readonly context: (operation: IdentityMutationOperation, userId: UserId) => IdentityManagementAuditContext;
172
+ readonly eventId?: (operation: IdentityMutationOperation, userId: UserId, identityId: IdentityId) => AuditEventId;
173
+ }
174
+ export declare const makeIdentityManagementEmailAcceptance: (dependencies: {
175
+ readonly identityManagement: IdentityManagementService;
176
+ readonly registry: IdentityKindRegistryService;
177
+ readonly policy: EmailAcceptancePolicyService;
178
+ }) => IdentityManagementService;
179
+ export declare const makeIdentityManagementAudit: (dependencies: {
180
+ readonly identityManagement: IdentityManagementService;
181
+ readonly auditLog: AuditLogService;
182
+ readonly options: IdentityManagementAuditOptions;
183
+ }) => IdentityManagementService;
184
+ export declare const makeIdentityManagement: (dependencies: IdentityManagementDependencies) => IdentityManagementService;
185
+ export declare const IdentityManagementLive: Layer.Layer<IdentityManagement, never, Crypto | IdentityKindRegistry | IdentityMutationPolicy | IdentityStore | UserStore>;
186
+ /** Identity management with email acceptance enforced for add and replace. */
187
+ export declare const IdentityManagementWithEmailAcceptanceLive: Layer.Layer<IdentityManagement, never, Crypto | EmailAcceptancePolicy | IdentityKindRegistry | IdentityMutationPolicy | IdentityStore | UserStore>;
188
+ export {};
189
+ //# sourceMappingURL=IdentityManagement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentityManagement.d.ts","sourceRoot":"","sources":["../src/IdentityManagement.ts"],"names":[],"mappings":"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"}