@yielded/auth-persistence 0.1.0-beta.7

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 (526) hide show
  1. package/README.md +21 -0
  2. package/dist/Drizzle.d.mts +28 -0
  3. package/dist/Drizzle.mjs +28 -0
  4. package/dist/DrizzleD1.d.mts +963 -0
  5. package/dist/DrizzleD1.mjs +29 -0
  6. package/dist/DrizzleD1.mjs.map +1 -0
  7. package/dist/DrizzleLibsql.d.mts +2284 -0
  8. package/dist/DrizzleLibsql.mjs +92 -0
  9. package/dist/DrizzleLibsql.mjs.map +1 -0
  10. package/dist/DrizzleMysql2.d.mts +1820 -0
  11. package/dist/DrizzleMysql2.mjs +55 -0
  12. package/dist/DrizzleMysql2.mjs.map +1 -0
  13. package/dist/DrizzlePglite.d.mts +1826 -0
  14. package/dist/DrizzlePglite.mjs +53 -0
  15. package/dist/DrizzlePglite.mjs.map +1 -0
  16. package/dist/DrizzlePostgres.d.mts +1826 -0
  17. package/dist/DrizzlePostgres.mjs +53 -0
  18. package/dist/DrizzlePostgres.mjs.map +1 -0
  19. package/dist/DrizzleSqliteBun.d.mts +2279 -0
  20. package/dist/DrizzleSqliteBun.mjs +70 -0
  21. package/dist/DrizzleSqliteBun.mjs.map +1 -0
  22. package/dist/DrizzleSqliteDo.d.mts +2329 -0
  23. package/dist/DrizzleSqliteDo.mjs +105 -0
  24. package/dist/DrizzleSqliteDo.mjs.map +1 -0
  25. package/dist/DrizzleSqliteNode.d.mts +2279 -0
  26. package/dist/DrizzleSqliteNode.mjs +70 -0
  27. package/dist/DrizzleSqliteNode.mjs.map +1 -0
  28. package/dist/DrizzleSqliteWasm.d.mts +2282 -0
  29. package/dist/DrizzleSqliteWasm.mjs +70 -0
  30. package/dist/DrizzleSqliteWasm.mjs.map +1 -0
  31. package/dist/drizzle/D1BatchStatements.d.mts +11 -0
  32. package/dist/drizzle/D1BatchStatements.mjs +8 -0
  33. package/dist/drizzle/D1BatchStatements.mjs.map +1 -0
  34. package/dist/drizzle/PasswordPreparedPostconditions.mjs +12 -0
  35. package/dist/drizzle/PasswordPreparedPostconditions.mjs.map +1 -0
  36. package/dist/drizzle/SuppliedService.d.mts +10 -0
  37. package/dist/drizzle/d1-emails.d.mts +62 -0
  38. package/dist/drizzle/d1-emails.mjs +580 -0
  39. package/dist/drizzle/d1-emails.mjs.map +1 -0
  40. package/dist/drizzle/d1-generated-statement.d.mts +2 -0
  41. package/dist/drizzle/d1-generated-statement.mjs +79 -0
  42. package/dist/drizzle/d1-generated-statement.mjs.map +1 -0
  43. package/dist/drizzle/d1-identity.d.mts +31 -0
  44. package/dist/drizzle/d1-identity.mjs +119 -0
  45. package/dist/drizzle/d1-identity.mjs.map +1 -0
  46. package/dist/drizzle/d1-oauth.d.mts +301 -0
  47. package/dist/drizzle/d1-oauth.mjs +76 -0
  48. package/dist/drizzle/d1-oauth.mjs.map +1 -0
  49. package/dist/drizzle/d1-passkey.d.mts +51 -0
  50. package/dist/drizzle/d1-passkey.mjs +95 -0
  51. package/dist/drizzle/d1-passkey.mjs.map +1 -0
  52. package/dist/drizzle/d1-password-prepared.d.mts +25 -0
  53. package/dist/drizzle/d1-password-prepared.mjs +461 -0
  54. package/dist/drizzle/d1-password-prepared.mjs.map +1 -0
  55. package/dist/drizzle/d1-passwords.d.mts +87 -0
  56. package/dist/drizzle/d1-passwords.mjs +1004 -0
  57. package/dist/drizzle/d1-passwords.mjs.map +1 -0
  58. package/dist/drizzle/d1-phone.d.mts +26 -0
  59. package/dist/drizzle/d1-phone.mjs +30 -0
  60. package/dist/drizzle/d1-phone.mjs.map +1 -0
  61. package/dist/drizzle/d1-planning.d.mts +12 -0
  62. package/dist/drizzle/d1-planning.mjs +43 -0
  63. package/dist/drizzle/d1-planning.mjs.map +1 -0
  64. package/dist/drizzle/d1-proofs.d.mts +80 -0
  65. package/dist/drizzle/d1-proofs.mjs +830 -0
  66. package/dist/drizzle/d1-proofs.mjs.map +1 -0
  67. package/dist/drizzle/d1-sessions.d.mts +67 -0
  68. package/dist/drizzle/d1-sessions.mjs +966 -0
  69. package/dist/drizzle/d1-sessions.mjs.map +1 -0
  70. package/dist/drizzle/d1-totp.d.mts +26 -0
  71. package/dist/drizzle/d1-totp.mjs +27 -0
  72. package/dist/drizzle/d1-totp.mjs.map +1 -0
  73. package/dist/drizzle/email-model.d.mts +354 -0
  74. package/dist/drizzle/email-model.mjs +21 -0
  75. package/dist/drizzle/email-model.mjs.map +1 -0
  76. package/dist/drizzle/email-registration.d.mts +30 -0
  77. package/dist/drizzle/email-registration.mjs +238 -0
  78. package/dist/drizzle/email-registration.mjs.map +1 -0
  79. package/dist/drizzle/email-sql.d.mts +4 -0
  80. package/dist/drizzle/email-sql.mjs +9 -0
  81. package/dist/drizzle/email-sql.mjs.map +1 -0
  82. package/dist/drizzle/email-target.d.mts +20 -0
  83. package/dist/drizzle/email-target.mjs +72 -0
  84. package/dist/drizzle/email-target.mjs.map +1 -0
  85. package/dist/drizzle/model.d.mts +250 -0
  86. package/dist/drizzle/model.mjs +58 -0
  87. package/dist/drizzle/model.mjs.map +1 -0
  88. package/dist/drizzle/mysql-emails.d.mts +71 -0
  89. package/dist/drizzle/mysql-emails.mjs +38 -0
  90. package/dist/drizzle/mysql-emails.mjs.map +1 -0
  91. package/dist/drizzle/mysql-identity.d.mts +22 -0
  92. package/dist/drizzle/mysql-identity.mjs +94 -0
  93. package/dist/drizzle/mysql-identity.mjs.map +1 -0
  94. package/dist/drizzle/mysql-password-prepared.d.mts +30 -0
  95. package/dist/drizzle/mysql-password-prepared.mjs +16 -0
  96. package/dist/drizzle/mysql-password-prepared.mjs.map +1 -0
  97. package/dist/drizzle/mysql-passwords.d.mts +86 -0
  98. package/dist/drizzle/mysql-passwords.mjs +38 -0
  99. package/dist/drizzle/mysql-passwords.mjs.map +1 -0
  100. package/dist/drizzle/mysql-proofs.d.mts +75 -0
  101. package/dist/drizzle/mysql-proofs.mjs +23 -0
  102. package/dist/drizzle/mysql-proofs.mjs.map +1 -0
  103. package/dist/drizzle/mysql-sessions.d.mts +237 -0
  104. package/dist/drizzle/mysql-sessions.mjs +53 -0
  105. package/dist/drizzle/mysql-sessions.mjs.map +1 -0
  106. package/dist/drizzle/mysql.d.mts +70 -0
  107. package/dist/drizzle/mysql.mjs +218 -0
  108. package/dist/drizzle/mysql.mjs.map +1 -0
  109. package/dist/drizzle/oauth-accounts.mjs +358 -0
  110. package/dist/drizzle/oauth-accounts.mjs.map +1 -0
  111. package/dist/drizzle/oauth-connected-access.mjs +210 -0
  112. package/dist/drizzle/oauth-connected-access.mjs.map +1 -0
  113. package/dist/drizzle/oauth-connected-collection.mjs +202 -0
  114. package/dist/drizzle/oauth-connected-collection.mjs.map +1 -0
  115. package/dist/drizzle/oauth-connected-custody.mjs +146 -0
  116. package/dist/drizzle/oauth-connected-custody.mjs.map +1 -0
  117. package/dist/drizzle/oauth-connected-drivers.mjs +76 -0
  118. package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -0
  119. package/dist/drizzle/oauth-connected-flow.mjs +247 -0
  120. package/dist/drizzle/oauth-connected-flow.mjs.map +1 -0
  121. package/dist/drizzle/oauth-connected-input.mjs +103 -0
  122. package/dist/drizzle/oauth-connected-input.mjs.map +1 -0
  123. package/dist/drizzle/oauth-connected-maintenance.mjs +214 -0
  124. package/dist/drizzle/oauth-connected-maintenance.mjs.map +1 -0
  125. package/dist/drizzle/oauth-connected-management.mjs +228 -0
  126. package/dist/drizzle/oauth-connected-management.mjs.map +1 -0
  127. package/dist/drizzle/oauth-connected-model.d.mts +278 -0
  128. package/dist/drizzle/oauth-connected-model.mjs +22 -0
  129. package/dist/drizzle/oauth-connected-model.mjs.map +1 -0
  130. package/dist/drizzle/oauth-connected-reference.d.mts +17 -0
  131. package/dist/drizzle/oauth-connected-reference.mjs +53 -0
  132. package/dist/drizzle/oauth-connected-reference.mjs.map +1 -0
  133. package/dist/drizzle/oauth-connected-settlement.mjs +117 -0
  134. package/dist/drizzle/oauth-connected-settlement.mjs.map +1 -0
  135. package/dist/drizzle/oauth-connected-state.d.mts +14 -0
  136. package/dist/drizzle/oauth-connected-state.mjs +422 -0
  137. package/dist/drizzle/oauth-connected-state.mjs.map +1 -0
  138. package/dist/drizzle/oauth-connected-target.d.mts +753 -0
  139. package/dist/drizzle/oauth-connected-target.mjs +91 -0
  140. package/dist/drizzle/oauth-connected-target.mjs.map +1 -0
  141. package/dist/drizzle/oauth-drivers.mjs +51 -0
  142. package/dist/drizzle/oauth-drivers.mjs.map +1 -0
  143. package/dist/drizzle/oauth-flow.d.mts +5 -0
  144. package/dist/drizzle/oauth-flow.mjs +253 -0
  145. package/dist/drizzle/oauth-flow.mjs.map +1 -0
  146. package/dist/drizzle/oauth-input.mjs +127 -0
  147. package/dist/drizzle/oauth-input.mjs.map +1 -0
  148. package/dist/drizzle/oauth-model.d.mts +463 -0
  149. package/dist/drizzle/oauth-model.mjs +49 -0
  150. package/dist/drizzle/oauth-model.mjs.map +1 -0
  151. package/dist/drizzle/oauth-mysql.mjs +8 -0
  152. package/dist/drizzle/oauth-mysql.mjs.map +1 -0
  153. package/dist/drizzle/oauth-owner.d.mts +4 -0
  154. package/dist/drizzle/oauth-owner.mjs +10 -0
  155. package/dist/drizzle/oauth-owner.mjs.map +1 -0
  156. package/dist/drizzle/oauth-registration.d.mts +6 -0
  157. package/dist/drizzle/oauth-registration.mjs +374 -0
  158. package/dist/drizzle/oauth-registration.mjs.map +1 -0
  159. package/dist/drizzle/oauth-state.mjs +107 -0
  160. package/dist/drizzle/oauth-state.mjs.map +1 -0
  161. package/dist/drizzle/oauth-target.d.mts +111 -0
  162. package/dist/drizzle/oauth-target.mjs +246 -0
  163. package/dist/drizzle/oauth-target.mjs.map +1 -0
  164. package/dist/drizzle/passkey-drivers.mjs +34 -0
  165. package/dist/drizzle/passkey-drivers.mjs.map +1 -0
  166. package/dist/drizzle/passkey-kernel.mjs +8 -0
  167. package/dist/drizzle/passkey-kernel.mjs.map +1 -0
  168. package/dist/drizzle/passkey-model.d.mts +272 -0
  169. package/dist/drizzle/passkey-model.mjs +34 -0
  170. package/dist/drizzle/passkey-model.mjs.map +1 -0
  171. package/dist/drizzle/passkey-registration-ceremony-model.d.mts +50 -0
  172. package/dist/drizzle/passkey-registration-ceremony-model.mjs +18 -0
  173. package/dist/drizzle/passkey-registration-ceremony-model.mjs.map +1 -0
  174. package/dist/drizzle/passkey-state.mjs +7 -0
  175. package/dist/drizzle/passkey-state.mjs.map +1 -0
  176. package/dist/drizzle/passkey-target.d.mts +9 -0
  177. package/dist/drizzle/passkey-target.mjs +7 -0
  178. package/dist/drizzle/passkey-target.mjs.map +1 -0
  179. package/dist/drizzle/passkey-write-drivers.mjs +32 -0
  180. package/dist/drizzle/passkey-write-drivers.mjs.map +1 -0
  181. package/dist/drizzle/passkey-write-model.d.mts +190 -0
  182. package/dist/drizzle/passkey-write-model.mjs +13 -0
  183. package/dist/drizzle/passkey-write-model.mjs.map +1 -0
  184. package/dist/drizzle/passkey-write-target.d.mts +11 -0
  185. package/dist/drizzle/passkey-write-target.mjs +7 -0
  186. package/dist/drizzle/passkey-write-target.mjs.map +1 -0
  187. package/dist/drizzle/password-model.d.mts +329 -0
  188. package/dist/drizzle/password-model.mjs +23 -0
  189. package/dist/drizzle/password-model.mjs.map +1 -0
  190. package/dist/drizzle/password-prepared-model.d.mts +94 -0
  191. package/dist/drizzle/password-prepared-model.mjs +11 -0
  192. package/dist/drizzle/password-prepared-model.mjs.map +1 -0
  193. package/dist/drizzle/password-prepared-sql.mjs +390 -0
  194. package/dist/drizzle/password-prepared-sql.mjs.map +1 -0
  195. package/dist/drizzle/password-prepared-state.mjs +104 -0
  196. package/dist/drizzle/password-prepared-state.mjs.map +1 -0
  197. package/dist/drizzle/password-prepared-target.d.mts +12 -0
  198. package/dist/drizzle/password-prepared-target.mjs +56 -0
  199. package/dist/drizzle/password-prepared-target.mjs.map +1 -0
  200. package/dist/drizzle/password-registration.d.mts +19 -0
  201. package/dist/drizzle/password-registration.mjs +135 -0
  202. package/dist/drizzle/password-registration.mjs.map +1 -0
  203. package/dist/drizzle/password-sql.d.mts +5 -0
  204. package/dist/drizzle/password-sql.mjs +9 -0
  205. package/dist/drizzle/password-sql.mjs.map +1 -0
  206. package/dist/drizzle/password-target.d.mts +17 -0
  207. package/dist/drizzle/password-target.mjs +61 -0
  208. package/dist/drizzle/password-target.mjs.map +1 -0
  209. package/dist/drizzle/pg-emails.d.mts +72 -0
  210. package/dist/drizzle/pg-emails.mjs +38 -0
  211. package/dist/drizzle/pg-emails.mjs.map +1 -0
  212. package/dist/drizzle/pg-password-prepared.d.mts +31 -0
  213. package/dist/drizzle/pg-password-prepared.mjs +16 -0
  214. package/dist/drizzle/pg-password-prepared.mjs.map +1 -0
  215. package/dist/drizzle/pg-passwords.d.mts +87 -0
  216. package/dist/drizzle/pg-passwords.mjs +38 -0
  217. package/dist/drizzle/pg-passwords.mjs.map +1 -0
  218. package/dist/drizzle/pg-proofs.d.mts +76 -0
  219. package/dist/drizzle/pg-proofs.mjs +22 -0
  220. package/dist/drizzle/pg-proofs.mjs.map +1 -0
  221. package/dist/drizzle/pg-sessions.d.mts +238 -0
  222. package/dist/drizzle/pg-sessions.mjs +53 -0
  223. package/dist/drizzle/pg-sessions.mjs.map +1 -0
  224. package/dist/drizzle/pg.d.mts +81 -0
  225. package/dist/drizzle/pg.mjs +290 -0
  226. package/dist/drizzle/pg.mjs.map +1 -0
  227. package/dist/drizzle/phone-model.d.mts +115 -0
  228. package/dist/drizzle/phone-model.mjs +39 -0
  229. package/dist/drizzle/phone-model.mjs.map +1 -0
  230. package/dist/drizzle/phone-state.mjs +16 -0
  231. package/dist/drizzle/phone-state.mjs.map +1 -0
  232. package/dist/drizzle/phone-target.d.mts +17 -0
  233. package/dist/drizzle/phone-target.mjs +170 -0
  234. package/dist/drizzle/phone-target.mjs.map +1 -0
  235. package/dist/drizzle/proof-model.d.mts +286 -0
  236. package/dist/drizzle/proof-model.mjs +17 -0
  237. package/dist/drizzle/proof-model.mjs.map +1 -0
  238. package/dist/drizzle/proof-sql.d.mts +4 -0
  239. package/dist/drizzle/proof-sql.mjs +8 -0
  240. package/dist/drizzle/proof-sql.mjs.map +1 -0
  241. package/dist/drizzle/proof-target.d.mts +12 -0
  242. package/dist/drizzle/proof-target.mjs +36 -0
  243. package/dist/drizzle/proof-target.mjs.map +1 -0
  244. package/dist/drizzle/query-operations.mjs +26 -0
  245. package/dist/drizzle/query-operations.mjs.map +1 -0
  246. package/dist/drizzle/session-model.d.mts +200 -0
  247. package/dist/drizzle/session-model.mjs +20 -0
  248. package/dist/drizzle/session-model.mjs.map +1 -0
  249. package/dist/drizzle/session-sql.mjs +8 -0
  250. package/dist/drizzle/session-sql.mjs.map +1 -0
  251. package/dist/drizzle/session-target.d.mts +28 -0
  252. package/dist/drizzle/session-target.mjs +47 -0
  253. package/dist/drizzle/session-target.mjs.map +1 -0
  254. package/dist/drizzle/sqlite-emails.mjs +45 -0
  255. package/dist/drizzle/sqlite-emails.mjs.map +1 -0
  256. package/dist/drizzle/sqlite-identity.mjs +91 -0
  257. package/dist/drizzle/sqlite-identity.mjs.map +1 -0
  258. package/dist/drizzle/sqlite-password-prepared.mjs +21 -0
  259. package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -0
  260. package/dist/drizzle/sqlite-passwords.mjs +49 -0
  261. package/dist/drizzle/sqlite-passwords.mjs.map +1 -0
  262. package/dist/drizzle/sqlite-proofs.mjs +29 -0
  263. package/dist/drizzle/sqlite-proofs.mjs.map +1 -0
  264. package/dist/drizzle/sqlite-sessions.mjs +74 -0
  265. package/dist/drizzle/sqlite-sessions.mjs.map +1 -0
  266. package/dist/drizzle/sqlite.d.mts +78 -0
  267. package/dist/drizzle/sqlite.mjs +217 -0
  268. package/dist/drizzle/sqlite.mjs.map +1 -0
  269. package/dist/drizzle/standalone-guard.mjs +19 -0
  270. package/dist/drizzle/standalone-guard.mjs.map +1 -0
  271. package/dist/drizzle/step-up-model.d.mts +65 -0
  272. package/dist/drizzle/step-up-model.mjs +9 -0
  273. package/dist/drizzle/step-up-model.mjs.map +1 -0
  274. package/dist/drizzle/step-up-state.mjs +32 -0
  275. package/dist/drizzle/step-up-state.mjs.map +1 -0
  276. package/dist/drizzle/totp-model.d.mts +84 -0
  277. package/dist/drizzle/totp-model.mjs +13 -0
  278. package/dist/drizzle/totp-model.mjs.map +1 -0
  279. package/dist/drizzle/totp-state.d.mts +38 -0
  280. package/dist/drizzle/totp-state.mjs +287 -0
  281. package/dist/drizzle/totp-state.mjs.map +1 -0
  282. package/dist/drizzle/totp-target.d.mts +17 -0
  283. package/dist/drizzle/totp-target.mjs +81 -0
  284. package/dist/drizzle/totp-target.mjs.map +1 -0
  285. package/dist/drizzle/transaction-execution.d.mts +4 -0
  286. package/dist/drizzle/transaction-execution.mjs +11 -0
  287. package/dist/drizzle/transaction-execution.mjs.map +1 -0
  288. package/dist/drizzle/transaction-mysql.mjs +46 -0
  289. package/dist/drizzle/transaction-mysql.mjs.map +1 -0
  290. package/dist/drizzle/transaction-owner.d.mts +2 -0
  291. package/dist/drizzle/transaction-owner.mjs +8 -0
  292. package/dist/drizzle/transaction-owner.mjs.map +1 -0
  293. package/dist/index.d.mts +5 -0
  294. package/dist/index.mjs +5 -0
  295. package/dist/internal/configuration.d.mts +174 -0
  296. package/dist/internal/configuration.mjs +7 -0
  297. package/dist/internal/configuration.mjs.map +1 -0
  298. package/dist/internal/drizzle-migrations.mjs +19 -0
  299. package/dist/internal/drizzle-migrations.mjs.map +1 -0
  300. package/dist/internal/drizzle-postgres.mjs +39 -0
  301. package/dist/internal/drizzle-postgres.mjs.map +1 -0
  302. package/dist/internal/drizzle-sqlite.mjs +37 -0
  303. package/dist/internal/drizzle-sqlite.mjs.map +1 -0
  304. package/dist/internal/email-kernel.d.mts +13 -0
  305. package/dist/internal/email-kernel.mjs +487 -0
  306. package/dist/internal/email-kernel.mjs.map +1 -0
  307. package/dist/internal/mapping-error.d.mts +11 -0
  308. package/dist/internal/mapping-error.mjs +30 -0
  309. package/dist/internal/mapping-error.mjs.map +1 -0
  310. package/dist/internal/passkey/admission.d.mts +7 -0
  311. package/dist/internal/passkey/admission.mjs +216 -0
  312. package/dist/internal/passkey/admission.mjs.map +1 -0
  313. package/dist/internal/passkey/credentials.d.mts +6 -0
  314. package/dist/internal/passkey/credentials.mjs +249 -0
  315. package/dist/internal/passkey/credentials.mjs.map +1 -0
  316. package/dist/internal/passkey/enrollment.mjs +138 -0
  317. package/dist/internal/passkey/enrollment.mjs.map +1 -0
  318. package/dist/internal/passkey/flow.d.mts +10 -0
  319. package/dist/internal/passkey/flow.mjs +452 -0
  320. package/dist/internal/passkey/flow.mjs.map +1 -0
  321. package/dist/internal/passkey/management.mjs +231 -0
  322. package/dist/internal/passkey/management.mjs.map +1 -0
  323. package/dist/internal/passkey/registration-ceremony.d.mts +9 -0
  324. package/dist/internal/passkey/registration-ceremony.mjs +129 -0
  325. package/dist/internal/passkey/registration-ceremony.mjs.map +1 -0
  326. package/dist/internal/passkey/registration-custody.d.mts +2 -0
  327. package/dist/internal/passkey/registration-custody.mjs +52 -0
  328. package/dist/internal/passkey/registration-custody.mjs.map +1 -0
  329. package/dist/internal/passkey/registration-write.mjs +211 -0
  330. package/dist/internal/passkey/registration-write.mjs.map +1 -0
  331. package/dist/internal/passkey/state.d.mts +5 -0
  332. package/dist/internal/passkey/state.mjs +234 -0
  333. package/dist/internal/passkey/state.mjs.map +1 -0
  334. package/dist/internal/passkey/target.d.mts +19 -0
  335. package/dist/internal/passkey/target.mjs +190 -0
  336. package/dist/internal/passkey/target.mjs.map +1 -0
  337. package/dist/internal/passkey/write-state.mjs +345 -0
  338. package/dist/internal/passkey/write-state.mjs.map +1 -0
  339. package/dist/internal/passkey/write-target.mjs +192 -0
  340. package/dist/internal/passkey/write-target.mjs.map +1 -0
  341. package/dist/internal/passkey-kernel.mjs +49 -0
  342. package/dist/internal/passkey-kernel.mjs.map +1 -0
  343. package/dist/internal/passkeys.mjs +367 -0
  344. package/dist/internal/passkeys.mjs.map +1 -0
  345. package/dist/internal/password-kernel.d.mts +13 -0
  346. package/dist/internal/password-kernel.mjs +704 -0
  347. package/dist/internal/password-kernel.mjs.map +1 -0
  348. package/dist/internal/persistence.mjs +289 -0
  349. package/dist/internal/persistence.mjs.map +1 -0
  350. package/dist/internal/phone-kernel.mjs +434 -0
  351. package/dist/internal/phone-kernel.mjs.map +1 -0
  352. package/dist/internal/proof-kernel.d.mts +9 -0
  353. package/dist/internal/proof-kernel.mjs +619 -0
  354. package/dist/internal/proof-kernel.mjs.map +1 -0
  355. package/dist/internal/query-operations.d.mts +3 -0
  356. package/dist/internal/registration.mjs +65 -0
  357. package/dist/internal/registration.mjs.map +1 -0
  358. package/dist/internal/session-kernel.mjs +737 -0
  359. package/dist/internal/session-kernel.mjs.map +1 -0
  360. package/dist/internal/sql-persistence.d.mts +11 -0
  361. package/dist/internal/sql-persistence.mjs +37 -0
  362. package/dist/internal/sql-persistence.mjs.map +1 -0
  363. package/dist/internal/sql-query.mjs +207 -0
  364. package/dist/internal/sql-query.mjs.map +1 -0
  365. package/dist/internal/sql-table.d.mts +37 -0
  366. package/dist/internal/sql-table.mjs +71 -0
  367. package/dist/internal/sql-table.mjs.map +1 -0
  368. package/dist/internal/storage-mapping.mjs +687 -0
  369. package/dist/internal/storage-mapping.mjs.map +1 -0
  370. package/dist/internal/storage-tables.d.mts +914 -0
  371. package/dist/internal/storage-tables.mjs +387 -0
  372. package/dist/internal/storage-tables.mjs.map +1 -0
  373. package/dist/internal/storage-validation.mjs +58 -0
  374. package/dist/internal/storage-validation.mjs.map +1 -0
  375. package/dist/internal/transaction-execution-kernel.d.mts +18 -0
  376. package/dist/internal/transaction-execution-kernel.mjs +118 -0
  377. package/dist/internal/transaction-execution-kernel.mjs.map +1 -0
  378. package/dist/internal/transaction-kernel.d.mts +7 -0
  379. package/dist/internal/transaction-kernel.mjs +260 -0
  380. package/dist/internal/transaction-kernel.mjs.map +1 -0
  381. package/package.json +1 -0
  382. package/src/Drizzle.ts +378 -0
  383. package/src/DrizzleD1.ts +136 -0
  384. package/src/DrizzleLibsql.ts +301 -0
  385. package/src/DrizzleMysql2.ts +184 -0
  386. package/src/DrizzlePglite.ts +174 -0
  387. package/src/DrizzlePostgres.ts +174 -0
  388. package/src/DrizzleSqliteBun.ts +258 -0
  389. package/src/DrizzleSqliteDo.ts +473 -0
  390. package/src/DrizzleSqliteNode.ts +259 -0
  391. package/src/DrizzleSqliteWasm.ts +263 -0
  392. package/src/drizzle/D1BatchStatements.ts +10 -0
  393. package/src/drizzle/PasswordPreparedPostconditions.ts +30 -0
  394. package/src/drizzle/SuppliedService.ts +10 -0
  395. package/src/drizzle/d1-emails.ts +1829 -0
  396. package/src/drizzle/d1-generated-statement.ts +129 -0
  397. package/src/drizzle/d1-identity.ts +375 -0
  398. package/src/drizzle/d1-oauth.ts +340 -0
  399. package/src/drizzle/d1-passkey.ts +373 -0
  400. package/src/drizzle/d1-password-prepared.ts +1270 -0
  401. package/src/drizzle/d1-passwords.ts +2656 -0
  402. package/src/drizzle/d1-phone.ts +96 -0
  403. package/src/drizzle/d1-planning.ts +104 -0
  404. package/src/drizzle/d1-proofs.ts +2305 -0
  405. package/src/drizzle/d1-sessions.ts +2857 -0
  406. package/src/drizzle/d1-totp.ts +78 -0
  407. package/src/drizzle/email-model.ts +516 -0
  408. package/src/drizzle/email-registration.ts +698 -0
  409. package/src/drizzle/email-sql.ts +24 -0
  410. package/src/drizzle/email-target.ts +243 -0
  411. package/src/drizzle/model.ts +463 -0
  412. package/src/drizzle/mysql-emails.ts +321 -0
  413. package/src/drizzle/mysql-identity.ts +324 -0
  414. package/src/drizzle/mysql-password-prepared.ts +204 -0
  415. package/src/drizzle/mysql-passwords.ts +339 -0
  416. package/src/drizzle/mysql-proofs.ts +181 -0
  417. package/src/drizzle/mysql-sessions.ts +741 -0
  418. package/src/drizzle/mysql.ts +687 -0
  419. package/src/drizzle/oauth-accounts.ts +804 -0
  420. package/src/drizzle/oauth-connected-access.ts +354 -0
  421. package/src/drizzle/oauth-connected-collection.ts +324 -0
  422. package/src/drizzle/oauth-connected-custody.ts +277 -0
  423. package/src/drizzle/oauth-connected-drivers.ts +465 -0
  424. package/src/drizzle/oauth-connected-flow.ts +441 -0
  425. package/src/drizzle/oauth-connected-input.ts +127 -0
  426. package/src/drizzle/oauth-connected-maintenance.ts +345 -0
  427. package/src/drizzle/oauth-connected-management.ts +365 -0
  428. package/src/drizzle/oauth-connected-model.ts +347 -0
  429. package/src/drizzle/oauth-connected-reference.ts +112 -0
  430. package/src/drizzle/oauth-connected-settlement.ts +226 -0
  431. package/src/drizzle/oauth-connected-state.ts +845 -0
  432. package/src/drizzle/oauth-connected-target.ts +264 -0
  433. package/src/drizzle/oauth-drivers.ts +569 -0
  434. package/src/drizzle/oauth-flow.ts +462 -0
  435. package/src/drizzle/oauth-input.ts +201 -0
  436. package/src/drizzle/oauth-model.ts +617 -0
  437. package/src/drizzle/oauth-mysql.ts +10 -0
  438. package/src/drizzle/oauth-owner.ts +29 -0
  439. package/src/drizzle/oauth-registration.ts +640 -0
  440. package/src/drizzle/oauth-state.ts +215 -0
  441. package/src/drizzle/oauth-target.ts +750 -0
  442. package/src/drizzle/passkey-drivers.ts +385 -0
  443. package/src/drizzle/passkey-kernel.ts +3 -0
  444. package/src/drizzle/passkey-model.ts +353 -0
  445. package/src/drizzle/passkey-registration-ceremony-model.ts +69 -0
  446. package/src/drizzle/passkey-state.ts +3 -0
  447. package/src/drizzle/passkey-target.ts +23 -0
  448. package/src/drizzle/passkey-write-drivers.ts +395 -0
  449. package/src/drizzle/passkey-write-model.ts +271 -0
  450. package/src/drizzle/passkey-write-target.ts +9 -0
  451. package/src/drizzle/password-model.ts +491 -0
  452. package/src/drizzle/password-prepared-model.ts +259 -0
  453. package/src/drizzle/password-prepared-sql.ts +1191 -0
  454. package/src/drizzle/password-prepared-state.ts +231 -0
  455. package/src/drizzle/password-prepared-target.ts +160 -0
  456. package/src/drizzle/password-registration.ts +374 -0
  457. package/src/drizzle/password-sql.ts +12 -0
  458. package/src/drizzle/password-target.ts +224 -0
  459. package/src/drizzle/pg-emails.ts +321 -0
  460. package/src/drizzle/pg-password-prepared.ts +205 -0
  461. package/src/drizzle/pg-passwords.ts +338 -0
  462. package/src/drizzle/pg-proofs.ts +191 -0
  463. package/src/drizzle/pg-sessions.ts +750 -0
  464. package/src/drizzle/pg.ts +984 -0
  465. package/src/drizzle/phone-model.ts +190 -0
  466. package/src/drizzle/phone-state.ts +21 -0
  467. package/src/drizzle/phone-target.ts +472 -0
  468. package/src/drizzle/proof-model.ts +398 -0
  469. package/src/drizzle/proof-sql.ts +9 -0
  470. package/src/drizzle/proof-target.ts +122 -0
  471. package/src/drizzle/query-operations.ts +37 -0
  472. package/src/drizzle/session-model.ts +370 -0
  473. package/src/drizzle/session-sql.ts +13 -0
  474. package/src/drizzle/session-target.ts +338 -0
  475. package/src/drizzle/sqlite-emails.ts +366 -0
  476. package/src/drizzle/sqlite-identity.ts +344 -0
  477. package/src/drizzle/sqlite-password-prepared.ts +260 -0
  478. package/src/drizzle/sqlite-passwords.ts +497 -0
  479. package/src/drizzle/sqlite-proofs.ts +202 -0
  480. package/src/drizzle/sqlite-sessions.ts +971 -0
  481. package/src/drizzle/sqlite.ts +705 -0
  482. package/src/drizzle/standalone-guard.ts +38 -0
  483. package/src/drizzle/step-up-model.ts +128 -0
  484. package/src/drizzle/step-up-state.ts +139 -0
  485. package/src/drizzle/totp-model.ts +92 -0
  486. package/src/drizzle/totp-state.ts +525 -0
  487. package/src/drizzle/totp-target.ts +308 -0
  488. package/src/drizzle/transaction-execution.ts +12 -0
  489. package/src/drizzle/transaction-mysql.ts +104 -0
  490. package/src/drizzle/transaction-owner.ts +10 -0
  491. package/src/index.ts +4 -0
  492. package/src/internal/configuration.ts +282 -0
  493. package/src/internal/drizzle-migrations.ts +30 -0
  494. package/src/internal/drizzle-postgres.ts +81 -0
  495. package/src/internal/drizzle-sqlite.ts +79 -0
  496. package/src/internal/email-kernel.ts +1532 -0
  497. package/src/internal/mapping-error.ts +36 -0
  498. package/src/internal/passkey/admission.ts +362 -0
  499. package/src/internal/passkey/credentials.ts +511 -0
  500. package/src/internal/passkey/enrollment.ts +326 -0
  501. package/src/internal/passkey/flow.ts +1062 -0
  502. package/src/internal/passkey/management.ts +422 -0
  503. package/src/internal/passkey/registration-ceremony.ts +283 -0
  504. package/src/internal/passkey/registration-custody.ts +91 -0
  505. package/src/internal/passkey/registration-write.ts +426 -0
  506. package/src/internal/passkey/state.ts +354 -0
  507. package/src/internal/passkey/target.ts +586 -0
  508. package/src/internal/passkey/write-state.ts +681 -0
  509. package/src/internal/passkey/write-target.ts +452 -0
  510. package/src/internal/passkey-kernel.ts +102 -0
  511. package/src/internal/passkeys.ts +597 -0
  512. package/src/internal/password-kernel.ts +2122 -0
  513. package/src/internal/persistence.ts +590 -0
  514. package/src/internal/phone-kernel.ts +843 -0
  515. package/src/internal/proof-kernel.ts +1949 -0
  516. package/src/internal/query-operations.ts +26 -0
  517. package/src/internal/registration.ts +160 -0
  518. package/src/internal/session-kernel.ts +2210 -0
  519. package/src/internal/sql-persistence.ts +45 -0
  520. package/src/internal/sql-query.ts +298 -0
  521. package/src/internal/sql-table.ts +89 -0
  522. package/src/internal/storage-mapping.ts +706 -0
  523. package/src/internal/storage-tables.ts +408 -0
  524. package/src/internal/storage-validation.ts +117 -0
  525. package/src/internal/transaction-execution-kernel.ts +317 -0
  526. package/src/internal/transaction-kernel.ts +582 -0
