@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,136 @@
1
+ import { HookConfigurationError, lifecycleEvent } from "./models.mjs";
2
+ import { LifecycleHooks } from "./LifecycleHooks.mjs";
3
+ import { validateContributions } from "./transactions.mjs";
4
+ import { Cause, Context, Effect, Option, Schema } from "effect";
5
+ //#region src/hooks/commit.ts
6
+ var CommitPending = class extends Schema.TaggedError()("CommitPending", {}) {};
7
+ var CommitDiscarded = class extends Schema.TaggedError()("CommitDiscarded", {}) {};
8
+ /** Current journal for internal transaction operations. Public commit-owner
9
+ * continuations still receive the journal explicitly at the native boundary. */
10
+ var CurrentCommitJournal = class extends Context.Service()("effect-auth/hooks/CurrentCommitJournal") {};
11
+ var CurrentCommit = class extends Context.Service()("effect-auth/hooks/CurrentCommit") {};
12
+ /** Public operations may reject unsupported ambient execution before any mutation. */
13
+ const hasCommitScope = Effect.serviceOption(CurrentCommit).pipe(Effect.map(Option.isSome));
14
+ /**
15
+ * `owner` must resolve only after its real transaction or batch commits. Nested
16
+ * calls inherit the outer journal; their events are discarded on failure and
17
+ * cannot dispatch until the outermost owner succeeds. Wrap a caught savepoint
18
+ * rollback in its own coordinateCommit call so its events are discarded too.
19
+ * Direct delivery is best effort: a process crash loses staged memory and no
20
+ * retry is automatic. Once the owner returns, interruption is masked during
21
+ * dispatch; that makes reporting coherent, not durable. An outbox owner stages
22
+ * its writes before calling journal.defer and owns worker retries/deduplication.
23
+ */
24
+ const coordinateCommit = (owner, options) => Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
25
+ yield* Effect.try({
26
+ try: () => validateContributions(options.mode, options.contributions ?? []),
27
+ catch: (error) => Schema.is(HookConfigurationError)(error) ? error : HookConfigurationError.make({
28
+ reason: "incompatible-transaction",
29
+ contribution: "transaction"
30
+ })
31
+ });
32
+ const parent = yield* Effect.serviceOption(CurrentCommit);
33
+ const hooks = yield* LifecycleHooks;
34
+ const events = [];
35
+ const participants = [];
36
+ const reservations = Option.isSome(parent) ? parent.value.reservations : /* @__PURE__ */ new Set();
37
+ const ownedReservations = /* @__PURE__ */ new Set();
38
+ const discard = Effect.sync(() => {
39
+ for (const participant of participants) participant.discard();
40
+ for (const id of ownedReservations) reservations.delete(id);
41
+ ownedReservations.clear();
42
+ });
43
+ let open = true;
44
+ const assertOpen = () => {
45
+ if (!open) throw HookConfigurationError.make({
46
+ reason: "closed-journal",
47
+ contribution: "transaction"
48
+ });
49
+ if (Option.isSome(parent)) parent.value.assertOpen();
50
+ };
51
+ const append = (incoming, incomingParticipants = []) => {
52
+ assertOpen();
53
+ const next = new Set(reservations);
54
+ for (const { event } of incoming) {
55
+ if (next.has(event.id)) throw HookConfigurationError.make({
56
+ reason: "duplicate-event",
57
+ contribution: event.id
58
+ });
59
+ next.add(event.id);
60
+ }
61
+ for (const item of incoming) {
62
+ reservations.add(item.event.id);
63
+ ownedReservations.add(item.event.id);
64
+ events.push(item);
65
+ }
66
+ participants.push(...incomingParticipants);
67
+ };
68
+ const promote = (incoming, incomingParticipants, incomingReservations) => {
69
+ assertOpen();
70
+ events.push(...incoming);
71
+ participants.push(...incomingParticipants);
72
+ for (const id of incomingReservations) ownedReservations.add(id);
73
+ };
74
+ const journal = {
75
+ prepare: (input) => {
76
+ let status = "pending";
77
+ let value = Option.some(input);
78
+ append([], [{
79
+ commit: () => {
80
+ status = "committed";
81
+ },
82
+ discard: () => {
83
+ status = "discarded";
84
+ value = Option.none();
85
+ }
86
+ }]);
87
+ return Object.freeze({
88
+ _tag: "PreparedCommit",
89
+ read: Effect.suspend(() => status === "committed" && Option.isSome(value) ? Effect.succeed(value.value) : status === "discarded" ? Effect.fail(CommitDiscarded.make({})) : Effect.fail(CommitPending.make({})))
90
+ });
91
+ },
92
+ stage: (input) => append([{
93
+ event: lifecycleEvent(input),
94
+ deferred: false
95
+ }]),
96
+ defer: (input) => append([{
97
+ event: lifecycleEvent(input),
98
+ deferred: true
99
+ }])
100
+ };
101
+ const value = yield* restore(Effect.suspend(() => owner(journal))).pipe(Effect.provideService(CurrentCommitJournal, journal), Effect.provideService(CurrentCommit, {
102
+ reservations,
103
+ assertOpen,
104
+ promote
105
+ }), Effect.catchCause((cause) => Effect.failCause(cause.reasons.every((reason) => Cause.isDieReason(reason) && Schema.is(HookConfigurationError)(reason.defect)) ? Cause.fromReasons(cause.reasons.map((reason) => Cause.isDieReason(reason) && Schema.is(HookConfigurationError)(reason.defect) ? Cause.makeFailReason(reason.defect).annotate(Cause.reasonAnnotations(reason)) : reason)) : cause)), Effect.onError(() => discard), Effect.ensuring(Effect.sync(() => {
106
+ open = false;
107
+ })));
108
+ if (Option.isSome(parent)) {
109
+ yield* Effect.try({
110
+ try: () => parent.value.promote(events, participants, ownedReservations),
111
+ catch: (error) => Schema.is(HookConfigurationError)(error) ? error : HookConfigurationError.make({
112
+ reason: "closed-journal",
113
+ contribution: "transaction"
114
+ })
115
+ }).pipe(Effect.onError(() => discard));
116
+ return {
117
+ _tag: "PendingCommit",
118
+ value
119
+ };
120
+ }
121
+ for (const participant of participants) participant.commit();
122
+ const delivery = [];
123
+ const deferred = [];
124
+ for (const { event, deferred: isDeferred } of events) if (isDeferred) deferred.push(event.id);
125
+ else delivery.push(...yield* hooks.after(event));
126
+ return {
127
+ _tag: "Committed",
128
+ value,
129
+ delivery,
130
+ deferred
131
+ };
132
+ }));
133
+ //#endregion
134
+ export { CommitDiscarded, CommitPending, CurrentCommitJournal, coordinateCommit, hasCommitScope };
135
+
136
+ //# sourceMappingURL=commit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit.mjs","names":[],"sources":["../../src/hooks/commit.ts"],"sourcesContent":["import { Cause, Context, Effect, Option, Schema } from \"effect\";\n\nimport { LifecycleHooks } from \"./LifecycleHooks\";\nimport {\n HookConfigurationError,\n type HookDelivery,\n type LifecycleEvent,\n type LifecycleEventId,\n lifecycleEvent,\n} from \"./models\";\nimport { type AtomicContribution, type CommitMode, validateContributions } from \"./transactions\";\n\nexport class CommitPending extends Schema.TaggedError<CommitPending>()(\"CommitPending\", {}) {}\nexport class CommitDiscarded extends Schema.TaggedError<CommitDiscarded>()(\"CommitDiscarded\", {}) {}\n\n/** No value is exposed until the outermost transaction authority has committed. */\nexport interface PreparedCommit<A> {\n readonly _tag: \"PreparedCommit\";\n readonly read: Effect.Effect<A, CommitPending | CommitDiscarded>;\n}\n\ninterface CommitParticipant {\n readonly commit: () => void;\n readonly discard: () => void;\n}\n\nexport interface CommitJournal {\n readonly prepare: <A>(value: A) => PreparedCommit<A>;\n /** Stage only work belonging to this transaction/savepoint, before its commit returns. */\n readonly stage: (event: LifecycleEvent) => void;\n /** Call only after staging this event's outbox write in the same transaction/batch. */\n readonly defer: (event: LifecycleEvent) => void;\n}\n\n/** Current journal for internal transaction operations. Public commit-owner\n * continuations still receive the journal explicitly at the native boundary. */\nexport class CurrentCommitJournal extends Context.Service<CurrentCommitJournal, CommitJournal>()(\n \"effect-auth/hooks/CurrentCommitJournal\",\n) {}\n\ninterface StagedEvent {\n readonly event: LifecycleEvent;\n readonly deferred: boolean;\n}\n\nclass CurrentCommit extends Context.Service<\n CurrentCommit,\n {\n readonly reservations: Set<string>;\n readonly assertOpen: () => void;\n readonly promote: (\n events: ReadonlyArray<StagedEvent>,\n participants: ReadonlyArray<CommitParticipant>,\n reservations: ReadonlySet<string>,\n ) => void;\n }\n>()(\"effect-auth/hooks/CurrentCommit\") {}\n\n/** Public operations may reject unsupported ambient execution before any mutation. */\nexport const hasCommitScope = Effect.serviceOption(CurrentCommit).pipe(Effect.map(Option.isSome));\n\nexport type CommitResult<A> =\n | { readonly _tag: \"PendingCommit\"; readonly value: A }\n | {\n readonly _tag: \"Committed\";\n readonly value: A;\n readonly delivery: ReadonlyArray<HookDelivery>;\n readonly deferred: ReadonlyArray<LifecycleEventId>;\n };\n\n/**\n * `owner` must resolve only after its real transaction or batch commits. Nested\n * calls inherit the outer journal; their events are discarded on failure and\n * cannot dispatch until the outermost owner succeeds. Wrap a caught savepoint\n * rollback in its own coordinateCommit call so its events are discarded too.\n * Direct delivery is best effort: a process crash loses staged memory and no\n * retry is automatic. Once the owner returns, interruption is masked during\n * dispatch; that makes reporting coherent, not durable. An outbox owner stages\n * its writes before calling journal.defer and owns worker retries/deduplication.\n */\nexport const coordinateCommit = <A, E, R>(\n owner: (journal: CommitJournal) => Effect.Effect<A, E, R>,\n options: {\n readonly mode: CommitMode;\n readonly contributions?: ReadonlyArray<AtomicContribution>;\n },\n): Effect.Effect<\n CommitResult<A>,\n E | HookConfigurationError,\n Exclude<R, CurrentCommitJournal> | LifecycleHooks\n> =>\n Effect.uninterruptibleMask((restore) =>\n Effect.gen(function* () {\n yield* Effect.try({\n try: () => validateContributions(options.mode, options.contributions ?? []),\n catch: (error) =>\n Schema.is(HookConfigurationError)(error)\n ? error\n : HookConfigurationError.make({\n reason: \"incompatible-transaction\",\n contribution: \"transaction\",\n }),\n });\n const parent = yield* Effect.serviceOption(CurrentCommit);\n const hooks = yield* LifecycleHooks;\n const events: StagedEvent[] = [];\n const participants: CommitParticipant[] = [];\n const reservations = Option.isSome(parent) ? parent.value.reservations : new Set<string>();\n const ownedReservations = new Set<string>();\n\n const discard = Effect.sync(() => {\n for (const participant of participants) participant.discard();\n for (const id of ownedReservations) reservations.delete(id);\n ownedReservations.clear();\n });\n\n let open = true;\n\n const assertOpen = (): void => {\n if (!open)\n throw HookConfigurationError.make({\n reason: \"closed-journal\",\n contribution: \"transaction\",\n });\n if (Option.isSome(parent)) parent.value.assertOpen();\n };\n\n const append = (\n incoming: ReadonlyArray<StagedEvent>,\n incomingParticipants: ReadonlyArray<CommitParticipant> = [],\n ): void => {\n assertOpen();\n const next = new Set(reservations);\n\n for (const { event } of incoming) {\n if (next.has(event.id))\n throw HookConfigurationError.make({\n reason: \"duplicate-event\",\n contribution: event.id,\n });\n next.add(event.id);\n }\n // Reserve while the native owner can still roll back. Successful child\n // owners transfer these reservations without another duplicate check.\n for (const item of incoming) {\n reservations.add(item.event.id);\n ownedReservations.add(item.event.id);\n events.push(item);\n }\n participants.push(...incomingParticipants);\n };\n\n const promote = (\n incoming: ReadonlyArray<StagedEvent>,\n incomingParticipants: ReadonlyArray<CommitParticipant>,\n incomingReservations: ReadonlySet<string>,\n ): void => {\n assertOpen();\n events.push(...incoming);\n participants.push(...incomingParticipants);\n for (const id of incomingReservations) ownedReservations.add(id);\n };\n\n const journal: CommitJournal = {\n prepare: <A>(input: A): PreparedCommit<A> => {\n let status: \"pending\" | \"committed\" | \"discarded\" = \"pending\";\n let value: Option.Option<A> = Option.some(input);\n\n append(\n [],\n [\n {\n commit: () => {\n status = \"committed\";\n },\n discard: () => {\n status = \"discarded\";\n value = Option.none();\n },\n },\n ],\n );\n\n return Object.freeze({\n _tag: \"PreparedCommit\",\n read: Effect.suspend((): Effect.Effect<A, CommitPending | CommitDiscarded> =>\n status === \"committed\" && Option.isSome(value)\n ? Effect.succeed(value.value)\n : status === \"discarded\"\n ? Effect.fail(CommitDiscarded.make({}))\n : Effect.fail(CommitPending.make({})),\n ),\n });\n },\n stage: (input) => append([{ event: lifecycleEvent(input), deferred: false }]),\n defer: (input) => append([{ event: lifecycleEvent(input), deferred: true }]),\n };\n\n const value = yield* restore(Effect.suspend(() => owner(journal))).pipe(\n Effect.provideService(CurrentCommitJournal, journal),\n Effect.provideService(CurrentCommit, { reservations, assertOpen, promote }),\n // Synchronous journal methods can throw inside an Effect callback. The\n // owner's failed transaction has rolled back before we normalize them.\n // Mixed causes stay intact so typed recovery cannot swallow a defect or interruption.\n Effect.catchCause((cause) =>\n Effect.failCause(\n cause.reasons.every(\n (reason) =>\n Cause.isDieReason(reason) && Schema.is(HookConfigurationError)(reason.defect),\n )\n ? Cause.fromReasons<E | HookConfigurationError>(\n cause.reasons.map((reason) =>\n Cause.isDieReason(reason) && Schema.is(HookConfigurationError)(reason.defect)\n ? Cause.makeFailReason(reason.defect).annotate(\n Cause.reasonAnnotations(reason),\n )\n : reason,\n ),\n )\n : cause,\n ),\n ),\n Effect.onError(() => discard),\n Effect.ensuring(\n Effect.sync(() => {\n open = false;\n }),\n ),\n );\n\n if (Option.isSome(parent)) {\n yield* Effect.try({\n try: () => parent.value.promote(events, participants, ownedReservations),\n catch: (error) =>\n Schema.is(HookConfigurationError)(error)\n ? error\n : HookConfigurationError.make({\n reason: \"closed-journal\",\n contribution: \"transaction\",\n }),\n }).pipe(Effect.onError(() => discard));\n\n return { _tag: \"PendingCommit\", value } as const;\n }\n for (const participant of participants) participant.commit();\n const delivery: HookDelivery[] = [];\n const deferred: LifecycleEventId[] = [];\n\n for (const { event, deferred: isDeferred } of events) {\n if (isDeferred) deferred.push(event.id);\n else delivery.push(...(yield* hooks.after(event)));\n }\n\n return { _tag: \"Committed\", value, delivery, deferred } as const;\n }),\n );\n\n/**\n * An outbox implementation stages this immutable event in the same authority's\n * transaction/batch. A delivery worker later calls LifecycleHooks.after(event),\n * retaining the same ID on every attempt and deduplicating each contribution.\n * Delivery is at least once when the consumer provides persistence and retries;\n * this interface alone supplies no persistence or exactly-once guarantee.\n */\nexport interface EventOutbox<E = never, R = never> {\n readonly stage: (event: LifecycleEvent) => Effect.Effect<void, E, R>;\n}\n\nexport interface BatchEventOutbox<Statement> {\n readonly statements: (event: LifecycleEvent) => ReadonlyArray<Statement>;\n}\n"],"mappings":";;;;;AAYA,IAAa,gBAAb,cAAmC,OAAO,YAA2B,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,IAAa,kBAAb,cAAqC,OAAO,YAA6B,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;;;AAuBnG,IAAa,uBAAb,cAA0C,QAAQ,QAA6C,CAAC,CAC9F,wCACF,CAAC,CAAC,CAAC;AAOH,IAAM,gBAAN,cAA4B,QAAQ,QAWlC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC;;AAGxC,MAAa,iBAAiB,OAAO,cAAc,aAAa,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,CAAC;;;;;;;;;;;AAqBhG,MAAa,oBACX,OACA,YASA,OAAO,qBAAqB,YAC1B,OAAO,IAAI,aAAa;CACtB,OAAO,OAAO,IAAI;EAChB,WAAW,sBAAsB,QAAQ,MAAM,QAAQ,iBAAiB,CAAC,CAAC;EAC1E,QAAQ,UACN,OAAO,GAAG,sBAAsB,CAAC,CAAC,KAAK,IACnC,QACA,uBAAuB,KAAK;GAC1B,QAAQ;GACR,cAAc;EAChB,CAAC;CACT,CAAC;CACD,MAAM,SAAS,OAAO,OAAO,cAAc,aAAa;CACxD,MAAM,QAAQ,OAAO;CACrB,MAAM,SAAwB,CAAC;CAC/B,MAAM,eAAoC,CAAC;CAC3C,MAAM,eAAe,OAAO,OAAO,MAAM,IAAI,OAAO,MAAM,+BAAe,IAAI,IAAY;CACzF,MAAM,oCAAoB,IAAI,IAAY;CAE1C,MAAM,UAAU,OAAO,WAAW;EAChC,KAAK,MAAM,eAAe,cAAc,YAAY,QAAQ;EAC5D,KAAK,MAAM,MAAM,mBAAmB,aAAa,OAAO,EAAE;EAC1D,kBAAkB,MAAM;CAC1B,CAAC;CAED,IAAI,OAAO;CAEX,MAAM,mBAAyB;EAC7B,IAAI,CAAC,MACH,MAAM,uBAAuB,KAAK;GAChC,QAAQ;GACR,cAAc;EAChB,CAAC;EACH,IAAI,OAAO,OAAO,MAAM,GAAG,OAAO,MAAM,WAAW;CACrD;CAEA,MAAM,UACJ,UACA,uBAAyD,CAAC,MACjD;EACT,WAAW;EACX,MAAM,OAAO,IAAI,IAAI,YAAY;EAEjC,KAAK,MAAM,EAAE,WAAW,UAAU;GAChC,IAAI,KAAK,IAAI,MAAM,EAAE,GACnB,MAAM,uBAAuB,KAAK;IAChC,QAAQ;IACR,cAAc,MAAM;GACtB,CAAC;GACH,KAAK,IAAI,MAAM,EAAE;EACnB;EAGA,KAAK,MAAM,QAAQ,UAAU;GAC3B,aAAa,IAAI,KAAK,MAAM,EAAE;GAC9B,kBAAkB,IAAI,KAAK,MAAM,EAAE;GACnC,OAAO,KAAK,IAAI;EAClB;EACA,aAAa,KAAK,GAAG,oBAAoB;CAC3C;CAEA,MAAM,WACJ,UACA,sBACA,yBACS;EACT,WAAW;EACX,OAAO,KAAK,GAAG,QAAQ;EACvB,aAAa,KAAK,GAAG,oBAAoB;EACzC,KAAK,MAAM,MAAM,sBAAsB,kBAAkB,IAAI,EAAE;CACjE;CAEA,MAAM,UAAyB;EAC7B,UAAa,UAAgC;GAC3C,IAAI,SAAgD;GACpD,IAAI,QAA0B,OAAO,KAAK,KAAK;GAE/C,OACE,CAAC,GACD,CACE;IACE,cAAc;KACZ,SAAS;IACX;IACA,eAAe;KACb,SAAS;KACT,QAAQ,OAAO,KAAK;IACtB;GACF,CACF,CACF;GAEA,OAAO,OAAO,OAAO;IACnB,MAAM;IACN,MAAM,OAAO,cACX,WAAW,eAAe,OAAO,OAAO,KAAK,IACzC,OAAO,QAAQ,MAAM,KAAK,IAC1B,WAAW,cACT,OAAO,KAAK,gBAAgB,KAAK,CAAC,CAAC,CAAC,IACpC,OAAO,KAAK,cAAc,KAAK,CAAC,CAAC,CAAC,CAC1C;GACF,CAAC;EACH;EACA,QAAQ,UAAU,OAAO,CAAC;GAAE,OAAO,eAAe,KAAK;GAAG,UAAU;EAAM,CAAC,CAAC;EAC5E,QAAQ,UAAU,OAAO,CAAC;GAAE,OAAO,eAAe,KAAK;GAAG,UAAU;EAAK,CAAC,CAAC;CAC7E;CAEA,MAAM,QAAQ,OAAO,QAAQ,OAAO,cAAc,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,KACjE,OAAO,eAAe,sBAAsB,OAAO,GACnD,OAAO,eAAe,eAAe;EAAE;EAAc;EAAY;CAAQ,CAAC,GAI1E,OAAO,YAAY,UACjB,OAAO,UACL,MAAM,QAAQ,OACX,WACC,MAAM,YAAY,MAAM,KAAK,OAAO,GAAG,sBAAsB,CAAC,CAAC,OAAO,MAAM,CAChF,IACI,MAAM,YACJ,MAAM,QAAQ,KAAK,WACjB,MAAM,YAAY,MAAM,KAAK,OAAO,GAAG,sBAAsB,CAAC,CAAC,OAAO,MAAM,IACxE,MAAM,eAAe,OAAO,MAAM,CAAC,CAAC,SAClC,MAAM,kBAAkB,MAAM,CAChC,IACA,MACN,CACF,IACA,KACN,CACF,GACA,OAAO,cAAc,OAAO,GAC5B,OAAO,SACL,OAAO,WAAW;EAChB,OAAO;CACT,CAAC,CACH,CACF;CAEA,IAAI,OAAO,OAAO,MAAM,GAAG;EACzB,OAAO,OAAO,IAAI;GAChB,WAAW,OAAO,MAAM,QAAQ,QAAQ,cAAc,iBAAiB;GACvE,QAAQ,UACN,OAAO,GAAG,sBAAsB,CAAC,CAAC,KAAK,IACnC,QACA,uBAAuB,KAAK;IAC1B,QAAQ;IACR,cAAc;GAChB,CAAC;EACT,CAAC,CAAC,CAAC,KAAK,OAAO,cAAc,OAAO,CAAC;EAErC,OAAO;GAAE,MAAM;GAAiB;EAAM;CACxC;CACA,KAAK,MAAM,eAAe,cAAc,YAAY,OAAO;CAC3D,MAAM,WAA2B,CAAC;CAClC,MAAM,WAA+B,CAAC;CAEtC,KAAK,MAAM,EAAE,OAAO,UAAU,gBAAgB,QAC5C,IAAI,YAAY,SAAS,KAAK,MAAM,EAAE;MACjC,SAAS,KAAK,GAAI,OAAO,MAAM,MAAM,KAAK,CAAE;CAGnD,OAAO;EAAE,MAAM;EAAa;EAAO;EAAU;CAAS;AACxD,CAAC,CACH"}
@@ -0,0 +1,51 @@
1
+ import { LoginIdentifier } from "../identity/models.mjs";
2
+ import { Schema } from "effect";
3
+ //#region src/hooks/models.d.ts
4
+ declare const LifecycleAction: Schema.Literals<readonly ["registration", "sign-in", "session-creation", "credential-change", "factor-change", "identifier-change", "linking", "sign-out", "proof-request", "proof-verification", "proof-completion"]>;
5
+ type LifecycleAction = typeof LifecycleAction.Type;
6
+ /** Deliberately excludes credentials, proofs, tokens, claims, and verification authority. */
7
+ declare const LifecycleSnapshot: Schema.Struct<{
8
+ readonly action: Schema.Literals<readonly ["registration", "sign-in", "session-creation", "credential-change", "factor-change", "identifier-change", "linking", "sign-out", "proof-request", "proof-verification", "proof-completion"]>;
9
+ readonly operation: Schema.NonEmptyString;
10
+ readonly subjectId: Schema.optionalKey<Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">>;
11
+ readonly method: Schema.optionalKey<Schema.NonEmptyString>;
12
+ readonly identifiers: Schema.$Array<typeof LoginIdentifier>;
13
+ }>;
14
+ type LifecycleSnapshot = typeof LifecycleSnapshot.Type;
15
+ declare const LifecycleEventId: Schema.brand<Schema.NonEmptyString, "effect-auth/LifecycleEventId">;
16
+ type LifecycleEventId = typeof LifecycleEventId.Type;
17
+ /** The owner supplies a stable, nonsecret identifier; delivery retries reuse this exact event. */
18
+ declare const LifecycleEvent: Schema.Struct<{
19
+ readonly id: Schema.brand<Schema.NonEmptyString, "effect-auth/LifecycleEventId">;
20
+ readonly occurredAtMillis: Schema.Int;
21
+ readonly snapshot: Schema.Struct<{
22
+ readonly action: Schema.Literals<readonly ["registration", "sign-in", "session-creation", "credential-change", "factor-change", "identifier-change", "linking", "sign-out", "proof-request", "proof-verification", "proof-completion"]>;
23
+ readonly operation: Schema.NonEmptyString;
24
+ readonly subjectId: Schema.optionalKey<Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">>;
25
+ readonly method: Schema.optionalKey<Schema.NonEmptyString>;
26
+ readonly identifiers: Schema.$Array<typeof LoginIdentifier>;
27
+ }>;
28
+ }>;
29
+ type LifecycleEvent = typeof LifecycleEvent.Type;
30
+ declare const HookDenied_base: Schema.Class<HookDenied, Schema.TaggedStruct<"HookDenied", {
31
+ readonly reason: Schema.Literals<readonly ["policy", "unavailable"]>;
32
+ }>, import("effect/Cause").YieldableError>;
33
+ declare class HookDenied extends HookDenied_base {}
34
+ declare const HookDeliveryFailed_base: Schema.Class<HookDeliveryFailed, Schema.TaggedStruct<"HookDeliveryFailed", {}>, import("effect/Cause").YieldableError>;
35
+ declare class HookDeliveryFailed extends HookDeliveryFailed_base {}
36
+ declare const HookConfigurationError_base: Schema.Class<HookConfigurationError, Schema.TaggedStruct<"HookConfigurationError", {
37
+ readonly reason: Schema.Literals<readonly ["duplicate-contribution", "duplicate-event", "duplicate-route", "incompatible-transaction", "closed-journal", "invalid-snapshot"]>;
38
+ readonly contribution: Schema.String;
39
+ }>, import("effect/Cause").YieldableError>;
40
+ declare class HookConfigurationError extends HookConfigurationError_base {}
41
+ interface HookDelivery {
42
+ readonly eventId: LifecycleEventId;
43
+ readonly contribution: string;
44
+ readonly status: "delivered" | "failed";
45
+ }
46
+ /** Projection also strips undeclared own properties of identifier Schema.Class instances. */
47
+ declare const lifecycleSnapshot: (input: LifecycleSnapshot) => LifecycleSnapshot;
48
+ declare const lifecycleEvent: (input: LifecycleEvent) => LifecycleEvent;
49
+ //#endregion
50
+ export { HookConfigurationError, HookDelivery, HookDeliveryFailed, HookDenied, LifecycleAction, LifecycleEvent, LifecycleEventId, LifecycleSnapshot, lifecycleEvent, lifecycleSnapshot };
51
+ //# sourceMappingURL=models.d.mts.map
@@ -0,0 +1,87 @@
1
+ import { SubjectId } from "../Schema.mjs";
2
+ import { LoginIdentifier } from "../identity/models.mjs";
3
+ import { Schema } from "effect";
4
+ //#region src/hooks/models.ts
5
+ const LifecycleAction = Schema.Literals([
6
+ "registration",
7
+ "sign-in",
8
+ "session-creation",
9
+ "credential-change",
10
+ "factor-change",
11
+ "identifier-change",
12
+ "linking",
13
+ "sign-out",
14
+ "proof-request",
15
+ "proof-verification",
16
+ "proof-completion"
17
+ ]);
18
+ /** Deliberately excludes credentials, proofs, tokens, claims, and verification authority. */
19
+ const LifecycleSnapshot = Schema.Struct({
20
+ action: LifecycleAction,
21
+ operation: Schema.NonEmptyString,
22
+ subjectId: Schema.optionalKey(SubjectId),
23
+ method: Schema.optionalKey(Schema.NonEmptyString),
24
+ identifiers: Schema.Array(LoginIdentifier)
25
+ });
26
+ const LifecycleEventId = Schema.NonEmptyString.pipe(Schema.brand("effect-auth/LifecycleEventId"));
27
+ /** The owner supplies a stable, nonsecret identifier; delivery retries reuse this exact event. */
28
+ const LifecycleEvent = Schema.Struct({
29
+ id: LifecycleEventId,
30
+ occurredAtMillis: Schema.Int.check(Schema.isBetween({
31
+ minimum: -864e13,
32
+ maximum: 864e13
33
+ })),
34
+ snapshot: LifecycleSnapshot
35
+ });
36
+ var HookDenied = class extends Schema.TaggedError()("HookDenied", { reason: Schema.Literals(["policy", "unavailable"]) }) {};
37
+ var HookDeliveryFailed = class extends Schema.TaggedError()("HookDeliveryFailed", {}) {};
38
+ var HookConfigurationError = class extends Schema.TaggedError()("HookConfigurationError", {
39
+ reason: Schema.Literals([
40
+ "duplicate-contribution",
41
+ "duplicate-event",
42
+ "duplicate-route",
43
+ "incompatible-transaction",
44
+ "closed-journal",
45
+ "invalid-snapshot"
46
+ ]),
47
+ contribution: Schema.String
48
+ }) {};
49
+ const snapshotCodec = Schema.toCodecIso(LifecycleSnapshot);
50
+ const encodeSnapshot = Schema.encodeSync(snapshotCodec);
51
+ const decodeSnapshot = Schema.decodeSync(snapshotCodec);
52
+ const eventCodec = Schema.toCodecIso(LifecycleEvent);
53
+ const encodeEvent = Schema.encodeSync(eventCodec);
54
+ const decodeEvent = Schema.decodeSync(eventCodec);
55
+ /** Projection also strips undeclared own properties of identifier Schema.Class instances. */
56
+ const lifecycleSnapshot = (input) => {
57
+ try {
58
+ const snapshot = decodeSnapshot(encodeSnapshot(input));
59
+ return Object.freeze({
60
+ ...snapshot,
61
+ identifiers: Object.freeze(snapshot.identifiers.map((identifier) => Object.freeze(identifier)))
62
+ });
63
+ } catch {
64
+ throw HookConfigurationError.make({
65
+ reason: "invalid-snapshot",
66
+ contribution: "snapshot"
67
+ });
68
+ }
69
+ };
70
+ const lifecycleEvent = (input) => {
71
+ try {
72
+ const event = decodeEvent(encodeEvent(input));
73
+ return Object.freeze({
74
+ ...event,
75
+ snapshot: lifecycleSnapshot(event.snapshot)
76
+ });
77
+ } catch {
78
+ throw HookConfigurationError.make({
79
+ reason: "invalid-snapshot",
80
+ contribution: "event"
81
+ });
82
+ }
83
+ };
84
+ //#endregion
85
+ export { HookConfigurationError, HookDeliveryFailed, HookDenied, LifecycleAction, LifecycleEvent, LifecycleEventId, LifecycleSnapshot, lifecycleEvent, lifecycleSnapshot };
86
+
87
+ //# sourceMappingURL=models.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.mjs","names":[],"sources":["../../src/hooks/models.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nimport { LoginIdentifier } from \"../identity/models\";\nimport { SubjectId } from \"../Schema\";\n\nexport const LifecycleAction = Schema.Literals([\n \"registration\",\n \"sign-in\",\n \"session-creation\",\n \"credential-change\",\n \"factor-change\",\n \"identifier-change\",\n \"linking\",\n \"sign-out\",\n \"proof-request\",\n \"proof-verification\",\n \"proof-completion\",\n]);\n\nexport type LifecycleAction = typeof LifecycleAction.Type;\n\n/** Deliberately excludes credentials, proofs, tokens, claims, and verification authority. */\nexport const LifecycleSnapshot = Schema.Struct({\n action: LifecycleAction,\n operation: Schema.NonEmptyString,\n subjectId: Schema.optionalKey(SubjectId),\n method: Schema.optionalKey(Schema.NonEmptyString),\n identifiers: Schema.Array(LoginIdentifier),\n});\n\nexport type LifecycleSnapshot = typeof LifecycleSnapshot.Type;\n\nexport const LifecycleEventId = Schema.NonEmptyString.pipe(\n Schema.brand(\"effect-auth/LifecycleEventId\"),\n);\n\nexport type LifecycleEventId = typeof LifecycleEventId.Type;\n\n/** The owner supplies a stable, nonsecret identifier; delivery retries reuse this exact event. */\nexport const LifecycleEvent = Schema.Struct({\n id: LifecycleEventId,\n occurredAtMillis: Schema.Int.check(\n Schema.isBetween({ minimum: -8640000000000000, maximum: 8640000000000000 }),\n ),\n snapshot: LifecycleSnapshot,\n});\n\nexport type LifecycleEvent = typeof LifecycleEvent.Type;\n\nexport class HookDenied extends Schema.TaggedError<HookDenied>()(\"HookDenied\", {\n reason: Schema.Literals([\"policy\", \"unavailable\"]),\n}) {}\n\nexport class HookDeliveryFailed extends Schema.TaggedError<HookDeliveryFailed>()(\n \"HookDeliveryFailed\",\n {},\n) {}\n\nexport class HookConfigurationError extends Schema.TaggedError<HookConfigurationError>()(\n \"HookConfigurationError\",\n {\n reason: Schema.Literals([\n \"duplicate-contribution\",\n \"duplicate-event\",\n \"duplicate-route\",\n \"incompatible-transaction\",\n \"closed-journal\",\n \"invalid-snapshot\",\n ]),\n contribution: Schema.String,\n },\n) {}\n\nexport interface HookDelivery {\n readonly eventId: LifecycleEventId;\n readonly contribution: string;\n readonly status: \"delivered\" | \"failed\";\n}\n\nconst snapshotCodec = Schema.toCodecIso(LifecycleSnapshot);\nconst encodeSnapshot = Schema.encodeSync(snapshotCodec);\nconst decodeSnapshot = Schema.decodeSync(snapshotCodec);\nconst eventCodec = Schema.toCodecIso(LifecycleEvent);\nconst encodeEvent = Schema.encodeSync(eventCodec);\nconst decodeEvent = Schema.decodeSync(eventCodec);\n\n/** Projection also strips undeclared own properties of identifier Schema.Class instances. */\nexport const lifecycleSnapshot = (input: LifecycleSnapshot): LifecycleSnapshot => {\n try {\n const snapshot = decodeSnapshot(encodeSnapshot(input));\n\n return Object.freeze({\n ...snapshot,\n identifiers: Object.freeze(\n snapshot.identifiers.map((identifier) => Object.freeze(identifier)),\n ),\n });\n } catch {\n throw HookConfigurationError.make({ reason: \"invalid-snapshot\", contribution: \"snapshot\" });\n }\n};\n\nexport const lifecycleEvent = (input: LifecycleEvent): LifecycleEvent => {\n try {\n const event = decodeEvent(encodeEvent(input));\n\n return Object.freeze({ ...event, snapshot: lifecycleSnapshot(event.snapshot) });\n } catch {\n throw HookConfigurationError.make({ reason: \"invalid-snapshot\", contribution: \"event\" });\n }\n};\n"],"mappings":";;;;AAKA,MAAa,kBAAkB,OAAO,SAAS;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;AAKD,MAAa,oBAAoB,OAAO,OAAO;CAC7C,QAAQ;CACR,WAAW,OAAO;CAClB,WAAW,OAAO,YAAY,SAAS;CACvC,QAAQ,OAAO,YAAY,OAAO,cAAc;CAChD,aAAa,OAAO,MAAM,eAAe;AAC3C,CAAC;AAID,MAAa,mBAAmB,OAAO,eAAe,KACpD,OAAO,MAAM,8BAA8B,CAC7C;;AAKA,MAAa,iBAAiB,OAAO,OAAO;CAC1C,IAAI;CACJ,kBAAkB,OAAO,IAAI,MAC3B,OAAO,UAAU;EAAE,SAAS;EAAmB,SAAS;CAAiB,CAAC,CAC5E;CACA,UAAU;AACZ,CAAC;AAID,IAAa,aAAb,cAAgC,OAAO,YAAwB,CAAC,CAAC,cAAc,EAC7E,QAAQ,OAAO,SAAS,CAAC,UAAU,aAAa,CAAC,EACnD,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,qBAAb,cAAwC,OAAO,YAAgC,CAAC,CAC9E,sBACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,yBAAb,cAA4C,OAAO,YAAoC,CAAC,CACtF,0BACA;CACE,QAAQ,OAAO,SAAS;EACtB;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,cAAc,OAAO;AACvB,CACF,CAAC,CAAC,CAAC;AAQH,MAAM,gBAAgB,OAAO,WAAW,iBAAiB;AACzD,MAAM,iBAAiB,OAAO,WAAW,aAAa;AACtD,MAAM,iBAAiB,OAAO,WAAW,aAAa;AACtD,MAAM,aAAa,OAAO,WAAW,cAAc;AACnD,MAAM,cAAc,OAAO,WAAW,UAAU;AAChD,MAAM,cAAc,OAAO,WAAW,UAAU;;AAGhD,MAAa,qBAAqB,UAAgD;CAChF,IAAI;EACF,MAAM,WAAW,eAAe,eAAe,KAAK,CAAC;EAErD,OAAO,OAAO,OAAO;GACnB,GAAG;GACH,aAAa,OAAO,OAClB,SAAS,YAAY,KAAK,eAAe,OAAO,OAAO,UAAU,CAAC,CACpE;EACF,CAAC;CACH,QAAQ;EACN,MAAM,uBAAuB,KAAK;GAAE,QAAQ;GAAoB,cAAc;EAAW,CAAC;CAC5F;AACF;AAEA,MAAa,kBAAkB,UAA0C;CACvE,IAAI;EACF,MAAM,QAAQ,YAAY,YAAY,KAAK,CAAC;EAE5C,OAAO,OAAO,OAAO;GAAE,GAAG;GAAO,UAAU,kBAAkB,MAAM,QAAQ;EAAE,CAAC;CAChF,QAAQ;EACN,MAAM,uBAAuB,KAAK;GAAE,QAAQ;GAAoB,cAAc;EAAQ,CAAC;CACzF;AACF"}
@@ -0,0 +1,36 @@
1
+ import { AnyOperation } from "../operations/operation.mjs";
2
+ import { HookConfigurationError } from "./models.mjs";
3
+ import { AnyHookContribution, HookContributionId, LifecycleHooks } from "./LifecycleHooks.mjs";
4
+ import { RpcGroup } from "effect/unstable/rpc";
5
+ //#region src/hooks/plugins.d.ts
6
+ /** Host-owned route implementation; metadata only reserves the method/path pair. */
7
+ interface RouteContribution {
8
+ readonly id: string;
9
+ readonly method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
10
+ readonly path: string;
11
+ }
12
+ interface PluginContributions {
13
+ readonly id: string;
14
+ readonly operations: ReadonlyArray<AnyOperation>;
15
+ readonly hooks: ReadonlyArray<AnyHookContribution>;
16
+ readonly routes: ReadonlyArray<RouteContribution>;
17
+ }
18
+ /** Optional aggregation metadata alongside ordinary exported implementation Layers. */
19
+ declare const pluginContributions: <const Contributions extends PluginContributions>(contributions: Contributions) => Readonly<{
20
+ id: string;
21
+ operations: Contributions["operations"];
22
+ hooks: Contributions["hooks"];
23
+ routes: Contributions["routes"];
24
+ }>;
25
+ declare const composePlugins: <const Plugins extends ReadonlyArray<PluginContributions>>(...plugins: Plugins) => Readonly<{
26
+ operations: RpcGroup.RpcGroup<Plugins[number]["operations"][number]["rpc"]>;
27
+ hooks: import("effect/Layer").Layer<LifecycleHooks, HookConfigurationError, Exclude<HookContributionId<Plugins[number]["hooks"][number]["id"]>, import("effect/Scope").Scope>>;
28
+ routes: readonly Readonly<{
29
+ id: string;
30
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
31
+ path: string;
32
+ }>[];
33
+ }>;
34
+ //#endregion
35
+ export { PluginContributions, RouteContribution, composePlugins, pluginContributions };
36
+ //# sourceMappingURL=plugins.d.mts.map
@@ -0,0 +1,60 @@
1
+ import { HookConfigurationError } from "./models.mjs";
2
+ import { operationGroup } from "../operations/operation.mjs";
3
+ import { composeHooks } from "./LifecycleHooks.mjs";
4
+ //#region src/hooks/plugins.ts
5
+ /** Optional aggregation metadata alongside ordinary exported implementation Layers. */
6
+ const pluginContributions = (contributions) => Object.freeze({
7
+ id: contributions.id,
8
+ operations: Object.freeze([...contributions.operations]),
9
+ hooks: Object.freeze([...contributions.hooks]),
10
+ routes: Object.freeze(contributions.routes.map((route) => Object.freeze({ ...route })))
11
+ });
12
+ const composePlugins = (...plugins) => {
13
+ const snapshots = plugins.map((plugin) => ({
14
+ id: plugin.id,
15
+ operations: [...plugin.operations],
16
+ hooks: plugin.hooks.map(({ id, resolve }) => Object.freeze({
17
+ id,
18
+ resolve
19
+ })),
20
+ routes: plugin.routes.map((route) => Object.freeze({ ...route }))
21
+ }));
22
+ const ids = /* @__PURE__ */ new Set();
23
+ const hookIds = /* @__PURE__ */ new Set();
24
+ const routeIds = /* @__PURE__ */ new Set();
25
+ const routeKeys = /* @__PURE__ */ new Set();
26
+ for (const plugin of snapshots) {
27
+ if (ids.has(plugin.id)) throw HookConfigurationError.make({
28
+ reason: "duplicate-contribution",
29
+ contribution: plugin.id
30
+ });
31
+ ids.add(plugin.id);
32
+ for (const hook of plugin.hooks) {
33
+ if (hookIds.has(hook.id)) throw HookConfigurationError.make({
34
+ reason: "duplicate-contribution",
35
+ contribution: hook.id
36
+ });
37
+ hookIds.add(hook.id);
38
+ }
39
+ for (const route of plugin.routes) {
40
+ const key = `${route.method} ${route.path}`;
41
+ if (routeIds.has(route.id) || routeKeys.has(key)) throw HookConfigurationError.make({
42
+ reason: "duplicate-route",
43
+ contribution: route.id
44
+ });
45
+ routeIds.add(route.id);
46
+ routeKeys.add(key);
47
+ }
48
+ }
49
+ const operations = snapshots.flatMap((plugin) => plugin.operations);
50
+ const hooks = snapshots.flatMap((plugin) => plugin.hooks);
51
+ return Object.freeze({
52
+ operations: operationGroup(...operations),
53
+ hooks: composeHooks(...hooks),
54
+ routes: Object.freeze(snapshots.flatMap((plugin) => plugin.routes))
55
+ });
56
+ };
57
+ //#endregion
58
+ export { composePlugins, pluginContributions };
59
+
60
+ //# sourceMappingURL=plugins.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.mjs","names":[],"sources":["../../src/hooks/plugins.ts"],"sourcesContent":["import type { RpcGroup } from \"effect/unstable/rpc\";\n\nimport { type AnyOperation, operationGroup } from \"../operations/operation\";\nimport { type AnyHookContribution, composeHooks } from \"./LifecycleHooks\";\nimport { HookConfigurationError } from \"./models\";\n\n/** Host-owned route implementation; metadata only reserves the method/path pair. */\nexport interface RouteContribution {\n readonly id: string;\n readonly method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\" | \"OPTIONS\" | \"HEAD\";\n readonly path: string;\n}\n\nexport interface PluginContributions {\n readonly id: string;\n readonly operations: ReadonlyArray<AnyOperation>;\n readonly hooks: ReadonlyArray<AnyHookContribution>;\n readonly routes: ReadonlyArray<RouteContribution>;\n}\n\n/** Optional aggregation metadata alongside ordinary exported implementation Layers. */\nexport const pluginContributions = <const Contributions extends PluginContributions>(\n contributions: Contributions,\n) =>\n Object.freeze({\n id: contributions.id,\n operations: Object.freeze([...contributions.operations]) as Contributions[\"operations\"],\n hooks: Object.freeze([...contributions.hooks]) as Contributions[\"hooks\"],\n routes: Object.freeze(\n contributions.routes.map((route) => Object.freeze({ ...route })),\n ) as Contributions[\"routes\"],\n });\n\nexport const composePlugins = <const Plugins extends ReadonlyArray<PluginContributions>>(\n ...plugins: Plugins\n) => {\n const snapshots = plugins.map((plugin) => ({\n id: plugin.id,\n operations: [...plugin.operations],\n hooks: plugin.hooks.map(({ id, resolve }) => Object.freeze({ id, resolve })),\n routes: plugin.routes.map((route) => Object.freeze({ ...route })),\n }));\n\n const ids = new Set<string>();\n const hookIds = new Set<string>();\n const routeIds = new Set<string>();\n const routeKeys = new Set<string>();\n\n for (const plugin of snapshots) {\n if (ids.has(plugin.id))\n throw HookConfigurationError.make({\n reason: \"duplicate-contribution\",\n contribution: plugin.id,\n });\n ids.add(plugin.id);\n for (const hook of plugin.hooks) {\n if (hookIds.has(hook.id))\n throw HookConfigurationError.make({\n reason: \"duplicate-contribution\",\n contribution: hook.id,\n });\n hookIds.add(hook.id);\n }\n for (const route of plugin.routes) {\n const key = `${route.method} ${route.path}`;\n\n if (routeIds.has(route.id) || routeKeys.has(key))\n throw HookConfigurationError.make({ reason: \"duplicate-route\", contribution: route.id });\n routeIds.add(route.id);\n routeKeys.add(key);\n }\n }\n const operations = snapshots.flatMap((plugin) => plugin.operations);\n\n const hooks = snapshots.flatMap((plugin) => plugin.hooks) as Array<\n Plugins[number][\"hooks\"][number]\n >;\n\n return Object.freeze({\n // Array flattening erases tuple membership; every RPC comes from these validated contributions.\n operations: operationGroup(...operations) as RpcGroup.RpcGroup<\n Plugins[number][\"operations\"][number][\"rpc\"]\n >,\n hooks: composeHooks<Plugins[number][\"hooks\"][number][\"id\"]>(...hooks),\n routes: Object.freeze(snapshots.flatMap((plugin) => plugin.routes)),\n });\n};\n"],"mappings":";;;;;AAqBA,MAAa,uBACX,kBAEA,OAAO,OAAO;CACZ,IAAI,cAAc;CAClB,YAAY,OAAO,OAAO,CAAC,GAAG,cAAc,UAAU,CAAC;CACvD,OAAO,OAAO,OAAO,CAAC,GAAG,cAAc,KAAK,CAAC;CAC7C,QAAQ,OAAO,OACb,cAAc,OAAO,KAAK,UAAU,OAAO,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CACjE;AACF,CAAC;AAEH,MAAa,kBACX,GAAG,YACA;CACH,MAAM,YAAY,QAAQ,KAAK,YAAY;EACzC,IAAI,OAAO;EACX,YAAY,CAAC,GAAG,OAAO,UAAU;EACjC,OAAO,OAAO,MAAM,KAAK,EAAE,IAAI,cAAc,OAAO,OAAO;GAAE;GAAI;EAAQ,CAAC,CAAC;EAC3E,QAAQ,OAAO,OAAO,KAAK,UAAU,OAAO,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;CAClE,EAAE;CAEF,MAAM,sBAAM,IAAI,IAAY;CAC5B,MAAM,0BAAU,IAAI,IAAY;CAChC,MAAM,2BAAW,IAAI,IAAY;CACjC,MAAM,4BAAY,IAAI,IAAY;CAElC,KAAK,MAAM,UAAU,WAAW;EAC9B,IAAI,IAAI,IAAI,OAAO,EAAE,GACnB,MAAM,uBAAuB,KAAK;GAChC,QAAQ;GACR,cAAc,OAAO;EACvB,CAAC;EACH,IAAI,IAAI,OAAO,EAAE;EACjB,KAAK,MAAM,QAAQ,OAAO,OAAO;GAC/B,IAAI,QAAQ,IAAI,KAAK,EAAE,GACrB,MAAM,uBAAuB,KAAK;IAChC,QAAQ;IACR,cAAc,KAAK;GACrB,CAAC;GACH,QAAQ,IAAI,KAAK,EAAE;EACrB;EACA,KAAK,MAAM,SAAS,OAAO,QAAQ;GACjC,MAAM,MAAM,GAAG,MAAM,OAAO,GAAG,MAAM;GAErC,IAAI,SAAS,IAAI,MAAM,EAAE,KAAK,UAAU,IAAI,GAAG,GAC7C,MAAM,uBAAuB,KAAK;IAAE,QAAQ;IAAmB,cAAc,MAAM;GAAG,CAAC;GACzF,SAAS,IAAI,MAAM,EAAE;GACrB,UAAU,IAAI,GAAG;EACnB;CACF;CACA,MAAM,aAAa,UAAU,SAAS,WAAW,OAAO,UAAU;CAElE,MAAM,QAAQ,UAAU,SAAS,WAAW,OAAO,KAAK;CAIxD,OAAO,OAAO,OAAO;EAEnB,YAAY,eAAe,GAAG,UAAU;EAGxC,OAAO,aAAqD,GAAG,KAAK;EACpE,QAAQ,OAAO,OAAO,UAAU,SAAS,WAAW,OAAO,MAAM,CAAC;CACpE,CAAC;AACH"}
@@ -0,0 +1,31 @@
1
+ import { LifecycleSnapshot } from "./models.mjs";
2
+ import { Effect } from "effect";
3
+ //#region src/hooks/transactions.d.ts
4
+ type CommitMode = "interactive" | "synchronous" | "batch";
5
+ interface AtomicContribution {
6
+ readonly id: string;
7
+ readonly mode: CommitMode;
8
+ /** Static validation, before the transaction owner executes any writes. */
9
+ readonly validate?: () => void;
10
+ }
11
+ declare const validateContributions: (mode: CommitMode, contributions: ReadonlyArray<AtomicContribution>) => void;
12
+ declare const interactiveContribution: <E, R>(id: string, run: (snapshot: LifecycleSnapshot) => Effect.Effect<void, E, R>) => Readonly<{
13
+ id: string;
14
+ mode: "interactive";
15
+ run: (snapshot: LifecycleSnapshot) => Effect.Effect<void, E, R>;
16
+ }>;
17
+ /** The native owner executes this Effect synchronously and rolls back failures or suspension. */
18
+ declare const synchronousContribution: <E, R>(id: string, run: (snapshot: LifecycleSnapshot) => Effect.Effect<void, E, R>) => Readonly<{
19
+ id: string;
20
+ mode: "synchronous";
21
+ run: (snapshot: LifecycleSnapshot) => Effect.Effect<void, E, R>;
22
+ }>;
23
+ /** Pure statement planning only; the consumer supplies and executes the actual atomic batch. */
24
+ declare const batchContribution: <Statement>(id: string, statements: (snapshot: LifecycleSnapshot) => ReadonlyArray<Statement>) => Readonly<{
25
+ id: string;
26
+ mode: "batch";
27
+ statements: (snapshot: LifecycleSnapshot) => ReadonlyArray<Statement>;
28
+ }>;
29
+ //#endregion
30
+ export { AtomicContribution, CommitMode, batchContribution, interactiveContribution, synchronousContribution, validateContributions };
31
+ //# sourceMappingURL=transactions.d.mts.map
@@ -0,0 +1,38 @@
1
+ import { HookConfigurationError } from "./models.mjs";
2
+ //#region src/hooks/transactions.ts
3
+ const validateContributions = (mode, contributions) => {
4
+ const ids = /* @__PURE__ */ new Set();
5
+ for (const contribution of contributions) {
6
+ if (ids.has(contribution.id)) throw HookConfigurationError.make({
7
+ reason: "duplicate-contribution",
8
+ contribution: contribution.id
9
+ });
10
+ ids.add(contribution.id);
11
+ if (mode !== contribution.mode) throw HookConfigurationError.make({
12
+ reason: "incompatible-transaction",
13
+ contribution: contribution.id
14
+ });
15
+ contribution.validate?.();
16
+ }
17
+ };
18
+ const interactiveContribution = (id, run) => Object.freeze({
19
+ id,
20
+ mode: "interactive",
21
+ run
22
+ });
23
+ /** The native owner executes this Effect synchronously and rolls back failures or suspension. */
24
+ const synchronousContribution = (id, run) => Object.freeze({
25
+ id,
26
+ mode: "synchronous",
27
+ run
28
+ });
29
+ /** Pure statement planning only; the consumer supplies and executes the actual atomic batch. */
30
+ const batchContribution = (id, statements) => Object.freeze({
31
+ id,
32
+ mode: "batch",
33
+ statements
34
+ });
35
+ //#endregion
36
+ export { batchContribution, interactiveContribution, synchronousContribution, validateContributions };
37
+
38
+ //# sourceMappingURL=transactions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.mjs","names":[],"sources":["../../src/hooks/transactions.ts"],"sourcesContent":["import type { Effect } from \"effect\";\n\nimport { HookConfigurationError, type LifecycleSnapshot } from \"./models\";\n\nexport type CommitMode = \"interactive\" | \"synchronous\" | \"batch\";\n\nexport interface AtomicContribution {\n readonly id: string;\n readonly mode: CommitMode;\n /** Static validation, before the transaction owner executes any writes. */\n readonly validate?: () => void;\n}\n\nexport const validateContributions = (\n mode: CommitMode,\n contributions: ReadonlyArray<AtomicContribution>,\n): void => {\n const ids = new Set<string>();\n\n for (const contribution of contributions) {\n if (ids.has(contribution.id))\n throw HookConfigurationError.make({\n reason: \"duplicate-contribution\",\n contribution: contribution.id,\n });\n ids.add(contribution.id);\n if (mode !== contribution.mode)\n throw HookConfigurationError.make({\n reason: \"incompatible-transaction\",\n contribution: contribution.id,\n });\n contribution.validate?.();\n }\n};\n\nexport const interactiveContribution = <E, R>(\n id: string,\n run: (snapshot: LifecycleSnapshot) => Effect.Effect<void, E, R>,\n) => Object.freeze({ id, mode: \"interactive\" as const, run });\n\n/** The native owner executes this Effect synchronously and rolls back failures or suspension. */\nexport const synchronousContribution = <E, R>(\n id: string,\n run: (snapshot: LifecycleSnapshot) => Effect.Effect<void, E, R>,\n) => Object.freeze({ id, mode: \"synchronous\" as const, run });\n\n/** Pure statement planning only; the consumer supplies and executes the actual atomic batch. */\nexport const batchContribution = <Statement>(\n id: string,\n statements: (snapshot: LifecycleSnapshot) => ReadonlyArray<Statement>,\n) => Object.freeze({ id, mode: \"batch\" as const, statements });\n"],"mappings":";;AAaA,MAAa,yBACX,MACA,kBACS;CACT,MAAM,sBAAM,IAAI,IAAY;CAE5B,KAAK,MAAM,gBAAgB,eAAe;EACxC,IAAI,IAAI,IAAI,aAAa,EAAE,GACzB,MAAM,uBAAuB,KAAK;GAChC,QAAQ;GACR,cAAc,aAAa;EAC7B,CAAC;EACH,IAAI,IAAI,aAAa,EAAE;EACvB,IAAI,SAAS,aAAa,MACxB,MAAM,uBAAuB,KAAK;GAChC,QAAQ;GACR,cAAc,aAAa;EAC7B,CAAC;EACH,aAAa,WAAW;CAC1B;AACF;AAEA,MAAa,2BACX,IACA,QACG,OAAO,OAAO;CAAE;CAAI,MAAM;CAAwB;AAAI,CAAC;;AAG5D,MAAa,2BACX,IACA,QACG,OAAO,OAAO;CAAE;CAAI,MAAM;CAAwB;AAAI,CAAC;;AAG5D,MAAa,qBACX,IACA,eACG,OAAO,OAAO;CAAE;CAAI,MAAM;CAAkB;AAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { AuthRateLimited, AuthUnavailable, InvalidAuthRequest, InvalidCredentials, InvalidEmailOtp } from "../Errors.mjs";
2
+ import { ExistingSessionResult, PasswordSignInPayload, RegistrationRequiredResult, RequestEmailOtpPayload, SessionStateAnonymous, SessionStateAuthenticated, SessionStateRegistrationRequired, SetPasswordPayload, VerifyEmailOtpPayload } from "./models.mjs";
3
+ import { ChallengeMiddleware, SessionMiddleware } from "./security.mjs";
4
+ import { HttpApiGroup } from "effect/unstable/httpapi";
5
+ //#region src/http/auth-api.d.ts
6
+ declare const AuthApi: HttpApiGroup.HttpApiGroup<"auth", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"getSession", "GET", "/auth/session", never, never, never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Union<readonly [typeof SessionStateAnonymous, typeof SessionStateRegistrationRequired, typeof SessionStateAuthenticated]>>, import("effect/Schema").toCodecJson<typeof AuthUnavailable>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"passwordSignIn", "POST", "/auth/password/sign-in", never, never, import("effect/Schema").toCodecJson<typeof PasswordSignInPayload>, never, import("effect/Schema").toCodecJson<typeof SessionStateAuthenticated>, import("effect/Schema").toCodecJson<typeof InvalidCredentials | typeof InvalidAuthRequest | typeof AuthRateLimited | typeof AuthUnavailable>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"requestEmailOtp", "POST", "/auth/email-otp", never, never, import("effect/Schema").toCodecJson<typeof RequestEmailOtpPayload>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Void>, import("effect/Schema").toCodecJson<typeof InvalidAuthRequest | typeof AuthRateLimited | typeof AuthUnavailable>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"setPassword", "POST", "/auth/password", never, never, import("effect/Schema").toCodecJson<typeof SetPasswordPayload>, never, import("effect/Schema").toCodecJson<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/Schema").toCodecJson<typeof InvalidCredentials | typeof InvalidAuthRequest | typeof AuthRateLimited | typeof AuthUnavailable>, SessionMiddleware, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"signOut", "POST", "/auth/sign-out", never, never, never, never, import("effect/Schema").toCodecJson<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, never, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"verifyEmailOtp", "POST", "/auth/email-otp/verify", never, never, import("effect/Schema").toCodecJson<typeof VerifyEmailOtpPayload>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Union<readonly [typeof ExistingSessionResult, typeof RegistrationRequiredResult]>>, import("effect/Schema").toCodecJson<typeof InvalidEmailOtp | typeof InvalidAuthRequest | typeof AuthUnavailable>, ChallengeMiddleware, never>, false>;
7
+ //#endregion
8
+ export { AuthApi };
9
+ //# sourceMappingURL=auth-api.d.mts.map
@@ -0,0 +1,13 @@
1
+ import { GetSessionEndpoint } from "./endpoints/get-session.mjs";
2
+ import { PasswordSignInEndpoint } from "./endpoints/password-sign-in.mjs";
3
+ import { RequestEmailOtpEndpoint } from "./endpoints/request-email-otp.mjs";
4
+ import { SetPasswordEndpoint } from "./endpoints/set-password.mjs";
5
+ import { SignOutEndpoint } from "./endpoints/sign-out.mjs";
6
+ import { VerifyEmailOtpEndpoint } from "./endpoints/verify-email-otp.mjs";
7
+ import { HttpApiGroup } from "effect/unstable/httpapi";
8
+ //#region src/http/auth-api.ts
9
+ const AuthApi = HttpApiGroup.make("auth").add(RequestEmailOtpEndpoint, VerifyEmailOtpEndpoint, PasswordSignInEndpoint, SetPasswordEndpoint, GetSessionEndpoint, SignOutEndpoint);
10
+ //#endregion
11
+ export { AuthApi };
12
+
13
+ //# sourceMappingURL=auth-api.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-api.mjs","names":[],"sources":["../../src/http/auth-api.ts"],"sourcesContent":["import { HttpApiGroup } from \"effect/unstable/httpapi\";\n\nimport { GetSessionEndpoint } from \"./endpoints/get-session\";\nimport { PasswordSignInEndpoint } from \"./endpoints/password-sign-in\";\nimport { RequestEmailOtpEndpoint } from \"./endpoints/request-email-otp\";\nimport { SetPasswordEndpoint } from \"./endpoints/set-password\";\nimport { SignOutEndpoint } from \"./endpoints/sign-out\";\nimport { VerifyEmailOtpEndpoint } from \"./endpoints/verify-email-otp\";\n\nexport const AuthApi = HttpApiGroup.make(\"auth\").add(\n RequestEmailOtpEndpoint,\n VerifyEmailOtpEndpoint,\n PasswordSignInEndpoint,\n SetPasswordEndpoint,\n GetSessionEndpoint,\n SignOutEndpoint,\n);\n"],"mappings":";;;;;;;;AASA,MAAa,UAAU,aAAa,KAAK,MAAM,CAAC,CAAC,IAC/C,yBACA,wBACA,wBACA,qBACA,oBACA,eACF"}
@@ -0,0 +1,84 @@
1
+ import { AnyAuthAction, AuthActions } from "../operations/actions.mjs";
2
+ import { Schema } from "effect";
3
+ import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
4
+ //#region src/http/auth-contract.d.ts
5
+ declare const endpoint: <const Name extends string, A extends AnyAuthAction>(name: Name, action: A) => HttpApiEndpoint.HttpApiEndpoint<Name, "GET", `/${string}`, never, never, never, never, Schema.toCodecJson<Schema.TaggedStruct<"Success", {}> | Schema.TaggedStruct<"Success", {
6
+ readonly value: Schema.optionalKey<Schema.toEncoded<A["route"]["operation"]["rpc"]["successSchema"]>>;
7
+ }> | Schema.TaggedStruct<"Success", {
8
+ readonly value: Schema.toEncoded<A["route"]["operation"]["rpc"]["successSchema"]>;
9
+ }> | Schema.TaggedStruct<"Success", {
10
+ readonly value: Schema.toEncoded<A["route"]["operation"]["rpc"]["successSchema"]>;
11
+ readonly private: Schema.optionalKey<Schema.$Array<Schema.Struct<{
12
+ readonly kind: Schema.Literals<readonly ["totp-enrollment", "recovery-codes"]>;
13
+ readonly revealId: Schema.NonEmptyString;
14
+ readonly expiresAtMillis: Schema.Int;
15
+ readonly payload: Schema.Codec<Schema.Json, Schema.Json, never, never>;
16
+ }>>>;
17
+ }>>, Schema.toCodecJson<Schema.Struct<{
18
+ readonly _tag: Schema.tag<"Failure">;
19
+ readonly error: Schema.toEncoded<A["route"]["operation"]["rpc"]["errorSchema"]>;
20
+ }> | Schema.Struct<{
21
+ readonly _tag: Schema.tag<"TransportFailure">;
22
+ readonly reason: Schema.Literals<readonly ["request", "credentials", "response", "network", "stale-response", "private-output"]>;
23
+ }> | Schema.Struct<{
24
+ readonly _tag: Schema.tag<"TransportFailure">;
25
+ readonly reason: Schema.Literals<readonly ["origin", "csrf"]>;
26
+ }> | Schema.Struct<{
27
+ readonly _tag: Schema.tag<"TransportFailure">;
28
+ readonly reason: Schema.Literals<readonly ["not-found"]>;
29
+ }> | Schema.Struct<{
30
+ readonly _tag: Schema.tag<"TransportFailure">;
31
+ readonly reason: Schema.Literals<readonly ["method"]>;
32
+ }> | Schema.Struct<{
33
+ readonly _tag: Schema.tag<"TransportFailure">;
34
+ readonly reason: Schema.Literals<readonly ["too-large"]>;
35
+ }> | Schema.Struct<{
36
+ readonly _tag: Schema.tag<"TransportFailure">;
37
+ readonly reason: Schema.Literals<readonly ["unavailable"]>;
38
+ }>>, never, never> | HttpApiEndpoint.HttpApiEndpoint<Name, "POST", `/${string}`, never, never, Schema.toCodecJson<Schema.toEncoded<Schema.Struct<{}>>>, never, Schema.toCodecJson<Schema.toEncoded<Schema.TaggedStruct<"Success", {}> | Schema.TaggedStruct<"Success", {
39
+ readonly value: Schema.optionalKey<Schema.toEncoded<A["route"]["operation"]["rpc"]["successSchema"]>>;
40
+ }> | Schema.TaggedStruct<"Success", {
41
+ readonly value: Schema.toEncoded<A["route"]["operation"]["rpc"]["successSchema"]>;
42
+ }> | Schema.TaggedStruct<"Success", {
43
+ readonly value: Schema.toEncoded<A["route"]["operation"]["rpc"]["successSchema"]>;
44
+ readonly private: Schema.optionalKey<Schema.$Array<Schema.Struct<{
45
+ readonly kind: Schema.Literals<readonly ["totp-enrollment", "recovery-codes"]>;
46
+ readonly revealId: Schema.NonEmptyString;
47
+ readonly expiresAtMillis: Schema.Int;
48
+ readonly payload: Schema.Codec<Schema.Json, Schema.Json, never, never>;
49
+ }>>>;
50
+ }>>>, Schema.toCodecJson<Schema.Struct<{
51
+ readonly _tag: Schema.tag<"TransportFailure">;
52
+ readonly reason: Schema.Literals<readonly ["request", "credentials", "response", "network", "stale-response", "private-output"]>;
53
+ }> | Schema.Struct<{
54
+ readonly _tag: Schema.tag<"TransportFailure">;
55
+ readonly reason: Schema.Literals<readonly ["origin", "csrf"]>;
56
+ }> | Schema.Struct<{
57
+ readonly _tag: Schema.tag<"TransportFailure">;
58
+ readonly reason: Schema.Literals<readonly ["not-found"]>;
59
+ }> | Schema.Struct<{
60
+ readonly _tag: Schema.tag<"TransportFailure">;
61
+ readonly reason: Schema.Literals<readonly ["method"]>;
62
+ }> | Schema.Struct<{
63
+ readonly _tag: Schema.tag<"TransportFailure">;
64
+ readonly reason: Schema.Literals<readonly ["too-large"]>;
65
+ }> | Schema.Struct<{
66
+ readonly _tag: Schema.tag<"TransportFailure">;
67
+ readonly reason: Schema.Literals<readonly ["unavailable"]>;
68
+ }> | Schema.toEncoded<Schema.Struct<{
69
+ readonly _tag: Schema.tag<"Failure">;
70
+ readonly error: Schema.toEncoded<A["route"]["operation"]["rpc"]["errorSchema"]>;
71
+ }>>>, never, never>;
72
+ type Endpoints<Actions extends AuthActions> = { readonly [Name in keyof Actions]: ReturnType<typeof endpoint<Extract<Name, string>, Actions[Name]>>; }[keyof Actions];
73
+ /** Native HttpApi projection of the named transport. Public envelopes are exact;
74
+ * private credentials remain cookies/headers, and private reveals retain their envelope.
75
+ * Server handlers use the same bounded operation decoder before schema projection.
76
+ */
77
+ declare const httpGroup: <Actions extends AuthActions, const Name extends string = "auth">(contract: {
78
+ readonly actions: Actions;
79
+ }, options?: {
80
+ readonly name?: Name;
81
+ }) => HttpApiGroup.HttpApiGroup<Name, Endpoints<Actions>, false>;
82
+ //#endregion
83
+ export { httpGroup };
84
+ //# sourceMappingURL=auth-contract.d.mts.map