@yielded/auth 0.1.0-beta.1

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 (1466) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -0
  3. package/dist/Atom.d.mts +5 -0
  4. package/dist/Atom.mjs +5 -0
  5. package/dist/Auth.d.mts +9 -0
  6. package/dist/Auth.mjs +7 -0
  7. package/dist/AuthContract.d.mts +4 -0
  8. package/dist/AuthContract.mjs +4 -0
  9. package/dist/AuthSession.d.mts +82 -0
  10. package/dist/AuthSession.mjs +138 -0
  11. package/dist/AuthSession.mjs.map +1 -0
  12. package/dist/AuthStore.d.mts +68 -0
  13. package/dist/AuthStore.mjs +194 -0
  14. package/dist/AuthStore.mjs.map +1 -0
  15. package/dist/AuthTokenCodec.d.mts +40 -0
  16. package/dist/AuthTokenCodec.mjs +104 -0
  17. package/dist/AuthTokenCodec.mjs.map +1 -0
  18. package/dist/Client.d.mts +2 -0
  19. package/dist/Client.mjs +2 -0
  20. package/dist/Cloudflare.d.mts +89 -0
  21. package/dist/Cloudflare.mjs +166 -0
  22. package/dist/Cloudflare.mjs.map +1 -0
  23. package/dist/Drizzle.d.mts +28 -0
  24. package/dist/Drizzle.mjs +27 -0
  25. package/dist/DrizzleD1.d.mts +935 -0
  26. package/dist/DrizzleD1.mjs +29 -0
  27. package/dist/DrizzleD1.mjs.map +1 -0
  28. package/dist/DrizzleLibsql.d.mts +2288 -0
  29. package/dist/DrizzleLibsql.mjs +85 -0
  30. package/dist/DrizzleLibsql.mjs.map +1 -0
  31. package/dist/DrizzleMysql2.d.mts +1809 -0
  32. package/dist/DrizzleMysql2.mjs +55 -0
  33. package/dist/DrizzleMysql2.mjs.map +1 -0
  34. package/dist/DrizzlePglite.d.mts +1808 -0
  35. package/dist/DrizzlePglite.mjs +45 -0
  36. package/dist/DrizzlePglite.mjs.map +1 -0
  37. package/dist/DrizzlePostgres.d.mts +1808 -0
  38. package/dist/DrizzlePostgres.mjs +45 -0
  39. package/dist/DrizzlePostgres.mjs.map +1 -0
  40. package/dist/DrizzleSqliteBun.d.mts +2287 -0
  41. package/dist/DrizzleSqliteBun.mjs +62 -0
  42. package/dist/DrizzleSqliteBun.mjs.map +1 -0
  43. package/dist/DrizzleSqliteDo.d.mts +2343 -0
  44. package/dist/DrizzleSqliteDo.mjs +105 -0
  45. package/dist/DrizzleSqliteDo.mjs.map +1 -0
  46. package/dist/DrizzleSqliteNode.d.mts +2287 -0
  47. package/dist/DrizzleSqliteNode.mjs +62 -0
  48. package/dist/DrizzleSqliteNode.mjs.map +1 -0
  49. package/dist/DrizzleSqliteWasm.d.mts +2287 -0
  50. package/dist/DrizzleSqliteWasm.mjs +62 -0
  51. package/dist/DrizzleSqliteWasm.mjs.map +1 -0
  52. package/dist/Email.d.mts +12 -0
  53. package/dist/Email.mjs +11 -0
  54. package/dist/EmailOtp.d.mts +42 -0
  55. package/dist/EmailOtp.mjs +120 -0
  56. package/dist/EmailOtp.mjs.map +1 -0
  57. package/dist/EmailOtpSender.d.mts +22 -0
  58. package/dist/EmailOtpSender.mjs +18 -0
  59. package/dist/EmailOtpSender.mjs.map +1 -0
  60. package/dist/Errors.d.mts +55 -0
  61. package/dist/Errors.mjs +31 -0
  62. package/dist/Errors.mjs.map +1 -0
  63. package/dist/GitHub.d.mts +5 -0
  64. package/dist/GitHub.mjs +4 -0
  65. package/dist/Hooks.d.mts +6 -0
  66. package/dist/Hooks.mjs +6 -0
  67. package/dist/Http.d.mts +12 -0
  68. package/dist/Http.mjs +12 -0
  69. package/dist/HttpServer.d.mts +103 -0
  70. package/dist/HttpServer.mjs +326 -0
  71. package/dist/HttpServer.mjs.map +1 -0
  72. package/dist/Identity.d.mts +9 -0
  73. package/dist/Identity.mjs +9 -0
  74. package/dist/IdentityResolver.d.mts +16 -0
  75. package/dist/IdentityResolver.mjs +12 -0
  76. package/dist/IdentityResolver.mjs.map +1 -0
  77. package/dist/OAuth.d.mts +36 -0
  78. package/dist/OAuth.mjs +35 -0
  79. package/dist/OpenIdClient.d.mts +3 -0
  80. package/dist/OpenIdClient.mjs +3 -0
  81. package/dist/OpenIdClientConnected.d.mts +4 -0
  82. package/dist/OpenIdClientConnected.mjs +3 -0
  83. package/dist/OperationHttp.d.mts +3 -0
  84. package/dist/OperationHttp.mjs +3 -0
  85. package/dist/OperationHttpClient.d.mts +2 -0
  86. package/dist/OperationHttpClient.mjs +2 -0
  87. package/dist/OperationHttpServer.d.mts +5 -0
  88. package/dist/OperationHttpServer.mjs +4 -0
  89. package/dist/Operations.d.mts +8 -0
  90. package/dist/Operations.mjs +8 -0
  91. package/dist/Passkey.d.mts +12 -0
  92. package/dist/Passkey.mjs +12 -0
  93. package/dist/PasskeyBrowser.d.mts +4 -0
  94. package/dist/PasskeyBrowser.mjs +4 -0
  95. package/dist/PasskeyContract.d.mts +641 -0
  96. package/dist/PasskeyContract.mjs +174 -0
  97. package/dist/PasskeyContract.mjs.map +1 -0
  98. package/dist/PasskeyPassword.d.mts +412 -0
  99. package/dist/PasskeyPassword.mjs +174 -0
  100. package/dist/PasskeyPassword.mjs.map +1 -0
  101. package/dist/PasskeySimpleWebAuthn.d.mts +3 -0
  102. package/dist/PasskeySimpleWebAuthn.mjs +3 -0
  103. package/dist/Password.d.mts +19 -0
  104. package/dist/Password.mjs +17 -0
  105. package/dist/PasswordAuth.d.mts +45 -0
  106. package/dist/PasswordAuth.mjs +79 -0
  107. package/dist/PasswordAuth.mjs.map +1 -0
  108. package/dist/PasswordCredentialStore.d.mts +46 -0
  109. package/dist/PasswordCredentialStore.mjs +62 -0
  110. package/dist/PasswordCredentialStore.mjs.map +1 -0
  111. package/dist/PasswordHasher.d.mts +31 -0
  112. package/dist/PasswordHasher.mjs +76 -0
  113. package/dist/PasswordHasher.mjs.map +1 -0
  114. package/dist/PhoneOtp.d.mts +11 -0
  115. package/dist/PhoneOtp.mjs +11 -0
  116. package/dist/Policy.d.mts +52 -0
  117. package/dist/Policy.mjs +36 -0
  118. package/dist/Policy.mjs.map +1 -0
  119. package/dist/Proofs.d.mts +14 -0
  120. package/dist/Proofs.mjs +13 -0
  121. package/dist/Rpc.d.mts +12 -0
  122. package/dist/Rpc.mjs +11 -0
  123. package/dist/Rpc.mjs.map +1 -0
  124. package/dist/Schema.d.mts +160 -0
  125. package/dist/Schema.mjs +141 -0
  126. package/dist/Schema.mjs.map +1 -0
  127. package/dist/SessionContract.d.mts +3 -0
  128. package/dist/SessionContract.mjs +3 -0
  129. package/dist/Sessions.d.mts +14 -0
  130. package/dist/Sessions.mjs +12 -0
  131. package/dist/Testing.d.mts +7 -0
  132. package/dist/Testing.mjs +7 -0
  133. package/dist/Totp.d.mts +8 -0
  134. package/dist/Totp.mjs +8 -0
  135. package/dist/TotpContract.d.mts +318 -0
  136. package/dist/TotpContract.mjs +119 -0
  137. package/dist/TotpContract.mjs.map +1 -0
  138. package/dist/WebCrypto.d.mts +28 -0
  139. package/dist/WebCrypto.mjs +42 -0
  140. package/dist/WebCrypto.mjs.map +1 -0
  141. package/dist/Workflows.d.mts +16 -0
  142. package/dist/Workflows.mjs +11 -0
  143. package/dist/Workflows.mjs.map +1 -0
  144. package/dist/atom/AuthAtomLifetime.d.mts +35 -0
  145. package/dist/atom/AuthAtomLifetime.mjs +50 -0
  146. package/dist/atom/AuthAtomLifetime.mjs.map +1 -0
  147. package/dist/atom/AuthAtomWorkflow.d.mts +17 -0
  148. package/dist/atom/AuthAtomWorkflow.mjs +9 -0
  149. package/dist/atom/AuthAtomWorkflow.mjs.map +1 -0
  150. package/dist/atom/client.d.mts +43 -0
  151. package/dist/atom/client.mjs +168 -0
  152. package/dist/atom/client.mjs.map +1 -0
  153. package/dist/atom/operations.d.mts +35 -0
  154. package/dist/atom/operations.mjs +58 -0
  155. package/dist/atom/operations.mjs.map +1 -0
  156. package/dist/atom/scoped-runtime.mjs +151 -0
  157. package/dist/atom/scoped-runtime.mjs.map +1 -0
  158. package/dist/auth/Auth.d.mts +7806 -0
  159. package/dist/auth/Auth.mjs +141 -0
  160. package/dist/auth/Auth.mjs.map +1 -0
  161. package/dist/auth/AuthConfigurationError.d.mts +10 -0
  162. package/dist/auth/AuthConfigurationError.mjs +14 -0
  163. package/dist/auth/AuthConfigurationError.mjs.map +1 -0
  164. package/dist/auth/AuthRequest.d.mts +21 -0
  165. package/dist/auth/AuthRequest.mjs +10 -0
  166. package/dist/auth/AuthRequest.mjs.map +1 -0
  167. package/dist/auth/AuthStrategy.d.mts +23 -0
  168. package/dist/auth/AuthStrategy.mjs +33 -0
  169. package/dist/auth/AuthStrategy.mjs.map +1 -0
  170. package/dist/auth/ConsumeDecision.d.mts +11 -0
  171. package/dist/auth/actions.d.mts +18 -0
  172. package/dist/auth/actions.mjs +70 -0
  173. package/dist/auth/actions.mjs.map +1 -0
  174. package/dist/auth/defaults.mjs +12 -0
  175. package/dist/auth/defaults.mjs.map +1 -0
  176. package/dist/auth/definition.d.mts +46 -0
  177. package/dist/auth/session.d.mts +27 -0
  178. package/dist/auth/session.mjs +56 -0
  179. package/dist/auth/session.mjs.map +1 -0
  180. package/dist/drizzle/D1BatchStatements.d.mts +11 -0
  181. package/dist/drizzle/D1BatchStatements.mjs +8 -0
  182. package/dist/drizzle/D1BatchStatements.mjs.map +1 -0
  183. package/dist/drizzle/PasswordPreparedPostconditions.mjs +12 -0
  184. package/dist/drizzle/PasswordPreparedPostconditions.mjs.map +1 -0
  185. package/dist/drizzle/SuppliedService.d.mts +10 -0
  186. package/dist/drizzle/d1-emails.d.mts +68 -0
  187. package/dist/drizzle/d1-emails.mjs +580 -0
  188. package/dist/drizzle/d1-emails.mjs.map +1 -0
  189. package/dist/drizzle/d1-generated-statement.mjs +79 -0
  190. package/dist/drizzle/d1-generated-statement.mjs.map +1 -0
  191. package/dist/drizzle/d1-identity.d.mts +33 -0
  192. package/dist/drizzle/d1-identity.mjs +120 -0
  193. package/dist/drizzle/d1-identity.mjs.map +1 -0
  194. package/dist/drizzle/d1-oauth.d.mts +316 -0
  195. package/dist/drizzle/d1-oauth.mjs +79 -0
  196. package/dist/drizzle/d1-oauth.mjs.map +1 -0
  197. package/dist/drizzle/d1-passkey.d.mts +52 -0
  198. package/dist/drizzle/d1-passkey.mjs +97 -0
  199. package/dist/drizzle/d1-passkey.mjs.map +1 -0
  200. package/dist/drizzle/d1-password-prepared.d.mts +27 -0
  201. package/dist/drizzle/d1-password-prepared.mjs +464 -0
  202. package/dist/drizzle/d1-password-prepared.mjs.map +1 -0
  203. package/dist/drizzle/d1-passwords.d.mts +96 -0
  204. package/dist/drizzle/d1-passwords.mjs +1008 -0
  205. package/dist/drizzle/d1-passwords.mjs.map +1 -0
  206. package/dist/drizzle/d1-phone.d.mts +29 -0
  207. package/dist/drizzle/d1-phone.mjs +33 -0
  208. package/dist/drizzle/d1-phone.mjs.map +1 -0
  209. package/dist/drizzle/d1-planning.d.mts +12 -0
  210. package/dist/drizzle/d1-planning.mjs +43 -0
  211. package/dist/drizzle/d1-planning.mjs.map +1 -0
  212. package/dist/drizzle/d1-proofs.d.mts +88 -0
  213. package/dist/drizzle/d1-proofs.mjs +833 -0
  214. package/dist/drizzle/d1-proofs.mjs.map +1 -0
  215. package/dist/drizzle/d1-sessions.d.mts +77 -0
  216. package/dist/drizzle/d1-sessions.mjs +970 -0
  217. package/dist/drizzle/d1-sessions.mjs.map +1 -0
  218. package/dist/drizzle/d1-totp.d.mts +27 -0
  219. package/dist/drizzle/d1-totp.mjs +28 -0
  220. package/dist/drizzle/d1-totp.mjs.map +1 -0
  221. package/dist/drizzle/email-model.d.mts +352 -0
  222. package/dist/drizzle/email-model.mjs +21 -0
  223. package/dist/drizzle/email-model.mjs.map +1 -0
  224. package/dist/drizzle/email-registration.d.mts +33 -0
  225. package/dist/drizzle/email-registration.mjs +238 -0
  226. package/dist/drizzle/email-registration.mjs.map +1 -0
  227. package/dist/drizzle/email-sql.d.mts +18 -0
  228. package/dist/drizzle/email-sql.mjs +473 -0
  229. package/dist/drizzle/email-sql.mjs.map +1 -0
  230. package/dist/drizzle/email-target.d.mts +28 -0
  231. package/dist/drizzle/email-target.mjs +75 -0
  232. package/dist/drizzle/email-target.mjs.map +1 -0
  233. package/dist/drizzle/model.d.mts +259 -0
  234. package/dist/drizzle/model.mjs +81 -0
  235. package/dist/drizzle/model.mjs.map +1 -0
  236. package/dist/drizzle/mysql-emails.d.mts +82 -0
  237. package/dist/drizzle/mysql-emails.mjs +38 -0
  238. package/dist/drizzle/mysql-emails.mjs.map +1 -0
  239. package/dist/drizzle/mysql-identity.d.mts +24 -0
  240. package/dist/drizzle/mysql-identity.mjs +95 -0
  241. package/dist/drizzle/mysql-identity.mjs.map +1 -0
  242. package/dist/drizzle/mysql-password-prepared.d.mts +32 -0
  243. package/dist/drizzle/mysql-password-prepared.mjs +16 -0
  244. package/dist/drizzle/mysql-password-prepared.mjs.map +1 -0
  245. package/dist/drizzle/mysql-passwords.d.mts +102 -0
  246. package/dist/drizzle/mysql-passwords.mjs +38 -0
  247. package/dist/drizzle/mysql-passwords.mjs.map +1 -0
  248. package/dist/drizzle/mysql-proofs.d.mts +83 -0
  249. package/dist/drizzle/mysql-proofs.mjs +23 -0
  250. package/dist/drizzle/mysql-proofs.mjs.map +1 -0
  251. package/dist/drizzle/mysql-sessions.d.mts +250 -0
  252. package/dist/drizzle/mysql-sessions.mjs +53 -0
  253. package/dist/drizzle/mysql-sessions.mjs.map +1 -0
  254. package/dist/drizzle/mysql.d.mts +73 -0
  255. package/dist/drizzle/mysql.mjs +221 -0
  256. package/dist/drizzle/mysql.mjs.map +1 -0
  257. package/dist/drizzle/oauth-accounts.mjs +361 -0
  258. package/dist/drizzle/oauth-accounts.mjs.map +1 -0
  259. package/dist/drizzle/oauth-connected-access.mjs +210 -0
  260. package/dist/drizzle/oauth-connected-access.mjs.map +1 -0
  261. package/dist/drizzle/oauth-connected-collection.mjs +202 -0
  262. package/dist/drizzle/oauth-connected-collection.mjs.map +1 -0
  263. package/dist/drizzle/oauth-connected-custody.mjs +146 -0
  264. package/dist/drizzle/oauth-connected-custody.mjs.map +1 -0
  265. package/dist/drizzle/oauth-connected-drivers.mjs +78 -0
  266. package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -0
  267. package/dist/drizzle/oauth-connected-flow.mjs +248 -0
  268. package/dist/drizzle/oauth-connected-flow.mjs.map +1 -0
  269. package/dist/drizzle/oauth-connected-input.mjs +105 -0
  270. package/dist/drizzle/oauth-connected-input.mjs.map +1 -0
  271. package/dist/drizzle/oauth-connected-maintenance.mjs +215 -0
  272. package/dist/drizzle/oauth-connected-maintenance.mjs.map +1 -0
  273. package/dist/drizzle/oauth-connected-management.mjs +228 -0
  274. package/dist/drizzle/oauth-connected-management.mjs.map +1 -0
  275. package/dist/drizzle/oauth-connected-model.d.mts +278 -0
  276. package/dist/drizzle/oauth-connected-model.mjs +22 -0
  277. package/dist/drizzle/oauth-connected-model.mjs.map +1 -0
  278. package/dist/drizzle/oauth-connected-reference.d.mts +17 -0
  279. package/dist/drizzle/oauth-connected-reference.mjs +53 -0
  280. package/dist/drizzle/oauth-connected-reference.mjs.map +1 -0
  281. package/dist/drizzle/oauth-connected-settlement.mjs +117 -0
  282. package/dist/drizzle/oauth-connected-settlement.mjs.map +1 -0
  283. package/dist/drizzle/oauth-connected-state.d.mts +16 -0
  284. package/dist/drizzle/oauth-connected-state.mjs +422 -0
  285. package/dist/drizzle/oauth-connected-state.mjs.map +1 -0
  286. package/dist/drizzle/oauth-connected-target.d.mts +114 -0
  287. package/dist/drizzle/oauth-connected-target.mjs +94 -0
  288. package/dist/drizzle/oauth-connected-target.mjs.map +1 -0
  289. package/dist/drizzle/oauth-drivers.mjs +53 -0
  290. package/dist/drizzle/oauth-drivers.mjs.map +1 -0
  291. package/dist/drizzle/oauth-flow.d.mts +7 -0
  292. package/dist/drizzle/oauth-flow.mjs +255 -0
  293. package/dist/drizzle/oauth-flow.mjs.map +1 -0
  294. package/dist/drizzle/oauth-input.mjs +130 -0
  295. package/dist/drizzle/oauth-input.mjs.map +1 -0
  296. package/dist/drizzle/oauth-model.d.mts +468 -0
  297. package/dist/drizzle/oauth-model.mjs +49 -0
  298. package/dist/drizzle/oauth-model.mjs.map +1 -0
  299. package/dist/drizzle/oauth-mysql.mjs +8 -0
  300. package/dist/drizzle/oauth-mysql.mjs.map +1 -0
  301. package/dist/drizzle/oauth-owner.d.mts +4 -0
  302. package/dist/drizzle/oauth-owner.mjs +10 -0
  303. package/dist/drizzle/oauth-owner.mjs.map +1 -0
  304. package/dist/drizzle/oauth-registration.d.mts +8 -0
  305. package/dist/drizzle/oauth-registration.mjs +375 -0
  306. package/dist/drizzle/oauth-registration.mjs.map +1 -0
  307. package/dist/drizzle/oauth-state.mjs +109 -0
  308. package/dist/drizzle/oauth-state.mjs.map +1 -0
  309. package/dist/drizzle/oauth-target.d.mts +125 -0
  310. package/dist/drizzle/oauth-target.mjs +252 -0
  311. package/dist/drizzle/oauth-target.mjs.map +1 -0
  312. package/dist/drizzle/passkey-admission.mjs +203 -0
  313. package/dist/drizzle/passkey-admission.mjs.map +1 -0
  314. package/dist/drizzle/passkey-credentials.mjs +239 -0
  315. package/dist/drizzle/passkey-credentials.mjs.map +1 -0
  316. package/dist/drizzle/passkey-drivers.mjs +34 -0
  317. package/dist/drizzle/passkey-drivers.mjs.map +1 -0
  318. package/dist/drizzle/passkey-enrollment.mjs +132 -0
  319. package/dist/drizzle/passkey-enrollment.mjs.map +1 -0
  320. package/dist/drizzle/passkey-flow.mjs +436 -0
  321. package/dist/drizzle/passkey-flow.mjs.map +1 -0
  322. package/dist/drizzle/passkey-management.mjs +225 -0
  323. package/dist/drizzle/passkey-management.mjs.map +1 -0
  324. package/dist/drizzle/passkey-model.d.mts +275 -0
  325. package/dist/drizzle/passkey-model.mjs +36 -0
  326. package/dist/drizzle/passkey-model.mjs.map +1 -0
  327. package/dist/drizzle/passkey-registration-ceremony-model.d.mts +50 -0
  328. package/dist/drizzle/passkey-registration-ceremony-model.mjs +18 -0
  329. package/dist/drizzle/passkey-registration-ceremony-model.mjs.map +1 -0
  330. package/dist/drizzle/passkey-registration-ceremony.mjs +124 -0
  331. package/dist/drizzle/passkey-registration-ceremony.mjs.map +1 -0
  332. package/dist/drizzle/passkey-registration-custody.mjs +51 -0
  333. package/dist/drizzle/passkey-registration-custody.mjs.map +1 -0
  334. package/dist/drizzle/passkey-registration-write.mjs +205 -0
  335. package/dist/drizzle/passkey-registration-write.mjs.map +1 -0
  336. package/dist/drizzle/passkey-state.d.mts +5 -0
  337. package/dist/drizzle/passkey-state.mjs +207 -0
  338. package/dist/drizzle/passkey-state.mjs.map +1 -0
  339. package/dist/drizzle/passkey-target.d.mts +16 -0
  340. package/dist/drizzle/passkey-target.mjs +174 -0
  341. package/dist/drizzle/passkey-target.mjs.map +1 -0
  342. package/dist/drizzle/passkey-write-drivers.mjs +33 -0
  343. package/dist/drizzle/passkey-write-drivers.mjs.map +1 -0
  344. package/dist/drizzle/passkey-write-model.d.mts +192 -0
  345. package/dist/drizzle/passkey-write-model.mjs +13 -0
  346. package/dist/drizzle/passkey-write-model.mjs.map +1 -0
  347. package/dist/drizzle/passkey-write-state.mjs +326 -0
  348. package/dist/drizzle/passkey-write-state.mjs.map +1 -0
  349. package/dist/drizzle/passkey-write-target.d.mts +14 -0
  350. package/dist/drizzle/passkey-write-target.mjs +185 -0
  351. package/dist/drizzle/passkey-write-target.mjs.map +1 -0
  352. package/dist/drizzle/password-model.d.mts +330 -0
  353. package/dist/drizzle/password-model.mjs +22 -0
  354. package/dist/drizzle/password-model.mjs.map +1 -0
  355. package/dist/drizzle/password-prepared-model.d.mts +93 -0
  356. package/dist/drizzle/password-prepared-model.mjs +11 -0
  357. package/dist/drizzle/password-prepared-model.mjs.map +1 -0
  358. package/dist/drizzle/password-prepared-sql.mjs +394 -0
  359. package/dist/drizzle/password-prepared-sql.mjs.map +1 -0
  360. package/dist/drizzle/password-prepared-state.mjs +107 -0
  361. package/dist/drizzle/password-prepared-state.mjs.map +1 -0
  362. package/dist/drizzle/password-prepared-target.d.mts +12 -0
  363. package/dist/drizzle/password-prepared-target.mjs +57 -0
  364. package/dist/drizzle/password-prepared-target.mjs.map +1 -0
  365. package/dist/drizzle/password-registration.d.mts +23 -0
  366. package/dist/drizzle/password-registration.mjs +136 -0
  367. package/dist/drizzle/password-registration.mjs.map +1 -0
  368. package/dist/drizzle/password-sql.d.mts +20 -0
  369. package/dist/drizzle/password-sql.mjs +702 -0
  370. package/dist/drizzle/password-sql.mjs.map +1 -0
  371. package/dist/drizzle/password-target.d.mts +25 -0
  372. package/dist/drizzle/password-target.mjs +63 -0
  373. package/dist/drizzle/password-target.mjs.map +1 -0
  374. package/dist/drizzle/pg-emails.d.mts +83 -0
  375. package/dist/drizzle/pg-emails.mjs +38 -0
  376. package/dist/drizzle/pg-emails.mjs.map +1 -0
  377. package/dist/drizzle/pg-password-prepared.d.mts +33 -0
  378. package/dist/drizzle/pg-password-prepared.mjs +16 -0
  379. package/dist/drizzle/pg-password-prepared.mjs.map +1 -0
  380. package/dist/drizzle/pg-passwords.d.mts +103 -0
  381. package/dist/drizzle/pg-passwords.mjs +38 -0
  382. package/dist/drizzle/pg-passwords.mjs.map +1 -0
  383. package/dist/drizzle/pg-proofs.d.mts +84 -0
  384. package/dist/drizzle/pg-proofs.mjs +22 -0
  385. package/dist/drizzle/pg-proofs.mjs.map +1 -0
  386. package/dist/drizzle/pg-sessions.d.mts +251 -0
  387. package/dist/drizzle/pg-sessions.mjs +53 -0
  388. package/dist/drizzle/pg-sessions.mjs.map +1 -0
  389. package/dist/drizzle/pg.d.mts +88 -0
  390. package/dist/drizzle/pg.mjs +294 -0
  391. package/dist/drizzle/pg.mjs.map +1 -0
  392. package/dist/drizzle/phone-model.d.mts +117 -0
  393. package/dist/drizzle/phone-model.mjs +39 -0
  394. package/dist/drizzle/phone-model.mjs.map +1 -0
  395. package/dist/drizzle/phone-state.mjs +426 -0
  396. package/dist/drizzle/phone-state.mjs.map +1 -0
  397. package/dist/drizzle/phone-target.d.mts +19 -0
  398. package/dist/drizzle/phone-target.mjs +171 -0
  399. package/dist/drizzle/phone-target.mjs.map +1 -0
  400. package/dist/drizzle/proof-model.d.mts +287 -0
  401. package/dist/drizzle/proof-model.mjs +17 -0
  402. package/dist/drizzle/proof-model.mjs.map +1 -0
  403. package/dist/drizzle/proof-sql.d.mts +16 -0
  404. package/dist/drizzle/proof-sql.mjs +618 -0
  405. package/dist/drizzle/proof-sql.mjs.map +1 -0
  406. package/dist/drizzle/proof-target.d.mts +17 -0
  407. package/dist/drizzle/proof-target.mjs +38 -0
  408. package/dist/drizzle/proof-target.mjs.map +1 -0
  409. package/dist/drizzle/session-model.d.mts +201 -0
  410. package/dist/drizzle/session-model.mjs +19 -0
  411. package/dist/drizzle/session-model.mjs.map +1 -0
  412. package/dist/drizzle/session-sql.mjs +732 -0
  413. package/dist/drizzle/session-sql.mjs.map +1 -0
  414. package/dist/drizzle/session-target.d.mts +37 -0
  415. package/dist/drizzle/session-target.mjs +47 -0
  416. package/dist/drizzle/session-target.mjs.map +1 -0
  417. package/dist/drizzle/sqlite-emails.mjs +45 -0
  418. package/dist/drizzle/sqlite-emails.mjs.map +1 -0
  419. package/dist/drizzle/sqlite-identity.mjs +92 -0
  420. package/dist/drizzle/sqlite-identity.mjs.map +1 -0
  421. package/dist/drizzle/sqlite-password-prepared.mjs +21 -0
  422. package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -0
  423. package/dist/drizzle/sqlite-passwords.mjs +49 -0
  424. package/dist/drizzle/sqlite-passwords.mjs.map +1 -0
  425. package/dist/drizzle/sqlite-proofs.mjs +29 -0
  426. package/dist/drizzle/sqlite-proofs.mjs.map +1 -0
  427. package/dist/drizzle/sqlite-sessions.mjs +74 -0
  428. package/dist/drizzle/sqlite-sessions.mjs.map +1 -0
  429. package/dist/drizzle/sqlite.d.mts +81 -0
  430. package/dist/drizzle/sqlite.mjs +220 -0
  431. package/dist/drizzle/sqlite.mjs.map +1 -0
  432. package/dist/drizzle/standalone-guard.mjs +19 -0
  433. package/dist/drizzle/standalone-guard.mjs.map +1 -0
  434. package/dist/drizzle/step-up-model.d.mts +65 -0
  435. package/dist/drizzle/step-up-model.mjs +9 -0
  436. package/dist/drizzle/step-up-model.mjs.map +1 -0
  437. package/dist/drizzle/step-up-state.mjs +34 -0
  438. package/dist/drizzle/step-up-state.mjs.map +1 -0
  439. package/dist/drizzle/totp-model.d.mts +85 -0
  440. package/dist/drizzle/totp-model.mjs +13 -0
  441. package/dist/drizzle/totp-model.mjs.map +1 -0
  442. package/dist/drizzle/totp-state.d.mts +39 -0
  443. package/dist/drizzle/totp-state.mjs +288 -0
  444. package/dist/drizzle/totp-state.mjs.map +1 -0
  445. package/dist/drizzle/totp-target.d.mts +16 -0
  446. package/dist/drizzle/totp-target.mjs +83 -0
  447. package/dist/drizzle/totp-target.mjs.map +1 -0
  448. package/dist/drizzle/transaction-execution.d.mts +20 -0
  449. package/dist/drizzle/transaction-execution.mjs +111 -0
  450. package/dist/drizzle/transaction-execution.mjs.map +1 -0
  451. package/dist/drizzle/transaction-mysql.mjs +46 -0
  452. package/dist/drizzle/transaction-mysql.mjs.map +1 -0
  453. package/dist/drizzle/transaction-owner.d.mts +6 -0
  454. package/dist/drizzle/transaction-owner.mjs +252 -0
  455. package/dist/drizzle/transaction-owner.mjs.map +1 -0
  456. package/dist/email/EmailActionEvidence.d.mts +33 -0
  457. package/dist/email/EmailActionEvidence.mjs +15 -0
  458. package/dist/email/EmailActionEvidence.mjs.map +1 -0
  459. package/dist/email/EmailAddressPersistence.d.mts +63 -0
  460. package/dist/email/EmailAddressPersistence.mjs +19 -0
  461. package/dist/email/EmailAddressPersistence.mjs.map +1 -0
  462. package/dist/email/EmailIdentifierNotifier.d.mts +30 -0
  463. package/dist/email/EmailIdentifierNotifier.mjs +31 -0
  464. package/dist/email/EmailIdentifierNotifier.mjs.map +1 -0
  465. package/dist/email/EmailReturnTargets.d.mts +19 -0
  466. package/dist/email/EmailReturnTargets.mjs +29 -0
  467. package/dist/email/EmailReturnTargets.mjs.map +1 -0
  468. package/dist/email/EmailSignInTargets.d.mts +20 -0
  469. package/dist/email/EmailSignInTargets.mjs +12 -0
  470. package/dist/email/EmailSignInTargets.mjs.map +1 -0
  471. package/dist/email/addresses.d.mts +33 -0
  472. package/dist/email/addresses.mjs +404 -0
  473. package/dist/email/addresses.mjs.map +1 -0
  474. package/dist/email/definition.d.mts +10153 -0
  475. package/dist/email/definition.mjs +111 -0
  476. package/dist/email/definition.mjs.map +1 -0
  477. package/dist/email/errors.d.mts +15 -0
  478. package/dist/email/errors.mjs +11 -0
  479. package/dist/email/errors.mjs.map +1 -0
  480. package/dist/email/magicLink.d.mts +33 -0
  481. package/dist/email/magicLink.mjs +58 -0
  482. package/dist/email/magicLink.mjs.map +1 -0
  483. package/dist/email/models.d.mts +56 -0
  484. package/dist/email/models.mjs +31 -0
  485. package/dist/email/models.mjs.map +1 -0
  486. package/dist/email/module.d.mts +22296 -0
  487. package/dist/email/module.mjs +415 -0
  488. package/dist/email/module.mjs.map +1 -0
  489. package/dist/email/registration.d.mts +28 -0
  490. package/dist/email/registration.mjs +243 -0
  491. package/dist/email/registration.mjs.map +1 -0
  492. package/dist/email/snapshot.mjs +37 -0
  493. package/dist/email/snapshot.mjs.map +1 -0
  494. package/dist/hooks/LifecycleHooks.d.mts +34 -0
  495. package/dist/hooks/LifecycleHooks.mjs +74 -0
  496. package/dist/hooks/LifecycleHooks.mjs.map +1 -0
  497. package/dist/hooks/commit.d.mts +66 -0
  498. package/dist/hooks/commit.mjs +136 -0
  499. package/dist/hooks/commit.mjs.map +1 -0
  500. package/dist/hooks/models.d.mts +51 -0
  501. package/dist/hooks/models.mjs +87 -0
  502. package/dist/hooks/models.mjs.map +1 -0
  503. package/dist/hooks/plugins.d.mts +36 -0
  504. package/dist/hooks/plugins.mjs +60 -0
  505. package/dist/hooks/plugins.mjs.map +1 -0
  506. package/dist/hooks/transactions.d.mts +31 -0
  507. package/dist/hooks/transactions.mjs +38 -0
  508. package/dist/hooks/transactions.mjs.map +1 -0
  509. package/dist/http/auth-api.d.mts +9 -0
  510. package/dist/http/auth-api.mjs +13 -0
  511. package/dist/http/auth-api.mjs.map +1 -0
  512. package/dist/http/auth-contract.d.mts +84 -0
  513. package/dist/http/auth-contract.mjs +75 -0
  514. package/dist/http/auth-contract.mjs.map +1 -0
  515. package/dist/http/auth-http.d.mts +216 -0
  516. package/dist/http/auth-http.mjs +184 -0
  517. package/dist/http/auth-http.mjs.map +1 -0
  518. package/dist/http/endpoints/get-session.d.mts +8 -0
  519. package/dist/http/endpoints/get-session.mjs +12 -0
  520. package/dist/http/endpoints/get-session.mjs.map +1 -0
  521. package/dist/http/endpoints/password-sign-in.d.mts +8 -0
  522. package/dist/http/endpoints/password-sign-in.mjs +18 -0
  523. package/dist/http/endpoints/password-sign-in.mjs.map +1 -0
  524. package/dist/http/endpoints/request-email-otp.d.mts +8 -0
  525. package/dist/http/endpoints/request-email-otp.mjs +17 -0
  526. package/dist/http/endpoints/request-email-otp.mjs.map +1 -0
  527. package/dist/http/endpoints/set-password.d.mts +9 -0
  528. package/dist/http/endpoints/set-password.mjs +19 -0
  529. package/dist/http/endpoints/set-password.mjs.map +1 -0
  530. package/dist/http/endpoints/sign-out.d.mts +6 -0
  531. package/dist/http/endpoints/sign-out.mjs +7 -0
  532. package/dist/http/endpoints/sign-out.mjs.map +1 -0
  533. package/dist/http/endpoints/verify-email-otp.d.mts +9 -0
  534. package/dist/http/endpoints/verify-email-otp.mjs +18 -0
  535. package/dist/http/endpoints/verify-email-otp.mjs.map +1 -0
  536. package/dist/http/models.d.mts +49 -0
  537. package/dist/http/models.mjs +35 -0
  538. package/dist/http/models.mjs.map +1 -0
  539. package/dist/http/security.d.mts +91 -0
  540. package/dist/http/security.mjs +77 -0
  541. package/dist/http/security.mjs.map +1 -0
  542. package/dist/http/session-contract.d.mts +303 -0
  543. package/dist/http/session-contract.mjs +38 -0
  544. package/dist/http/session-contract.mjs.map +1 -0
  545. package/dist/http-operation/OperationHttpInvocation.d.mts +16 -0
  546. package/dist/http-operation/OperationHttpInvocation.mjs +11 -0
  547. package/dist/http-operation/OperationHttpInvocation.mjs.map +1 -0
  548. package/dist/http-operation/OperationHttpServerConfig.d.mts +18 -0
  549. package/dist/http-operation/OperationHttpServerConfig.mjs +72 -0
  550. package/dist/http-operation/OperationHttpServerConfig.mjs.map +1 -0
  551. package/dist/http-operation/auth-client.d.mts +75 -0
  552. package/dist/http-operation/auth-client.mjs +116 -0
  553. package/dist/http-operation/auth-client.mjs.map +1 -0
  554. package/dist/http-operation/client.d.mts +50 -0
  555. package/dist/http-operation/client.mjs +188 -0
  556. package/dist/http-operation/client.mjs.map +1 -0
  557. package/dist/http-operation/configuration-schema.mjs +19 -0
  558. package/dist/http-operation/configuration-schema.mjs.map +1 -0
  559. package/dist/http-operation/contract.d.mts +40 -0
  560. package/dist/http-operation/contract.mjs +37 -0
  561. package/dist/http-operation/contract.mjs.map +1 -0
  562. package/dist/http-operation/errors.d.mts +13 -0
  563. package/dist/http-operation/errors.mjs +31 -0
  564. package/dist/http-operation/errors.mjs.map +1 -0
  565. package/dist/http-operation/models.d.mts +32 -0
  566. package/dist/http-operation/models.mjs +14 -0
  567. package/dist/http-operation/models.mjs.map +1 -0
  568. package/dist/http-operation/private.mjs +35 -0
  569. package/dist/http-operation/private.mjs.map +1 -0
  570. package/dist/http-operation/security.mjs +58 -0
  571. package/dist/http-operation/security.mjs.map +1 -0
  572. package/dist/http-operation/server.d.mts +33 -0
  573. package/dist/http-operation/server.mjs +268 -0
  574. package/dist/http-operation/server.mjs.map +1 -0
  575. package/dist/identity/ExternalIdentityMutation.d.mts +15 -0
  576. package/dist/identity/ExternalIdentityMutation.mjs +11 -0
  577. package/dist/identity/ExternalIdentityMutation.mjs.map +1 -0
  578. package/dist/identity/IdentityMutation.d.mts +22 -0
  579. package/dist/identity/IdentityMutation.mjs +17 -0
  580. package/dist/identity/IdentityMutation.mjs.map +1 -0
  581. package/dist/identity/IdentityRepository.d.mts +20 -0
  582. package/dist/identity/IdentityRepository.mjs +11 -0
  583. package/dist/identity/IdentityRepository.mjs.map +1 -0
  584. package/dist/identity/SubjectLifecycle.d.mts +58 -0
  585. package/dist/identity/SubjectLifecycle.mjs +43 -0
  586. package/dist/identity/SubjectLifecycle.mjs.map +1 -0
  587. package/dist/identity/SubjectProvisioner.d.mts +37 -0
  588. package/dist/identity/SubjectProvisioner.mjs +20 -0
  589. package/dist/identity/SubjectProvisioner.mjs.map +1 -0
  590. package/dist/identity/codecs.d.mts +34 -0
  591. package/dist/identity/codecs.mjs +40 -0
  592. package/dist/identity/codecs.mjs.map +1 -0
  593. package/dist/identity/models.d.mts +62 -0
  594. package/dist/identity/models.mjs +51 -0
  595. package/dist/identity/models.mjs.map +1 -0
  596. package/dist/identity/operations.d.mts +118 -0
  597. package/dist/identity/operations.mjs +124 -0
  598. package/dist/identity/operations.mjs.map +1 -0
  599. package/dist/index.d.mts +23 -0
  600. package/dist/index.mjs +23 -0
  601. package/dist/internal/AuthStoreDecisions.d.mts +22 -0
  602. package/dist/internal/AuthStoreDecisions.mjs +8 -0
  603. package/dist/internal/AuthStoreDecisions.mjs.map +1 -0
  604. package/dist/internal/CurrentSession.d.mts +9 -0
  605. package/dist/internal/CurrentSession.mjs +8 -0
  606. package/dist/internal/CurrentSession.mjs.map +1 -0
  607. package/dist/internal/diagnostics.mjs +23 -0
  608. package/dist/internal/diagnostics.mjs.map +1 -0
  609. package/dist/oauth/GithubOAuthProvider.d.mts +43 -0
  610. package/dist/oauth/GithubOAuthProvider.mjs +66 -0
  611. package/dist/oauth/GithubOAuthProvider.mjs.map +1 -0
  612. package/dist/oauth/OAuth.d.mts +73 -0
  613. package/dist/oauth/OAuth.mjs +180 -0
  614. package/dist/oauth/OAuth.mjs.map +1 -0
  615. package/dist/oauth/OAuthAccountsPersistence.d.mts +109 -0
  616. package/dist/oauth/OAuthAccountsPersistence.mjs +12 -0
  617. package/dist/oauth/OAuthAccountsPersistence.mjs.map +1 -0
  618. package/dist/oauth/OAuthActionEvidence.d.mts +28 -0
  619. package/dist/oauth/OAuthActionEvidence.mjs +15 -0
  620. package/dist/oauth/OAuthActionEvidence.mjs.map +1 -0
  621. package/dist/oauth/OAuthConnectedActionEvidence.d.mts +22 -0
  622. package/dist/oauth/OAuthConnectedActionEvidence.mjs +9 -0
  623. package/dist/oauth/OAuthConnectedActionEvidence.mjs.map +1 -0
  624. package/dist/oauth/OAuthConnectedPersistence.d.mts +129 -0
  625. package/dist/oauth/OAuthConnectedPersistence.mjs +12 -0
  626. package/dist/oauth/OAuthConnectedPersistence.mjs.map +1 -0
  627. package/dist/oauth/OAuthConnectedProtocol.d.mts +41 -0
  628. package/dist/oauth/OAuthConnectedProtocol.mjs +13 -0
  629. package/dist/oauth/OAuthConnectedProtocol.mjs.map +1 -0
  630. package/dist/oauth/OAuthConnectedRevocations.d.mts +167 -0
  631. package/dist/oauth/OAuthConnectedRevocations.mjs +21 -0
  632. package/dist/oauth/OAuthConnectedRevocations.mjs.map +1 -0
  633. package/dist/oauth/OAuthConnectedTokenProtector.d.mts +24 -0
  634. package/dist/oauth/OAuthConnectedTokenProtector.mjs +153 -0
  635. package/dist/oauth/OAuthConnectedTokenProtector.mjs.map +1 -0
  636. package/dist/oauth/OAuthConnectedTransactionProtector.d.mts +23 -0
  637. package/dist/oauth/OAuthConnectedTransactionProtector.mjs +37 -0
  638. package/dist/oauth/OAuthConnectedTransactionProtector.mjs.map +1 -0
  639. package/dist/oauth/OAuthConnectedUseAuthority.d.mts +22 -0
  640. package/dist/oauth/OAuthConnectedUseAuthority.mjs +10 -0
  641. package/dist/oauth/OAuthConnectedUseAuthority.mjs.map +1 -0
  642. package/dist/oauth/OAuthConnectionStore.d.mts +33 -0
  643. package/dist/oauth/OAuthConnectionStore.mjs +38 -0
  644. package/dist/oauth/OAuthConnectionStore.mjs.map +1 -0
  645. package/dist/oauth/OAuthLinkTransactionProtector.d.mts +25 -0
  646. package/dist/oauth/OAuthLinkTransactionProtector.mjs +39 -0
  647. package/dist/oauth/OAuthLinkTransactionProtector.mjs.map +1 -0
  648. package/dist/oauth/OAuthProtocol.d.mts +33 -0
  649. package/dist/oauth/OAuthProtocol.mjs +16 -0
  650. package/dist/oauth/OAuthProtocol.mjs.map +1 -0
  651. package/dist/oauth/OAuthProvider.d.mts +70 -0
  652. package/dist/oauth/OAuthProvider.mjs +39 -0
  653. package/dist/oauth/OAuthProvider.mjs.map +1 -0
  654. package/dist/oauth/OAuthProviders.d.mts +27 -0
  655. package/dist/oauth/OAuthProviders.mjs +33 -0
  656. package/dist/oauth/OAuthProviders.mjs.map +1 -0
  657. package/dist/oauth/OAuthRegistrationIntents.d.mts +87 -0
  658. package/dist/oauth/OAuthRegistrationIntents.mjs +19 -0
  659. package/dist/oauth/OAuthRegistrationIntents.mjs.map +1 -0
  660. package/dist/oauth/OAuthReturnTargets.d.mts +15 -0
  661. package/dist/oauth/OAuthReturnTargets.mjs +24 -0
  662. package/dist/oauth/OAuthReturnTargets.mjs.map +1 -0
  663. package/dist/oauth/OAuthSignInPersistence.d.mts +68 -0
  664. package/dist/oauth/OAuthSignInPersistence.mjs +12 -0
  665. package/dist/oauth/OAuthSignInPersistence.mjs.map +1 -0
  666. package/dist/oauth/OAuthStateDecisions.d.mts +14 -0
  667. package/dist/oauth/OAuthStateDecisions.mjs +8 -0
  668. package/dist/oauth/OAuthStateDecisions.mjs.map +1 -0
  669. package/dist/oauth/OAuthStateStore.d.mts +35 -0
  670. package/dist/oauth/OAuthStateStore.mjs +64 -0
  671. package/dist/oauth/OAuthStateStore.mjs.map +1 -0
  672. package/dist/oauth/OAuthTransactionProtector.d.mts +26 -0
  673. package/dist/oauth/OAuthTransactionProtector.mjs +78 -0
  674. package/dist/oauth/OAuthTransactionProtector.mjs.map +1 -0
  675. package/dist/oauth/accounts.d.mts +29 -0
  676. package/dist/oauth/accounts.mjs +515 -0
  677. package/dist/oauth/accounts.mjs.map +1 -0
  678. package/dist/oauth/accountsModels.d.mts +463 -0
  679. package/dist/oauth/accountsModels.mjs +155 -0
  680. package/dist/oauth/accountsModels.mjs.map +1 -0
  681. package/dist/oauth/connected.d.mts +442 -0
  682. package/dist/oauth/connected.mjs +526 -0
  683. package/dist/oauth/connected.mjs.map +1 -0
  684. package/dist/oauth/connectedAccess.d.mts +20 -0
  685. package/dist/oauth/connectedAccess.mjs +279 -0
  686. package/dist/oauth/connectedAccess.mjs.map +1 -0
  687. package/dist/oauth/connectedMaintenance.d.mts +19 -0
  688. package/dist/oauth/connectedMaintenance.mjs +133 -0
  689. package/dist/oauth/connectedMaintenance.mjs.map +1 -0
  690. package/dist/oauth/connectedModels.d.mts +2023 -0
  691. package/dist/oauth/connectedModels.mjs +375 -0
  692. package/dist/oauth/connectedModels.mjs.map +1 -0
  693. package/dist/oauth/definition.d.mts +4396 -0
  694. package/dist/oauth/definition.mjs +120 -0
  695. package/dist/oauth/definition.mjs.map +1 -0
  696. package/dist/oauth/errors.d.mts +49 -0
  697. package/dist/oauth/errors.mjs +42 -0
  698. package/dist/oauth/errors.mjs.map +1 -0
  699. package/dist/oauth/github/identity.d.mts +8 -0
  700. package/dist/oauth/github/identity.mjs +24 -0
  701. package/dist/oauth/github/identity.mjs.map +1 -0
  702. package/dist/oauth/github/models.d.mts +34 -0
  703. package/dist/oauth/github/protocol.d.mts +54 -0
  704. package/dist/oauth/github/protocol.mjs +204 -0
  705. package/dist/oauth/github/protocol.mjs.map +1 -0
  706. package/dist/oauth/openid-client/ProviderRevocation.d.mts +4 -0
  707. package/dist/oauth/openid-client/ProviderRevocation.mjs +11 -0
  708. package/dist/oauth/openid-client/ProviderRevocation.mjs.map +1 -0
  709. package/dist/oauth/openid-client/compatibility.d.mts +1 -0
  710. package/dist/oauth/openid-client/compatibility.mjs +6 -0
  711. package/dist/oauth/openid-client/compatibility.mjs.map +1 -0
  712. package/dist/oauth/openid-client/configuration.mjs +305 -0
  713. package/dist/oauth/openid-client/configuration.mjs.map +1 -0
  714. package/dist/oauth/openid-client/connected/configuration.mjs +338 -0
  715. package/dist/oauth/openid-client/connected/configuration.mjs.map +1 -0
  716. package/dist/oauth/openid-client/connected/models.d.mts +42 -0
  717. package/dist/oauth/openid-client/connected/protocol.d.mts +16 -0
  718. package/dist/oauth/openid-client/connected/protocol.mjs +402 -0
  719. package/dist/oauth/openid-client/connected/protocol.mjs.map +1 -0
  720. package/dist/oauth/openid-client/models.d.mts +67 -0
  721. package/dist/oauth/openid-client/models.mjs +16 -0
  722. package/dist/oauth/openid-client/models.mjs.map +1 -0
  723. package/dist/oauth/openid-client/protocol.d.mts +27 -0
  724. package/dist/oauth/openid-client/protocol.mjs +218 -0
  725. package/dist/oauth/openid-client/protocol.mjs.map +1 -0
  726. package/dist/oauth/openid-client/transport.mjs +59 -0
  727. package/dist/oauth/openid-client/transport.mjs.map +1 -0
  728. package/dist/oauth/policy.d.mts +18 -0
  729. package/dist/oauth/policy.mjs +16 -0
  730. package/dist/oauth/policy.mjs.map +1 -0
  731. package/dist/oauth/registration.d.mts +24 -0
  732. package/dist/oauth/registration.mjs +177 -0
  733. package/dist/oauth/registration.mjs.map +1 -0
  734. package/dist/oauth/registrationModels.d.mts +152 -0
  735. package/dist/oauth/registrationModels.mjs +93 -0
  736. package/dist/oauth/registrationModels.mjs.map +1 -0
  737. package/dist/oauth/registrationSecrets.mjs +70 -0
  738. package/dist/oauth/registrationSecrets.mjs.map +1 -0
  739. package/dist/oauth/schema.d.mts +86 -0
  740. package/dist/oauth/schema.mjs +81 -0
  741. package/dist/oauth/schema.mjs.map +1 -0
  742. package/dist/oauth/signInErrors.d.mts +17 -0
  743. package/dist/oauth/signInErrors.mjs +16 -0
  744. package/dist/oauth/signInErrors.mjs.map +1 -0
  745. package/dist/oauth/signInModels.d.mts +343 -0
  746. package/dist/oauth/signInModels.mjs +181 -0
  747. package/dist/oauth/signInModels.mjs.map +1 -0
  748. package/dist/oauth/signInModule.d.mts +1546 -0
  749. package/dist/oauth/signInModule.mjs +430 -0
  750. package/dist/oauth/signInModule.mjs.map +1 -0
  751. package/dist/oauth/signInSnapshot.mjs +29 -0
  752. package/dist/oauth/signInSnapshot.mjs.map +1 -0
  753. package/dist/oauth/transactionEncryption.d.mts +14 -0
  754. package/dist/oauth/transactionEncryption.mjs +129 -0
  755. package/dist/oauth/transactionEncryption.mjs.map +1 -0
  756. package/dist/operations/RequestBindingConfig.d.mts +11 -0
  757. package/dist/operations/RequestBindingConfig.mjs +10 -0
  758. package/dist/operations/RequestBindingConfig.mjs.map +1 -0
  759. package/dist/operations/actions.d.mts +947 -0
  760. package/dist/operations/actions.mjs +148 -0
  761. package/dist/operations/actions.mjs.map +1 -0
  762. package/dist/operations/context.d.mts +63 -0
  763. package/dist/operations/context.mjs +55 -0
  764. package/dist/operations/context.mjs.map +1 -0
  765. package/dist/operations/credentials.d.mts +39 -0
  766. package/dist/operations/credentials.mjs +60 -0
  767. package/dist/operations/credentials.mjs.map +1 -0
  768. package/dist/operations/errors.d.mts +24 -0
  769. package/dist/operations/errors.mjs +31 -0
  770. package/dist/operations/errors.mjs.map +1 -0
  771. package/dist/operations/operation.d.mts +124 -0
  772. package/dist/operations/operation.mjs +220 -0
  773. package/dist/operations/operation.mjs.map +1 -0
  774. package/dist/operations/requestBinding.d.mts +46 -0
  775. package/dist/operations/requestBinding.mjs +130 -0
  776. package/dist/operations/requestBinding.mjs.map +1 -0
  777. package/dist/operations/requestBindingModels.d.mts +13 -0
  778. package/dist/operations/requestBindingModels.mjs +12 -0
  779. package/dist/operations/requestBindingModels.mjs.map +1 -0
  780. package/dist/operations/reveals.d.mts +28 -0
  781. package/dist/operations/reveals.mjs +88 -0
  782. package/dist/operations/reveals.mjs.map +1 -0
  783. package/dist/passkey/PasskeyActionEvidence.d.mts +22 -0
  784. package/dist/passkey/PasskeyActionEvidence.mjs +9 -0
  785. package/dist/passkey/PasskeyActionEvidence.mjs.map +1 -0
  786. package/dist/passkey/PasskeyCredentials.d.mts +16 -0
  787. package/dist/passkey/PasskeyCredentials.mjs +9 -0
  788. package/dist/passkey/PasskeyCredentials.mjs.map +1 -0
  789. package/dist/passkey/PasskeyEnrollmentContext.d.mts +22 -0
  790. package/dist/passkey/PasskeyEnrollmentContext.mjs +9 -0
  791. package/dist/passkey/PasskeyEnrollmentContext.mjs.map +1 -0
  792. package/dist/passkey/PasskeyManagementPersistence.d.mts +106 -0
  793. package/dist/passkey/PasskeyManagementPersistence.mjs +9 -0
  794. package/dist/passkey/PasskeyManagementPersistence.mjs.map +1 -0
  795. package/dist/passkey/PasskeyPersistence.d.mts +63 -0
  796. package/dist/passkey/PasskeyPersistence.mjs +10 -0
  797. package/dist/passkey/PasskeyPersistence.mjs.map +1 -0
  798. package/dist/passkey/PasskeyProtocol.d.mts +38 -0
  799. package/dist/passkey/PasskeyProtocol.mjs +11 -0
  800. package/dist/passkey/PasskeyProtocol.mjs.map +1 -0
  801. package/dist/passkey/actions.d.mts +50 -0
  802. package/dist/passkey/actions.mjs +376 -0
  803. package/dist/passkey/actions.mjs.map +1 -0
  804. package/dist/passkey/browser/PasskeyBrowser.d.mts +18 -0
  805. package/dist/passkey/browser/PasskeyBrowser.mjs +9 -0
  806. package/dist/passkey/browser/PasskeyBrowser.mjs.map +1 -0
  807. package/dist/passkey/browser/models.d.mts +38 -0
  808. package/dist/passkey/browser/models.mjs +41 -0
  809. package/dist/passkey/browser/models.mjs.map +1 -0
  810. package/dist/passkey/browser/simplewebauthn.d.mts +17 -0
  811. package/dist/passkey/browser/simplewebauthn.mjs +411 -0
  812. package/dist/passkey/browser/simplewebauthn.mjs.map +1 -0
  813. package/dist/passkey/definition.d.mts +5626 -0
  814. package/dist/passkey/definition.mjs +114 -0
  815. package/dist/passkey/definition.mjs.map +1 -0
  816. package/dist/passkey/errors.d.mts +20 -0
  817. package/dist/passkey/errors.mjs +20 -0
  818. package/dist/passkey/errors.mjs.map +1 -0
  819. package/dist/passkey/management.mjs +276 -0
  820. package/dist/passkey/management.mjs.map +1 -0
  821. package/dist/passkey/models.d.mts +1245 -0
  822. package/dist/passkey/models.mjs +301 -0
  823. package/dist/passkey/models.mjs.map +1 -0
  824. package/dist/passkey/module.d.mts +2132 -0
  825. package/dist/passkey/module.mjs +174 -0
  826. package/dist/passkey/module.mjs.map +1 -0
  827. package/dist/passkey/pending.mjs +99 -0
  828. package/dist/passkey/pending.mjs.map +1 -0
  829. package/dist/passkey/policy.d.mts +48 -0
  830. package/dist/passkey/policy.mjs +77 -0
  831. package/dist/passkey/policy.mjs.map +1 -0
  832. package/dist/passkey/registration.mjs +107 -0
  833. package/dist/passkey/registration.mjs.map +1 -0
  834. package/dist/passkey/simplewebauthn/configuration.mjs +45 -0
  835. package/dist/passkey/simplewebauthn/configuration.mjs.map +1 -0
  836. package/dist/passkey/simplewebauthn/models.d.mts +21 -0
  837. package/dist/passkey/simplewebauthn/models.mjs +8 -0
  838. package/dist/passkey/simplewebauthn/models.mjs.map +1 -0
  839. package/dist/passkey/simplewebauthn/protocol.d.mts +62 -0
  840. package/dist/passkey/simplewebauthn/protocol.mjs +402 -0
  841. package/dist/passkey/simplewebauthn/protocol.mjs.map +1 -0
  842. package/dist/passkey/snapshot.mjs +31 -0
  843. package/dist/passkey/snapshot.mjs.map +1 -0
  844. package/dist/passkey/stepUp.mjs +101 -0
  845. package/dist/passkey/stepUp.mjs.map +1 -0
  846. package/dist/password/CompromisedPasswords.d.mts +26 -0
  847. package/dist/password/CompromisedPasswords.mjs +23 -0
  848. package/dist/password/CompromisedPasswords.mjs.map +1 -0
  849. package/dist/password/NewPasswordCheck.d.mts +21 -0
  850. package/dist/password/NewPasswordCheck.mjs +39 -0
  851. package/dist/password/NewPasswordCheck.mjs.map +1 -0
  852. package/dist/password/PasswordHashing.d.mts +24 -0
  853. package/dist/password/PasswordHashing.mjs +96 -0
  854. package/dist/password/PasswordHashing.mjs.map +1 -0
  855. package/dist/password/PasswordKdfAdmission.d.mts +19 -0
  856. package/dist/password/PasswordKdfAdmission.mjs +25 -0
  857. package/dist/password/PasswordKdfAdmission.mjs.map +1 -0
  858. package/dist/password/configuration.d.mts +43 -0
  859. package/dist/password/configuration.mjs +64 -0
  860. package/dist/password/configuration.mjs.map +1 -0
  861. package/dist/password/defaults.mjs +13 -0
  862. package/dist/password/defaults.mjs.map +1 -0
  863. package/dist/password/encoding.mjs +64 -0
  864. package/dist/password/encoding.mjs.map +1 -0
  865. package/dist/password/errors.d.mts +28 -0
  866. package/dist/password/errors.mjs +25 -0
  867. package/dist/password/errors.mjs.map +1 -0
  868. package/dist/password/methods/PasswordActionEvidence.d.mts +38 -0
  869. package/dist/password/methods/PasswordActionEvidence.mjs +22 -0
  870. package/dist/password/methods/PasswordActionEvidence.mjs.map +1 -0
  871. package/dist/password/methods/PasswordPersistence.d.mts +102 -0
  872. package/dist/password/methods/PasswordPersistence.mjs +13 -0
  873. package/dist/password/methods/PasswordPersistence.mjs.map +1 -0
  874. package/dist/password/methods/PasswordPreparedPersistence.d.mts +111 -0
  875. package/dist/password/methods/contracts.d.mts +43 -0
  876. package/dist/password/methods/contracts.mjs +33 -0
  877. package/dist/password/methods/contracts.mjs.map +1 -0
  878. package/dist/password/methods/definition.d.mts +3813 -0
  879. package/dist/password/methods/definition.mjs +56 -0
  880. package/dist/password/methods/definition.mjs.map +1 -0
  881. package/dist/password/methods/errors.d.mts +15 -0
  882. package/dist/password/methods/errors.mjs +11 -0
  883. package/dist/password/methods/errors.mjs.map +1 -0
  884. package/dist/password/methods/models.d.mts +70 -0
  885. package/dist/password/methods/models.mjs +44 -0
  886. package/dist/password/methods/models.mjs.map +1 -0
  887. package/dist/password/methods/module.d.mts +3567 -0
  888. package/dist/password/methods/module.mjs +553 -0
  889. package/dist/password/methods/module.mjs.map +1 -0
  890. package/dist/password/methods/policy.d.mts +84 -0
  891. package/dist/password/methods/policy.mjs +80 -0
  892. package/dist/password/methods/policy.mjs.map +1 -0
  893. package/dist/password/methods/preparation.mjs +54 -0
  894. package/dist/password/methods/preparation.mjs.map +1 -0
  895. package/dist/password/methods/prepared.d.mts +53 -0
  896. package/dist/password/methods/prepared.mjs +610 -0
  897. package/dist/password/methods/prepared.mjs.map +1 -0
  898. package/dist/password/methods/preparedModels.d.mts +1295 -0
  899. package/dist/password/methods/preparedModels.mjs +278 -0
  900. package/dist/password/methods/preparedModels.mjs.map +1 -0
  901. package/dist/password/methods/signIn.d.mts +180 -0
  902. package/dist/password/methods/signIn.mjs +73 -0
  903. package/dist/password/methods/signIn.mjs.map +1 -0
  904. package/dist/password/methods/snapshot.mjs +38 -0
  905. package/dist/password/methods/snapshot.mjs.map +1 -0
  906. package/dist/password/methods/verification.mjs +138 -0
  907. package/dist/password/methods/verification.mjs.map +1 -0
  908. package/dist/password/models.d.mts +13 -0
  909. package/dist/password/models.mjs +12 -0
  910. package/dist/password/models.mjs.map +1 -0
  911. package/dist/password/policy.d.mts +33 -0
  912. package/dist/password/policy.mjs +37 -0
  913. package/dist/password/policy.mjs.map +1 -0
  914. package/dist/phone/PhoneActionEvidence.d.mts +23 -0
  915. package/dist/phone/PhoneActionEvidence.mjs +10 -0
  916. package/dist/phone/PhoneActionEvidence.mjs.map +1 -0
  917. package/dist/phone/PhoneAdmission.d.mts +29 -0
  918. package/dist/phone/PhoneAdmission.mjs +10 -0
  919. package/dist/phone/PhoneAdmission.mjs.map +1 -0
  920. package/dist/phone/PhoneDeliveryEligibility.d.mts +11 -0
  921. package/dist/phone/PhoneDeliveryEligibility.mjs +8 -0
  922. package/dist/phone/PhoneDeliveryEligibility.mjs.map +1 -0
  923. package/dist/phone/PhonePersistence.d.mts +33 -0
  924. package/dist/phone/PhonePersistence.mjs +10 -0
  925. package/dist/phone/PhonePersistence.mjs.map +1 -0
  926. package/dist/phone/PhoneRequestContext.d.mts +10 -0
  927. package/dist/phone/PhoneRequestContext.mjs +8 -0
  928. package/dist/phone/PhoneRequestContext.mjs.map +1 -0
  929. package/dist/phone/PhoneSignInTargets.d.mts +19 -0
  930. package/dist/phone/PhoneSignInTargets.mjs +13 -0
  931. package/dist/phone/PhoneSignInTargets.mjs.map +1 -0
  932. package/dist/phone/definition.d.mts +7190 -0
  933. package/dist/phone/definition.mjs +28 -0
  934. package/dist/phone/definition.mjs.map +1 -0
  935. package/dist/phone/failure.mjs +23 -0
  936. package/dist/phone/failure.mjs.map +1 -0
  937. package/dist/phone/lifecycle.mjs +427 -0
  938. package/dist/phone/lifecycle.mjs.map +1 -0
  939. package/dist/phone/lifecycleModels.d.mts +164 -0
  940. package/dist/phone/lifecycleModels.mjs +91 -0
  941. package/dist/phone/lifecycleModels.mjs.map +1 -0
  942. package/dist/phone/models.d.mts +41 -0
  943. package/dist/phone/models.mjs +29 -0
  944. package/dist/phone/models.mjs.map +1 -0
  945. package/dist/phone/module.d.mts +6027 -0
  946. package/dist/phone/module.mjs +293 -0
  947. package/dist/phone/module.mjs.map +1 -0
  948. package/dist/proofs/EmailProofDelivery.d.mts +13 -0
  949. package/dist/proofs/EmailProofDelivery.mjs +11 -0
  950. package/dist/proofs/EmailProofDelivery.mjs.map +1 -0
  951. package/dist/proofs/HostIngressLimiter.d.mts +20 -0
  952. package/dist/proofs/HostIngressLimiter.mjs +13 -0
  953. package/dist/proofs/HostIngressLimiter.mjs.map +1 -0
  954. package/dist/proofs/ProofPersistence.d.mts +140 -0
  955. package/dist/proofs/ProofPersistence.mjs +13 -0
  956. package/dist/proofs/ProofPersistence.mjs.map +1 -0
  957. package/dist/proofs/SmsProofDelivery.d.mts +13 -0
  958. package/dist/proofs/SmsProofDelivery.mjs +11 -0
  959. package/dist/proofs/SmsProofDelivery.mjs.map +1 -0
  960. package/dist/proofs/abuse.d.mts +15 -0
  961. package/dist/proofs/abuse.mjs +12 -0
  962. package/dist/proofs/abuse.mjs.map +1 -0
  963. package/dist/proofs/completion.d.mts +22 -0
  964. package/dist/proofs/crypto.d.mts +196 -0
  965. package/dist/proofs/crypto.mjs +189 -0
  966. package/dist/proofs/crypto.mjs.map +1 -0
  967. package/dist/proofs/definition.d.mts +335 -0
  968. package/dist/proofs/definition.mjs +10 -0
  969. package/dist/proofs/definition.mjs.map +1 -0
  970. package/dist/proofs/delivery.d.mts +30 -0
  971. package/dist/proofs/delivery.mjs +26 -0
  972. package/dist/proofs/delivery.mjs.map +1 -0
  973. package/dist/proofs/dispatch.d.mts +20 -0
  974. package/dist/proofs/dispatch.mjs +54 -0
  975. package/dist/proofs/dispatch.mjs.map +1 -0
  976. package/dist/proofs/errors.d.mts +21 -0
  977. package/dist/proofs/errors.mjs +25 -0
  978. package/dist/proofs/errors.mjs.map +1 -0
  979. package/dist/proofs/models.d.mts +141 -0
  980. package/dist/proofs/models.mjs +93 -0
  981. package/dist/proofs/models.mjs.map +1 -0
  982. package/dist/proofs/module.d.mts +344 -0
  983. package/dist/proofs/module.mjs +350 -0
  984. package/dist/proofs/module.mjs.map +1 -0
  985. package/dist/proofs/policy.d.mts +152 -0
  986. package/dist/proofs/policy.mjs +51 -0
  987. package/dist/proofs/policy.mjs.map +1 -0
  988. package/dist/sessions/AuthenticationAuthority.d.mts +31 -0
  989. package/dist/sessions/AuthenticationAuthority.mjs +8 -0
  990. package/dist/sessions/AuthenticationAuthority.mjs.map +1 -0
  991. package/dist/sessions/PendingAuthentication.d.mts +108 -0
  992. package/dist/sessions/PendingAuthentication.mjs +40 -0
  993. package/dist/sessions/PendingAuthentication.mjs.map +1 -0
  994. package/dist/sessions/SessionStepUpPersistence.d.mts +152 -0
  995. package/dist/sessions/SessionStepUpPersistence.mjs +63 -0
  996. package/dist/sessions/SessionStepUpPersistence.mjs.map +1 -0
  997. package/dist/sessions/assurance.d.mts +163 -0
  998. package/dist/sessions/assurance.mjs +95 -0
  999. package/dist/sessions/assurance.mjs.map +1 -0
  1000. package/dist/sessions/commit.d.mts +13 -0
  1001. package/dist/sessions/configuration.d.mts +46 -0
  1002. package/dist/sessions/configuration.mjs +55 -0
  1003. package/dist/sessions/configuration.mjs.map +1 -0
  1004. package/dist/sessions/contract.d.mts +663 -0
  1005. package/dist/sessions/contract.mjs +174 -0
  1006. package/dist/sessions/contract.mjs.map +1 -0
  1007. package/dist/sessions/crypto.d.mts +24 -0
  1008. package/dist/sessions/crypto.mjs +106 -0
  1009. package/dist/sessions/crypto.mjs.map +1 -0
  1010. package/dist/sessions/definition.d.mts +11 -0
  1011. package/dist/sessions/definition.mjs +10 -0
  1012. package/dist/sessions/definition.mjs.map +1 -0
  1013. package/dist/sessions/errors.d.mts +35 -0
  1014. package/dist/sessions/errors.mjs +34 -0
  1015. package/dist/sessions/errors.mjs.map +1 -0
  1016. package/dist/sessions/invalidation.d.mts +23 -0
  1017. package/dist/sessions/invalidation.mjs +33 -0
  1018. package/dist/sessions/invalidation.mjs.map +1 -0
  1019. package/dist/sessions/models.d.mts +143 -0
  1020. package/dist/sessions/models.mjs +94 -0
  1021. package/dist/sessions/models.mjs.map +1 -0
  1022. package/dist/sessions/module.d.mts +1091 -0
  1023. package/dist/sessions/module.mjs +943 -0
  1024. package/dist/sessions/module.mjs.map +1 -0
  1025. package/dist/sessions/persistence.d.mts +93 -0
  1026. package/dist/sessions/policy.d.mts +80 -0
  1027. package/dist/sessions/policy.mjs +66 -0
  1028. package/dist/sessions/policy.mjs.map +1 -0
  1029. package/dist/testing/conformance/AuthStore.d.mts +11 -0
  1030. package/dist/testing/conformance/AuthStore.mjs +173 -0
  1031. package/dist/testing/conformance/AuthStore.mjs.map +1 -0
  1032. package/dist/testing/conformance/OAuthConnectionStore.d.mts +11 -0
  1033. package/dist/testing/conformance/OAuthConnectionStore.mjs +102 -0
  1034. package/dist/testing/conformance/OAuthConnectionStore.mjs.map +1 -0
  1035. package/dist/testing/conformance/OAuthStateStore.d.mts +11 -0
  1036. package/dist/testing/conformance/OAuthStateStore.mjs +45 -0
  1037. package/dist/testing/conformance/OAuthStateStore.mjs.map +1 -0
  1038. package/dist/testing/conformance/PasswordCredentialStore.d.mts +20 -0
  1039. package/dist/testing/conformance/PasswordCredentialStore.mjs +103 -0
  1040. package/dist/testing/conformance/PasswordCredentialStore.mjs.map +1 -0
  1041. package/dist/testing/conformance/support.mjs +17 -0
  1042. package/dist/testing/conformance/support.mjs.map +1 -0
  1043. package/dist/testing/crypto.d.mts +11 -0
  1044. package/dist/testing/crypto.mjs +41 -0
  1045. package/dist/testing/crypto.mjs.map +1 -0
  1046. package/dist/testing/keyring.d.mts +9 -0
  1047. package/dist/testing/keyring.mjs +17 -0
  1048. package/dist/testing/keyring.mjs.map +1 -0
  1049. package/dist/totp/TotpActionEvidence.d.mts +18 -0
  1050. package/dist/totp/TotpActionEvidence.mjs +8 -0
  1051. package/dist/totp/TotpActionEvidence.mjs.map +1 -0
  1052. package/dist/totp/TotpPersistence.d.mts +19 -0
  1053. package/dist/totp/TotpPersistence.mjs +8 -0
  1054. package/dist/totp/TotpPersistence.mjs.map +1 -0
  1055. package/dist/totp/TotpSecretKeys.d.mts +15 -0
  1056. package/dist/totp/TotpSecretKeys.mjs +8 -0
  1057. package/dist/totp/TotpSecretKeys.mjs.map +1 -0
  1058. package/dist/totp/crypto.mjs +96 -0
  1059. package/dist/totp/crypto.mjs.map +1 -0
  1060. package/dist/totp/definition.d.mts +764 -0
  1061. package/dist/totp/definition.mjs +24 -0
  1062. package/dist/totp/definition.mjs.map +1 -0
  1063. package/dist/totp/errors.d.mts +16 -0
  1064. package/dist/totp/errors.mjs +18 -0
  1065. package/dist/totp/errors.mjs.map +1 -0
  1066. package/dist/totp/models.d.mts +377 -0
  1067. package/dist/totp/models.mjs +137 -0
  1068. package/dist/totp/models.mjs.map +1 -0
  1069. package/dist/totp/module.d.mts +737 -0
  1070. package/dist/totp/module.mjs +355 -0
  1071. package/dist/totp/module.mjs.map +1 -0
  1072. package/package.json +1 -0
  1073. package/src/Atom.ts +4 -0
  1074. package/src/Auth.ts +16 -0
  1075. package/src/AuthContract.ts +17 -0
  1076. package/src/AuthSession.ts +298 -0
  1077. package/src/AuthStore.ts +367 -0
  1078. package/src/AuthTokenCodec.ts +226 -0
  1079. package/src/Client.ts +9 -0
  1080. package/src/Cloudflare.ts +345 -0
  1081. package/src/Drizzle.ts +378 -0
  1082. package/src/DrizzleD1.ts +136 -0
  1083. package/src/DrizzleLibsql.ts +288 -0
  1084. package/src/DrizzleMysql2.ts +184 -0
  1085. package/src/DrizzlePglite.ts +160 -0
  1086. package/src/DrizzlePostgres.ts +160 -0
  1087. package/src/DrizzleSqliteBun.ts +244 -0
  1088. package/src/DrizzleSqliteDo.ts +473 -0
  1089. package/src/DrizzleSqliteNode.ts +245 -0
  1090. package/src/DrizzleSqliteWasm.ts +245 -0
  1091. package/src/Email.ts +55 -0
  1092. package/src/EmailOtp.ts +250 -0
  1093. package/src/EmailOtpSender.ts +28 -0
  1094. package/src/Errors.ts +103 -0
  1095. package/src/GitHub.ts +16 -0
  1096. package/src/Hooks.ts +50 -0
  1097. package/src/Http.ts +47 -0
  1098. package/src/HttpServer.ts +742 -0
  1099. package/src/Identity.ts +53 -0
  1100. package/src/IdentityResolver.ts +18 -0
  1101. package/src/OAuth.ts +242 -0
  1102. package/src/OpenIdClient.ts +13 -0
  1103. package/src/OpenIdClientConnected.ts +18 -0
  1104. package/src/OperationHttp.ts +14 -0
  1105. package/src/OperationHttpClient.ts +6 -0
  1106. package/src/OperationHttpServer.ts +15 -0
  1107. package/src/Operations.ts +69 -0
  1108. package/src/Passkey.ts +81 -0
  1109. package/src/PasskeyBrowser.ts +19 -0
  1110. package/src/PasskeyContract.ts +212 -0
  1111. package/src/PasskeyPassword.ts +319 -0
  1112. package/src/PasskeySimpleWebAuthn.ts +6 -0
  1113. package/src/Password.ts +113 -0
  1114. package/src/PasswordAuth.ts +197 -0
  1115. package/src/PasswordCredentialStore.ts +140 -0
  1116. package/src/PasswordHasher.ts +147 -0
  1117. package/src/PhoneOtp.ts +32 -0
  1118. package/src/Policy.ts +95 -0
  1119. package/src/Proofs.ts +71 -0
  1120. package/src/Rpc.ts +15 -0
  1121. package/src/Schema.ts +235 -0
  1122. package/src/SessionContract.ts +2 -0
  1123. package/src/Sessions.ts +105 -0
  1124. package/src/Testing.ts +24 -0
  1125. package/src/Totp.ts +28 -0
  1126. package/src/TotpContract.ts +147 -0
  1127. package/src/WebCrypto.ts +61 -0
  1128. package/src/Workflows.ts +12 -0
  1129. package/src/atom/AuthAtomLifetime.ts +87 -0
  1130. package/src/atom/AuthAtomWorkflow.ts +27 -0
  1131. package/src/atom/client.ts +364 -0
  1132. package/src/atom/operations.ts +183 -0
  1133. package/src/atom/scoped-runtime.ts +249 -0
  1134. package/src/auth/Auth.ts +482 -0
  1135. package/src/auth/AuthConfigurationError.ts +9 -0
  1136. package/src/auth/AuthRequest.ts +21 -0
  1137. package/src/auth/AuthStrategy.ts +116 -0
  1138. package/src/auth/ConsumeDecision.ts +4 -0
  1139. package/src/auth/actions.ts +220 -0
  1140. package/src/auth/defaults.ts +23 -0
  1141. package/src/auth/definition.ts +88 -0
  1142. package/src/auth/session.ts +146 -0
  1143. package/src/drizzle/D1BatchStatements.ts +10 -0
  1144. package/src/drizzle/PasswordPreparedPostconditions.ts +30 -0
  1145. package/src/drizzle/SuppliedService.ts +10 -0
  1146. package/src/drizzle/d1-emails.ts +1808 -0
  1147. package/src/drizzle/d1-generated-statement.ts +129 -0
  1148. package/src/drizzle/d1-identity.ts +374 -0
  1149. package/src/drizzle/d1-oauth.ts +338 -0
  1150. package/src/drizzle/d1-passkey.ts +371 -0
  1151. package/src/drizzle/d1-password-prepared.ts +1273 -0
  1152. package/src/drizzle/d1-passwords.ts +2661 -0
  1153. package/src/drizzle/d1-phone.ts +94 -0
  1154. package/src/drizzle/d1-planning.ts +105 -0
  1155. package/src/drizzle/d1-proofs.ts +2305 -0
  1156. package/src/drizzle/d1-sessions.ts +2867 -0
  1157. package/src/drizzle/d1-totp.ts +79 -0
  1158. package/src/drizzle/email-model.ts +512 -0
  1159. package/src/drizzle/email-registration.ts +696 -0
  1160. package/src/drizzle/email-sql.ts +1468 -0
  1161. package/src/drizzle/email-target.ts +243 -0
  1162. package/src/drizzle/model.ts +492 -0
  1163. package/src/drizzle/mysql-emails.ts +323 -0
  1164. package/src/drizzle/mysql-identity.ts +323 -0
  1165. package/src/drizzle/mysql-password-prepared.ts +206 -0
  1166. package/src/drizzle/mysql-passwords.ts +341 -0
  1167. package/src/drizzle/mysql-proofs.ts +183 -0
  1168. package/src/drizzle/mysql-sessions.ts +742 -0
  1169. package/src/drizzle/mysql.ts +686 -0
  1170. package/src/drizzle/oauth-accounts.ts +801 -0
  1171. package/src/drizzle/oauth-connected-access.ts +354 -0
  1172. package/src/drizzle/oauth-connected-collection.ts +324 -0
  1173. package/src/drizzle/oauth-connected-custody.ts +277 -0
  1174. package/src/drizzle/oauth-connected-drivers.ts +463 -0
  1175. package/src/drizzle/oauth-connected-flow.ts +439 -0
  1176. package/src/drizzle/oauth-connected-input.ts +128 -0
  1177. package/src/drizzle/oauth-connected-maintenance.ts +345 -0
  1178. package/src/drizzle/oauth-connected-management.ts +365 -0
  1179. package/src/drizzle/oauth-connected-model.ts +347 -0
  1180. package/src/drizzle/oauth-connected-reference.ts +112 -0
  1181. package/src/drizzle/oauth-connected-settlement.ts +226 -0
  1182. package/src/drizzle/oauth-connected-state.ts +846 -0
  1183. package/src/drizzle/oauth-connected-target.ts +264 -0
  1184. package/src/drizzle/oauth-drivers.ts +567 -0
  1185. package/src/drizzle/oauth-flow.ts +461 -0
  1186. package/src/drizzle/oauth-input.ts +205 -0
  1187. package/src/drizzle/oauth-model.ts +610 -0
  1188. package/src/drizzle/oauth-mysql.ts +10 -0
  1189. package/src/drizzle/oauth-owner.ts +29 -0
  1190. package/src/drizzle/oauth-registration.ts +638 -0
  1191. package/src/drizzle/oauth-state.ts +213 -0
  1192. package/src/drizzle/oauth-target.ts +751 -0
  1193. package/src/drizzle/passkey-admission.ts +333 -0
  1194. package/src/drizzle/passkey-credentials.ts +465 -0
  1195. package/src/drizzle/passkey-drivers.ts +385 -0
  1196. package/src/drizzle/passkey-enrollment.ts +280 -0
  1197. package/src/drizzle/passkey-flow.ts +983 -0
  1198. package/src/drizzle/passkey-management.ts +369 -0
  1199. package/src/drizzle/passkey-model.ts +350 -0
  1200. package/src/drizzle/passkey-registration-ceremony-model.ts +69 -0
  1201. package/src/drizzle/passkey-registration-ceremony.ts +254 -0
  1202. package/src/drizzle/passkey-registration-custody.ts +82 -0
  1203. package/src/drizzle/passkey-registration-write.ts +378 -0
  1204. package/src/drizzle/passkey-state.ts +307 -0
  1205. package/src/drizzle/passkey-target.ts +528 -0
  1206. package/src/drizzle/passkey-write-drivers.ts +396 -0
  1207. package/src/drizzle/passkey-write-model.ts +265 -0
  1208. package/src/drizzle/passkey-write-state.ts +627 -0
  1209. package/src/drizzle/passkey-write-target.ts +406 -0
  1210. package/src/drizzle/password-model.ts +491 -0
  1211. package/src/drizzle/password-prepared-model.ts +259 -0
  1212. package/src/drizzle/password-prepared-sql.ts +1198 -0
  1213. package/src/drizzle/password-prepared-state.ts +232 -0
  1214. package/src/drizzle/password-prepared-target.ts +158 -0
  1215. package/src/drizzle/password-registration.ts +372 -0
  1216. package/src/drizzle/password-sql.ts +2082 -0
  1217. package/src/drizzle/password-target.ts +223 -0
  1218. package/src/drizzle/pg-emails.ts +323 -0
  1219. package/src/drizzle/pg-password-prepared.ts +207 -0
  1220. package/src/drizzle/pg-passwords.ts +340 -0
  1221. package/src/drizzle/pg-proofs.ts +193 -0
  1222. package/src/drizzle/pg-sessions.ts +751 -0
  1223. package/src/drizzle/pg.ts +982 -0
  1224. package/src/drizzle/phone-model.ts +185 -0
  1225. package/src/drizzle/phone-state.ts +802 -0
  1226. package/src/drizzle/phone-target.ts +471 -0
  1227. package/src/drizzle/proof-model.ts +398 -0
  1228. package/src/drizzle/proof-sql.ts +1912 -0
  1229. package/src/drizzle/proof-target.ts +120 -0
  1230. package/src/drizzle/session-model.ts +368 -0
  1231. package/src/drizzle/session-sql.ts +2152 -0
  1232. package/src/drizzle/session-target.ts +335 -0
  1233. package/src/drizzle/sqlite-emails.ts +368 -0
  1234. package/src/drizzle/sqlite-identity.ts +343 -0
  1235. package/src/drizzle/sqlite-password-prepared.ts +262 -0
  1236. package/src/drizzle/sqlite-passwords.ts +499 -0
  1237. package/src/drizzle/sqlite-proofs.ts +204 -0
  1238. package/src/drizzle/sqlite-sessions.ts +972 -0
  1239. package/src/drizzle/sqlite.ts +704 -0
  1240. package/src/drizzle/standalone-guard.ts +38 -0
  1241. package/src/drizzle/step-up-model.ts +129 -0
  1242. package/src/drizzle/step-up-state.ts +141 -0
  1243. package/src/drizzle/totp-model.ts +91 -0
  1244. package/src/drizzle/totp-state.ts +520 -0
  1245. package/src/drizzle/totp-target.ts +304 -0
  1246. package/src/drizzle/transaction-execution.ts +290 -0
  1247. package/src/drizzle/transaction-mysql.ts +104 -0
  1248. package/src/drizzle/transaction-owner.ts +570 -0
  1249. package/src/email/EmailActionEvidence.ts +37 -0
  1250. package/src/email/EmailAddressPersistence.ts +71 -0
  1251. package/src/email/EmailIdentifierNotifier.ts +48 -0
  1252. package/src/email/EmailReturnTargets.ts +50 -0
  1253. package/src/email/EmailSignInTargets.ts +20 -0
  1254. package/src/email/addresses.ts +630 -0
  1255. package/src/email/definition.ts +309 -0
  1256. package/src/email/errors.ts +23 -0
  1257. package/src/email/magicLink.ts +84 -0
  1258. package/src/email/models.ts +50 -0
  1259. package/src/email/module.ts +664 -0
  1260. package/src/email/registration.ts +415 -0
  1261. package/src/email/snapshot.ts +51 -0
  1262. package/src/hooks/LifecycleHooks.ts +136 -0
  1263. package/src/hooks/commit.ts +271 -0
  1264. package/src/hooks/models.ts +111 -0
  1265. package/src/hooks/plugins.ts +87 -0
  1266. package/src/hooks/transactions.ts +51 -0
  1267. package/src/http/auth-api.ts +17 -0
  1268. package/src/http/auth-contract.ts +148 -0
  1269. package/src/http/auth-http.ts +467 -0
  1270. package/src/http/endpoints/get-session.ts +9 -0
  1271. package/src/http/endpoints/password-sign-in.ts +19 -0
  1272. package/src/http/endpoints/request-email-otp.ts +10 -0
  1273. package/src/http/endpoints/set-password.ts +18 -0
  1274. package/src/http/endpoints/sign-out.ts +5 -0
  1275. package/src/http/endpoints/verify-email-otp.ts +15 -0
  1276. package/src/http/models.ts +80 -0
  1277. package/src/http/security.ts +102 -0
  1278. package/src/http/session-contract.ts +92 -0
  1279. package/src/http-operation/OperationHttpInvocation.ts +39 -0
  1280. package/src/http-operation/OperationHttpServerConfig.ts +124 -0
  1281. package/src/http-operation/auth-client.ts +273 -0
  1282. package/src/http-operation/client.ts +453 -0
  1283. package/src/http-operation/configuration-schema.ts +19 -0
  1284. package/src/http-operation/contract.ts +116 -0
  1285. package/src/http-operation/errors.ts +38 -0
  1286. package/src/http-operation/models.ts +42 -0
  1287. package/src/http-operation/private.ts +50 -0
  1288. package/src/http-operation/security.ts +93 -0
  1289. package/src/http-operation/server.ts +544 -0
  1290. package/src/identity/ExternalIdentityMutation.ts +18 -0
  1291. package/src/identity/IdentityMutation.ts +41 -0
  1292. package/src/identity/IdentityRepository.ts +37 -0
  1293. package/src/identity/SubjectLifecycle.ts +80 -0
  1294. package/src/identity/SubjectProvisioner.ts +40 -0
  1295. package/src/identity/codecs.ts +54 -0
  1296. package/src/identity/models.ts +82 -0
  1297. package/src/identity/operations.ts +182 -0
  1298. package/src/index.ts +23 -0
  1299. package/src/internal/AuthStoreDecisions.ts +23 -0
  1300. package/src/internal/CurrentSession.ts +8 -0
  1301. package/src/internal/diagnostics.ts +71 -0
  1302. package/src/oauth/GithubOAuthProvider.ts +106 -0
  1303. package/src/oauth/OAuth.ts +436 -0
  1304. package/src/oauth/OAuthAccountsPersistence.ts +142 -0
  1305. package/src/oauth/OAuthActionEvidence.ts +31 -0
  1306. package/src/oauth/OAuthConnectedActionEvidence.ts +28 -0
  1307. package/src/oauth/OAuthConnectedPersistence.ts +163 -0
  1308. package/src/oauth/OAuthConnectedProtocol.ts +54 -0
  1309. package/src/oauth/OAuthConnectedRevocations.ts +48 -0
  1310. package/src/oauth/OAuthConnectedTokenProtector.ts +240 -0
  1311. package/src/oauth/OAuthConnectedTransactionProtector.ts +56 -0
  1312. package/src/oauth/OAuthConnectedUseAuthority.ts +26 -0
  1313. package/src/oauth/OAuthConnectionStore.ts +59 -0
  1314. package/src/oauth/OAuthLinkTransactionProtector.ts +58 -0
  1315. package/src/oauth/OAuthProtocol.ts +39 -0
  1316. package/src/oauth/OAuthProvider.ts +126 -0
  1317. package/src/oauth/OAuthProviders.ts +53 -0
  1318. package/src/oauth/OAuthRegistrationIntents.ts +42 -0
  1319. package/src/oauth/OAuthReturnTargets.ts +44 -0
  1320. package/src/oauth/OAuthSignInPersistence.ts +91 -0
  1321. package/src/oauth/OAuthStateDecisions.ts +16 -0
  1322. package/src/oauth/OAuthStateStore.ts +102 -0
  1323. package/src/oauth/OAuthTransactionProtector.ts +103 -0
  1324. package/src/oauth/accounts.ts +987 -0
  1325. package/src/oauth/accountsModels.ts +214 -0
  1326. package/src/oauth/connected.ts +995 -0
  1327. package/src/oauth/connectedAccess.ts +644 -0
  1328. package/src/oauth/connectedMaintenance.ts +248 -0
  1329. package/src/oauth/connectedModels.ts +495 -0
  1330. package/src/oauth/definition.ts +414 -0
  1331. package/src/oauth/errors.ts +78 -0
  1332. package/src/oauth/github/identity.ts +26 -0
  1333. package/src/oauth/github/models.ts +37 -0
  1334. package/src/oauth/github/protocol.ts +329 -0
  1335. package/src/oauth/openid-client/ProviderRevocation.ts +22 -0
  1336. package/src/oauth/openid-client/compatibility.ts +47 -0
  1337. package/src/oauth/openid-client/configuration.ts +472 -0
  1338. package/src/oauth/openid-client/connected/configuration.ts +565 -0
  1339. package/src/oauth/openid-client/connected/models.ts +58 -0
  1340. package/src/oauth/openid-client/connected/protocol.ts +866 -0
  1341. package/src/oauth/openid-client/models.ts +78 -0
  1342. package/src/oauth/openid-client/protocol.ts +437 -0
  1343. package/src/oauth/openid-client/transport.ts +67 -0
  1344. package/src/oauth/policy.ts +26 -0
  1345. package/src/oauth/registration.ts +410 -0
  1346. package/src/oauth/registrationModels.ts +115 -0
  1347. package/src/oauth/registrationSecrets.ts +127 -0
  1348. package/src/oauth/schema.ts +102 -0
  1349. package/src/oauth/signInErrors.ts +23 -0
  1350. package/src/oauth/signInModels.ts +266 -0
  1351. package/src/oauth/signInModule.ts +875 -0
  1352. package/src/oauth/signInSnapshot.ts +37 -0
  1353. package/src/oauth/transactionEncryption.ts +198 -0
  1354. package/src/operations/RequestBindingConfig.ts +12 -0
  1355. package/src/operations/actions.ts +342 -0
  1356. package/src/operations/context.ts +130 -0
  1357. package/src/operations/credentials.ts +121 -0
  1358. package/src/operations/errors.ts +53 -0
  1359. package/src/operations/operation.ts +740 -0
  1360. package/src/operations/requestBinding.ts +237 -0
  1361. package/src/operations/requestBindingModels.ts +18 -0
  1362. package/src/operations/reveals.ts +147 -0
  1363. package/src/passkey/PasskeyActionEvidence.ts +25 -0
  1364. package/src/passkey/PasskeyCredentials.ts +16 -0
  1365. package/src/passkey/PasskeyEnrollmentContext.ts +26 -0
  1366. package/src/passkey/PasskeyManagementPersistence.ts +124 -0
  1367. package/src/passkey/PasskeyPersistence.ts +85 -0
  1368. package/src/passkey/PasskeyProtocol.ts +48 -0
  1369. package/src/passkey/actions.ts +905 -0
  1370. package/src/passkey/browser/PasskeyBrowser.ts +26 -0
  1371. package/src/passkey/browser/models.ts +67 -0
  1372. package/src/passkey/browser/simplewebauthn.ts +621 -0
  1373. package/src/passkey/definition.ts +386 -0
  1374. package/src/passkey/errors.ts +39 -0
  1375. package/src/passkey/management.ts +552 -0
  1376. package/src/passkey/models.ts +414 -0
  1377. package/src/passkey/module.ts +367 -0
  1378. package/src/passkey/pending.ts +203 -0
  1379. package/src/passkey/policy.ts +88 -0
  1380. package/src/passkey/registration.ts +251 -0
  1381. package/src/passkey/simplewebauthn/configuration.ts +97 -0
  1382. package/src/passkey/simplewebauthn/models.ts +9 -0
  1383. package/src/passkey/simplewebauthn/protocol.ts +729 -0
  1384. package/src/passkey/snapshot.ts +48 -0
  1385. package/src/passkey/stepUp.ts +212 -0
  1386. package/src/password/CompromisedPasswords.ts +36 -0
  1387. package/src/password/NewPasswordCheck.ts +89 -0
  1388. package/src/password/PasswordHashing.ts +209 -0
  1389. package/src/password/PasswordKdfAdmission.ts +44 -0
  1390. package/src/password/configuration.ts +52 -0
  1391. package/src/password/defaults.ts +15 -0
  1392. package/src/password/encoding.ts +137 -0
  1393. package/src/password/errors.ts +43 -0
  1394. package/src/password/methods/PasswordActionEvidence.ts +41 -0
  1395. package/src/password/methods/PasswordPersistence.ts +128 -0
  1396. package/src/password/methods/PasswordPreparedPersistence.ts +123 -0
  1397. package/src/password/methods/contracts.ts +47 -0
  1398. package/src/password/methods/definition.ts +199 -0
  1399. package/src/password/methods/errors.ts +26 -0
  1400. package/src/password/methods/models.ts +80 -0
  1401. package/src/password/methods/module.ts +986 -0
  1402. package/src/password/methods/policy.ts +68 -0
  1403. package/src/password/methods/preparation.ts +73 -0
  1404. package/src/password/methods/prepared.ts +1199 -0
  1405. package/src/password/methods/preparedModels.ts +496 -0
  1406. package/src/password/methods/signIn.ts +136 -0
  1407. package/src/password/methods/snapshot.ts +53 -0
  1408. package/src/password/methods/verification.ts +266 -0
  1409. package/src/password/models.ts +15 -0
  1410. package/src/password/policy.ts +41 -0
  1411. package/src/phone/PhoneActionEvidence.ts +26 -0
  1412. package/src/phone/PhoneAdmission.ts +29 -0
  1413. package/src/phone/PhoneDeliveryEligibility.ts +9 -0
  1414. package/src/phone/PhonePersistence.ts +43 -0
  1415. package/src/phone/PhoneRequestContext.ts +7 -0
  1416. package/src/phone/PhoneSignInTargets.ts +19 -0
  1417. package/src/phone/definition.ts +87 -0
  1418. package/src/phone/failure.ts +40 -0
  1419. package/src/phone/lifecycle.ts +662 -0
  1420. package/src/phone/lifecycleModels.ts +108 -0
  1421. package/src/phone/models.ts +41 -0
  1422. package/src/phone/module.ts +433 -0
  1423. package/src/proofs/EmailProofDelivery.ts +19 -0
  1424. package/src/proofs/HostIngressLimiter.ts +20 -0
  1425. package/src/proofs/ProofPersistence.ts +172 -0
  1426. package/src/proofs/SmsProofDelivery.ts +19 -0
  1427. package/src/proofs/abuse.ts +23 -0
  1428. package/src/proofs/completion.ts +23 -0
  1429. package/src/proofs/crypto.ts +326 -0
  1430. package/src/proofs/definition.ts +39 -0
  1431. package/src/proofs/delivery.ts +73 -0
  1432. package/src/proofs/dispatch.ts +99 -0
  1433. package/src/proofs/errors.ts +46 -0
  1434. package/src/proofs/models.ts +131 -0
  1435. package/src/proofs/module.ts +620 -0
  1436. package/src/proofs/policy.ts +77 -0
  1437. package/src/sessions/AuthenticationAuthority.ts +51 -0
  1438. package/src/sessions/PendingAuthentication.ts +121 -0
  1439. package/src/sessions/SessionStepUpPersistence.ts +164 -0
  1440. package/src/sessions/assurance.ts +192 -0
  1441. package/src/sessions/commit.ts +13 -0
  1442. package/src/sessions/configuration.ts +133 -0
  1443. package/src/sessions/contract.ts +203 -0
  1444. package/src/sessions/crypto.ts +181 -0
  1445. package/src/sessions/definition.ts +25 -0
  1446. package/src/sessions/errors.ts +68 -0
  1447. package/src/sessions/invalidation.ts +46 -0
  1448. package/src/sessions/models.ts +138 -0
  1449. package/src/sessions/module.ts +1991 -0
  1450. package/src/sessions/persistence.ts +135 -0
  1451. package/src/sessions/policy.ts +103 -0
  1452. package/src/testing/conformance/AuthStore.ts +314 -0
  1453. package/src/testing/conformance/OAuthConnectionStore.ts +167 -0
  1454. package/src/testing/conformance/OAuthStateStore.ts +105 -0
  1455. package/src/testing/conformance/PasswordCredentialStore.ts +205 -0
  1456. package/src/testing/conformance/support.ts +38 -0
  1457. package/src/testing/crypto.ts +55 -0
  1458. package/src/testing/keyring.ts +17 -0
  1459. package/src/totp/TotpActionEvidence.ts +18 -0
  1460. package/src/totp/TotpPersistence.ts +26 -0
  1461. package/src/totp/TotpSecretKeys.ts +15 -0
  1462. package/src/totp/crypto.ts +160 -0
  1463. package/src/totp/definition.ts +78 -0
  1464. package/src/totp/errors.ts +25 -0
  1465. package/src/totp/models.ts +164 -0
  1466. package/src/totp/module.ts +717 -0