@@ -0,0 +1,301 @@
1
+ import { EmailUnavailable } from "@yielded/auth/Email";
2
+ import { AuthStoreError } from "@yielded/auth/Errors";
3
+ import { PasswordUnavailable } from "@yielded/auth/Password";
4
+ import { ProofUnavailable } from "@yielded/auth/Proofs";
5
+ import { SessionUnavailable } from "@yielded/auth/Sessions";
6
+ import type { AnyRelations } from "drizzle-orm";
7
+ import { type EffectLibsqlDatabase, makeWithDefaults } from "drizzle-orm/effect-libsql";
8
+ import type { AnySQLiteTable } from "drizzle-orm/sqlite-core";
9
+ import { Context, Effect, Option } from "effect";
10
+
11
+ import type {
12
+ AuthStoreTables,
13
+ AuthTables,
14
+ ExternalIdentityTables,
15
+ IdentityTables,
16
+ OAuthStateTables,
17
+ SubjectProvisioningTables,
18
+ } from "./drizzle/model";
19
+ import {
20
+ coordinateSqliteAuthStoreTransaction,
21
+ coordinateSqliteAuthTransaction,
22
+ coordinateSqliteOAuthStateTransaction,
23
+ makeSqliteAuthServices,
24
+ makeSqliteAuthStoreServices,
25
+ makeSqliteOAuthStateServices,
26
+ } from "./drizzle/sqlite";
27
+
28
+ export {
29
+ coordinateSqliteAuthStoreTransaction as coordinateAuthStoreTransaction,
30
+ coordinateSqliteAuthTransaction as coordinateAuthTransaction,
31
+ coordinateSqliteOAuthStateTransaction as coordinateOAuthStateTransaction,
32
+ };
33
+
34
+ import { makeSqliteEmailTarget, sqliteEmailConfiguration } from "./drizzle/sqlite-emails";
35
+ import {
36
+ makeSqliteExternalIdentityServices,
37
+ makeSqliteIdentityServices,
38
+ makeSqliteSubjectProvisioningServices,
39
+ } from "./drizzle/sqlite-identity";
40
+ import { makeSqlitePasswordTarget, sqlitePasswordConfiguration } from "./drizzle/sqlite-passwords";
41
+ import { makeSqliteProofTarget, sqliteProofConfiguration } from "./drizzle/sqlite-proofs";
42
+ import { makeSqliteSessionTarget, sqliteSessionConfiguration } from "./drizzle/sqlite-sessions";
43
+
44
+ // @effect/sql-libsql owns a driver-specific transaction context rather than
45
+ // SqlClient.transactionService. This tag name is an upstream private detail
46
+ // verified against 4.0.0-rc.112 and must be rechecked on driver upgrades;
47
+ // Context's string-key identity makes the installed-version guard possible.
48
+ const LibsqlTransaction = Context.Service<unknown>(
49
+ "@effect/sql-libsql/LibsqlClient/LibsqlTransaction",
50
+ );
51
+
52
+ const requireStandalone = Effect.serviceOption(LibsqlTransaction).pipe(
53
+ Effect.flatMap(
54
+ Option.match({
55
+ onNone: () => Effect.void,
56
+ onSome: () =>
57
+ AuthStoreError.make({
58
+ message: "Use the decision consume API inside an outer database transaction",
59
+ }),
60
+ }),
61
+ ),
62
+ );
63
+
64
+ const requireStandaloneSession = Effect.serviceOption(LibsqlTransaction).pipe(
65
+ Effect.flatMap(
66
+ Option.match({
67
+ onNone: () => Effect.void,
68
+ onSome: () => SessionUnavailable.make({}),
69
+ }),
70
+ ),
71
+ );
72
+
73
+ const requireStandaloneProof = Effect.serviceOption(LibsqlTransaction).pipe(
74
+ Effect.flatMap(
75
+ Option.match({
76
+ onNone: () => Effect.void,
77
+ onSome: () => ProofUnavailable.make({}),
78
+ }),
79
+ ),
80
+ );
81
+
82
+ const requireStandalonePassword = Effect.serviceOption(LibsqlTransaction).pipe(
83
+ Effect.flatMap(
84
+ Option.match({
85
+ onNone: () => Effect.void,
86
+ onSome: () => PasswordUnavailable.make({}),
87
+ }),
88
+ ),
89
+ );
90
+
91
+ const requireStandaloneEmail = Effect.serviceOption(LibsqlTransaction).pipe(
92
+ Effect.flatMap(
93
+ Option.match({
94
+ onNone: () => Effect.void,
95
+ onSome: () => EmailUnavailable.make({}),
96
+ }),
97
+ ),
98
+ );
99
+
100
+ const sessionTarget = makeSqliteSessionTarget<EffectLibsqlDatabase<AnyRelations>>(
101
+ sqliteSessionConfiguration("interactive", requireStandaloneSession),
102
+ );
103
+
104
+ const proofTarget = makeSqliteProofTarget<EffectLibsqlDatabase<AnyRelations>>(
105
+ sqliteProofConfiguration("interactive", requireStandaloneProof),
106
+ );
107
+
108
+ const passwordTarget = makeSqlitePasswordTarget<EffectLibsqlDatabase<AnyRelations>>(
109
+ sqlitePasswordConfiguration("interactive", requireStandalonePassword, requireStandaloneProof),
110
+ );
111
+
112
+ const emailTarget = makeSqliteEmailTarget<EffectLibsqlDatabase<AnyRelations>>(
113
+ sqliteEmailConfiguration("interactive", requireStandaloneEmail, requireStandaloneProof),
114
+ );
115
+
116
+ export const {
117
+ coordinateEmailAddress,
118
+ coordinateEmailRegistration,
119
+ makeEmailAddressServices,
120
+ makeEmailRegistrationServices,
121
+ makeEmailSignInServices,
122
+ } = emailTarget;
123
+
124
+ export const {
125
+ coordinatePasswordPersistence,
126
+ coordinatePasswordRegistration,
127
+ makePasswordPersistenceServices,
128
+ makePasswordRegistrationServices,
129
+ } = passwordTarget;
130
+
131
+ export const { coordinateProofPersistence, makeProofPersistenceServices } = proofTarget;
132
+
133
+ export const {
134
+ coordinateAuthenticationAuthority,
135
+ coordinatePendingAuthentication,
136
+ coordinateSignedSessionValidity,
137
+ coordinateStatefulSessions,
138
+ makeAuthenticationAuthorityServices,
139
+ makePendingAuthenticationServices,
140
+ makeSessionStepUpServices,
141
+ coordinateSessionStepUp,
142
+ makeSignedSessionValidityServices,
143
+ makeStatefulSessionServices,
144
+ } = sessionTarget;
145
+
146
+ export const commitMode = "interactive" as const;
147
+
148
+ export const makeAuthStoreServices = <C extends AnySQLiteTable, R extends AnySQLiteTable>(
149
+ database: EffectLibsqlDatabase<AnyRelations>,
150
+ mapping: AuthStoreTables<C, R>,
151
+ ) => makeSqliteAuthStoreServices(database, mapping, requireStandalone);
152
+
153
+ export const makeOAuthStateServices = <S extends AnySQLiteTable>(
154
+ database: EffectLibsqlDatabase<AnyRelations>,
155
+ mapping: OAuthStateTables<S>,
156
+ ) => makeSqliteOAuthStateServices(database, mapping, requireStandalone);
157
+
158
+ export const makeAuthServices = <
159
+ C extends AnySQLiteTable,
160
+ R extends AnySQLiteTable,
161
+ S extends AnySQLiteTable,
162
+ >(
163
+ database: EffectLibsqlDatabase<AnyRelations>,
164
+ mapping: AuthTables<C, R, S>,
165
+ ) => makeSqliteAuthServices(database, mapping, requireStandalone);
166
+
167
+ export const makeIdentityServices = <
168
+ Subject extends AnySQLiteTable,
169
+ Identifier extends AnySQLiteTable,
170
+ External extends AnySQLiteTable,
171
+ Request extends AnySQLiteTable,
172
+ NativeId,
173
+ >(
174
+ database: EffectLibsqlDatabase<AnyRelations>,
175
+ mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
176
+ ) => makeSqliteIdentityServices(database, mapping, "interactive");
177
+
178
+ export const makeSubjectProvisioningServices = <
179
+ Subject extends AnySQLiteTable,
180
+ Identifier extends AnySQLiteTable,
181
+ Request extends AnySQLiteTable,
182
+ NativeId,
183
+ >(
184
+ database: EffectLibsqlDatabase<AnyRelations>,
185
+ mapping: SubjectProvisioningTables<Subject, Identifier, Request, NativeId>,
186
+ ) => makeSqliteSubjectProvisioningServices(database, mapping, "interactive");
187
+
188
+ export const makeExternalIdentityServices = <
189
+ Subject extends AnySQLiteTable,
190
+ External extends AnySQLiteTable,
191
+ NativeId,
192
+ >(
193
+ database: EffectLibsqlDatabase<AnyRelations>,
194
+ mapping: ExternalIdentityTables<Subject, External, NativeId>,
195
+ ) => makeSqliteExternalIdentityServices(database, mapping);
196
+
197
+ import { makeSqlitePasswordPreparedTarget } from "./drizzle/sqlite-password-prepared";
198
+
199
+ const passwordPreparedTarget = makeSqlitePasswordPreparedTarget<EffectLibsqlDatabase<AnyRelations>>(
200
+ sqlitePasswordConfiguration("interactive", requireStandalonePassword, requireStandaloneProof),
201
+ );
202
+
203
+ export const { makePasswordPreparedPersistenceServices, coordinatePasswordPreparedPersistence } =
204
+ passwordPreparedTarget;
205
+
206
+ export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
207
+
208
+ import { makeOAuthTarget } from "./drizzle/oauth-drivers";
209
+ import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
210
+
211
+ const oauthTarget = makeOAuthTarget<
212
+ EffectLibsqlDatabase<AnyRelations>,
213
+ AnySQLiteTable<{ dialect: "sqlite" }>
214
+ >({
215
+ mode: "interactive",
216
+ dialect: "sqlite",
217
+ locking: false,
218
+ standaloneGuard: sqlClientOAuthStandaloneGuard,
219
+ });
220
+
221
+ export const {
222
+ makeOAuthAccountsServices,
223
+ makeOAuthSignInServices,
224
+ makeOAuthRegistrationIntentServices,
225
+ makeOAuthRegistrationServices,
226
+ coordinateOAuthRegistration,
227
+ coordinateOAuthSignIn,
228
+ coordinateOAuthRegistrationIntents,
229
+ coordinateOAuthAccounts,
230
+ makeOAuthConnectedServices,
231
+ makeOAuthConnectedRevocationServices,
232
+ coordinateOAuthConnected,
233
+ coordinateOAuthConnectedRevocations,
234
+ } = oauthTarget;
235
+
236
+ import { makePasskeyTarget } from "./drizzle/passkey-drivers";
237
+ import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
238
+
239
+ const passkeyTarget = makePasskeyTarget<
240
+ EffectLibsqlDatabase<AnyRelations>,
241
+ AnySQLiteTable<{ dialect: "sqlite" }>
242
+ >({
243
+ mode: "interactive",
244
+ dialect: "sqlite",
245
+ locking: false,
246
+ standaloneGuard: sqlClientPasskeyStandaloneGuard,
247
+ });
248
+
249
+ export const {
250
+ makePasskeyCredentialServices,
251
+ makePasskeyPersistenceServices,
252
+ makePasskeyEnrollmentContextServices,
253
+ makePasskeyRegistrationCeremonyServices,
254
+ coordinatePasskeyPersistence,
255
+ coordinatePasskeyRegistrationCeremony,
256
+ makePasskeyManagementServices,
257
+ makePasskeyRegistrationServices,
258
+ coordinatePasskeyManagement,
259
+ coordinatePasskeyRegistration,
260
+ } = passkeyTarget;
261
+
262
+ import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
263
+
264
+ const totpTarget = makeTotpTarget<
265
+ EffectLibsqlDatabase<AnyRelations>,
266
+ AnySQLiteTable<{ dialect: "sqlite" }>
267
+ >({
268
+ mode: "interactive",
269
+ dialect: "sqlite",
270
+ locking: false,
271
+ standaloneGuard: sqlClientTotpStandaloneGuard,
272
+ });
273
+
274
+ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;
275
+
276
+ import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
277
+
278
+ const phoneTarget = makePhoneTarget<
279
+ EffectLibsqlDatabase<AnyRelations>,
280
+ AnySQLiteTable<{ dialect: "sqlite" }>
281
+ >({
282
+ mode: "interactive",
283
+ dialect: "sqlite",
284
+ locking: false,
285
+ standaloneGuard: sqlClientPhoneStandaloneGuard,
286
+ });
287
+
288
+ export const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;
289
+
290
+ import { drizzleMigrationsLayer } from "./internal/drizzle-migrations";
291
+ import { sqlitePersistence } from "./internal/drizzle-sqlite";
292
+
293
+ export const AuthPersistence = {
294
+ ...sqlitePersistence(makeWithDefaults({})),
295
+ migrationsLayer: drizzleMigrationsLayer(
296
+ makeWithDefaults({}),
297
+ Effect.promise(() => import("drizzle-orm/effect-libsql/migrator")).pipe(
298
+ Effect.map((module) => module.migrate),
299
+ ),
300
+ ),
301
+ };
@@ -0,0 +1,184 @@
1
+ import type { AnyRelations } from "drizzle-orm";
2
+ import type { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
3
+ import type { AnyMySqlTable } from "drizzle-orm/mysql-core";
4
+
5
+ import type { AuthTables, IdentityTables } from "./drizzle/model";
6
+ import {
7
+ coordinateMysqlAuthStoreTransaction,
8
+ coordinateMysqlAuthTransaction,
9
+ coordinateMysqlOAuthStateTransaction,
10
+ makeMysqlAuthServices,
11
+ makeMysqlAuthStoreServices,
12
+ makeMysqlOAuthStateServices,
13
+ } from "./drizzle/mysql";
14
+ import {
15
+ makeMysqlExternalIdentityServices,
16
+ makeMysqlIdentityServices,
17
+ makeMysqlSubjectProvisioningServices,
18
+ } from "./drizzle/mysql-identity";
19
+
20
+ export {
21
+ coordinateMysqlAuthenticationAuthority as coordinateAuthenticationAuthority,
22
+ coordinateMysqlPendingAuthentication as coordinatePendingAuthentication,
23
+ coordinateMysqlSignedSessionValidity as coordinateSignedSessionValidity,
24
+ coordinateMysqlStatefulSessions as coordinateStatefulSessions,
25
+ makeMysqlAuthenticationAuthorityServices as makeAuthenticationAuthorityServices,
26
+ makeMysqlPendingAuthenticationServices as makePendingAuthenticationServices,
27
+ makeMysqlSignedSessionValidityServices as makeSignedSessionValidityServices,
28
+ makeMysqlStatefulSessionServices as makeStatefulSessionServices,
29
+ } from "./drizzle/mysql-sessions";
30
+
31
+ export {
32
+ coordinateMysqlProofPersistence as coordinateProofPersistence,
33
+ makeMysqlProofPersistenceServices as makeProofPersistenceServices,
34
+ } from "./drizzle/mysql-proofs";
35
+
36
+ export {
37
+ coordinateMysqlPasswordPersistence as coordinatePasswordPersistence,
38
+ coordinateMysqlPasswordRegistration as coordinatePasswordRegistration,
39
+ makeMysqlPasswordPersistenceServices as makePasswordPersistenceServices,
40
+ makeMysqlPasswordRegistrationServices as makePasswordRegistrationServices,
41
+ } from "./drizzle/mysql-passwords";
42
+
43
+ export {
44
+ coordinateMysqlEmailAddress as coordinateEmailAddress,
45
+ coordinateMysqlEmailRegistration as coordinateEmailRegistration,
46
+ makeMysqlEmailAddressServices as makeEmailAddressServices,
47
+ makeMysqlEmailRegistrationServices as makeEmailRegistrationServices,
48
+ makeMysqlEmailSignInServices as makeEmailSignInServices,
49
+ } from "./drizzle/mysql-emails";
50
+
51
+ export {
52
+ coordinateMysqlAuthStoreTransaction as coordinateAuthStoreTransaction,
53
+ coordinateMysqlAuthTransaction as coordinateAuthTransaction,
54
+ coordinateMysqlOAuthStateTransaction as coordinateOAuthStateTransaction,
55
+ makeMysqlAuthStoreServices as makeAuthStoreServices,
56
+ makeMysqlExternalIdentityServices as makeExternalIdentityServices,
57
+ makeMysqlOAuthStateServices as makeOAuthStateServices,
58
+ makeMysqlSubjectProvisioningServices as makeSubjectProvisioningServices,
59
+ };
60
+
61
+ export const commitMode = "interactive" as const;
62
+
63
+ export const makeAuthServices = <
64
+ C extends AnyMySqlTable,
65
+ R extends AnyMySqlTable,
66
+ S extends AnyMySqlTable,
67
+ >(
68
+ database: EffectMysql2Database<AnyRelations>,
69
+ mapping: AuthTables<C, R, S>,
70
+ ) => makeMysqlAuthServices(database, mapping);
71
+
72
+ export const makeIdentityServices = <
73
+ Subject extends AnyMySqlTable,
74
+ Identifier extends AnyMySqlTable,
75
+ External extends AnyMySqlTable,
76
+ Request extends AnyMySqlTable,
77
+ NativeId,
78
+ >(
79
+ database: EffectMysql2Database<AnyRelations>,
80
+ mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
81
+ ) => makeMysqlIdentityServices(database, mapping);
82
+
83
+ export {
84
+ makeMysqlSessionStepUpServices as makeSessionStepUpServices,
85
+ coordinateMysqlSessionStepUp as coordinateSessionStepUp,
86
+ } from "./drizzle/mysql-sessions";
87
+
88
+ export {
89
+ makeMySqlPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices,
90
+ coordinateMySqlPasswordPreparedPersistence as coordinatePasswordPreparedPersistence,
91
+ } from "./drizzle/mysql-password-prepared";
92
+
93
+ export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
94
+
95
+ import { makeOAuthTarget } from "./drizzle/oauth-drivers";
96
+ import { mysqlOAuthTransaction } from "./drizzle/oauth-mysql";
97
+ import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
98
+
99
+ const oauthTarget = makeOAuthTarget<
100
+ EffectMysql2Database<AnyRelations>,
101
+ AnyMySqlTable<{ dialect: "mysql" }>
102
+ >({
103
+ mode: "interactive",
104
+ dialect: "mysql",
105
+ locking: true,
106
+ transaction: mysqlOAuthTransaction,
107
+ standaloneGuard: sqlClientOAuthStandaloneGuard,
108
+ });
109
+
110
+ export const {
111
+ makeOAuthAccountsServices,
112
+ makeOAuthSignInServices,
113
+ makeOAuthRegistrationIntentServices,
114
+ makeOAuthRegistrationServices,
115
+ coordinateOAuthRegistration,
116
+ coordinateOAuthSignIn,
117
+ coordinateOAuthRegistrationIntents,
118
+ coordinateOAuthAccounts,
119
+ makeOAuthConnectedServices,
120
+ makeOAuthConnectedRevocationServices,
121
+ coordinateOAuthConnected,
122
+ coordinateOAuthConnectedRevocations,
123
+ } = oauthTarget;
124
+
125
+ import { makePasskeyTarget } from "./drizzle/passkey-drivers";
126
+ import { unavailable as passkeyUnavailable } from "./drizzle/passkey-state";
127
+ import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
128
+ import { mysqlTransaction } from "./drizzle/transaction-mysql";
129
+
130
+ const passkeyTarget = makePasskeyTarget<
131
+ EffectMysql2Database<AnyRelations>,
132
+ AnyMySqlTable<{ dialect: "mysql" }>
133
+ >({
134
+ mode: "interactive",
135
+ dialect: "mysql",
136
+ locking: true,
137
+ standaloneGuard: sqlClientPasskeyStandaloneGuard,
138
+ transaction: (database, body) => mysqlTransaction(passkeyUnavailable, database, body),
139
+ });
140
+
141
+ export const {
142
+ makePasskeyCredentialServices,
143
+ makePasskeyPersistenceServices,
144
+ makePasskeyEnrollmentContextServices,
145
+ makePasskeyRegistrationCeremonyServices,
146
+ coordinatePasskeyPersistence,
147
+ coordinatePasskeyRegistrationCeremony,
148
+ makePasskeyManagementServices,
149
+ makePasskeyRegistrationServices,
150
+ coordinatePasskeyManagement,
151
+ coordinatePasskeyRegistration,
152
+ } = passkeyTarget;
153
+
154
+ import { unavailable as totpUnavailable } from "./drizzle/totp-state";
155
+ import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
156
+
157
+ const totpTarget = makeTotpTarget<
158
+ EffectMysql2Database<AnyRelations>,
159
+ AnyMySqlTable<{ dialect: "mysql" }>
160
+ >({
161
+ mode: "interactive",
162
+ dialect: "mysql",
163
+ locking: true,
164
+ standaloneGuard: sqlClientTotpStandaloneGuard,
165
+ transaction: (database, body) => mysqlTransaction(totpUnavailable, database, body),
166
+ });
167
+
168
+ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;
169
+
170
+ import { unavailable as phoneUnavailable } from "./drizzle/phone-state";
171
+ import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
172
+
173
+ const phoneTarget = makePhoneTarget<
174
+ EffectMysql2Database<AnyRelations>,
175
+ AnyMySqlTable<{ dialect: "mysql" }>
176
+ >({
177
+ mode: "interactive",
178
+ dialect: "mysql",
179
+ locking: true,
180
+ standaloneGuard: sqlClientPhoneStandaloneGuard,
181
+ transaction: (database, body) => mysqlTransaction(phoneUnavailable, database, body),
182
+ });
183
+
184
+ export const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;
@@ -0,0 +1,174 @@
1
+ import type { AnyRelations } from "drizzle-orm";
2
+ import { type EffectPgDatabase, makeWithDefaults } from "drizzle-orm/effect-pglite";
3
+ import type { AnyPgTable } from "drizzle-orm/pg-core";
4
+ import { Effect } from "effect";
5
+
6
+ import type { AuthTables, IdentityTables } from "./drizzle/model";
7
+ import {
8
+ coordinatePgAuthStoreTransaction,
9
+ coordinatePgAuthTransaction,
10
+ coordinatePgOAuthStateTransaction,
11
+ makePgAuthServices,
12
+ makePgAuthStoreServices,
13
+ makePgExternalIdentityServices,
14
+ makePgIdentityServices,
15
+ makePgOAuthStateServices,
16
+ makePgSubjectProvisioningServices,
17
+ } from "./drizzle/pg";
18
+
19
+ export {
20
+ coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority,
21
+ coordinatePgPendingAuthentication as coordinatePendingAuthentication,
22
+ coordinatePgSignedSessionValidity as coordinateSignedSessionValidity,
23
+ coordinatePgStatefulSessions as coordinateStatefulSessions,
24
+ makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices,
25
+ makePgPendingAuthenticationServices as makePendingAuthenticationServices,
26
+ makePgSignedSessionValidityServices as makeSignedSessionValidityServices,
27
+ makePgStatefulSessionServices as makeStatefulSessionServices,
28
+ } from "./drizzle/pg-sessions";
29
+
30
+ export {
31
+ coordinatePgProofPersistence as coordinateProofPersistence,
32
+ makePgProofPersistenceServices as makeProofPersistenceServices,
33
+ } from "./drizzle/pg-proofs";
34
+
35
+ export {
36
+ coordinatePgPasswordPersistence as coordinatePasswordPersistence,
37
+ coordinatePgPasswordRegistration as coordinatePasswordRegistration,
38
+ makePgPasswordPersistenceServices as makePasswordPersistenceServices,
39
+ makePgPasswordRegistrationServices as makePasswordRegistrationServices,
40
+ } from "./drizzle/pg-passwords";
41
+
42
+ export {
43
+ coordinatePgEmailAddress as coordinateEmailAddress,
44
+ coordinatePgEmailRegistration as coordinateEmailRegistration,
45
+ makePgEmailAddressServices as makeEmailAddressServices,
46
+ makePgEmailRegistrationServices as makeEmailRegistrationServices,
47
+ makePgEmailSignInServices as makeEmailSignInServices,
48
+ } from "./drizzle/pg-emails";
49
+
50
+ export {
51
+ coordinatePgAuthStoreTransaction as coordinateAuthStoreTransaction,
52
+ coordinatePgAuthTransaction as coordinateAuthTransaction,
53
+ coordinatePgOAuthStateTransaction as coordinateOAuthStateTransaction,
54
+ makePgAuthStoreServices as makeAuthStoreServices,
55
+ makePgExternalIdentityServices as makeExternalIdentityServices,
56
+ makePgOAuthStateServices as makeOAuthStateServices,
57
+ makePgSubjectProvisioningServices as makeSubjectProvisioningServices,
58
+ };
59
+
60
+ export const commitMode = "interactive" as const;
61
+
62
+ export const makeAuthServices = <C extends AnyPgTable, R extends AnyPgTable, S extends AnyPgTable>(
63
+ database: EffectPgDatabase<AnyRelations>,
64
+ mapping: AuthTables<C, R, S>,
65
+ ) => makePgAuthServices(database, mapping);
66
+
67
+ export const makeIdentityServices = <
68
+ Subject extends AnyPgTable,
69
+ Identifier extends AnyPgTable,
70
+ External extends AnyPgTable,
71
+ Request extends AnyPgTable,
72
+ NativeId,
73
+ >(
74
+ database: EffectPgDatabase<AnyRelations>,
75
+ mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
76
+ ) => makePgIdentityServices(database, mapping);
77
+
78
+ export {
79
+ makePgSessionStepUpServices as makeSessionStepUpServices,
80
+ coordinatePgSessionStepUp as coordinateSessionStepUp,
81
+ } from "./drizzle/pg-sessions";
82
+
83
+ export {
84
+ makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices,
85
+ coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence,
86
+ } from "./drizzle/pg-password-prepared";
87
+
88
+ export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
89
+
90
+ import { makeOAuthTarget } from "./drizzle/oauth-drivers";
91
+ import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
92
+
93
+ const oauthTarget = makeOAuthTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: "pg" }>>({
94
+ mode: "interactive",
95
+ dialect: "pg",
96
+ locking: true,
97
+ standaloneGuard: sqlClientOAuthStandaloneGuard,
98
+ });
99
+
100
+ export const {
101
+ makeOAuthAccountsServices,
102
+ makeOAuthSignInServices,
103
+ makeOAuthRegistrationIntentServices,
104
+ makeOAuthRegistrationServices,
105
+ coordinateOAuthRegistration,
106
+ coordinateOAuthSignIn,
107
+ coordinateOAuthRegistrationIntents,
108
+ coordinateOAuthAccounts,
109
+ makeOAuthConnectedServices,
110
+ makeOAuthConnectedRevocationServices,
111
+ coordinateOAuthConnected,
112
+ coordinateOAuthConnectedRevocations,
113
+ } = oauthTarget;
114
+
115
+ import { makePasskeyTarget } from "./drizzle/passkey-drivers";
116
+ import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
117
+
118
+ const passkeyTarget = makePasskeyTarget<
119
+ EffectPgDatabase<AnyRelations>,
120
+ AnyPgTable<{ dialect: "pg" }>
121
+ >({
122
+ mode: "interactive",
123
+ dialect: "pg",
124
+ locking: true,
125
+ standaloneGuard: sqlClientPasskeyStandaloneGuard,
126
+ });
127
+
128
+ export const {
129
+ makePasskeyCredentialServices,
130
+ makePasskeyPersistenceServices,
131
+ makePasskeyEnrollmentContextServices,
132
+ makePasskeyRegistrationCeremonyServices,
133
+ coordinatePasskeyPersistence,
134
+ coordinatePasskeyRegistrationCeremony,
135
+ makePasskeyManagementServices,
136
+ makePasskeyRegistrationServices,
137
+ coordinatePasskeyManagement,
138
+ coordinatePasskeyRegistration,
139
+ } = passkeyTarget;
140
+
141
+ import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
142
+
143
+ const totpTarget = makeTotpTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: "pg" }>>({
144
+ mode: "interactive",
145
+ dialect: "pg",
146
+ locking: true,
147
+ standaloneGuard: sqlClientTotpStandaloneGuard,
148
+ });
149
+
150
+ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;
151
+
152
+ import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
153
+
154
+ const phoneTarget = makePhoneTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: "pg" }>>({
155
+ mode: "interactive",
156
+ dialect: "pg",
157
+ locking: true,
158
+ standaloneGuard: sqlClientPhoneStandaloneGuard,
159
+ });
160
+
161
+ export const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;
162
+
163
+ import { drizzleMigrationsLayer } from "./internal/drizzle-migrations";
164
+ import { postgresPersistence } from "./internal/drizzle-postgres";
165
+
166
+ export const AuthPersistence = {
167
+ ...postgresPersistence(makeWithDefaults({})),
168
+ migrationsLayer: drizzleMigrationsLayer(
169
+ makeWithDefaults({}),
170
+ Effect.promise(() => import("drizzle-orm/effect-pglite/migrator")).pipe(
171
+ Effect.map((module) => module.migrate),
172
+ ),
173
+ ),
174
+ };