@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,148 @@
1
+ import { HookDenied } from "../hooks/models.mjs";
2
+ import { OperationConfigurationError } from "./errors.mjs";
3
+ import { makeOperation } from "./operation.mjs";
4
+ import { SessionError, SessionSignOutUnavailable } from "../sessions/errors.mjs";
5
+ import { SessionSignOut } from "../sessions/models.mjs";
6
+ import { makeSessionContract } from "../sessions/contract.mjs";
7
+ import { Schema, SchemaAST } from "effect";
8
+ //#region src/operations/actions.ts
9
+ /** Define the schema and behavior of one public method, independently of its
10
+ * implementation. Inputs use the schema's encoded form, matching operation.invoke. */
11
+ const action = (options) => Object.freeze({
12
+ ...options,
13
+ method: options.method,
14
+ strategy: options.strategy,
15
+ requestFields: Object.freeze({ ...options.requestFields }),
16
+ reveals: Object.freeze([...options.reveals ?? []])
17
+ });
18
+ /** Reuse a pure operation contract for a named action. Request credential fields
19
+ * are removed from the public schema and restored only by the local request adapter. */
20
+ const fromOperation = (operation, options = {}) => {
21
+ if (operation.exposure !== "public") throw OperationConfigurationError.make({
22
+ reason: "internal-exposure",
23
+ operation: options.method ?? "action"
24
+ });
25
+ const fields = Object.fromEntries(Object.entries(operation.rpc.payloadSchema.fields).filter(([name]) => !Object.hasOwn(options.requestFields ?? {}, name)));
26
+ return action({
27
+ payload: Schema.Struct(fields),
28
+ success: operation.rpc.successSchema,
29
+ error: operation.rpc.errorSchema,
30
+ replay: operation.replay,
31
+ credentials: operation.credentials,
32
+ reveals: operation.reveals,
33
+ ...options,
34
+ mode: options.mode ?? "mutation"
35
+ });
36
+ };
37
+ const bindAction = (namespace, basePath, name, definition) => {
38
+ const requestFields = Object.freeze({ ...definition.requestFields });
39
+ const reveals = Object.freeze([...definition.reveals ?? []]);
40
+ if (!Schema.is(Schema.NonEmptyString.check(Schema.isPattern(/^[A-Za-z][A-Za-z0-9]*$/)))(name) || [
41
+ "then",
42
+ "__proto__",
43
+ "constructor",
44
+ "prototype",
45
+ "session",
46
+ "lifetime",
47
+ "runtime",
48
+ "client"
49
+ ].includes(name) || definition.mode === "query" && (definition.credentials === true || reveals.length > 0 || definition.replay !== void 0 && definition.replay !== "read-only")) throw OperationConfigurationError.make({
50
+ reason: "invalid-action",
51
+ operation: name
52
+ });
53
+ const operation = makeOperation(`${namespace}/api/${name}`, {
54
+ payload: definition.payload,
55
+ success: definition.success,
56
+ error: Schema.Union([
57
+ definition.error,
58
+ SessionError,
59
+ HookDenied
60
+ ]),
61
+ access: "any",
62
+ exposure: "public",
63
+ replay: definition.mode === "query" ? "read-only" : definition.replay ?? "non-idempotent",
64
+ ...definition.credentials === true ? { credentials: true } : {},
65
+ ...reveals.length > 0 ? { reveals } : {}
66
+ });
67
+ return Object.freeze({
68
+ route: Object.freeze({
69
+ operation,
70
+ path: `${basePath}/${name}`,
71
+ method: definition.mode === "query" && Object.keys(requestFields).length === 0 && (SchemaAST.isVoid(Schema.toEncoded(definition.payload).ast) || SchemaAST.isUndefined(Schema.toEncoded(definition.payload).ast)) ? "GET" : "POST",
72
+ credentials: Object.freeze({}),
73
+ reveals
74
+ }),
75
+ mode: definition.mode,
76
+ method: definition.method ?? name,
77
+ strategy: definition.strategy,
78
+ requestFields,
79
+ subject: definition.subject
80
+ });
81
+ };
82
+ const sessionActions = (session) => ({
83
+ getSession: action({
84
+ payload: Schema.Void,
85
+ success: Schema.NullOr(session),
86
+ error: Schema.Never,
87
+ mode: "query",
88
+ subject: { fromSuccess: (value) => value?.subjectId ?? null }
89
+ }),
90
+ requireSession: action({
91
+ payload: Schema.Void,
92
+ success: session,
93
+ error: Schema.Never,
94
+ mode: "query",
95
+ subject: { fromSuccess: (value) => value.subjectId }
96
+ }),
97
+ signOut: action({
98
+ payload: Schema.Void,
99
+ success: Schema.Union([SessionSignOut, SessionSignOutUnavailable]),
100
+ error: Schema.Never,
101
+ mode: "mutation",
102
+ replay: "idempotent",
103
+ credentials: true,
104
+ subject: { fromSuccess: () => null }
105
+ }),
106
+ renewSession: action({
107
+ payload: Schema.Void,
108
+ success: session,
109
+ error: Schema.Never,
110
+ mode: "mutation",
111
+ credentials: true
112
+ })
113
+ });
114
+ /** A browser-safe contract. The action callback only receives schemas; it never
115
+ * receives server configuration, keys, persistence or service implementations. */
116
+ const make = (namespace, options) => {
117
+ if (!Schema.is(Schema.NonEmptyString.check(Schema.isMaxLength(128), Schema.isPattern(/^[A-Za-z0-9._:/-]+$/)))(namespace)) throw OperationConfigurationError.make({
118
+ reason: "invalid-action",
119
+ operation: namespace
120
+ });
121
+ const basePath = options.basePath ?? "/auth";
122
+ if (!Schema.is(Schema.String.check(Schema.isPattern(/^\/(?:[A-Za-z0-9_-]+\/)*[A-Za-z0-9_-]+$/)))(basePath)) throw OperationConfigurationError.make({
123
+ reason: "invalid-action",
124
+ operation: namespace
125
+ });
126
+ const sessions = makeSessionContract(`${namespace}/sessions`, options.claims);
127
+ const defaults = sessionActions(sessions.Session);
128
+ const additional = options.actions?.(sessions) ?? {};
129
+ if (Object.keys(additional).some((name) => Object.hasOwn(defaults, name))) throw OperationConfigurationError.make({
130
+ reason: "duplicate-operation",
131
+ operation: namespace
132
+ });
133
+ const definitions = {
134
+ ...defaults,
135
+ ...additional
136
+ };
137
+ const actions = Object.fromEntries(Object.entries(definitions).map(([name, definition]) => [name, bindAction(namespace, basePath, name, definition)]));
138
+ return Object.freeze({
139
+ namespace,
140
+ claims: options.claims,
141
+ sessions,
142
+ actions: Object.freeze(actions)
143
+ });
144
+ };
145
+ //#endregion
146
+ export { action, fromOperation, make };
147
+
148
+ //# sourceMappingURL=actions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.mjs","names":[],"sources":["../../src/operations/actions.ts"],"sourcesContent":["import type { Effect } from \"effect\";\nimport { Schema, SchemaAST } from \"effect\";\nimport type { Rpc } from \"effect/unstable/rpc\";\n\nimport { HookDenied } from \"../hooks/models\";\nimport { makeSessionContract } from \"../sessions/contract\";\nimport { SessionError, SessionSignOutUnavailable } from \"../sessions/errors\";\nimport { SessionSignOut } from \"../sessions/models\";\nimport type { AuthInvocation } from \"./context\";\nimport type { CredentialSlot } from \"./credentials\";\nimport { OperationConfigurationError } from \"./errors\";\nimport { makeOperation, type OperationReplay } from \"./operation\";\nimport type { AuthRevealKind } from \"./reveals\";\n\n/** Public action data is shared by local, HTTP and reactive callers. Private\n * request fields are supplied by the server when the implementation executes. */\nexport interface ActionOptions<\n Payload extends Schema.Top,\n Success extends Schema.Top,\n Failure extends Schema.Top,\n Mode extends \"query\" | \"mutation\" = \"query\" | \"mutation\",\n> {\n readonly payload: Payload;\n readonly success: Success;\n readonly error: Failure;\n readonly mode: Mode;\n readonly replay?: OperationReplay;\n readonly credentials?: boolean;\n readonly reveals?: ReadonlyArray<AuthRevealKind>;\n readonly method?: string;\n readonly strategy?: string;\n readonly requestFields?: Readonly<Record<string, CredentialSlot>>;\n readonly subject?: {\n fromSuccess(value: Success[\"Type\"]): string | null | undefined;\n };\n}\n\n/** Define the schema and behavior of one public method, independently of its\n * implementation. Inputs use the schema's encoded form, matching operation.invoke. */\nexport const action = <\n Payload extends Schema.Top,\n Success extends Schema.Top,\n Failure extends Schema.Top,\n const Mode extends \"query\" | \"mutation\",\n const Method extends string | undefined = undefined,\n const Strategy extends string | undefined = undefined,\n>(\n options: ActionOptions<Payload, Success, Failure, Mode> & {\n readonly method?: Method;\n readonly strategy?: Strategy;\n },\n) =>\n Object.freeze({\n ...options,\n method: options.method,\n strategy: options.strategy,\n requestFields: Object.freeze({ ...options.requestFields }),\n reveals: Object.freeze([...(options.reveals ?? [])]),\n });\n\nexport type ActionDefinition = ActionOptions<Schema.Top, Schema.Top, Schema.Top>;\nexport type ActionDefinitions = Readonly<Record<string, ActionDefinition>>;\n\n/** Reuse a pure operation contract for a named action. Request credential fields\n * are removed from the public schema and restored only by the local request adapter. */\nexport const fromOperation = <\n Fields extends Schema.Struct.Fields,\n Success extends Schema.Top,\n Failure extends Schema.Top,\n const RequestFields extends Readonly<Record<string, CredentialSlot>> = Record<never, never>,\n const Mode extends \"query\" | \"mutation\" = \"mutation\",\n const Method extends string | undefined = undefined,\n const Strategy extends string | undefined = undefined,\n>(\n operation: {\n readonly rpc: {\n readonly payloadSchema: Schema.Struct<Fields>;\n readonly successSchema: Success;\n readonly errorSchema: Failure;\n };\n readonly exposure: \"public\" | \"internal\";\n readonly replay: OperationReplay;\n readonly credentials: boolean;\n readonly reveals: ReadonlyArray<AuthRevealKind>;\n },\n options: {\n readonly method?: Method;\n readonly strategy?: Strategy;\n readonly requestFields?: RequestFields &\n Record<Exclude<keyof RequestFields, Extract<keyof Fields, string>>, never>;\n readonly mode?: Mode;\n readonly subject?: { fromSuccess(value: Success[\"Type\"]): string | null | undefined };\n } = {},\n) => {\n if (operation.exposure !== \"public\")\n throw OperationConfigurationError.make({\n reason: \"internal-exposure\",\n operation: options.method ?? \"action\",\n });\n\n // Schema fields and their keys remain paired while removing request-only input.\n const fields = Object.fromEntries(\n Object.entries(operation.rpc.payloadSchema.fields).filter(\n ([name]) => !Object.hasOwn(options.requestFields ?? {}, name),\n ),\n ) as Omit<Fields, keyof RequestFields>;\n\n return action({\n payload: Schema.Struct(fields),\n success: operation.rpc.successSchema,\n error: operation.rpc.errorSchema,\n replay: operation.replay,\n credentials: operation.credentials,\n reveals: operation.reveals,\n ...options,\n mode: (options.mode ?? \"mutation\") as Mode,\n });\n};\n\nconst bindAction = <\n const Name extends string,\n Payload extends Schema.Top,\n Success extends Schema.Top,\n Failure extends Schema.Top,\n Mode extends \"query\" | \"mutation\",\n>(\n namespace: string,\n basePath: `/${string}`,\n name: Name,\n definition: ActionOptions<Payload, Success, Failure, Mode>,\n) => {\n const requestFields = Object.freeze({ ...definition.requestFields });\n const reveals = Object.freeze([...(definition.reveals ?? [])]);\n\n if (\n !Schema.is(Schema.NonEmptyString.check(Schema.isPattern(/^[A-Za-z][A-Za-z0-9]*$/)))(name) ||\n [\n \"then\",\n \"__proto__\",\n \"constructor\",\n \"prototype\",\n \"session\",\n \"lifetime\",\n \"runtime\",\n \"client\",\n ].includes(name) ||\n (definition.mode === \"query\" &&\n (definition.credentials === true ||\n reveals.length > 0 ||\n (definition.replay !== undefined && definition.replay !== \"read-only\")))\n )\n throw OperationConfigurationError.make({ reason: \"invalid-action\", operation: name });\n\n const operation = makeOperation(`${namespace}/api/${name}`, {\n payload: definition.payload,\n success: definition.success,\n error: Schema.Union([definition.error, SessionError, HookDenied]),\n access: \"any\",\n exposure: \"public\",\n replay: definition.mode === \"query\" ? \"read-only\" : (definition.replay ?? \"non-idempotent\"),\n ...(definition.credentials === true ? { credentials: true as const } : {}),\n ...(reveals.length > 0 ? { reveals } : {}),\n });\n\n return Object.freeze({\n route: Object.freeze({\n operation,\n path: `${basePath}/${name}` as const,\n method:\n definition.mode === \"query\" &&\n Object.keys(requestFields).length === 0 &&\n (SchemaAST.isVoid(Schema.toEncoded(definition.payload).ast) ||\n SchemaAST.isUndefined(Schema.toEncoded(definition.payload).ast))\n ? (\"GET\" as const)\n : (\"POST\" as const),\n credentials: Object.freeze({}),\n reveals,\n }),\n mode: definition.mode,\n method: definition.method ?? name,\n strategy: definition.strategy,\n requestFields,\n subject: definition.subject,\n });\n};\n\nexport interface AnyAuthAction {\n readonly route: {\n readonly operation: {\n readonly rpc: Rpc.AnyWithProps;\n readonly exposure: \"public\" | \"internal\";\n readonly replay: OperationReplay;\n readonly credentials: boolean;\n readonly reveals: ReadonlyArray<AuthRevealKind>;\n readonly invokeUnknown: (\n invocation: AuthInvocation,\n input: unknown,\n ) => Effect.Effect<unknown, unknown, unknown>;\n };\n readonly path: `/${string}`;\n readonly method: \"POST\" | \"GET\";\n readonly credentials: Readonly<Record<never, never>>;\n readonly reveals: ReadonlyArray<AuthRevealKind>;\n };\n readonly mode: \"query\" | \"mutation\";\n readonly method: string;\n readonly strategy: string | undefined;\n readonly requestFields: Readonly<Record<string, CredentialSlot>>;\n readonly subject?: { fromSuccess(value: unknown): string | null | undefined } | undefined;\n}\n\nexport type AuthActions = Readonly<Record<string, AnyAuthAction>>;\n\ntype Target<Definition, Key extends \"method\" | \"strategy\", Default> = Key extends keyof Definition\n ? Exclude<Definition[Key], undefined> | (undefined extends Definition[Key] ? Default : never)\n : Default;\n\nexport type BoundActions<Definitions extends ActionDefinitions> = {\n readonly [Name in keyof Definitions]: Definitions[Name] extends ActionOptions<\n infer P,\n infer S,\n infer E,\n infer M\n >\n ? Omit<\n ReturnType<typeof bindAction<Extract<Name, string>, P, S, E, M>>,\n \"method\" | \"strategy\"\n > & {\n readonly method: Target<Definitions[Name], \"method\", Extract<Name, string>>;\n readonly strategy: Target<Definitions[Name], \"strategy\", undefined>;\n }\n : never;\n};\n\nconst sessionActions = <\n S extends Schema.Codec<{ readonly subjectId: string }, unknown, unknown, unknown>,\n>(\n session: S,\n) => ({\n getSession: action({\n payload: Schema.Void,\n success: Schema.NullOr(session),\n error: Schema.Never,\n mode: \"query\",\n subject: { fromSuccess: (value) => value?.subjectId ?? null },\n }),\n requireSession: action({\n payload: Schema.Void,\n success: session,\n error: Schema.Never,\n mode: \"query\",\n subject: { fromSuccess: (value) => value.subjectId },\n }),\n signOut: action({\n payload: Schema.Void,\n success: Schema.Union([SessionSignOut, SessionSignOutUnavailable]),\n error: Schema.Never,\n mode: \"mutation\",\n replay: \"idempotent\",\n credentials: true,\n subject: { fromSuccess: () => null },\n }),\n renewSession: action({\n payload: Schema.Void,\n success: session,\n error: Schema.Never,\n mode: \"mutation\",\n credentials: true,\n }),\n});\n\n/** A browser-safe contract. The action callback only receives schemas; it never\n * receives server configuration, keys, persistence or service implementations. */\nexport const make = <\n const Id extends string,\n Claims extends Schema.Codec<unknown, unknown, unknown, unknown>,\n const Additional extends ActionDefinitions = {},\n>(\n namespace: Id,\n options: {\n readonly claims: Claims;\n readonly basePath?: `/${string}`;\n readonly actions?: (\n schemas: ReturnType<typeof makeSessionContract<`${Id}/sessions`, Claims>>,\n ) => Additional;\n },\n) => {\n if (\n !Schema.is(\n Schema.NonEmptyString.check(Schema.isMaxLength(128), Schema.isPattern(/^[A-Za-z0-9._:/-]+$/)),\n )(namespace)\n )\n throw OperationConfigurationError.make({ reason: \"invalid-action\", operation: namespace });\n\n const basePath = options.basePath ?? \"/auth\";\n\n if (\n !Schema.is(Schema.String.check(Schema.isPattern(/^\\/(?:[A-Za-z0-9_-]+\\/)*[A-Za-z0-9_-]+$/)))(\n basePath,\n )\n )\n throw OperationConfigurationError.make({ reason: \"invalid-action\", operation: namespace });\n\n const sessions = makeSessionContract(`${namespace}/sessions`, options.claims);\n const defaults = sessionActions(sessions.Session);\n const additional = options.actions?.(sessions) ?? {};\n\n if (Object.keys(additional).some((name) => Object.hasOwn(defaults, name)))\n throw OperationConfigurationError.make({ reason: \"duplicate-operation\", operation: namespace });\n\n const definitions = { ...defaults, ...additional };\n\n const actions = Object.fromEntries(\n (Object.entries(definitions) as Array<[string, ActionDefinition]>).map(([name, definition]) => [\n name,\n bindAction(namespace, basePath, name, definition),\n ]),\n );\n\n // Each entry is bound with the exact schemas from the corresponding definition.\n return Object.freeze({\n namespace,\n claims: options.claims,\n sessions,\n actions: Object.freeze(actions) as unknown as BoundActions<typeof defaults & Additional>,\n });\n};\n\nexport interface AnyAuthContract {\n readonly namespace: string;\n readonly claims: Schema.Codec<unknown, unknown, unknown, unknown>;\n readonly actions: AuthActions;\n}\n\nexport type ActionInput<A extends AnyAuthAction> =\n A[\"route\"][\"operation\"][\"rpc\"][\"payloadSchema\"][\"Encoded\"];\n\nexport type ActionSuccess<A extends AnyAuthAction> =\n A[\"route\"][\"operation\"][\"rpc\"][\"successSchema\"][\"Type\"];\n\nexport type ActionError<A extends AnyAuthAction> =\n A[\"route\"][\"operation\"][\"rpc\"][\"errorSchema\"][\"Type\"];\n"],"mappings":";;;;;;;;;;AAuCA,MAAa,UAQX,YAKA,OAAO,OAAO;CACZ,GAAG;CACH,QAAQ,QAAQ;CAChB,UAAU,QAAQ;CAClB,eAAe,OAAO,OAAO,EAAE,GAAG,QAAQ,cAAc,CAAC;CACzD,SAAS,OAAO,OAAO,CAAC,GAAI,QAAQ,WAAW,CAAC,CAAE,CAAC;AACrD,CAAC;;;AAOH,MAAa,iBASX,WAWA,UAOI,CAAC,MACF;CACH,IAAI,UAAU,aAAa,UACzB,MAAM,4BAA4B,KAAK;EACrC,QAAQ;EACR,WAAW,QAAQ,UAAU;CAC/B,CAAC;CAGH,MAAM,SAAS,OAAO,YACpB,OAAO,QAAQ,UAAU,IAAI,cAAc,MAAM,CAAC,CAAC,QAChD,CAAC,UAAU,CAAC,OAAO,OAAO,QAAQ,iBAAiB,CAAC,GAAG,IAAI,CAC9D,CACF;CAEA,OAAO,OAAO;EACZ,SAAS,OAAO,OAAO,MAAM;EAC7B,SAAS,UAAU,IAAI;EACvB,OAAO,UAAU,IAAI;EACrB,QAAQ,UAAU;EAClB,aAAa,UAAU;EACvB,SAAS,UAAU;EACnB,GAAG;EACH,MAAO,QAAQ,QAAQ;CACzB,CAAC;AACH;AAEA,MAAM,cAOJ,WACA,UACA,MACA,eACG;CACH,MAAM,gBAAgB,OAAO,OAAO,EAAE,GAAG,WAAW,cAAc,CAAC;CACnE,MAAM,UAAU,OAAO,OAAO,CAAC,GAAI,WAAW,WAAW,CAAC,CAAE,CAAC;CAE7D,IACE,CAAC,OAAO,GAAG,OAAO,eAAe,MAAM,OAAO,UAAU,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,KACxF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,CAAC,SAAS,IAAI,KACd,WAAW,SAAS,YAClB,WAAW,gBAAgB,QAC1B,QAAQ,SAAS,KAChB,WAAW,WAAW,KAAA,KAAa,WAAW,WAAW,cAE9D,MAAM,4BAA4B,KAAK;EAAE,QAAQ;EAAkB,WAAW;CAAK,CAAC;CAEtF,MAAM,YAAY,cAAc,GAAG,UAAU,OAAO,QAAQ;EAC1D,SAAS,WAAW;EACpB,SAAS,WAAW;EACpB,OAAO,OAAO,MAAM;GAAC,WAAW;GAAO;GAAc;EAAU,CAAC;EAChE,QAAQ;EACR,UAAU;EACV,QAAQ,WAAW,SAAS,UAAU,cAAe,WAAW,UAAU;EAC1E,GAAI,WAAW,gBAAgB,OAAO,EAAE,aAAa,KAAc,IAAI,CAAC;EACxE,GAAI,QAAQ,SAAS,IAAI,EAAE,QAAQ,IAAI,CAAC;CAC1C,CAAC;CAED,OAAO,OAAO,OAAO;EACnB,OAAO,OAAO,OAAO;GACnB;GACA,MAAM,GAAG,SAAS,GAAG;GACrB,QACE,WAAW,SAAS,WACpB,OAAO,KAAK,aAAa,CAAC,CAAC,WAAW,MACrC,UAAU,OAAO,OAAO,UAAU,WAAW,OAAO,CAAC,CAAC,GAAG,KACxD,UAAU,YAAY,OAAO,UAAU,WAAW,OAAO,CAAC,CAAC,GAAG,KAC3D,QACA;GACP,aAAa,OAAO,OAAO,CAAC,CAAC;GAC7B;EACF,CAAC;EACD,MAAM,WAAW;EACjB,QAAQ,WAAW,UAAU;EAC7B,UAAU,WAAW;EACrB;EACA,SAAS,WAAW;CACtB,CAAC;AACH;AAkDA,MAAM,kBAGJ,aACI;CACJ,YAAY,OAAO;EACjB,SAAS,OAAO;EAChB,SAAS,OAAO,OAAO,OAAO;EAC9B,OAAO,OAAO;EACd,MAAM;EACN,SAAS,EAAE,cAAc,UAAU,OAAO,aAAa,KAAK;CAC9D,CAAC;CACD,gBAAgB,OAAO;EACrB,SAAS,OAAO;EAChB,SAAS;EACT,OAAO,OAAO;EACd,MAAM;EACN,SAAS,EAAE,cAAc,UAAU,MAAM,UAAU;CACrD,CAAC;CACD,SAAS,OAAO;EACd,SAAS,OAAO;EAChB,SAAS,OAAO,MAAM,CAAC,gBAAgB,yBAAyB,CAAC;EACjE,OAAO,OAAO;EACd,MAAM;EACN,QAAQ;EACR,aAAa;EACb,SAAS,EAAE,mBAAmB,KAAK;CACrC,CAAC;CACD,cAAc,OAAO;EACnB,SAAS,OAAO;EAChB,SAAS;EACT,OAAO,OAAO;EACd,MAAM;EACN,aAAa;CACf,CAAC;AACH;;;AAIA,MAAa,QAKX,WACA,YAOG;CACH,IACE,CAAC,OAAO,GACN,OAAO,eAAe,MAAM,OAAO,YAAY,GAAG,GAAG,OAAO,UAAU,qBAAqB,CAAC,CAC9F,CAAC,CAAC,SAAS,GAEX,MAAM,4BAA4B,KAAK;EAAE,QAAQ;EAAkB,WAAW;CAAU,CAAC;CAE3F,MAAM,WAAW,QAAQ,YAAY;CAErC,IACE,CAAC,OAAO,GAAG,OAAO,OAAO,MAAM,OAAO,UAAU,yCAAyC,CAAC,CAAC,CAAC,CAC1F,QACF,GAEA,MAAM,4BAA4B,KAAK;EAAE,QAAQ;EAAkB,WAAW;CAAU,CAAC;CAE3F,MAAM,WAAW,oBAAoB,GAAG,UAAU,YAAY,QAAQ,MAAM;CAC5E,MAAM,WAAW,eAAe,SAAS,OAAO;CAChD,MAAM,aAAa,QAAQ,UAAU,QAAQ,KAAK,CAAC;CAEnD,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,MAAM,SAAS,OAAO,OAAO,UAAU,IAAI,CAAC,GACtE,MAAM,4BAA4B,KAAK;EAAE,QAAQ;EAAuB,WAAW;CAAU,CAAC;CAEhG,MAAM,cAAc;EAAE,GAAG;EAAU,GAAG;CAAW;CAEjD,MAAM,UAAU,OAAO,YACpB,OAAO,QAAQ,WAAW,CAAC,CAAuC,KAAK,CAAC,MAAM,gBAAgB,CAC7F,MACA,WAAW,WAAW,UAAU,MAAM,UAAU,CAClD,CAAC,CACH;CAGA,OAAO,OAAO,OAAO;EACnB;EACA,QAAQ,QAAQ;EAChB;EACA,SAAS,OAAO,OAAO,OAAO;CAChC,CAAC;AACH"}
@@ -0,0 +1,63 @@
1
+ import { SubjectId } from "../Schema.mjs";
2
+ import { AssuranceRequired, AuthenticationRequired, OperationForbidden } from "./errors.mjs";
3
+ import { Effect, Schema } from "effect";
4
+ //#region src/operations/context.d.ts
5
+ declare const AuthenticationFactor: Schema.Literals<readonly ["knowledge", "possession", "inherence"]>;
6
+ type AuthenticationFactor = typeof AuthenticationFactor.Type;
7
+ declare const AssuranceEvidence: Schema.Struct<{
8
+ readonly method: Schema.NonEmptyString;
9
+ /** Opaque within one session; multiple proofs of the same credential share it. */
10
+ readonly credentialOrdinal: Schema.optionalKey<Schema.Int>;
11
+ readonly factors: Schema.$Array<Schema.Literals<readonly ["knowledge", "possession", "inherence"]>>;
12
+ readonly userVerified: Schema.Boolean;
13
+ readonly phishingResistant: Schema.Boolean;
14
+ readonly verifiedAt: Schema.DateTimeUtcFromMillis;
15
+ }>;
16
+ declare const AuthenticationAssurance_base: Schema.Class<AuthenticationAssurance, Schema.Struct<{
17
+ readonly method: Schema.NonEmptyString;
18
+ readonly factors: Schema.$Array<Schema.Literals<readonly ["knowledge", "possession", "inherence"]>>;
19
+ readonly authenticatedAt: Schema.DateTimeUtcFromMillis;
20
+ /** WebAuthn UV is separate from knowledge/inherence: the RP cannot tell PIN from biometrics. */
21
+ readonly evidence: Schema.optionalKey<Schema.NonEmptyArray<Schema.Struct<{
22
+ readonly method: Schema.NonEmptyString;
23
+ /** Opaque within one session; multiple proofs of the same credential share it. */
24
+ readonly credentialOrdinal: Schema.optionalKey<Schema.Int>;
25
+ readonly factors: Schema.$Array<Schema.Literals<readonly ["knowledge", "possession", "inherence"]>>;
26
+ readonly userVerified: Schema.Boolean;
27
+ readonly phishingResistant: Schema.Boolean;
28
+ readonly verifiedAt: Schema.DateTimeUtcFromMillis;
29
+ }>>>;
30
+ }>, {}>;
31
+ /** Describes completed authentication, never a pending second-factor challenge. */
32
+ declare class AuthenticationAssurance extends AuthenticationAssurance_base {}
33
+ interface GuestInvocation {
34
+ readonly _tag: "Guest";
35
+ }
36
+ interface AuthenticatedInvocation {
37
+ readonly _tag: "Authenticated";
38
+ readonly subjectId: SubjectId;
39
+ readonly sessionId?: string;
40
+ readonly assurance: AuthenticationAssurance;
41
+ }
42
+ /** Application authority creates this context; clients cannot request it in a payload. */
43
+ interface SystemInvocation {
44
+ readonly _tag: "System";
45
+ readonly authority: string;
46
+ }
47
+ /** Passed explicitly per invocation. Never install a caller in a shared handler Layer. */
48
+ type AuthInvocation = GuestInvocation | AuthenticatedInvocation | SystemInvocation;
49
+ declare const guest: GuestInvocation;
50
+ declare const requireAuthenticated: (context: AuthInvocation) => Effect.Effect<never, AuthenticationRequired, never> | Effect.Effect<AuthenticatedInvocation, never, never>;
51
+ declare const requireOwnership: (context: AuthInvocation, subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">) => Effect.Effect<AuthenticatedInvocation, AuthenticationRequired | OperationForbidden, never>;
52
+ interface AssuranceRequirement {
53
+ readonly factors?: ReadonlyArray<AuthenticationFactor>;
54
+ readonly maximumAgeMillis: number;
55
+ readonly minimumCredentials?: number;
56
+ readonly userVerified?: true;
57
+ readonly phishingResistant?: true;
58
+ }
59
+ /** Reject future timestamps as well as stale authentication. */
60
+ declare const requireAssurance: (context: AuthInvocation, requirement: AssuranceRequirement) => Effect.Effect<AuthenticatedInvocation, AssuranceRequired | AuthenticationRequired, never>;
61
+ //#endregion
62
+ export { AssuranceEvidence, AssuranceRequirement, AuthInvocation, AuthenticatedInvocation, AuthenticationAssurance, AuthenticationFactor, GuestInvocation, SystemInvocation, guest, requireAssurance, requireAuthenticated, requireOwnership };
63
+ //# sourceMappingURL=context.d.mts.map
@@ -0,0 +1,55 @@
1
+ import { AssuranceRequired, AuthenticationRequired, OperationForbidden } from "./errors.mjs";
2
+ import { DateTime, Effect, Schema } from "effect";
3
+ //#region src/operations/context.ts
4
+ const AuthenticationFactor = Schema.Literals([
5
+ "knowledge",
6
+ "possession",
7
+ "inherence"
8
+ ]);
9
+ const AssuranceEvidence = Schema.Struct({
10
+ method: Schema.NonEmptyString,
11
+ /** Opaque within one session; multiple proofs of the same credential share it. */
12
+ credentialOrdinal: Schema.optionalKey(Schema.Int.check(Schema.isBetween({
13
+ minimum: 0,
14
+ maximum: 63
15
+ }))),
16
+ factors: Schema.Array(AuthenticationFactor),
17
+ userVerified: Schema.Boolean,
18
+ phishingResistant: Schema.Boolean,
19
+ verifiedAt: Schema.DateTimeUtcFromMillis
20
+ });
21
+ /** Describes completed authentication, never a pending second-factor challenge. */
22
+ var AuthenticationAssurance = class extends Schema.Class("effect-auth/AuthenticationAssurance")({
23
+ method: Schema.NonEmptyString,
24
+ factors: Schema.Array(AuthenticationFactor),
25
+ authenticatedAt: Schema.DateTimeUtcFromMillis,
26
+ /** WebAuthn UV is separate from knowledge/inherence: the RP cannot tell PIN from biometrics. */
27
+ evidence: Schema.optionalKey(Schema.NonEmptyArray(AssuranceEvidence))
28
+ }) {};
29
+ const guest = Object.freeze({ _tag: "Guest" });
30
+ const requireAuthenticated = (context) => context._tag === "Authenticated" ? Effect.succeed(context) : Effect.fail(AuthenticationRequired.make({}));
31
+ const requireOwnership = Effect.fn("AuthOperation.requireOwnership")(function* (context, subjectId) {
32
+ const caller = yield* requireAuthenticated(context);
33
+ if (caller.subjectId !== subjectId) return yield* OperationForbidden.make({});
34
+ return caller;
35
+ });
36
+ /** Reject future timestamps as well as stale authentication. */
37
+ const requireAssurance = Effect.fn("AuthOperation.requireAssurance")(function* (context, requirement) {
38
+ const caller = yield* requireAuthenticated(context);
39
+ const maximumAge = yield* Schema.decodeEffect(Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0)))(requirement.maximumAgeMillis).pipe(Effect.orDie);
40
+ const minimum = yield* Schema.decodeEffect(Schema.Int.check(Schema.isBetween({
41
+ minimum: 1,
42
+ maximum: 64
43
+ })))(requirement.minimumCredentials ?? 1).pipe(Effect.orDie);
44
+ const now = DateTime.toEpochMillis(yield* DateTime.now);
45
+ if (DateTime.toEpochMillis(caller.assurance.authenticatedAt) > now || caller.assurance.evidence?.some((proof) => DateTime.toEpochMillis(proof.verifiedAt) > now)) return yield* AssuranceRequired.make({});
46
+ const fresh = caller.assurance.evidence?.filter((proof) => now - DateTime.toEpochMillis(proof.verifiedAt) < maximumAge) ?? [];
47
+ const factors = new Set(fresh.flatMap((proof) => proof.factors));
48
+ const ordinals = new Set(fresh.flatMap((proof) => proof.credentialOrdinal === void 0 ? [] : [proof.credentialOrdinal]));
49
+ if (fresh.length === 0 || requirement.factors !== void 0 && !requirement.factors.every((factor) => factors.has(factor)) || minimum > 1 && ordinals.size < minimum || !fresh.some((proof) => (requirement.userVerified !== true || proof.userVerified) && (requirement.phishingResistant !== true || proof.phishingResistant))) return yield* AssuranceRequired.make({});
50
+ return caller;
51
+ });
52
+ //#endregion
53
+ export { AssuranceEvidence, AuthenticationAssurance, AuthenticationFactor, guest, requireAssurance, requireAuthenticated, requireOwnership };
54
+
55
+ //# sourceMappingURL=context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.mjs","names":[],"sources":["../../src/operations/context.ts"],"sourcesContent":["import { DateTime, Effect, Schema } from \"effect\";\n\nimport type { SubjectId } from \"../Schema\";\nimport { AssuranceRequired, AuthenticationRequired, OperationForbidden } from \"./errors\";\n\nexport const AuthenticationFactor = Schema.Literals([\"knowledge\", \"possession\", \"inherence\"]);\nexport type AuthenticationFactor = typeof AuthenticationFactor.Type;\n\nexport const AssuranceEvidence = Schema.Struct({\n method: Schema.NonEmptyString,\n /** Opaque within one session; multiple proofs of the same credential share it. */\n credentialOrdinal: Schema.optionalKey(\n Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 63 })),\n ),\n factors: Schema.Array(AuthenticationFactor),\n userVerified: Schema.Boolean,\n phishingResistant: Schema.Boolean,\n verifiedAt: Schema.DateTimeUtcFromMillis,\n});\n\n/** Describes completed authentication, never a pending second-factor challenge. */\nexport class AuthenticationAssurance extends Schema.Class<AuthenticationAssurance>(\n \"effect-auth/AuthenticationAssurance\",\n)({\n method: Schema.NonEmptyString,\n factors: Schema.Array(AuthenticationFactor),\n authenticatedAt: Schema.DateTimeUtcFromMillis,\n /** WebAuthn UV is separate from knowledge/inherence: the RP cannot tell PIN from biometrics. */\n evidence: Schema.optionalKey(Schema.NonEmptyArray(AssuranceEvidence)),\n}) {}\n\nexport interface GuestInvocation {\n readonly _tag: \"Guest\";\n}\n\nexport interface AuthenticatedInvocation {\n readonly _tag: \"Authenticated\";\n readonly subjectId: SubjectId;\n readonly sessionId?: string;\n readonly assurance: AuthenticationAssurance;\n}\n\n/** Application authority creates this context; clients cannot request it in a payload. */\nexport interface SystemInvocation {\n readonly _tag: \"System\";\n readonly authority: string;\n}\n\n/** Passed explicitly per invocation. Never install a caller in a shared handler Layer. */\nexport type AuthInvocation = GuestInvocation | AuthenticatedInvocation | SystemInvocation;\n\nexport const guest: GuestInvocation = Object.freeze({ _tag: \"Guest\" });\n\nexport const requireAuthenticated = (context: AuthInvocation) =>\n context._tag === \"Authenticated\"\n ? Effect.succeed(context)\n : Effect.fail(AuthenticationRequired.make({}));\n\nexport const requireOwnership = Effect.fn(\"AuthOperation.requireOwnership\")(function* (\n context: AuthInvocation,\n subjectId: SubjectId,\n) {\n const caller = yield* requireAuthenticated(context);\n\n if (caller.subjectId !== subjectId) {\n return yield* OperationForbidden.make({});\n }\n\n return caller;\n});\n\nexport interface AssuranceRequirement {\n readonly factors?: ReadonlyArray<AuthenticationFactor>;\n readonly maximumAgeMillis: number;\n readonly minimumCredentials?: number;\n readonly userVerified?: true;\n readonly phishingResistant?: true;\n}\n\n/** Reject future timestamps as well as stale authentication. */\nexport const requireAssurance = Effect.fn(\"AuthOperation.requireAssurance\")(function* (\n context: AuthInvocation,\n requirement: AssuranceRequirement,\n) {\n const caller = yield* requireAuthenticated(context);\n\n const maximumAge = yield* Schema.decodeEffect(\n Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0)),\n )(requirement.maximumAgeMillis).pipe(Effect.orDie);\n\n const minimum = yield* Schema.decodeEffect(\n Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 64 })),\n )(requirement.minimumCredentials ?? 1).pipe(Effect.orDie);\n\n const now = DateTime.toEpochMillis(yield* DateTime.now);\n\n if (\n DateTime.toEpochMillis(caller.assurance.authenticatedAt) > now ||\n caller.assurance.evidence?.some((proof) => DateTime.toEpochMillis(proof.verifiedAt) > now)\n )\n return yield* AssuranceRequired.make({});\n\n const fresh =\n caller.assurance.evidence?.filter(\n (proof) => now - DateTime.toEpochMillis(proof.verifiedAt) < maximumAge,\n ) ?? [];\n\n const factors = new Set(fresh.flatMap((proof) => proof.factors));\n\n const ordinals = new Set(\n fresh.flatMap((proof) =>\n proof.credentialOrdinal === undefined ? [] : [proof.credentialOrdinal],\n ),\n );\n\n if (\n fresh.length === 0 ||\n (requirement.factors !== undefined &&\n !requirement.factors.every((factor) => factors.has(factor))) ||\n (minimum > 1 && ordinals.size < minimum) ||\n !fresh.some(\n (proof) =>\n (requirement.userVerified !== true || proof.userVerified) &&\n (requirement.phishingResistant !== true || proof.phishingResistant),\n )\n )\n return yield* AssuranceRequired.make({});\n\n return caller;\n});\n"],"mappings":";;;AAKA,MAAa,uBAAuB,OAAO,SAAS;CAAC;CAAa;CAAc;AAAW,CAAC;AAG5F,MAAa,oBAAoB,OAAO,OAAO;CAC7C,QAAQ,OAAO;;CAEf,mBAAmB,OAAO,YACxB,OAAO,IAAI,MAAM,OAAO,UAAU;EAAE,SAAS;EAAG,SAAS;CAAG,CAAC,CAAC,CAChE;CACA,SAAS,OAAO,MAAM,oBAAoB;CAC1C,cAAc,OAAO;CACrB,mBAAmB,OAAO;CAC1B,YAAY,OAAO;AACrB,CAAC;;AAGD,IAAa,0BAAb,cAA6C,OAAO,MAClD,qCACF,CAAC,CAAC;CACA,QAAQ,OAAO;CACf,SAAS,OAAO,MAAM,oBAAoB;CAC1C,iBAAiB,OAAO;;CAExB,UAAU,OAAO,YAAY,OAAO,cAAc,iBAAiB,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC;AAsBJ,MAAa,QAAyB,OAAO,OAAO,EAAE,MAAM,QAAQ,CAAC;AAErE,MAAa,wBAAwB,YACnC,QAAQ,SAAS,kBACb,OAAO,QAAQ,OAAO,IACtB,OAAO,KAAK,uBAAuB,KAAK,CAAC,CAAC,CAAC;AAEjD,MAAa,mBAAmB,OAAO,GAAG,gCAAgC,CAAC,CAAC,WAC1E,SACA,WACA;CACA,MAAM,SAAS,OAAO,qBAAqB,OAAO;CAElD,IAAI,OAAO,cAAc,WACvB,OAAO,OAAO,mBAAmB,KAAK,CAAC,CAAC;CAG1C,OAAO;AACT,CAAC;;AAWD,MAAa,mBAAmB,OAAO,GAAG,gCAAgC,CAAC,CAAC,WAC1E,SACA,aACA;CACA,MAAM,SAAS,OAAO,qBAAqB,OAAO;CAElD,MAAM,aAAa,OAAO,OAAO,aAC/B,OAAO,OAAO,MAAM,OAAO,uBAAuB,CAAC,CAAC,CACtD,CAAC,CAAC,YAAY,gBAAgB,CAAC,CAAC,KAAK,OAAO,KAAK;CAEjD,MAAM,UAAU,OAAO,OAAO,aAC5B,OAAO,IAAI,MAAM,OAAO,UAAU;EAAE,SAAS;EAAG,SAAS;CAAG,CAAC,CAAC,CAChE,CAAC,CAAC,YAAY,sBAAsB,CAAC,CAAC,CAAC,KAAK,OAAO,KAAK;CAExD,MAAM,MAAM,SAAS,cAAc,OAAO,SAAS,GAAG;CAEtD,IACE,SAAS,cAAc,OAAO,UAAU,eAAe,IAAI,OAC3D,OAAO,UAAU,UAAU,MAAM,UAAU,SAAS,cAAc,MAAM,UAAU,IAAI,GAAG,GAEzF,OAAO,OAAO,kBAAkB,KAAK,CAAC,CAAC;CAEzC,MAAM,QACJ,OAAO,UAAU,UAAU,QACxB,UAAU,MAAM,SAAS,cAAc,MAAM,UAAU,IAAI,UAC9D,KAAK,CAAC;CAER,MAAM,UAAU,IAAI,IAAI,MAAM,SAAS,UAAU,MAAM,OAAO,CAAC;CAE/D,MAAM,WAAW,IAAI,IACnB,MAAM,SAAS,UACb,MAAM,sBAAsB,KAAA,IAAY,CAAC,IAAI,CAAC,MAAM,iBAAiB,CACvE,CACF;CAEA,IACE,MAAM,WAAW,KAChB,YAAY,YAAY,KAAA,KACvB,CAAC,YAAY,QAAQ,OAAO,WAAW,QAAQ,IAAI,MAAM,CAAC,KAC3D,UAAU,KAAK,SAAS,OAAO,WAChC,CAAC,MAAM,MACJ,WACE,YAAY,iBAAiB,QAAQ,MAAM,kBAC3C,YAAY,sBAAsB,QAAQ,MAAM,kBACrD,GAEA,OAAO,OAAO,kBAAkB,KAAK,CAAC,CAAC;CAEzC,OAAO;AACT,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { AuthInvocation } from "./context.mjs";
2
+ import { AuthRevealCommand, AuthRevealCommandCollector } from "./reveals.mjs";
3
+ import { Context, Effect, Redacted } from "effect";
4
+ //#region src/operations/credentials.d.ts
5
+ type CredentialSlot = "session" | "pending-proof" | "proof-continuation" | "registration" | "request-binding" | "session-step-up" | "password-intent";
6
+ /** Private delivery instructions. Never include these in a Schema/RPC success or lifecycle event. */
7
+ type AuthCredentialCommand = {
8
+ readonly _tag: "Issue";
9
+ readonly slot: CredentialSlot;
10
+ readonly credential: Redacted.Redacted<string>;
11
+ readonly expiresAtMillis: number;
12
+ } | {
13
+ readonly _tag: "Clear";
14
+ readonly slot: CredentialSlot;
15
+ };
16
+ /** Acceptance into a caller-owned collector, not fallible cookie or secure-store persistence. */
17
+ type AuthCredentialCommandSink = (commands: ReadonlyArray<AuthCredentialCommand>) => Effect.Effect<void>;
18
+ declare const AuthCredentialCommandCollector_base: Context.ServiceClass<AuthCredentialCommandCollector, "effect-auth/AuthCredentialCommandCollector", AuthCredentialCommandSink>;
19
+ /** Request-local acceptance for private credential commands. */
20
+ declare class AuthCredentialCommandCollector extends AuthCredentialCommandCollector_base {}
21
+ declare const AuthRevealCommandCollectorService_base: Context.ServiceClass<AuthRevealCommandCollectorService, "effect-auth/AuthRevealCommandCollector", AuthRevealCommandCollector>;
22
+ /** Request-local acceptance for private reveal commands. */
23
+ declare class AuthRevealCommandCollectorService extends AuthRevealCommandCollectorService_base {}
24
+ interface AuthOperationResult<A> {
25
+ readonly value: A;
26
+ readonly credentialCommands: ReadonlyArray<AuthCredentialCommand>;
27
+ readonly revealCommands?: ReadonlyArray<AuthRevealCommand>;
28
+ }
29
+ interface AuthResolvedCall {
30
+ readonly invocation: AuthInvocation;
31
+ /** Private incoming credentials for this request or native workflow only. */
32
+ readonly credentials: Readonly<Partial<Record<CredentialSlot, Redacted.Redacted<string>>>>;
33
+ readonly credentialCommandSink: AuthCredentialCommandSink;
34
+ readonly revealCommandCollector?: AuthRevealCommandCollector;
35
+ }
36
+ declare const validateCredentialCommands: (commands: ReadonlyArray<AuthCredentialCommand>) => Effect.Effect<readonly AuthCredentialCommand[], never, never>;
37
+ //#endregion
38
+ export { AuthCredentialCommand, AuthCredentialCommandCollector, AuthCredentialCommandSink, AuthOperationResult, AuthResolvedCall, AuthRevealCommandCollectorService, CredentialSlot, validateCredentialCommands };
39
+ //# sourceMappingURL=credentials.d.mts.map
@@ -0,0 +1,60 @@
1
+ import { Context, Effect, Redacted, Schema } from "effect";
2
+ //#region src/operations/credentials.ts
3
+ /** Request-local acceptance for private credential commands. */
4
+ var AuthCredentialCommandCollector = class extends Context.Service()("effect-auth/AuthCredentialCommandCollector") {};
5
+ /** Request-local acceptance for private reveal commands. */
6
+ var AuthRevealCommandCollectorService = class extends Context.Service()("effect-auth/AuthRevealCommandCollector") {};
7
+ const slot = Schema.Literals([
8
+ "session",
9
+ "pending-proof",
10
+ "proof-continuation",
11
+ "registration",
12
+ "request-binding",
13
+ "session-step-up",
14
+ "password-intent"
15
+ ]);
16
+ const decodeCommand = Schema.decodeSync(Schema.Union([Schema.Struct({
17
+ _tag: Schema.Literal("Issue"),
18
+ slot,
19
+ credential: Schema.Redacted(Schema.String),
20
+ expiresAtMillis: Schema.Finite
21
+ }), Schema.Struct({
22
+ _tag: Schema.Literal("Clear"),
23
+ slot
24
+ })]));
25
+ /** Package-private synchronous capture shared with the reveal operation boundary. */
26
+ const snapshotCredentialCommands = (commands) => {
27
+ try {
28
+ if (!Array.isArray(commands)) throw new globalThis.Error();
29
+ const length = commands.length;
30
+ if (!Number.isInteger(length) || length < 0 || length > 7) throw new globalThis.Error();
31
+ const slots = /* @__PURE__ */ new Set();
32
+ const captured = [];
33
+ for (let index = 0; index < length; index++) {
34
+ const input = commands[index];
35
+ const tag = input._tag;
36
+ const slot = input.slot;
37
+ const value = tag === "Issue" ? {
38
+ _tag: tag,
39
+ slot,
40
+ credential: Redacted.make(Redacted.value(input.credential)),
41
+ expiresAtMillis: input.expiresAtMillis
42
+ } : {
43
+ _tag: tag,
44
+ slot
45
+ };
46
+ const command = decodeCommand(value);
47
+ if (slots.has(command.slot)) throw new globalThis.Error();
48
+ slots.add(command.slot);
49
+ captured.push(Object.freeze(command));
50
+ }
51
+ return Object.freeze(captured);
52
+ } catch {
53
+ throw new globalThis.Error("Invalid auth credential commands");
54
+ }
55
+ };
56
+ const validateCredentialCommands = (commands) => Effect.sync(() => snapshotCredentialCommands(commands));
57
+ //#endregion
58
+ export { AuthCredentialCommandCollector, AuthRevealCommandCollectorService, snapshotCredentialCommands, validateCredentialCommands };
59
+
60
+ //# sourceMappingURL=credentials.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.mjs","names":[],"sources":["../../src/operations/credentials.ts"],"sourcesContent":["import { Context, Effect, Redacted, Schema } from \"effect\";\n\nimport type { AuthInvocation } from \"./context\";\nimport type { AuthRevealCommand, AuthRevealCommandCollector } from \"./reveals\";\n\nexport type CredentialSlot =\n | \"session\"\n | \"pending-proof\"\n | \"proof-continuation\"\n | \"registration\"\n | \"request-binding\"\n | \"session-step-up\"\n | \"password-intent\";\n\n/** Private delivery instructions. Never include these in a Schema/RPC success or lifecycle event. */\nexport type AuthCredentialCommand =\n | {\n readonly _tag: \"Issue\";\n readonly slot: CredentialSlot;\n readonly credential: Redacted.Redacted<string>;\n readonly expiresAtMillis: number;\n }\n | { readonly _tag: \"Clear\"; readonly slot: CredentialSlot };\n\n/** Acceptance into a caller-owned collector, not fallible cookie or secure-store persistence. */\nexport type AuthCredentialCommandSink = (\n commands: ReadonlyArray<AuthCredentialCommand>,\n) => Effect.Effect<void>;\n\n/** Request-local acceptance for private credential commands. */\nexport class AuthCredentialCommandCollector extends Context.Service<\n AuthCredentialCommandCollector,\n AuthCredentialCommandSink\n>()(\"effect-auth/AuthCredentialCommandCollector\") {}\n\n/** Request-local acceptance for private reveal commands. */\nexport class AuthRevealCommandCollectorService extends Context.Service<\n AuthRevealCommandCollectorService,\n AuthRevealCommandCollector\n>()(\"effect-auth/AuthRevealCommandCollector\") {}\n\nexport interface AuthOperationResult<A> {\n readonly value: A;\n readonly credentialCommands: ReadonlyArray<AuthCredentialCommand>;\n readonly revealCommands?: ReadonlyArray<AuthRevealCommand>;\n}\n\nexport interface AuthResolvedCall {\n readonly invocation: AuthInvocation;\n /** Private incoming credentials for this request or native workflow only. */\n readonly credentials: Readonly<Partial<Record<CredentialSlot, Redacted.Redacted<string>>>>;\n readonly credentialCommandSink: AuthCredentialCommandSink;\n readonly revealCommandCollector?: AuthRevealCommandCollector;\n}\n\nconst slot = Schema.Literals([\n \"session\",\n \"pending-proof\",\n \"proof-continuation\",\n \"registration\",\n \"request-binding\",\n \"session-step-up\",\n \"password-intent\",\n]);\n\nconst decodeCommand = Schema.decodeSync(\n Schema.Union([\n Schema.Struct({\n _tag: Schema.Literal(\"Issue\"),\n slot,\n credential: Schema.Redacted(Schema.String),\n expiresAtMillis: Schema.Finite,\n }),\n Schema.Struct({ _tag: Schema.Literal(\"Clear\"), slot }),\n ]),\n);\n\n/** Package-private synchronous capture shared with the reveal operation boundary. */\nexport const snapshotCredentialCommands = (\n commands: ReadonlyArray<AuthCredentialCommand>,\n): ReadonlyArray<AuthCredentialCommand> => {\n try {\n if (!Array.isArray(commands)) throw new globalThis.Error();\n const length = commands.length;\n\n if (!Number.isInteger(length) || length < 0 || length > 7) throw new globalThis.Error();\n const slots = new Set<CredentialSlot>();\n const captured: AuthCredentialCommand[] = [];\n\n for (let index = 0; index < length; index++) {\n const input = commands[index];\n const tag = input._tag;\n const slot = input.slot;\n\n const value =\n tag === \"Issue\"\n ? {\n _tag: tag,\n slot,\n credential: Redacted.make(Redacted.value(input.credential)),\n expiresAtMillis: input.expiresAtMillis,\n }\n : { _tag: tag, slot };\n\n const command = decodeCommand(value);\n\n if (slots.has(command.slot)) {\n throw new globalThis.Error();\n }\n slots.add(command.slot);\n captured.push(Object.freeze(command));\n }\n\n return Object.freeze(captured);\n } catch {\n throw new globalThis.Error(\"Invalid auth credential commands\");\n }\n};\n\nexport const validateCredentialCommands = (commands: ReadonlyArray<AuthCredentialCommand>) =>\n Effect.sync(() => snapshotCredentialCommands(commands));\n"],"mappings":";;;AA8BA,IAAa,iCAAb,cAAoD,QAAQ,QAG1D,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC;;AAGnD,IAAa,oCAAb,cAAuD,QAAQ,QAG7D,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC;AAgB/C,MAAM,OAAO,OAAO,SAAS;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,gBAAgB,OAAO,WAC3B,OAAO,MAAM,CACX,OAAO,OAAO;CACZ,MAAM,OAAO,QAAQ,OAAO;CAC5B;CACA,YAAY,OAAO,SAAS,OAAO,MAAM;CACzC,iBAAiB,OAAO;AAC1B,CAAC,GACD,OAAO,OAAO;CAAE,MAAM,OAAO,QAAQ,OAAO;CAAG;AAAK,CAAC,CACvD,CAAC,CACH;;AAGA,MAAa,8BACX,aACyC;CACzC,IAAI;EACF,IAAI,CAAC,MAAM,QAAQ,QAAQ,GAAG,MAAM,IAAI,WAAW,MAAM;EACzD,MAAM,SAAS,SAAS;EAExB,IAAI,CAAC,OAAO,UAAU,MAAM,KAAK,SAAS,KAAK,SAAS,GAAG,MAAM,IAAI,WAAW,MAAM;EACtF,MAAM,wBAAQ,IAAI,IAAoB;EACtC,MAAM,WAAoC,CAAC;EAE3C,KAAK,IAAI,QAAQ,GAAG,QAAQ,QAAQ,SAAS;GAC3C,MAAM,QAAQ,SAAS;GACvB,MAAM,MAAM,MAAM;GAClB,MAAM,OAAO,MAAM;GAEnB,MAAM,QACJ,QAAQ,UACJ;IACE,MAAM;IACN;IACA,YAAY,SAAS,KAAK,SAAS,MAAM,MAAM,UAAU,CAAC;IAC1D,iBAAiB,MAAM;GACzB,IACA;IAAE,MAAM;IAAK;GAAK;GAExB,MAAM,UAAU,cAAc,KAAK;GAEnC,IAAI,MAAM,IAAI,QAAQ,IAAI,GACxB,MAAM,IAAI,WAAW,MAAM;GAE7B,MAAM,IAAI,QAAQ,IAAI;GACtB,SAAS,KAAK,OAAO,OAAO,OAAO,CAAC;EACtC;EAEA,OAAO,OAAO,OAAO,QAAQ;CAC/B,QAAQ;EACN,MAAM,IAAI,WAAW,MAAM,kCAAkC;CAC/D;AACF;AAEA,MAAa,8BAA8B,aACzC,OAAO,WAAW,2BAA2B,QAAQ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Schema } from "effect";
2
+ //#region src/operations/errors.d.ts
3
+ declare const OperationConfigurationError_base: Schema.Class<OperationConfigurationError, Schema.TaggedStruct<"OperationConfigurationError", {
4
+ readonly reason: Schema.Literals<readonly ["duplicate-operation", "invalid-action", "internal-exposure", "credential-handler", "reveal-configuration", "private-handler"]>;
5
+ readonly operation: Schema.String;
6
+ }>, import("effect/Cause").YieldableError>;
7
+ /** Invalid static composition; never a wire failure or an authentication rejection. */
8
+ declare class OperationConfigurationError extends OperationConfigurationError_base {}
9
+ declare const InvalidOperationInput_base: Schema.Class<InvalidOperationInput, Schema.TaggedStruct<"InvalidOperationInput", {}>, import("effect/Cause").YieldableError>;
10
+ /** Intentionally excludes the invalid value and parser details, which may contain secrets. */
11
+ declare class InvalidOperationInput extends InvalidOperationInput_base {}
12
+ declare const AuthenticationRequired_base: Schema.Class<AuthenticationRequired, Schema.TaggedStruct<"AuthenticationRequired", {}>, import("effect/Cause").YieldableError>;
13
+ declare class AuthenticationRequired extends AuthenticationRequired_base {}
14
+ declare const OperationForbidden_base: Schema.Class<OperationForbidden, Schema.TaggedStruct<"OperationForbidden", {}>, import("effect/Cause").YieldableError>;
15
+ declare class OperationForbidden extends OperationForbidden_base {}
16
+ declare const AssuranceRequired_base: Schema.Class<AssuranceRequired, Schema.TaggedStruct<"AssuranceRequired", {}>, import("effect/Cause").YieldableError>;
17
+ declare class AssuranceRequired extends AssuranceRequired_base {}
18
+ declare const OperationPrivateOutputUnsupported_base: Schema.Class<OperationPrivateOutputUnsupported, Schema.TaggedStruct<"OperationPrivateOutputUnsupported", {}>, import("effect/Cause").YieldableError>;
19
+ declare class OperationPrivateOutputUnsupported extends OperationPrivateOutputUnsupported_base {}
20
+ declare const OperationBoundaryError: Schema.Union<readonly [typeof InvalidOperationInput, typeof AuthenticationRequired, typeof OperationForbidden, typeof AssuranceRequired, typeof OperationPrivateOutputUnsupported]>;
21
+ type OperationBoundaryError = typeof OperationBoundaryError.Type;
22
+ //#endregion
23
+ export { AssuranceRequired, AuthenticationRequired, InvalidOperationInput, OperationBoundaryError, OperationConfigurationError, OperationForbidden, OperationPrivateOutputUnsupported };
24
+ //# sourceMappingURL=errors.d.mts.map
@@ -0,0 +1,31 @@
1
+ import { Schema } from "effect";
2
+ //#region src/operations/errors.ts
3
+ /** Invalid static composition; never a wire failure or an authentication rejection. */
4
+ var OperationConfigurationError = class extends Schema.TaggedError()("OperationConfigurationError", {
5
+ reason: Schema.Literals([
6
+ "duplicate-operation",
7
+ "invalid-action",
8
+ "internal-exposure",
9
+ "credential-handler",
10
+ "reveal-configuration",
11
+ "private-handler"
12
+ ]),
13
+ operation: Schema.String
14
+ }) {};
15
+ /** Intentionally excludes the invalid value and parser details, which may contain secrets. */
16
+ var InvalidOperationInput = class extends Schema.TaggedError()("InvalidOperationInput", {}) {};
17
+ var AuthenticationRequired = class extends Schema.TaggedError()("AuthenticationRequired", {}) {};
18
+ var OperationForbidden = class extends Schema.TaggedError()("OperationForbidden", {}) {};
19
+ var AssuranceRequired = class extends Schema.TaggedError()("AssuranceRequired", {}) {};
20
+ var OperationPrivateOutputUnsupported = class extends Schema.TaggedError()("OperationPrivateOutputUnsupported", {}) {};
21
+ const OperationBoundaryError = Schema.Union([
22
+ InvalidOperationInput,
23
+ AuthenticationRequired,
24
+ OperationForbidden,
25
+ AssuranceRequired,
26
+ OperationPrivateOutputUnsupported
27
+ ]);
28
+ //#endregion
29
+ export { AssuranceRequired, AuthenticationRequired, InvalidOperationInput, OperationBoundaryError, OperationConfigurationError, OperationForbidden, OperationPrivateOutputUnsupported };
30
+
31
+ //# sourceMappingURL=errors.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.mjs","names":[],"sources":["../../src/operations/errors.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\n/** Invalid static composition; never a wire failure or an authentication rejection. */\nexport class OperationConfigurationError extends Schema.TaggedError<OperationConfigurationError>()(\n \"OperationConfigurationError\",\n {\n reason: Schema.Literals([\n \"duplicate-operation\",\n \"invalid-action\",\n \"internal-exposure\",\n \"credential-handler\",\n \"reveal-configuration\",\n \"private-handler\",\n ]),\n operation: Schema.String,\n },\n) {}\n\n/** Intentionally excludes the invalid value and parser details, which may contain secrets. */\nexport class InvalidOperationInput extends Schema.TaggedError<InvalidOperationInput>()(\n \"InvalidOperationInput\",\n {},\n) {}\n\nexport class AuthenticationRequired extends Schema.TaggedError<AuthenticationRequired>()(\n \"AuthenticationRequired\",\n {},\n) {}\n\nexport class OperationForbidden extends Schema.TaggedError<OperationForbidden>()(\n \"OperationForbidden\",\n {},\n) {}\n\nexport class AssuranceRequired extends Schema.TaggedError<AssuranceRequired>()(\n \"AssuranceRequired\",\n {},\n) {}\n\nexport class OperationPrivateOutputUnsupported extends Schema.TaggedError<OperationPrivateOutputUnsupported>()(\n \"OperationPrivateOutputUnsupported\",\n {},\n) {}\n\nexport const OperationBoundaryError = Schema.Union([\n InvalidOperationInput,\n AuthenticationRequired,\n OperationForbidden,\n AssuranceRequired,\n OperationPrivateOutputUnsupported,\n]);\n\nexport type OperationBoundaryError = typeof OperationBoundaryError.Type;\n"],"mappings":";;;AAGA,IAAa,8BAAb,cAAiD,OAAO,YAAyC,CAAC,CAChG,+BACA;CACE,QAAQ,OAAO,SAAS;EACtB;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,WAAW,OAAO;AACpB,CACF,CAAC,CAAC,CAAC;;AAGH,IAAa,wBAAb,cAA2C,OAAO,YAAmC,CAAC,CACpF,yBACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,yBAAb,cAA4C,OAAO,YAAoC,CAAC,CACtF,0BACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,qBAAb,cAAwC,OAAO,YAAgC,CAAC,CAC9E,sBACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,oBAAb,cAAuC,OAAO,YAA+B,CAAC,CAC5E,qBACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,oCAAb,cAAuD,OAAO,YAA+C,CAAC,CAC5G,qCACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,MAAa,yBAAyB,OAAO,MAAM;CACjD;CACA;CACA;CACA;CACA;AACF,CAAC"}