@@ -0,0 +1,76 @@
1
+ import { PasswordHash, timingSafeStringEqual } from "./Schema.mjs";
2
+ import { SubtleCrypto } from "./WebCrypto.mjs";
3
+ import { AuthTokenError } from "./Errors.mjs";
4
+ import { AuthPolicy } from "./Policy.mjs";
5
+ import { Context, Crypto, Effect, Encoding, Layer, Redacted, Result, Schema } from "effect";
6
+ //#region src/PasswordHasher.ts
7
+ const passwordHashAlgorithm = "pbkdf2-sha256";
8
+ const saltLength = 16;
9
+ const derivedKeyBits = 256;
10
+ const textEncoder = new TextEncoder();
11
+ const passwordHashFromString = Schema.decodeEffect(PasswordHash);
12
+ const parsePasswordHash = (hash) => {
13
+ const [algorithm, iterationsPart, saltPart, digestPart, ...rest] = hash.split("$");
14
+ if (algorithm !== passwordHashAlgorithm || iterationsPart === void 0 || saltPart === void 0 || digestPart === void 0 || digestPart === "" || rest.length > 0 || !/^[1-9]\d{0,8}$/.test(iterationsPart)) return;
15
+ const salt = Result.getOrUndefined(Encoding.decodeBase64Url(saltPart));
16
+ if (salt === void 0 || salt.length === 0) return;
17
+ return {
18
+ iterations: Number(iterationsPart),
19
+ salt,
20
+ digest: digestPart
21
+ };
22
+ };
23
+ /**
24
+ * Default PBKDF2-HMAC-SHA-256 hasher on WebCrypto. Iterations come from
25
+ * `AuthPolicy`; salts come from `Crypto.Crypto` so tests can seed them, and
26
+ * key derivation goes through the `SubtleCrypto` service.
27
+ */
28
+ const makeWebCryptoHasher = Effect.gen(function* () {
29
+ const policy = yield* AuthPolicy;
30
+ const crypto = yield* Crypto.Crypto;
31
+ const subtle = yield* SubtleCrypto;
32
+ const derive = (password, salt, iterations) => Effect.tryPromise({
33
+ try: async () => {
34
+ const key = await subtle.importKey("raw", textEncoder.encode(Redacted.value(password)), "PBKDF2", false, ["deriveBits"]);
35
+ const bits = await subtle.deriveBits({
36
+ name: "PBKDF2",
37
+ hash: "SHA-256",
38
+ salt,
39
+ iterations
40
+ }, key, derivedKeyBits);
41
+ return new Uint8Array(bits);
42
+ },
43
+ catch: () => AuthTokenError.make({ message: "Password key derivation failed" })
44
+ });
45
+ return PasswordHasher.of({
46
+ hash: Effect.fn("PasswordHasher.hash")(function* (password) {
47
+ const salt = yield* crypto.randomBytes(saltLength).pipe(Effect.mapError(() => AuthTokenError.make({ message: "Secure randomness unavailable" })));
48
+ const derived = yield* derive(password, salt, policy.passwordIterations);
49
+ const encoded = `${passwordHashAlgorithm}$${policy.passwordIterations}$${Encoding.encodeBase64Url(salt)}$${Encoding.encodeBase64Url(derived)}`;
50
+ return yield* passwordHashFromString(encoded).pipe(Effect.mapError(() => AuthTokenError.make({ message: "Password hash failed to encode" })));
51
+ }),
52
+ verify: Effect.fn("PasswordHasher.verify")(function* (password, hash) {
53
+ const params = parsePasswordHash(hash);
54
+ if (params === void 0) return false;
55
+ const derived = yield* derive(password, params.salt, params.iterations);
56
+ return timingSafeStringEqual(Encoding.encodeBase64Url(derived), params.digest);
57
+ })
58
+ });
59
+ });
60
+ /**
61
+ * One-way password hashing and verification. The PHC-style `PasswordHash`
62
+ * format is this service's private concern; stores persist it opaquely.
63
+ */
64
+ var PasswordHasher = class PasswordHasher extends Context.Service()("effect-auth/PasswordHasher") {
65
+ /**
66
+ * Default PBKDF2 implementation backed by WebCrypto. The consumer may
67
+ * replace it with its own hasher service, or satisfy `SubtleCrypto` with
68
+ * `SubtleCrypto.layerWeb`.
69
+ */
70
+ static layerWebCrypto = Layer.effect(PasswordHasher)(makeWebCryptoHasher);
71
+ static layer = PasswordHasher.layerWebCrypto;
72
+ };
73
+ //#endregion
74
+ export { PasswordHasher };
75
+
76
+ //# sourceMappingURL=PasswordHasher.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordHasher.mjs","names":[],"sources":["../src/PasswordHasher.ts"],"sourcesContent":["import { Context, Crypto, Effect, Encoding, Layer, Redacted, Result, Schema } from \"effect\";\n\nimport { AuthTokenError } from \"./Errors\";\nimport { AuthPolicy } from \"./Policy\";\nimport { PasswordHash, timingSafeStringEqual } from \"./Schema\";\nimport { SubtleCrypto } from \"./WebCrypto\";\n\nconst passwordHashAlgorithm = \"pbkdf2-sha256\";\nconst saltLength = 16;\nconst derivedKeyBits = 256;\nconst textEncoder = new TextEncoder();\n\nconst passwordHashFromString = Schema.decodeEffect(PasswordHash);\n\ninterface PasswordHashParams {\n readonly iterations: number;\n readonly salt: Uint8Array;\n readonly digest: string;\n}\n\n// Verification derives with the parameters recorded on the stored hash, not\n// the current policy, so old hashes keep verifying after a policy change.\nconst parsePasswordHash = (hash: string): PasswordHashParams | undefined => {\n const [algorithm, iterationsPart, saltPart, digestPart, ...rest] = hash.split(\"$\");\n\n if (\n algorithm !== passwordHashAlgorithm ||\n iterationsPart === undefined ||\n saltPart === undefined ||\n digestPart === undefined ||\n digestPart === \"\" ||\n rest.length > 0 ||\n !/^[1-9]\\d{0,8}$/.test(iterationsPart)\n ) {\n return undefined;\n }\n const salt = Result.getOrUndefined(Encoding.decodeBase64Url(saltPart));\n\n if (salt === undefined || salt.length === 0) {\n return undefined;\n }\n\n return { iterations: Number(iterationsPart), salt, digest: digestPart };\n};\n\n/**\n * Default PBKDF2-HMAC-SHA-256 hasher on WebCrypto. Iterations come from\n * `AuthPolicy`; salts come from `Crypto.Crypto` so tests can seed them, and\n * key derivation goes through the `SubtleCrypto` service.\n */\nconst makeWebCryptoHasher: Effect.Effect<\n PasswordHasher[\"Service\"],\n never,\n Crypto.Crypto | SubtleCrypto\n> = Effect.gen(function* () {\n const policy = yield* AuthPolicy;\n const crypto = yield* Crypto.Crypto;\n const subtle = yield* SubtleCrypto;\n\n const derive = (password: Redacted.Redacted<string>, salt: Uint8Array, iterations: number) =>\n Effect.tryPromise({\n try: async () => {\n const key = await subtle.importKey(\n \"raw\",\n textEncoder.encode(Redacted.value(password)),\n \"PBKDF2\",\n false,\n [\"deriveBits\"],\n );\n\n const bits = await subtle.deriveBits(\n { name: \"PBKDF2\", hash: \"SHA-256\", salt: salt as BufferSource, iterations },\n key,\n derivedKeyBits,\n );\n\n return new Uint8Array(bits);\n },\n catch: () => AuthTokenError.make({ message: \"Password key derivation failed\" }),\n });\n\n return PasswordHasher.of({\n hash: Effect.fn(\"PasswordHasher.hash\")(function* (password) {\n const salt = yield* crypto\n .randomBytes(saltLength)\n .pipe(\n Effect.mapError(() => AuthTokenError.make({ message: \"Secure randomness unavailable\" })),\n );\n\n const derived = yield* derive(password, salt, policy.passwordIterations);\n\n const encoded =\n `${passwordHashAlgorithm}$${policy.passwordIterations}` +\n `$${Encoding.encodeBase64Url(salt)}$${Encoding.encodeBase64Url(derived)}`;\n\n return yield* passwordHashFromString(encoded).pipe(\n Effect.mapError(() => AuthTokenError.make({ message: \"Password hash failed to encode\" })),\n );\n }),\n\n verify: Effect.fn(\"PasswordHasher.verify\")(function* (password, hash) {\n const params = parsePasswordHash(hash);\n\n // A malformed stored hash degrades to a plain mismatch, never a\n // distinguishable auth response.\n if (params === undefined) {\n return false;\n }\n const derived = yield* derive(password, params.salt, params.iterations);\n\n return timingSafeStringEqual(Encoding.encodeBase64Url(derived), params.digest);\n }),\n });\n});\n\n/**\n * One-way password hashing and verification. The PHC-style `PasswordHash`\n * format is this service's private concern; stores persist it opaquely.\n */\nexport class PasswordHasher extends Context.Service<\n PasswordHasher,\n {\n /** Derives a fresh salted hash for the password at the configured cost. */\n readonly hash: (\n password: Redacted.Redacted<string>,\n ) => Effect.Effect<PasswordHash, AuthTokenError>;\n /**\n * Verifies the password against a stored hash using the parameters\n * recorded on the hash, comparing digests in constant time. A malformed\n * hash yields `false`, never a distinguishable failure.\n */\n readonly verify: (\n password: Redacted.Redacted<string>,\n hash: PasswordHash,\n ) => Effect.Effect<boolean, AuthTokenError>;\n }\n>()(\"effect-auth/PasswordHasher\") {\n /**\n * Default PBKDF2 implementation backed by WebCrypto. The consumer may\n * replace it with its own hasher service, or satisfy `SubtleCrypto` with\n * `SubtleCrypto.layerWeb`.\n */\n static readonly layerWebCrypto: Layer.Layer<PasswordHasher, never, Crypto.Crypto | SubtleCrypto> =\n Layer.effect(PasswordHasher)(makeWebCryptoHasher);\n\n static readonly layer = PasswordHasher.layerWebCrypto;\n}\n"],"mappings":";;;;;;AAOA,MAAM,wBAAwB;AAC9B,MAAM,aAAa;AACnB,MAAM,iBAAiB;AACvB,MAAM,cAAc,IAAI,YAAY;AAEpC,MAAM,yBAAyB,OAAO,aAAa,YAAY;AAU/D,MAAM,qBAAqB,SAAiD;CAC1E,MAAM,CAAC,WAAW,gBAAgB,UAAU,YAAY,GAAG,QAAQ,KAAK,MAAM,GAAG;CAEjF,IACE,cAAc,yBACd,mBAAmB,KAAA,KACnB,aAAa,KAAA,KACb,eAAe,KAAA,KACf,eAAe,MACf,KAAK,SAAS,KACd,CAAC,iBAAiB,KAAK,cAAc,GAErC;CAEF,MAAM,OAAO,OAAO,eAAe,SAAS,gBAAgB,QAAQ,CAAC;CAErE,IAAI,SAAS,KAAA,KAAa,KAAK,WAAW,GACxC;CAGF,OAAO;EAAE,YAAY,OAAO,cAAc;EAAG;EAAM,QAAQ;CAAW;AACxE;;;;;;AAOA,MAAM,sBAIF,OAAO,IAAI,aAAa;CAC1B,MAAM,SAAS,OAAO;CACtB,MAAM,SAAS,OAAO,OAAO;CAC7B,MAAM,SAAS,OAAO;CAEtB,MAAM,UAAU,UAAqC,MAAkB,eACrE,OAAO,WAAW;EAChB,KAAK,YAAY;GACf,MAAM,MAAM,MAAM,OAAO,UACvB,OACA,YAAY,OAAO,SAAS,MAAM,QAAQ,CAAC,GAC3C,UACA,OACA,CAAC,YAAY,CACf;GAEA,MAAM,OAAO,MAAM,OAAO,WACxB;IAAE,MAAM;IAAU,MAAM;IAAiB;IAAsB;GAAW,GAC1E,KACA,cACF;GAEA,OAAO,IAAI,WAAW,IAAI;EAC5B;EACA,aAAa,eAAe,KAAK,EAAE,SAAS,iCAAiC,CAAC;CAChF,CAAC;CAEH,OAAO,eAAe,GAAG;EACvB,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,WAAW,UAAU;GAC1D,MAAM,OAAO,OAAO,OACjB,YAAY,UAAU,CAAC,CACvB,KACC,OAAO,eAAe,eAAe,KAAK,EAAE,SAAS,gCAAgC,CAAC,CAAC,CACzF;GAEF,MAAM,UAAU,OAAO,OAAO,UAAU,MAAM,OAAO,kBAAkB;GAEvE,MAAM,UACJ,GAAG,sBAAsB,GAAG,OAAO,mBAAA,GAC/B,SAAS,gBAAgB,IAAI,EAAE,GAAG,SAAS,gBAAgB,OAAO;GAExE,OAAO,OAAO,uBAAuB,OAAO,CAAC,CAAC,KAC5C,OAAO,eAAe,eAAe,KAAK,EAAE,SAAS,iCAAiC,CAAC,CAAC,CAC1F;EACF,CAAC;EAED,QAAQ,OAAO,GAAG,uBAAuB,CAAC,CAAC,WAAW,UAAU,MAAM;GACpE,MAAM,SAAS,kBAAkB,IAAI;GAIrC,IAAI,WAAW,KAAA,GACb,OAAO;GAET,MAAM,UAAU,OAAO,OAAO,UAAU,OAAO,MAAM,OAAO,UAAU;GAEtE,OAAO,sBAAsB,SAAS,gBAAgB,OAAO,GAAG,OAAO,MAAM;EAC/E,CAAC;CACH,CAAC;AACH,CAAC;;;;;AAMD,IAAa,iBAAb,MAAa,uBAAuB,QAAQ,QAiB1C,CAAC,CAAC,4BAA4B,CAAC,CAAC;;;;;;CAMhC,OAAgB,iBACd,MAAM,OAAO,cAAc,CAAC,CAAC,mBAAmB;CAElD,OAAgB,QAAQ,eAAe;AACzC"}
@@ -0,0 +1,11 @@
1
+ import { PhoneCredentialSnapshot, PhoneNumber, PhoneOtpComplete, PhoneOtpRejected, PhoneOtpUnavailable } from "./phone/models.mjs";
2
+ import { PhoneActionAuthorization, PhoneActionChallenge, PhoneActionRequired, PhoneAdmissionPolicy, PhoneCommandId, PhoneConfigurationError, PhoneCustody, PhoneLifecycleAction, PhoneLifecycleFailure, PhoneLifecyclePolicy, PhoneLifecycleTarget, PhoneMutationDecision } from "./phone/lifecycleModels.mjs";
3
+ import { PhoneAdmission } from "./phone/PhoneAdmission.mjs";
4
+ import { PhoneMutation, PhonePersistence } from "./phone/PhonePersistence.mjs";
5
+ import { PhoneSignInTargets } from "./phone/PhoneSignInTargets.mjs";
6
+ import { PhoneActionEvidence } from "./phone/PhoneActionEvidence.mjs";
7
+ import { PhoneDeliveryEligibility } from "./phone/PhoneDeliveryEligibility.mjs";
8
+ import { PhoneRequestContext } from "./phone/PhoneRequestContext.mjs";
9
+ import { makePhoneOtp } from "./phone/module.mjs";
10
+ import { PhoneOtpOptions, make } from "./phone/definition.mjs";
11
+ export { PhoneActionAuthorization, PhoneActionChallenge, PhoneActionEvidence, PhoneActionRequired, PhoneAdmission, PhoneAdmissionPolicy, PhoneCommandId, PhoneConfigurationError, PhoneCredentialSnapshot, PhoneCustody, PhoneDeliveryEligibility, PhoneLifecycleAction, PhoneLifecycleFailure, PhoneLifecyclePolicy, PhoneLifecycleTarget, type PhoneMutation, PhoneMutationDecision, PhoneNumber, PhoneOtpComplete, type PhoneOtpOptions, PhoneOtpRejected, PhoneOtpUnavailable, PhonePersistence, PhoneRequestContext, PhoneSignInTargets, make, makePhoneOtp as makeModule };
@@ -0,0 +1,11 @@
1
+ import { PhoneAdmission } from "./phone/PhoneAdmission.mjs";
2
+ import { PhonePersistence } from "./phone/PhonePersistence.mjs";
3
+ import { PhoneSignInTargets } from "./phone/PhoneSignInTargets.mjs";
4
+ import { PhoneCredentialSnapshot, PhoneNumber, PhoneOtpComplete, PhoneOtpRejected, PhoneOtpUnavailable } from "./phone/models.mjs";
5
+ import { PhoneActionAuthorization, PhoneActionChallenge, PhoneActionRequired, PhoneAdmissionPolicy, PhoneCommandId, PhoneConfigurationError, PhoneCustody, PhoneLifecycleAction, PhoneLifecycleFailure, PhoneLifecyclePolicy, PhoneLifecycleTarget, PhoneMutationDecision } from "./phone/lifecycleModels.mjs";
6
+ import { PhoneActionEvidence } from "./phone/PhoneActionEvidence.mjs";
7
+ import { PhoneDeliveryEligibility } from "./phone/PhoneDeliveryEligibility.mjs";
8
+ import { PhoneRequestContext } from "./phone/PhoneRequestContext.mjs";
9
+ import { makePhoneOtp } from "./phone/module.mjs";
10
+ import { make } from "./phone/definition.mjs";
11
+ export { PhoneActionAuthorization, PhoneActionChallenge, PhoneActionEvidence, PhoneActionRequired, PhoneAdmission, PhoneAdmissionPolicy, PhoneCommandId, PhoneConfigurationError, PhoneCredentialSnapshot, PhoneCustody, PhoneDeliveryEligibility, PhoneLifecycleAction, PhoneLifecycleFailure, PhoneLifecyclePolicy, PhoneLifecycleTarget, PhoneMutationDecision, PhoneNumber, PhoneOtpComplete, PhoneOtpRejected, PhoneOtpUnavailable, PhonePersistence, PhoneRequestContext, PhoneSignInTargets, make, makePhoneOtp as makeModule };
@@ -0,0 +1,52 @@
1
+ import { SessionClaims } from "./Schema.mjs";
2
+ import { InvalidSession } from "./Errors.mjs";
3
+ import { Context, Duration, Effect, Layer } from "effect";
4
+ //#region src/Policy.d.ts
5
+ interface AuthPolicyShape {
6
+ /** OTP challenge lifetime. */
7
+ readonly otpLifetime: Duration.Duration;
8
+ /** Number of decimal digits in the OTP code. */
9
+ readonly otpLength: number;
10
+ /** Rolling wrong-code budget per email and purpose. */
11
+ readonly attemptLimit: number;
12
+ /** Minimum delay between challenge issuances for the same email and purpose. */
13
+ readonly resendCooldown: Duration.Duration;
14
+ /** Pending-registration lifetime. */
15
+ readonly registrationLifetime: Duration.Duration;
16
+ /** Lifetime of each issued session token. */
17
+ readonly sessionLifetime: Duration.Duration;
18
+ /** Minimum token age before authenticated HTTP activity may renew it. */
19
+ readonly sessionRenewalInterval: Duration.Duration;
20
+ /** `iss` claim issued and required on session tokens. */
21
+ readonly issuer: string;
22
+ /** `aud` claim issued and required on session tokens. */
23
+ readonly audience: string;
24
+ /** Incrementing this invalidates every previously issued session. */
25
+ readonly sessionGeneration: number;
26
+ /** Minimum accepted password length. */
27
+ readonly passwordMinLength: number;
28
+ /** Maximum accepted password length; bounds the PBKDF2 work per attempt. */
29
+ readonly passwordMaxLength: number;
30
+ /** PBKDF2-HMAC-SHA-256 iteration count for newly hashed passwords. */
31
+ readonly passwordIterations: number;
32
+ /** Consecutive failed password sign-ins before the credential locks. */
33
+ readonly passwordAttemptLimit: number;
34
+ /** How long a locked credential rejects sign-in attempts. */
35
+ readonly passwordLockDuration: Duration.Duration;
36
+ }
37
+ declare const defaultAuthPolicy: AuthPolicyShape;
38
+ declare const AuthPolicy: Context.Reference<AuthPolicyShape>;
39
+ /** The signed-claim subset that remains meaningful after token verification. */
40
+ interface SessionClaimsPolicy {
41
+ readonly issuer: string;
42
+ readonly audience: string;
43
+ readonly sessionGeneration: number;
44
+ readonly allowedSigningKeyIds: ReadonlySet<string>;
45
+ }
46
+ /** Revalidates a previously verified claim set at each later trust boundary. */
47
+ declare const revalidateSessionClaims: (claims: SessionClaims, policy: SessionClaimsPolicy) => Effect.Effect<SessionClaims, InvalidSession, never>;
48
+ /** Builds an auth policy layer by overriding the secure library defaults. */
49
+ declare const layerAuthPolicy: (overrides?: Partial<AuthPolicyShape>) => Layer.Layer<never, never, never>;
50
+ //#endregion
51
+ export { AuthPolicy, AuthPolicyShape, SessionClaimsPolicy, defaultAuthPolicy, layerAuthPolicy, revalidateSessionClaims };
52
+ //# sourceMappingURL=Policy.d.mts.map
@@ -0,0 +1,36 @@
1
+ import { InvalidSession } from "./Errors.mjs";
2
+ import { Context, DateTime, Duration, Effect, Layer } from "effect";
3
+ //#region src/Policy.ts
4
+ const defaultAuthPolicy = {
5
+ otpLifetime: Duration.minutes(10),
6
+ otpLength: 6,
7
+ attemptLimit: 3,
8
+ resendCooldown: Duration.seconds(30),
9
+ registrationLifetime: Duration.minutes(15),
10
+ sessionLifetime: Duration.days(7),
11
+ sessionRenewalInterval: Duration.days(1),
12
+ issuer: "effect-auth",
13
+ audience: "effect-auth",
14
+ sessionGeneration: 0,
15
+ passwordMinLength: 8,
16
+ passwordMaxLength: 256,
17
+ passwordIterations: 6e5,
18
+ passwordAttemptLimit: 10,
19
+ passwordLockDuration: Duration.minutes(15)
20
+ };
21
+ const AuthPolicy = Context.Reference("effect-auth/AuthPolicy", { defaultValue: () => defaultAuthPolicy });
22
+ /** Revalidates a previously verified claim set at each later trust boundary. */
23
+ const revalidateSessionClaims = Effect.fn("AuthSession.revalidateClaims")(function* (claims, policy) {
24
+ const now = yield* DateTime.now;
25
+ if (DateTime.toEpochMillis(now) >= DateTime.toEpochMillis(claims.exp) || claims.gen !== policy.sessionGeneration || claims.iss !== policy.issuer || claims.aud !== policy.audience || !policy.allowedSigningKeyIds.has(claims.kid)) return yield* InvalidSession.make();
26
+ return claims;
27
+ });
28
+ /** Builds an auth policy layer by overriding the secure library defaults. */
29
+ const layerAuthPolicy = (overrides = {}) => Layer.succeed(AuthPolicy)({
30
+ ...defaultAuthPolicy,
31
+ ...overrides
32
+ });
33
+ //#endregion
34
+ export { AuthPolicy, defaultAuthPolicy, layerAuthPolicy, revalidateSessionClaims };
35
+
36
+ //# sourceMappingURL=Policy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Policy.mjs","names":[],"sources":["../src/Policy.ts"],"sourcesContent":["import { Context, DateTime, Duration, Effect, Layer } from \"effect\";\n\nimport { InvalidSession } from \"./Errors\";\nimport type { SessionClaims } from \"./Schema\";\n\nexport interface AuthPolicyShape {\n /** OTP challenge lifetime. */\n readonly otpLifetime: Duration.Duration;\n /** Number of decimal digits in the OTP code. */\n readonly otpLength: number;\n /** Rolling wrong-code budget per email and purpose. */\n readonly attemptLimit: number;\n /** Minimum delay between challenge issuances for the same email and purpose. */\n readonly resendCooldown: Duration.Duration;\n /** Pending-registration lifetime. */\n readonly registrationLifetime: Duration.Duration;\n /** Lifetime of each issued session token. */\n readonly sessionLifetime: Duration.Duration;\n /** Minimum token age before authenticated HTTP activity may renew it. */\n readonly sessionRenewalInterval: Duration.Duration;\n /** `iss` claim issued and required on session tokens. */\n readonly issuer: string;\n /** `aud` claim issued and required on session tokens. */\n readonly audience: string;\n /** Incrementing this invalidates every previously issued session. */\n readonly sessionGeneration: number;\n /** Minimum accepted password length. */\n readonly passwordMinLength: number;\n /** Maximum accepted password length; bounds the PBKDF2 work per attempt. */\n readonly passwordMaxLength: number;\n /** PBKDF2-HMAC-SHA-256 iteration count for newly hashed passwords. */\n readonly passwordIterations: number;\n /** Consecutive failed password sign-ins before the credential locks. */\n readonly passwordAttemptLimit: number;\n /** How long a locked credential rejects sign-in attempts. */\n readonly passwordLockDuration: Duration.Duration;\n}\n\n// Numbers match the sign-in design spec (Auth — Sign in, section 8c): a\n// six-digit code valid ten minutes, resend unlocked after thirty seconds,\n// three wrong attempts before the code is invalidated. The password iteration\n// count follows the OWASP 2023+ recommendation for PBKDF2-HMAC-SHA-256.\nexport const defaultAuthPolicy: AuthPolicyShape = {\n otpLifetime: Duration.minutes(10),\n otpLength: 6,\n attemptLimit: 3,\n resendCooldown: Duration.seconds(30),\n registrationLifetime: Duration.minutes(15),\n sessionLifetime: Duration.days(7),\n sessionRenewalInterval: Duration.days(1),\n issuer: \"effect-auth\",\n audience: \"effect-auth\",\n sessionGeneration: 0,\n passwordMinLength: 8,\n passwordMaxLength: 256,\n passwordIterations: 600_000,\n passwordAttemptLimit: 10,\n passwordLockDuration: Duration.minutes(15),\n};\n\nexport const AuthPolicy = Context.Reference<AuthPolicyShape>(\"effect-auth/AuthPolicy\", {\n defaultValue: () => defaultAuthPolicy,\n});\n\n/** The signed-claim subset that remains meaningful after token verification. */\nexport interface SessionClaimsPolicy {\n readonly issuer: string;\n readonly audience: string;\n readonly sessionGeneration: number;\n readonly allowedSigningKeyIds: ReadonlySet<string>;\n}\n\n/** Revalidates a previously verified claim set at each later trust boundary. */\nexport const revalidateSessionClaims = Effect.fn(\"AuthSession.revalidateClaims\")(function* (\n claims: SessionClaims,\n policy: SessionClaimsPolicy,\n) {\n const now = yield* DateTime.now;\n\n if (\n DateTime.toEpochMillis(now) >= DateTime.toEpochMillis(claims.exp) ||\n claims.gen !== policy.sessionGeneration ||\n claims.iss !== policy.issuer ||\n claims.aud !== policy.audience ||\n !policy.allowedSigningKeyIds.has(claims.kid)\n ) {\n return yield* InvalidSession.make();\n }\n\n return claims;\n});\n\n/** Builds an auth policy layer by overriding the secure library defaults. */\nexport const layerAuthPolicy = (overrides: Partial<AuthPolicyShape> = {}) =>\n Layer.succeed(AuthPolicy)({ ...defaultAuthPolicy, ...overrides });\n"],"mappings":";;;AA0CA,MAAa,oBAAqC;CAChD,aAAa,SAAS,QAAQ,EAAE;CAChC,WAAW;CACX,cAAc;CACd,gBAAgB,SAAS,QAAQ,EAAE;CACnC,sBAAsB,SAAS,QAAQ,EAAE;CACzC,iBAAiB,SAAS,KAAK,CAAC;CAChC,wBAAwB,SAAS,KAAK,CAAC;CACvC,QAAQ;CACR,UAAU;CACV,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB,oBAAoB;CACpB,sBAAsB;CACtB,sBAAsB,SAAS,QAAQ,EAAE;AAC3C;AAEA,MAAa,aAAa,QAAQ,UAA2B,0BAA0B,EACrF,oBAAoB,kBACtB,CAAC;;AAWD,MAAa,0BAA0B,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAC/E,QACA,QACA;CACA,MAAM,MAAM,OAAO,SAAS;CAE5B,IACE,SAAS,cAAc,GAAG,KAAK,SAAS,cAAc,OAAO,GAAG,KAChE,OAAO,QAAQ,OAAO,qBACtB,OAAO,QAAQ,OAAO,UACtB,OAAO,QAAQ,OAAO,YACtB,CAAC,OAAO,qBAAqB,IAAI,OAAO,GAAG,GAE3C,OAAO,OAAO,eAAe,KAAK;CAGpC,OAAO;AACT,CAAC;;AAGD,MAAa,mBAAmB,YAAsC,CAAC,MACrE,MAAM,QAAQ,UAAU,CAAC,CAAC;CAAE,GAAG;CAAmB,GAAG;AAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { IdentifierChangeProofBinding, IdentifierProofBinding, ProofAttemptDecision, ProofBinding, ProofCleanupResult, ProofCompletionDecision, ProofContinuation, ProofContinuationId, ProofDeliveryId, ProofDeliveryOutcome, ProofDeliveryStatus, ProofId, ProofInstant, ProofPurpose, ProofReference, ProofRequestId, ProofRequestReceipt, ProofVersion, SubjectProofBinding } from "./proofs/models.mjs";
2
+ import { ProofCapabilityUnsupported, ProofConfigurationError, ProofError, ProofIngressDenied, ProofInvalid, ProofRequestConflict, ProofUnavailable } from "./proofs/errors.mjs";
3
+ import { ProofDelivery, ProofDeliveryMessage, ProofVendorPolicy } from "./proofs/delivery.mjs";
4
+ import { EmailProofDelivery } from "./proofs/EmailProofDelivery.mjs";
5
+ import { HostIngressLimiter } from "./proofs/HostIngressLimiter.mjs";
6
+ import { ProofAbusePolicy, ProofBudget, ProofPolicy, validateProofPolicy } from "./proofs/policy.mjs";
7
+ import { PrepareProofCommit, ProofCompletionInput, ProofDeliveryClaim, ProofDigest, ProofIssueDecision, ProofPersistence, ProofRecord } from "./proofs/ProofPersistence.mjs";
8
+ import { PreparedProofDispatch, ProofIssuePlan, readProofCommit } from "./proofs/dispatch.mjs";
9
+ import { ProofAbuseScope, proofAbuseScope } from "./proofs/abuse.mjs";
10
+ import { ProofCompletionPlan } from "./proofs/completion.mjs";
11
+ import { ProofKeyring, ProofSecretPolicy, makeProofCrypto, validateProofBinding } from "./proofs/crypto.mjs";
12
+ import { SmsProofDelivery } from "./proofs/SmsProofDelivery.mjs";
13
+ import { make } from "./proofs/definition.mjs";
14
+ export { EmailProofDelivery, HostIngressLimiter, IdentifierChangeProofBinding, IdentifierProofBinding, type PrepareProofCommit, type PreparedProofDispatch, ProofAbusePolicy, type ProofAbuseScope, ProofAttemptDecision, ProofBinding, ProofBudget, ProofCapabilityUnsupported, ProofCleanupResult, ProofCompletionDecision, type ProofCompletionInput, type ProofCompletionPlan, ProofConfigurationError, ProofContinuation, ProofContinuationId, type ProofDelivery, type ProofDeliveryClaim, ProofDeliveryId, type ProofDeliveryMessage, ProofDeliveryOutcome, ProofDeliveryStatus, type ProofDigest, ProofError, ProofId, ProofIngressDenied, ProofInstant, ProofInvalid, type ProofIssueDecision, type ProofIssuePlan, type ProofKeyring, ProofPersistence, ProofPolicy, ProofPurpose, type ProofRecord, ProofReference, ProofRequestConflict, ProofRequestId, ProofRequestReceipt, ProofSecretPolicy, ProofUnavailable, ProofVendorPolicy, ProofVersion, SmsProofDelivery, SubjectProofBinding, make, makeProofCrypto, proofAbuseScope, readProofCommit, validateProofBinding, validateProofPolicy };
@@ -0,0 +1,13 @@
1
+ import { ProofCapabilityUnsupported, ProofConfigurationError, ProofError, ProofIngressDenied, ProofInvalid, ProofRequestConflict, ProofUnavailable } from "./proofs/errors.mjs";
2
+ import { IdentifierChangeProofBinding, IdentifierProofBinding, ProofAttemptDecision, ProofBinding, ProofCleanupResult, ProofCompletionDecision, ProofContinuation, ProofContinuationId, ProofDeliveryId, ProofDeliveryOutcome, ProofDeliveryStatus, ProofId, ProofInstant, ProofPurpose, ProofReference, ProofRequestId, ProofRequestReceipt, ProofVersion, SubjectProofBinding } from "./proofs/models.mjs";
3
+ import { ProofPersistence } from "./proofs/ProofPersistence.mjs";
4
+ import { ProofVendorPolicy } from "./proofs/delivery.mjs";
5
+ import { EmailProofDelivery } from "./proofs/EmailProofDelivery.mjs";
6
+ import { HostIngressLimiter } from "./proofs/HostIngressLimiter.mjs";
7
+ import { readProofCommit } from "./proofs/dispatch.mjs";
8
+ import { ProofAbusePolicy, ProofBudget, ProofPolicy, validateProofPolicy } from "./proofs/policy.mjs";
9
+ import { proofAbuseScope } from "./proofs/abuse.mjs";
10
+ import { ProofSecretPolicy, makeProofCrypto, validateProofBinding } from "./proofs/crypto.mjs";
11
+ import { SmsProofDelivery } from "./proofs/SmsProofDelivery.mjs";
12
+ import { make } from "./proofs/definition.mjs";
13
+ export { EmailProofDelivery, HostIngressLimiter, IdentifierChangeProofBinding, IdentifierProofBinding, ProofAbusePolicy, ProofAttemptDecision, ProofBinding, ProofBudget, ProofCapabilityUnsupported, ProofCleanupResult, ProofCompletionDecision, ProofConfigurationError, ProofContinuation, ProofContinuationId, ProofDeliveryId, ProofDeliveryOutcome, ProofDeliveryStatus, ProofError, ProofId, ProofIngressDenied, ProofInstant, ProofInvalid, ProofPersistence, ProofPolicy, ProofPurpose, ProofReference, ProofRequestConflict, ProofRequestId, ProofRequestReceipt, ProofSecretPolicy, ProofUnavailable, ProofVendorPolicy, ProofVersion, SmsProofDelivery, SubjectProofBinding, make, makeProofCrypto, proofAbuseScope, readProofCommit, validateProofBinding, validateProofPolicy };
package/dist/Rpc.d.mts ADDED
@@ -0,0 +1,12 @@
1
+ import { AuthUnavailable, Unauthorized } from "./Errors.mjs";
2
+ import { CurrentSession } from "./internal/CurrentSession.mjs";
3
+ import { Schema } from "effect";
4
+ import { RpcMiddleware } from "effect/unstable/rpc";
5
+ //#region src/Rpc.d.ts
6
+ declare const SessionRpcError: Schema.Union<readonly [typeof Unauthorized, typeof AuthUnavailable]>;
7
+ declare const SessionRpcMiddleware_base: RpcMiddleware.ServiceClass<SessionRpcMiddleware, "effect-auth/SessionRpcMiddleware", CurrentSession, Schema.Union<readonly [typeof Unauthorized, typeof AuthUnavailable]>, never, never, false>;
8
+ /** Transport-neutral authenticated session contract for finite RPC calls. */
9
+ declare class SessionRpcMiddleware extends SessionRpcMiddleware_base {}
10
+ //#endregion
11
+ export { SessionRpcError, SessionRpcMiddleware };
12
+ //# sourceMappingURL=Rpc.d.mts.map
package/dist/Rpc.mjs ADDED
@@ -0,0 +1,11 @@
1
+ import { AuthUnavailable, Unauthorized } from "./Errors.mjs";
2
+ import { Schema } from "effect";
3
+ import { RpcMiddleware } from "effect/unstable/rpc";
4
+ //#region src/Rpc.ts
5
+ const SessionRpcError = Schema.Union([Unauthorized, AuthUnavailable]);
6
+ /** Transport-neutral authenticated session contract for finite RPC calls. */
7
+ var SessionRpcMiddleware = class extends RpcMiddleware.Service()("effect-auth/SessionRpcMiddleware", { error: SessionRpcError }) {};
8
+ //#endregion
9
+ export { SessionRpcError, SessionRpcMiddleware };
10
+
11
+ //# sourceMappingURL=Rpc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rpc.mjs","names":[],"sources":["../src/Rpc.ts"],"sourcesContent":["import { Schema } from \"effect\";\nimport { RpcMiddleware } from \"effect/unstable/rpc\";\n\nimport { AuthUnavailable, Unauthorized } from \"./Errors\";\nimport type { CurrentSession } from \"./internal/CurrentSession\";\n\nexport const SessionRpcError = Schema.Union([Unauthorized, AuthUnavailable] as const);\n\n/** Transport-neutral authenticated session contract for finite RPC calls. */\nexport class SessionRpcMiddleware extends RpcMiddleware.Service<\n SessionRpcMiddleware,\n { provides: CurrentSession }\n>()(\"effect-auth/SessionRpcMiddleware\", {\n error: SessionRpcError,\n}) {}\n"],"mappings":";;;;AAMA,MAAa,kBAAkB,OAAO,MAAM,CAAC,cAAc,eAAe,CAAU;;AAGpF,IAAa,uBAAb,cAA0C,cAAc,QAGtD,CAAC,CAAC,oCAAoC,EACtC,OAAO,gBACT,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,160 @@
1
+ import { Schema } from "effect";
2
+ //#region src/Schema.d.ts
3
+ declare const ChallengeId: Schema.brand<Schema.String, "effect-auth/ChallengeId">;
4
+ type ChallengeId = typeof ChallengeId.Type;
5
+ declare const RegistrationId: Schema.brand<Schema.String, "effect-auth/RegistrationId">;
6
+ type RegistrationId = typeof RegistrationId.Type;
7
+ declare const SessionTokenId: Schema.brand<Schema.String, "effect-auth/SessionTokenId">;
8
+ type SessionTokenId = typeof SessionTokenId.Type;
9
+ /** Opaque application subject. The consumer maps it to its own account id. */
10
+ declare const SubjectId: Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">;
11
+ type SubjectId = typeof SubjectId.Type;
12
+ declare const KeyId: Schema.brand<Schema.NonEmptyString, "effect-auth/KeyId">;
13
+ type KeyId = typeof KeyId.Type;
14
+ /** Digest of a high-entropy opaque token (challenge/registration). Never the raw token. */
15
+ declare const TokenDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
16
+ type TokenDigest = typeof TokenDigest.Type;
17
+ /** Keyed digest of a low-entropy OTP code. Never the plaintext code. */
18
+ declare const OtpDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/OtpDigest">;
19
+ type OtpDigest = typeof OtpDigest.Type;
20
+ /** Signed session envelope in its transport form. */
21
+ declare const SessionToken: Schema.brand<Schema.NonEmptyString, "effect-auth/SessionToken">;
22
+ type SessionToken = typeof SessionToken.Type;
23
+ /**
24
+ * PHC-style encoded password verifier,
25
+ * `pbkdf2-sha256$<iterations>$<base64url salt>$<base64url dk>`. Never the
26
+ * plaintext password. The format is owned by `PasswordHasher`; everything else
27
+ * treats the value as opaque.
28
+ */
29
+ declare const PasswordHash: Schema.brand<Schema.NonEmptyString, "effect-auth/PasswordHash">;
30
+ type PasswordHash = typeof PasswordHash.Type;
31
+ declare const Email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
32
+ type Email = typeof Email.Type;
33
+ declare const ChallengePurpose: Schema.Literal<"sign-in">;
34
+ type ChallengePurpose = typeof ChallengePurpose.Type;
35
+ declare const RegistrationPurpose: Schema.Literal<"registration">;
36
+ type RegistrationPurpose = typeof RegistrationPurpose.Type;
37
+ declare const VerifiedEmail_base: Schema.Class<VerifiedEmail, Schema.Struct<{
38
+ readonly email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
39
+ readonly purpose: Schema.Literal<"sign-in">;
40
+ }>, {}>;
41
+ declare class VerifiedEmail extends VerifiedEmail_base {}
42
+ declare const NewChallenge_base: Schema.Class<NewChallenge, Schema.Struct<{
43
+ readonly challengeId: Schema.brand<Schema.String, "effect-auth/ChallengeId">;
44
+ readonly tokenDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
45
+ readonly email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
46
+ readonly purpose: Schema.Literal<"sign-in">;
47
+ readonly otpDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/OtpDigest">;
48
+ /** Keyring entry used for the OTP digest, so rotation keeps in-flight challenges valid. */
49
+ readonly otpKeyId: Schema.brand<Schema.NonEmptyString, "effect-auth/KeyId">;
50
+ readonly issuedAt: Schema.DateTimeUtcFromMillis;
51
+ readonly expiresAt: Schema.DateTimeUtcFromMillis;
52
+ readonly attemptLimit: Schema.Natural;
53
+ readonly resendCooldown: Schema.DurationFromMillis;
54
+ }>, {}>;
55
+ declare class NewChallenge extends NewChallenge_base {}
56
+ declare const ConsumeChallenge_base: Schema.Class<ConsumeChallenge, Schema.Struct<{
57
+ readonly tokenDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
58
+ /**
59
+ * Candidate OTP digests keyed by keyring entry. The store compares the
60
+ * candidate matching the key id recorded on the challenge, in constant time.
61
+ */
62
+ readonly otpDigests: Schema.$Record<Schema.brand<Schema.NonEmptyString, "effect-auth/KeyId">, Schema.brand<Schema.NonEmptyString, "effect-auth/OtpDigest">>;
63
+ }>, {}>;
64
+ declare class ConsumeChallenge extends ConsumeChallenge_base {}
65
+ declare const NewRegistration_base: Schema.Class<NewRegistration, Schema.Struct<{
66
+ readonly registrationId: Schema.brand<Schema.String, "effect-auth/RegistrationId">;
67
+ readonly tokenDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
68
+ readonly email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
69
+ readonly purpose: Schema.Literal<"registration">;
70
+ readonly issuedAt: Schema.DateTimeUtcFromMillis;
71
+ readonly expiresAt: Schema.DateTimeUtcFromMillis;
72
+ }>, {}>;
73
+ declare class NewRegistration extends NewRegistration_base {}
74
+ declare const PendingRegistration_base: Schema.Class<PendingRegistration, Schema.Struct<{
75
+ readonly registrationId: Schema.brand<Schema.String, "effect-auth/RegistrationId">;
76
+ readonly email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
77
+ readonly purpose: Schema.Literal<"registration">;
78
+ readonly issuedAt: Schema.DateTimeUtcFromMillis;
79
+ readonly expiresAt: Schema.DateTimeUtcFromMillis;
80
+ }>, {}>;
81
+ declare class PendingRegistration extends PendingRegistration_base {}
82
+ declare const ConsumeRegistration_base: Schema.Class<ConsumeRegistration, Schema.Struct<{
83
+ readonly tokenDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
84
+ }>, {}>;
85
+ declare class ConsumeRegistration extends ConsumeRegistration_base {}
86
+ declare const SessionClaims_base: Schema.Class<SessionClaims, Schema.Struct<{
87
+ /** Envelope format version. */
88
+ readonly ver: Schema.Literal<1>;
89
+ /** Configured session generation; incrementing invalidates all prior sessions. */
90
+ readonly gen: Schema.Natural;
91
+ readonly kid: Schema.brand<Schema.NonEmptyString, "effect-auth/KeyId">;
92
+ readonly sub: Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">;
93
+ /** App-defined claims, opaque to effect-auth. */
94
+ readonly ext: Schema.optionalKey<Schema.Unknown>;
95
+ readonly iss: Schema.NonEmptyString;
96
+ readonly aud: Schema.NonEmptyString;
97
+ readonly iat: Schema.DateTimeUtcFromMillis;
98
+ readonly exp: Schema.DateTimeUtcFromMillis;
99
+ readonly jti: Schema.brand<Schema.String, "effect-auth/SessionTokenId">;
100
+ }>, {}>;
101
+ /**
102
+ * Claims carried by the signed session envelope. `ext` contains app-defined
103
+ * claims and is opaque to effect-auth. The envelope is signed, not encrypted,
104
+ * so applications must treat extension values as client-readable.
105
+ */
106
+ declare class SessionClaims extends SessionClaims_base {}
107
+ declare const SessionSummary_base: Schema.Class<SessionSummary, Schema.Struct<{
108
+ readonly subjectId: Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">;
109
+ readonly expiresAt: Schema.DateTimeUtcFromMillis;
110
+ }>, {}>;
111
+ /** Public, cookie-free view of an issued session. */
112
+ declare class SessionSummary extends SessionSummary_base {}
113
+ declare const PasswordCredential_base: Schema.Class<PasswordCredential, Schema.Struct<{
114
+ readonly subjectId: Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">;
115
+ readonly hash: Schema.brand<Schema.NonEmptyString, "effect-auth/PasswordHash">;
116
+ readonly failedAttempts: Schema.Natural;
117
+ readonly lockedUntil: Schema.Option<Schema.DateTimeUtcFromMillis>;
118
+ }>, {}>;
119
+ /**
120
+ * Long-lived password credential state for one subject. Lives behind
121
+ * `PasswordCredentialStore`, never in `AuthStore` (which is transient-only).
122
+ */
123
+ declare class PasswordCredential extends PasswordCredential_base {}
124
+ declare const EmailOtpMessage_base: Schema.Class<EmailOtpMessage, Schema.Struct<{
125
+ readonly email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
126
+ readonly code: Schema.Redacted<Schema.String>;
127
+ readonly expiresAt: Schema.DateTimeUtcFromMillis;
128
+ }>, {}>;
129
+ declare class EmailOtpMessage extends EmailOtpMessage_base {}
130
+ declare const KeyedDigest_base: Schema.Class<KeyedDigest, Schema.Struct<{
131
+ readonly keyId: Schema.brand<Schema.NonEmptyString, "effect-auth/KeyId">;
132
+ readonly digest: Schema.brand<Schema.NonEmptyString, "effect-auth/OtpDigest">;
133
+ }>, {}>;
134
+ declare class KeyedDigest extends KeyedDigest_base {}
135
+ declare const EmailOtpChallenge_base: Schema.Class<EmailOtpChallenge, Schema.Struct<{
136
+ readonly challengeToken: Schema.Redacted<Schema.String>;
137
+ readonly expiresAt: Schema.DateTimeUtcFromMillis;
138
+ }>, {}>;
139
+ declare class EmailOtpChallenge extends EmailOtpChallenge_base {}
140
+ declare const ExistingSubject_base: Schema.Class<ExistingSubject, Schema.TaggedStruct<"ExistingSubject", {
141
+ readonly subjectId: Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">;
142
+ readonly email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
143
+ }>, {}>;
144
+ declare class ExistingSubject extends ExistingSubject_base {}
145
+ declare const RegistrationRequired_base: Schema.Class<RegistrationRequired, Schema.TaggedStruct<"RegistrationRequired", {
146
+ readonly registrationToken: Schema.Redacted<Schema.String>;
147
+ readonly email: Schema.decodeTo<Schema.brand<Schema.String, "effect-auth/Email">, Schema.String, never, never>;
148
+ readonly expiresAt: Schema.DateTimeUtcFromMillis;
149
+ }>, {}>;
150
+ declare class RegistrationRequired extends RegistrationRequired_base {}
151
+ declare const EmailOtpVerification: Schema.Union<readonly [typeof ExistingSubject, typeof RegistrationRequired]>;
152
+ type EmailOtpVerification = typeof EmailOtpVerification.Type;
153
+ /**
154
+ * Constant-time string comparison for digest values. Scans the full length of
155
+ * both inputs regardless of where they diverge.
156
+ */
157
+ declare const timingSafeStringEqual: (a: string, b: string) => boolean;
158
+ //#endregion
159
+ export { ChallengeId, ChallengePurpose, ConsumeChallenge, ConsumeRegistration, Email, EmailOtpChallenge, EmailOtpMessage, EmailOtpVerification, ExistingSubject, KeyId, KeyedDigest, NewChallenge, NewRegistration, OtpDigest, PasswordCredential, PasswordHash, PendingRegistration, RegistrationId, RegistrationPurpose, RegistrationRequired, SessionClaims, SessionSummary, SessionToken, SessionTokenId, SubjectId, TokenDigest, VerifiedEmail, timingSafeStringEqual };
160
+ //# sourceMappingURL=Schema.d.mts.map
@@ -0,0 +1,141 @@
1
+ import { Schema, SchemaGetter } from "effect";
2
+ //#region src/Schema.ts
3
+ const uuid = (brand) => Schema.String.check(Schema.isUUID()).pipe(Schema.brand(brand));
4
+ const ChallengeId = uuid("effect-auth/ChallengeId");
5
+ const RegistrationId = uuid("effect-auth/RegistrationId");
6
+ const SessionTokenId = uuid("effect-auth/SessionTokenId");
7
+ /** Opaque application subject. The consumer maps it to its own account id. */
8
+ const SubjectId = Schema.NonEmptyString.pipe(Schema.brand("effect-auth/SubjectId"));
9
+ const KeyId = Schema.NonEmptyString.pipe(Schema.brand("effect-auth/KeyId"));
10
+ /** Digest of a high-entropy opaque token (challenge/registration). Never the raw token. */
11
+ const TokenDigest = Schema.NonEmptyString.pipe(Schema.brand("effect-auth/TokenDigest"));
12
+ /** Keyed digest of a low-entropy OTP code. Never the plaintext code. */
13
+ const OtpDigest = Schema.NonEmptyString.pipe(Schema.brand("effect-auth/OtpDigest"));
14
+ /** Signed session envelope in its transport form. */
15
+ const SessionToken = Schema.NonEmptyString.pipe(Schema.brand("effect-auth/SessionToken"));
16
+ /**
17
+ * PHC-style encoded password verifier,
18
+ * `pbkdf2-sha256$<iterations>$<base64url salt>$<base64url dk>`. Never the
19
+ * plaintext password. The format is owned by `PasswordHasher`; everything else
20
+ * treats the value as opaque.
21
+ */
22
+ const PasswordHash = Schema.NonEmptyString.pipe(Schema.brand("effect-auth/PasswordHash"));
23
+ const Email = Schema.String.pipe(Schema.decodeTo(Schema.String.check(Schema.isPattern(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/)).pipe(Schema.brand("effect-auth/Email")), {
24
+ decode: SchemaGetter.transform((value) => value.trim().toLowerCase()),
25
+ encode: SchemaGetter.transform((value) => value)
26
+ }));
27
+ const ChallengePurpose = Schema.Literal("sign-in");
28
+ const RegistrationPurpose = Schema.Literal("registration");
29
+ var VerifiedEmail = class extends Schema.Class("effect-auth/VerifiedEmail")({
30
+ email: Email,
31
+ purpose: ChallengePurpose
32
+ }) {};
33
+ var NewChallenge = class extends Schema.Class("effect-auth/NewChallenge")({
34
+ challengeId: ChallengeId,
35
+ tokenDigest: TokenDigest,
36
+ email: Email,
37
+ purpose: ChallengePurpose,
38
+ otpDigest: OtpDigest,
39
+ /** Keyring entry used for the OTP digest, so rotation keeps in-flight challenges valid. */
40
+ otpKeyId: KeyId,
41
+ issuedAt: Schema.DateTimeUtcFromMillis,
42
+ expiresAt: Schema.DateTimeUtcFromMillis,
43
+ attemptLimit: Schema.Natural,
44
+ resendCooldown: Schema.DurationFromMillis
45
+ }) {};
46
+ var ConsumeChallenge = class extends Schema.Class("effect-auth/ConsumeChallenge")({
47
+ tokenDigest: TokenDigest,
48
+ /**
49
+ * Candidate OTP digests keyed by keyring entry. The store compares the
50
+ * candidate matching the key id recorded on the challenge, in constant time.
51
+ */
52
+ otpDigests: Schema.Record(KeyId, OtpDigest)
53
+ }) {};
54
+ var NewRegistration = class extends Schema.Class("effect-auth/NewRegistration")({
55
+ registrationId: RegistrationId,
56
+ tokenDigest: TokenDigest,
57
+ email: Email,
58
+ purpose: RegistrationPurpose,
59
+ issuedAt: Schema.DateTimeUtcFromMillis,
60
+ expiresAt: Schema.DateTimeUtcFromMillis
61
+ }) {};
62
+ var PendingRegistration = class extends Schema.Class("effect-auth/PendingRegistration")({
63
+ registrationId: RegistrationId,
64
+ email: Email,
65
+ purpose: RegistrationPurpose,
66
+ issuedAt: Schema.DateTimeUtcFromMillis,
67
+ expiresAt: Schema.DateTimeUtcFromMillis
68
+ }) {};
69
+ var ConsumeRegistration = class extends Schema.Class("effect-auth/ConsumeRegistration")({ tokenDigest: TokenDigest }) {};
70
+ /**
71
+ * Claims carried by the signed session envelope. `ext` contains app-defined
72
+ * claims and is opaque to effect-auth. The envelope is signed, not encrypted,
73
+ * so applications must treat extension values as client-readable.
74
+ */
75
+ var SessionClaims = class extends Schema.Class("effect-auth/SessionClaims")({
76
+ /** Envelope format version. */
77
+ ver: Schema.Literal(1),
78
+ /** Configured session generation; incrementing invalidates all prior sessions. */
79
+ gen: Schema.Natural,
80
+ kid: KeyId,
81
+ sub: SubjectId,
82
+ /** App-defined claims, opaque to effect-auth. */
83
+ ext: Schema.optionalKey(Schema.Unknown),
84
+ iss: Schema.NonEmptyString,
85
+ aud: Schema.NonEmptyString,
86
+ iat: Schema.DateTimeUtcFromMillis,
87
+ exp: Schema.DateTimeUtcFromMillis,
88
+ jti: SessionTokenId
89
+ }) {};
90
+ /** Public, cookie-free view of an issued session. */
91
+ var SessionSummary = class extends Schema.Class("effect-auth/SessionSummary")({
92
+ subjectId: SubjectId,
93
+ expiresAt: Schema.DateTimeUtcFromMillis
94
+ }) {};
95
+ /**
96
+ * Long-lived password credential state for one subject. Lives behind
97
+ * `PasswordCredentialStore`, never in `AuthStore` (which is transient-only).
98
+ */
99
+ var PasswordCredential = class extends Schema.Class("effect-auth/PasswordCredential")({
100
+ subjectId: SubjectId,
101
+ hash: PasswordHash,
102
+ failedAttempts: Schema.Natural,
103
+ lockedUntil: Schema.Option(Schema.DateTimeUtcFromMillis)
104
+ }) {};
105
+ var EmailOtpMessage = class extends Schema.Class("effect-auth/EmailOtpMessage")({
106
+ email: Email,
107
+ code: Schema.Redacted(Schema.String),
108
+ expiresAt: Schema.DateTimeUtcFromMillis
109
+ }) {};
110
+ var KeyedDigest = class extends Schema.Class("effect-auth/KeyedDigest")({
111
+ keyId: KeyId,
112
+ digest: OtpDigest
113
+ }) {};
114
+ var EmailOtpChallenge = class extends Schema.Class("effect-auth/EmailOtpChallenge")({
115
+ challengeToken: Schema.Redacted(Schema.String),
116
+ expiresAt: Schema.DateTimeUtcFromMillis
117
+ }) {};
118
+ var ExistingSubject = class extends Schema.TaggedClass()("ExistingSubject", {
119
+ subjectId: SubjectId,
120
+ email: Email
121
+ }) {};
122
+ var RegistrationRequired = class extends Schema.TaggedClass()("RegistrationRequired", {
123
+ registrationToken: Schema.Redacted(Schema.String),
124
+ email: Email,
125
+ expiresAt: Schema.DateTimeUtcFromMillis
126
+ }) {};
127
+ const EmailOtpVerification = Schema.Union([ExistingSubject, RegistrationRequired]);
128
+ /**
129
+ * Constant-time string comparison for digest values. Scans the full length of
130
+ * both inputs regardless of where they diverge.
131
+ */
132
+ const timingSafeStringEqual = (a, b) => {
133
+ const length = Math.max(a.length, b.length);
134
+ let diff = a.length ^ b.length;
135
+ for (let i = 0; i < length; i++) diff |= (a.charCodeAt(i) | 0) ^ (b.charCodeAt(i) | 0);
136
+ return diff === 0;
137
+ };
138
+ //#endregion
139
+ export { ChallengeId, ChallengePurpose, ConsumeChallenge, ConsumeRegistration, Email, EmailOtpChallenge, EmailOtpMessage, EmailOtpVerification, ExistingSubject, KeyId, KeyedDigest, NewChallenge, NewRegistration, OtpDigest, PasswordCredential, PasswordHash, PendingRegistration, RegistrationId, RegistrationPurpose, RegistrationRequired, SessionClaims, SessionSummary, SessionToken, SessionTokenId, SubjectId, TokenDigest, VerifiedEmail, timingSafeStringEqual };
140
+
141
+ //# sourceMappingURL=Schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.mjs","names":[],"sources":["../src/Schema.ts"],"sourcesContent":["import { Schema, SchemaGetter } from \"effect\";\n\n// --- Identifiers -----------------------------------------------------------\n\nconst uuid = <Brand extends string>(brand: Brand) =>\n Schema.String.check(Schema.isUUID()).pipe(Schema.brand(brand));\n\nexport const ChallengeId = uuid(\"effect-auth/ChallengeId\");\nexport type ChallengeId = typeof ChallengeId.Type;\n\nexport const RegistrationId = uuid(\"effect-auth/RegistrationId\");\nexport type RegistrationId = typeof RegistrationId.Type;\n\nexport const SessionTokenId = uuid(\"effect-auth/SessionTokenId\");\nexport type SessionTokenId = typeof SessionTokenId.Type;\n\n/** Opaque application subject. The consumer maps it to its own account id. */\nexport const SubjectId = Schema.NonEmptyString.pipe(Schema.brand(\"effect-auth/SubjectId\"));\nexport type SubjectId = typeof SubjectId.Type;\n\nexport const KeyId = Schema.NonEmptyString.pipe(Schema.brand(\"effect-auth/KeyId\"));\nexport type KeyId = typeof KeyId.Type;\n\n/** Digest of a high-entropy opaque token (challenge/registration). Never the raw token. */\nexport const TokenDigest = Schema.NonEmptyString.pipe(Schema.brand(\"effect-auth/TokenDigest\"));\nexport type TokenDigest = typeof TokenDigest.Type;\n\n/** Keyed digest of a low-entropy OTP code. Never the plaintext code. */\nexport const OtpDigest = Schema.NonEmptyString.pipe(Schema.brand(\"effect-auth/OtpDigest\"));\nexport type OtpDigest = typeof OtpDigest.Type;\n\n/** Signed session envelope in its transport form. */\nexport const SessionToken = Schema.NonEmptyString.pipe(Schema.brand(\"effect-auth/SessionToken\"));\nexport type SessionToken = typeof SessionToken.Type;\n\n/**\n * PHC-style encoded password verifier,\n * `pbkdf2-sha256$<iterations>$<base64url salt>$<base64url dk>`. Never the\n * plaintext password. The format is owned by `PasswordHasher`; everything else\n * treats the value as opaque.\n */\nexport const PasswordHash = Schema.NonEmptyString.pipe(Schema.brand(\"effect-auth/PasswordHash\"));\nexport type PasswordHash = typeof PasswordHash.Type;\n\n// --- Email ------------------------------------------------------------------\n\n/**\n * Ordinary ASCII addresses only; internationalized email is deferred. The\n * normalized (trimmed, fully lowercased) value is the identity key.\n */\nconst asciiEmailPattern =\n /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/;\n\nexport const Email = Schema.String.pipe(\n Schema.decodeTo(\n Schema.String.check(Schema.isPattern(asciiEmailPattern)).pipe(\n Schema.brand(\"effect-auth/Email\"),\n ),\n {\n decode: SchemaGetter.transform((value: string) => value.trim().toLowerCase()),\n encode: SchemaGetter.transform((value: string) => value),\n },\n ),\n);\n\nexport type Email = typeof Email.Type;\n\n// --- Purposes ---------------------------------------------------------------\n\nexport const ChallengePurpose = Schema.Literal(\"sign-in\");\nexport type ChallengePurpose = typeof ChallengePurpose.Type;\n\nexport const RegistrationPurpose = Schema.Literal(\"registration\");\nexport type RegistrationPurpose = typeof RegistrationPurpose.Type;\n\n// --- Challenge --------------------------------------------------------------\n\nexport class VerifiedEmail extends Schema.Class<VerifiedEmail>(\"effect-auth/VerifiedEmail\")({\n email: Email,\n purpose: ChallengePurpose,\n}) {}\n\nexport class NewChallenge extends Schema.Class<NewChallenge>(\"effect-auth/NewChallenge\")({\n challengeId: ChallengeId,\n tokenDigest: TokenDigest,\n email: Email,\n purpose: ChallengePurpose,\n otpDigest: OtpDigest,\n /** Keyring entry used for the OTP digest, so rotation keeps in-flight challenges valid. */\n otpKeyId: KeyId,\n issuedAt: Schema.DateTimeUtcFromMillis,\n expiresAt: Schema.DateTimeUtcFromMillis,\n attemptLimit: Schema.Natural,\n resendCooldown: Schema.DurationFromMillis,\n}) {}\n\nexport class ConsumeChallenge extends Schema.Class<ConsumeChallenge>(\n \"effect-auth/ConsumeChallenge\",\n)({\n tokenDigest: TokenDigest,\n /**\n * Candidate OTP digests keyed by keyring entry. The store compares the\n * candidate matching the key id recorded on the challenge, in constant time.\n */\n otpDigests: Schema.Record(KeyId, OtpDigest),\n}) {}\n\n// --- Pending registration ----------------------------------------------------\n\nexport class NewRegistration extends Schema.Class<NewRegistration>(\"effect-auth/NewRegistration\")({\n registrationId: RegistrationId,\n tokenDigest: TokenDigest,\n email: Email,\n purpose: RegistrationPurpose,\n issuedAt: Schema.DateTimeUtcFromMillis,\n expiresAt: Schema.DateTimeUtcFromMillis,\n}) {}\n\nexport class PendingRegistration extends Schema.Class<PendingRegistration>(\n \"effect-auth/PendingRegistration\",\n)({\n registrationId: RegistrationId,\n email: Email,\n purpose: RegistrationPurpose,\n issuedAt: Schema.DateTimeUtcFromMillis,\n expiresAt: Schema.DateTimeUtcFromMillis,\n}) {}\n\nexport class ConsumeRegistration extends Schema.Class<ConsumeRegistration>(\n \"effect-auth/ConsumeRegistration\",\n)({\n tokenDigest: TokenDigest,\n}) {}\n\n// --- Session ----------------------------------------------------------------\n\n/**\n * Claims carried by the signed session envelope. `ext` contains app-defined\n * claims and is opaque to effect-auth. The envelope is signed, not encrypted,\n * so applications must treat extension values as client-readable.\n */\nexport class SessionClaims extends Schema.Class<SessionClaims>(\"effect-auth/SessionClaims\")({\n /** Envelope format version. */\n ver: Schema.Literal(1),\n /** Configured session generation; incrementing invalidates all prior sessions. */\n gen: Schema.Natural,\n kid: KeyId,\n sub: SubjectId,\n /** App-defined claims, opaque to effect-auth. */\n ext: Schema.optionalKey(Schema.Unknown),\n iss: Schema.NonEmptyString,\n aud: Schema.NonEmptyString,\n iat: Schema.DateTimeUtcFromMillis,\n exp: Schema.DateTimeUtcFromMillis,\n jti: SessionTokenId,\n}) {}\n\n/** Public, cookie-free view of an issued session. */\nexport class SessionSummary extends Schema.Class<SessionSummary>(\"effect-auth/SessionSummary\")({\n subjectId: SubjectId,\n expiresAt: Schema.DateTimeUtcFromMillis,\n}) {}\n\n// --- Password credential ------------------------------------------------------\n\n/**\n * Long-lived password credential state for one subject. Lives behind\n * `PasswordCredentialStore`, never in `AuthStore` (which is transient-only).\n */\nexport class PasswordCredential extends Schema.Class<PasswordCredential>(\n \"effect-auth/PasswordCredential\",\n)({\n subjectId: SubjectId,\n hash: PasswordHash,\n failedAttempts: Schema.Natural,\n lockedUntil: Schema.Option(Schema.DateTimeUtcFromMillis),\n}) {}\n\n// --- Sender -----------------------------------------------------------------\n\nexport class EmailOtpMessage extends Schema.Class<EmailOtpMessage>(\"effect-auth/EmailOtpMessage\")({\n email: Email,\n code: Schema.Redacted(Schema.String),\n expiresAt: Schema.DateTimeUtcFromMillis,\n}) {}\n\n// --- Digests ----------------------------------------------------------------\n\nexport class KeyedDigest extends Schema.Class<KeyedDigest>(\"effect-auth/KeyedDigest\")({\n keyId: KeyId,\n digest: OtpDigest,\n}) {}\n\n// --- Workflow results -------------------------------------------------------\n\nexport class EmailOtpChallenge extends Schema.Class<EmailOtpChallenge>(\n \"effect-auth/EmailOtpChallenge\",\n)({\n challengeToken: Schema.Redacted(Schema.String),\n expiresAt: Schema.DateTimeUtcFromMillis,\n}) {}\n\nexport class ExistingSubject extends Schema.TaggedClass<ExistingSubject>()(\"ExistingSubject\", {\n subjectId: SubjectId,\n email: Email,\n}) {}\n\nexport class RegistrationRequired extends Schema.TaggedClass<RegistrationRequired>()(\n \"RegistrationRequired\",\n {\n registrationToken: Schema.Redacted(Schema.String),\n email: Email,\n expiresAt: Schema.DateTimeUtcFromMillis,\n },\n) {}\n\nexport const EmailOtpVerification = Schema.Union([ExistingSubject, RegistrationRequired]);\nexport type EmailOtpVerification = typeof EmailOtpVerification.Type;\n\n// --- Constant-time comparison ------------------------------------------------\n\n/**\n * Constant-time string comparison for digest values. Scans the full length of\n * both inputs regardless of where they diverge.\n */\nexport const timingSafeStringEqual = (a: string, b: string): boolean => {\n const length = Math.max(a.length, b.length);\n let diff = a.length ^ b.length;\n\n for (let i = 0; i < length; i++) {\n diff |= (a.charCodeAt(i) | 0) ^ (b.charCodeAt(i) | 0);\n }\n\n return diff === 0;\n};\n"],"mappings":";;AAIA,MAAM,QAA8B,UAClC,OAAO,OAAO,MAAM,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,MAAM,KAAK,CAAC;AAE/D,MAAa,cAAc,KAAK,yBAAyB;AAGzD,MAAa,iBAAiB,KAAK,4BAA4B;AAG/D,MAAa,iBAAiB,KAAK,4BAA4B;;AAI/D,MAAa,YAAY,OAAO,eAAe,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAGzF,MAAa,QAAQ,OAAO,eAAe,KAAK,OAAO,MAAM,mBAAmB,CAAC;;AAIjF,MAAa,cAAc,OAAO,eAAe,KAAK,OAAO,MAAM,yBAAyB,CAAC;;AAI7F,MAAa,YAAY,OAAO,eAAe,KAAK,OAAO,MAAM,uBAAuB,CAAC;;AAIzF,MAAa,eAAe,OAAO,eAAe,KAAK,OAAO,MAAM,0BAA0B,CAAC;;;;;;;AAS/F,MAAa,eAAe,OAAO,eAAe,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAY/F,MAAa,QAAQ,OAAO,OAAO,KACjC,OAAO,SACL,OAAO,OAAO,MAAM,OAAO,UAAU,mJAAiB,CAAC,CAAC,CAAC,KACvD,OAAO,MAAM,mBAAmB,CAClC,GACA;CACE,QAAQ,aAAa,WAAW,UAAkB,MAAM,KAAK,CAAC,CAAC,YAAY,CAAC;CAC5E,QAAQ,aAAa,WAAW,UAAkB,KAAK;AACzD,CACF,CACF;AAMA,MAAa,mBAAmB,OAAO,QAAQ,SAAS;AAGxD,MAAa,sBAAsB,OAAO,QAAQ,cAAc;AAKhE,IAAa,gBAAb,cAAmC,OAAO,MAAqB,2BAA2B,CAAC,CAAC;CAC1F,OAAO;CACP,SAAS;AACX,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,eAAb,cAAkC,OAAO,MAAoB,0BAA0B,CAAC,CAAC;CACvF,aAAa;CACb,aAAa;CACb,OAAO;CACP,SAAS;CACT,WAAW;;CAEX,UAAU;CACV,UAAU,OAAO;CACjB,WAAW,OAAO;CAClB,cAAc,OAAO;CACrB,gBAAgB,OAAO;AACzB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,mBAAb,cAAsC,OAAO,MAC3C,8BACF,CAAC,CAAC;CACA,aAAa;;;;;CAKb,YAAY,OAAO,OAAO,OAAO,SAAS;AAC5C,CAAC,CAAC,CAAC,CAAC;AAIJ,IAAa,kBAAb,cAAqC,OAAO,MAAuB,6BAA6B,CAAC,CAAC;CAChG,gBAAgB;CAChB,aAAa;CACb,OAAO;CACP,SAAS;CACT,UAAU,OAAO;CACjB,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,sBAAb,cAAyC,OAAO,MAC9C,iCACF,CAAC,CAAC;CACA,gBAAgB;CAChB,OAAO;CACP,SAAS;CACT,UAAU,OAAO;CACjB,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,sBAAb,cAAyC,OAAO,MAC9C,iCACF,CAAC,CAAC,EACA,aAAa,YACf,CAAC,CAAC,CAAC,CAAC;;;;;;AASJ,IAAa,gBAAb,cAAmC,OAAO,MAAqB,2BAA2B,CAAC,CAAC;;CAE1F,KAAK,OAAO,QAAQ,CAAC;;CAErB,KAAK,OAAO;CACZ,KAAK;CACL,KAAK;;CAEL,KAAK,OAAO,YAAY,OAAO,OAAO;CACtC,KAAK,OAAO;CACZ,KAAK,OAAO;CACZ,KAAK,OAAO;CACZ,KAAK,OAAO;CACZ,KAAK;AACP,CAAC,CAAC,CAAC,CAAC;;AAGJ,IAAa,iBAAb,cAAoC,OAAO,MAAsB,4BAA4B,CAAC,CAAC;CAC7F,WAAW;CACX,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC;;;;;AAQJ,IAAa,qBAAb,cAAwC,OAAO,MAC7C,gCACF,CAAC,CAAC;CACA,WAAW;CACX,MAAM;CACN,gBAAgB,OAAO;CACvB,aAAa,OAAO,OAAO,OAAO,qBAAqB;AACzD,CAAC,CAAC,CAAC,CAAC;AAIJ,IAAa,kBAAb,cAAqC,OAAO,MAAuB,6BAA6B,CAAC,CAAC;CAChG,OAAO;CACP,MAAM,OAAO,SAAS,OAAO,MAAM;CACnC,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC;AAIJ,IAAa,cAAb,cAAiC,OAAO,MAAmB,yBAAyB,CAAC,CAAC;CACpF,OAAO;CACP,QAAQ;AACV,CAAC,CAAC,CAAC,CAAC;AAIJ,IAAa,oBAAb,cAAuC,OAAO,MAC5C,+BACF,CAAC,CAAC;CACA,gBAAgB,OAAO,SAAS,OAAO,MAAM;CAC7C,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,kBAAb,cAAqC,OAAO,YAA6B,CAAC,CAAC,mBAAmB;CAC5F,WAAW;CACX,OAAO;AACT,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,uBAAb,cAA0C,OAAO,YAAkC,CAAC,CAClF,wBACA;CACE,mBAAmB,OAAO,SAAS,OAAO,MAAM;CAChD,OAAO;CACP,WAAW,OAAO;AACpB,CACF,CAAC,CAAC,CAAC;AAEH,MAAa,uBAAuB,OAAO,MAAM,CAAC,iBAAiB,oBAAoB,CAAC;;;;;AASxF,MAAa,yBAAyB,GAAW,MAAuB;CACtE,MAAM,SAAS,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM;CAC1C,IAAI,OAAO,EAAE,SAAS,EAAE;CAExB,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAC1B,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE,WAAW,CAAC,IAAI;CAGrD,OAAO,SAAS;AAClB"}
@@ -0,0 +1,3 @@
1
+ import { makeSessionContract } from "./sessions/contract.mjs";
2
+ import { makeSessionHttpContract } from "./http/session-contract.mjs";
3
+ export { makeSessionContract, makeSessionHttpContract };
@@ -0,0 +1,3 @@
1
+ import { makeSessionContract } from "./sessions/contract.mjs";
2
+ import { makeSessionHttpContract } from "./http/session-contract.mjs";
3
+ export { makeSessionContract, makeSessionHttpContract };