@yielded/auth-persistence-drizzle 0.1.0-beta.25 → 0.1.0-beta.27

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 (383) hide show
  1. package/README.md +4 -2
  2. package/dist/D1.d.mts +495 -1151
  3. package/dist/D1.mjs +41 -19
  4. package/dist/D1.mjs.map +1 -1
  5. package/dist/Libsql.d.mts +385 -1996
  6. package/dist/Libsql.mjs +43 -47
  7. package/dist/Libsql.mjs.map +1 -1
  8. package/dist/Mysql2.d.mts +397 -1743
  9. package/dist/Mysql2.mjs +35 -41
  10. package/dist/Mysql2.mjs.map +1 -1
  11. package/dist/Pglite.d.mts +397 -1743
  12. package/dist/Pglite.mjs +42 -31
  13. package/dist/Pglite.mjs.map +1 -1
  14. package/dist/Postgres.d.mts +397 -1743
  15. package/dist/Postgres.mjs +42 -31
  16. package/dist/Postgres.mjs.map +1 -1
  17. package/dist/SqliteBun.d.mts +385 -1992
  18. package/dist/SqliteBun.mjs +43 -43
  19. package/dist/SqliteBun.mjs.map +1 -1
  20. package/dist/SqliteDo.d.mts +385 -1991
  21. package/dist/SqliteDo.mjs +42 -41
  22. package/dist/SqliteDo.mjs.map +1 -1
  23. package/dist/SqliteNode.d.mts +385 -1992
  24. package/dist/SqliteNode.mjs +43 -43
  25. package/dist/SqliteNode.mjs.map +1 -1
  26. package/dist/SqliteWasm.d.mts +385 -1992
  27. package/dist/SqliteWasm.mjs +43 -43
  28. package/dist/SqliteWasm.mjs.map +1 -1
  29. package/dist/drizzle/d1-identity.mjs +2 -2
  30. package/dist/drizzle/d1-identity.mjs.map +1 -1
  31. package/dist/drizzle/driver-types.d.mts +15 -0
  32. package/dist/drizzle/email-drivers.mjs +32 -0
  33. package/dist/drizzle/email-drivers.mjs.map +1 -0
  34. package/dist/drizzle/email-model.d.mts +9 -13
  35. package/dist/drizzle/email-target.d.mts +10 -11
  36. package/dist/drizzle/email-target.mjs +33 -70
  37. package/dist/drizzle/email-target.mjs.map +1 -1
  38. package/dist/drizzle/model.d.mts +1 -10
  39. package/dist/drizzle/model.mjs +1 -2
  40. package/dist/drizzle/model.mjs.map +1 -1
  41. package/dist/drizzle/mysql-identity.mjs +3 -6
  42. package/dist/drizzle/mysql-identity.mjs.map +1 -1
  43. package/dist/drizzle/native-clock.d.mts +9 -0
  44. package/dist/drizzle/native-clock.mjs +18 -0
  45. package/dist/drizzle/native-clock.mjs.map +1 -0
  46. package/dist/drizzle/native-database.d.mts +46 -0
  47. package/dist/drizzle/native-database.mjs +6 -5
  48. package/dist/drizzle/native-database.mjs.map +1 -1
  49. package/dist/drizzle/native-sql-table.mjs +13 -5
  50. package/dist/drizzle/native-sql-table.mjs.map +1 -1
  51. package/dist/drizzle/native-target.d.mts +6 -0
  52. package/dist/drizzle/native-target.mjs +44 -0
  53. package/dist/drizzle/native-target.mjs.map +1 -0
  54. package/dist/drizzle/oauth-connected-drivers.mjs +4 -56
  55. package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -1
  56. package/dist/drizzle/oauth-connected-model.d.mts +5 -22
  57. package/dist/drizzle/oauth-connected-model.mjs +1 -7
  58. package/dist/drizzle/oauth-connected-reference.d.mts +5 -7
  59. package/dist/drizzle/oauth-connected-reference.mjs +11 -3
  60. package/dist/drizzle/oauth-connected-reference.mjs.map +1 -1
  61. package/dist/drizzle/oauth-drivers.mjs +1 -2
  62. package/dist/drizzle/oauth-drivers.mjs.map +1 -1
  63. package/dist/drizzle/oauth-model.d.mts +11 -37
  64. package/dist/drizzle/oauth-model.mjs +3 -4
  65. package/dist/drizzle/oauth-model.mjs.map +1 -1
  66. package/dist/drizzle/oauth-proxy.d.mts +1 -1
  67. package/dist/drizzle/oauth-proxy.mjs +1 -1
  68. package/dist/drizzle/oauth-target.d.mts +9 -6
  69. package/dist/drizzle/oauth-target.mjs +47 -15
  70. package/dist/drizzle/oauth-target.mjs.map +1 -1
  71. package/dist/drizzle/passkey/target.d.mts +14 -0
  72. package/dist/drizzle/passkey/target.mjs +52 -0
  73. package/dist/drizzle/passkey/target.mjs.map +1 -0
  74. package/dist/drizzle/passkey/write-target.d.mts +11 -0
  75. package/dist/drizzle/passkey/write-target.mjs +28 -0
  76. package/dist/drizzle/passkey/write-target.mjs.map +1 -0
  77. package/dist/drizzle/passkey-drivers.mjs +2 -4
  78. package/dist/drizzle/passkey-drivers.mjs.map +1 -1
  79. package/dist/drizzle/passkey-model.d.mts +5 -26
  80. package/dist/drizzle/passkey-model.mjs +2 -8
  81. package/dist/drizzle/passkey-registration-ceremony-model.d.mts +3 -6
  82. package/dist/drizzle/passkey-write-drivers.mjs +2 -3
  83. package/dist/drizzle/passkey-write-drivers.mjs.map +1 -1
  84. package/dist/drizzle/passkey-write-model.d.mts +7 -9
  85. package/dist/drizzle/passkey-write-model.mjs +1 -3
  86. package/dist/drizzle/passkey-write-model.mjs.map +1 -1
  87. package/dist/drizzle/password-drivers.mjs +31 -0
  88. package/dist/drizzle/password-drivers.mjs.map +1 -0
  89. package/dist/drizzle/password-model.d.mts +7 -10
  90. package/dist/drizzle/password-target.d.mts +7 -8
  91. package/dist/drizzle/password-target.mjs +23 -68
  92. package/dist/drizzle/password-target.mjs.map +1 -1
  93. package/dist/drizzle/pg-identity.mjs +3 -6
  94. package/dist/drizzle/pg-identity.mjs.map +1 -1
  95. package/dist/drizzle/phone-drivers.mjs +24 -0
  96. package/dist/drizzle/phone-drivers.mjs.map +1 -0
  97. package/dist/drizzle/phone-model.d.mts +13 -104
  98. package/dist/drizzle/phone-model.mjs +5 -33
  99. package/dist/drizzle/phone-model.mjs.map +1 -1
  100. package/dist/drizzle/phone-target.mjs +22 -171
  101. package/dist/drizzle/phone-target.mjs.map +1 -1
  102. package/dist/drizzle/proof-drivers.mjs +24 -0
  103. package/dist/drizzle/proof-drivers.mjs.map +1 -0
  104. package/dist/drizzle/proof-model.d.mts +7 -15
  105. package/dist/drizzle/proof-target.d.mts +5 -5
  106. package/dist/drizzle/proof-target.mjs +14 -28
  107. package/dist/drizzle/proof-target.mjs.map +1 -1
  108. package/dist/drizzle/session-drivers.mjs +97 -0
  109. package/dist/drizzle/session-drivers.mjs.map +1 -0
  110. package/dist/drizzle/session-model.d.mts +11 -22
  111. package/dist/drizzle/sqlite-do-database.d.mts +3 -3
  112. package/dist/drizzle/sqlite-do-database.mjs +6 -1
  113. package/dist/drizzle/sqlite-do-database.mjs.map +1 -1
  114. package/dist/drizzle/sqlite-identity.mjs +3 -5
  115. package/dist/drizzle/sqlite-identity.mjs.map +1 -1
  116. package/dist/drizzle/step-up-model.d.mts +2 -5
  117. package/dist/drizzle/storage-validation.mjs +2 -1
  118. package/dist/drizzle/storage-validation.mjs.map +1 -1
  119. package/dist/drizzle/totp-model.d.mts +7 -74
  120. package/dist/drizzle/totp-model.mjs +1 -5
  121. package/dist/drizzle/totp-model.mjs.map +1 -1
  122. package/dist/drizzle/totp-target.mjs +39 -75
  123. package/dist/drizzle/totp-target.mjs.map +1 -1
  124. package/dist/drizzle/transaction-handle.mjs +13 -0
  125. package/dist/drizzle/transaction-handle.mjs.map +1 -0
  126. package/dist/drizzle/transaction-mysql.mjs +43 -12
  127. package/dist/drizzle/transaction-mysql.mjs.map +1 -1
  128. package/dist/index.d.mts +17 -22
  129. package/dist/index.mjs +10 -16
  130. package/dist/internal/drizzle-postgres.mjs +4 -6
  131. package/dist/internal/drizzle-postgres.mjs.map +1 -1
  132. package/dist/internal/drizzle-sqlite.mjs +4 -6
  133. package/dist/internal/drizzle-sqlite.mjs.map +1 -1
  134. package/package.json +1 -1
  135. package/src/D1.ts +77 -74
  136. package/src/Libsql.ts +65 -105
  137. package/src/Mysql2.ts +52 -87
  138. package/src/Pglite.ts +74 -81
  139. package/src/Postgres.ts +74 -81
  140. package/src/SqliteBun.ts +65 -113
  141. package/src/SqliteDo.ts +58 -106
  142. package/src/SqliteNode.ts +65 -113
  143. package/src/SqliteWasm.ts +65 -113
  144. package/src/drizzle/d1-identity.ts +2 -2
  145. package/src/drizzle/driver-types.ts +26 -0
  146. package/src/drizzle/email-drivers.ts +320 -0
  147. package/src/drizzle/email-model.ts +24 -78
  148. package/src/drizzle/email-target.ts +118 -211
  149. package/src/drizzle/model.ts +0 -2
  150. package/src/drizzle/mysql-identity.ts +4 -24
  151. package/src/drizzle/native-clock.ts +21 -0
  152. package/src/drizzle/native-database.ts +59 -18
  153. package/src/drizzle/native-sql-table.ts +104 -87
  154. package/src/drizzle/native-target.ts +120 -0
  155. package/src/drizzle/oauth-connected-drivers.ts +24 -233
  156. package/src/drizzle/oauth-connected-model.ts +3 -93
  157. package/src/drizzle/oauth-connected-reference.ts +16 -25
  158. package/src/drizzle/oauth-drivers.ts +58 -99
  159. package/src/drizzle/oauth-model.ts +27 -132
  160. package/src/drizzle/oauth-target.ts +250 -33
  161. package/src/drizzle/passkey/target.ts +205 -0
  162. package/src/drizzle/passkey/write-target.ts +91 -0
  163. package/src/drizzle/passkey-drivers.ts +35 -133
  164. package/src/drizzle/passkey-model.ts +3 -81
  165. package/src/drizzle/passkey-registration-ceremony-model.ts +5 -25
  166. package/src/drizzle/passkey-write-drivers.ts +32 -102
  167. package/src/drizzle/passkey-write-model.ts +10 -44
  168. package/src/drizzle/password-drivers.ts +286 -0
  169. package/src/drizzle/password-model.ts +10 -44
  170. package/src/drizzle/password-target.ts +85 -239
  171. package/src/drizzle/pg-identity.ts +4 -19
  172. package/src/drizzle/phone-drivers.ts +142 -0
  173. package/src/drizzle/phone-model.ts +22 -162
  174. package/src/drizzle/phone-target.ts +51 -493
  175. package/src/drizzle/proof-drivers.ts +123 -0
  176. package/src/drizzle/proof-model.ts +12 -123
  177. package/src/drizzle/proof-target.ts +38 -102
  178. package/src/drizzle/session-drivers.ts +696 -0
  179. package/src/drizzle/session-model.ts +54 -118
  180. package/src/drizzle/sqlite-do-database.ts +8 -0
  181. package/src/drizzle/sqlite-identity.ts +4 -22
  182. package/src/drizzle/step-up-model.ts +13 -37
  183. package/src/drizzle/storage-validation.ts +2 -1
  184. package/src/drizzle/totp-model.ts +20 -77
  185. package/src/drizzle/totp-target.ts +121 -261
  186. package/src/drizzle/transaction-handle.ts +41 -0
  187. package/src/drizzle/transaction-mysql.ts +91 -26
  188. package/src/index.ts +7 -122
  189. package/src/internal/drizzle-postgres.ts +4 -7
  190. package/src/internal/drizzle-sqlite.ts +4 -7
  191. package/dist/drizzle/crypto.mjs +0 -11
  192. package/dist/drizzle/crypto.mjs.map +0 -1
  193. package/dist/drizzle/d1-emails.d.mts +0 -62
  194. package/dist/drizzle/d1-emails.mjs +0 -626
  195. package/dist/drizzle/d1-emails.mjs.map +0 -1
  196. package/dist/drizzle/d1-generated-statement.mjs +0 -79
  197. package/dist/drizzle/d1-generated-statement.mjs.map +0 -1
  198. package/dist/drizzle/d1-oauth.d.mts +0 -331
  199. package/dist/drizzle/d1-oauth.mjs +0 -79
  200. package/dist/drizzle/d1-oauth.mjs.map +0 -1
  201. package/dist/drizzle/d1-passkey.d.mts +0 -37
  202. package/dist/drizzle/d1-passkey.mjs +0 -98
  203. package/dist/drizzle/d1-passkey.mjs.map +0 -1
  204. package/dist/drizzle/d1-password-prepared.d.mts +0 -25
  205. package/dist/drizzle/d1-password-prepared.mjs +0 -473
  206. package/dist/drizzle/d1-password-prepared.mjs.map +0 -1
  207. package/dist/drizzle/d1-passwords.d.mts +0 -70
  208. package/dist/drizzle/d1-passwords.mjs +0 -808
  209. package/dist/drizzle/d1-passwords.mjs.map +0 -1
  210. package/dist/drizzle/d1-phone.d.mts +0 -23
  211. package/dist/drizzle/d1-phone.mjs +0 -33
  212. package/dist/drizzle/d1-phone.mjs.map +0 -1
  213. package/dist/drizzle/d1-planning.d.mts +0 -11
  214. package/dist/drizzle/d1-planning.mjs +0 -43
  215. package/dist/drizzle/d1-planning.mjs.map +0 -1
  216. package/dist/drizzle/d1-proofs.d.mts +0 -80
  217. package/dist/drizzle/d1-proofs.mjs +0 -842
  218. package/dist/drizzle/d1-proofs.mjs.map +0 -1
  219. package/dist/drizzle/d1-sessions.d.mts +0 -68
  220. package/dist/drizzle/d1-sessions.mjs +0 -987
  221. package/dist/drizzle/d1-sessions.mjs.map +0 -1
  222. package/dist/drizzle/d1-totp.d.mts +0 -23
  223. package/dist/drizzle/d1-totp.mjs +0 -30
  224. package/dist/drizzle/d1-totp.mjs.map +0 -1
  225. package/dist/drizzle/email-registration.d.mts +0 -33
  226. package/dist/drizzle/email-registration.mjs +0 -281
  227. package/dist/drizzle/email-registration.mjs.map +0 -1
  228. package/dist/drizzle/email-sql.d.mts +0 -1
  229. package/dist/drizzle/email-sql.mjs +0 -9
  230. package/dist/drizzle/email-sql.mjs.map +0 -1
  231. package/dist/drizzle/mysql-emails.d.mts +0 -71
  232. package/dist/drizzle/mysql-emails.mjs +0 -43
  233. package/dist/drizzle/mysql-emails.mjs.map +0 -1
  234. package/dist/drizzle/mysql-password-prepared.d.mts +0 -30
  235. package/dist/drizzle/mysql-password-prepared.mjs +0 -21
  236. package/dist/drizzle/mysql-password-prepared.mjs.map +0 -1
  237. package/dist/drizzle/mysql-passwords.d.mts +0 -71
  238. package/dist/drizzle/mysql-passwords.mjs +0 -43
  239. package/dist/drizzle/mysql-passwords.mjs.map +0 -1
  240. package/dist/drizzle/mysql-proofs.d.mts +0 -75
  241. package/dist/drizzle/mysql-proofs.mjs +0 -28
  242. package/dist/drizzle/mysql-proofs.mjs.map +0 -1
  243. package/dist/drizzle/mysql-sessions.d.mts +0 -92
  244. package/dist/drizzle/mysql-sessions.mjs +0 -58
  245. package/dist/drizzle/mysql-sessions.mjs.map +0 -1
  246. package/dist/drizzle/oauth-connected-model.mjs.map +0 -1
  247. package/dist/drizzle/oauth-connected-target.d.mts +0 -6
  248. package/dist/drizzle/oauth-connected-target.mjs +0 -12
  249. package/dist/drizzle/oauth-connected-target.mjs.map +0 -1
  250. package/dist/drizzle/oauth-kernel.mjs +0 -11
  251. package/dist/drizzle/oauth-kernel.mjs.map +0 -1
  252. package/dist/drizzle/oauth-mysql.mjs +0 -8
  253. package/dist/drizzle/oauth-mysql.mjs.map +0 -1
  254. package/dist/drizzle/passkey-kernel.mjs +0 -8
  255. package/dist/drizzle/passkey-kernel.mjs.map +0 -1
  256. package/dist/drizzle/passkey-model.mjs.map +0 -1
  257. package/dist/drizzle/passkey-registration-ceremony-model.mjs +0 -2
  258. package/dist/drizzle/passkey-state.mjs +0 -7
  259. package/dist/drizzle/passkey-state.mjs.map +0 -1
  260. package/dist/drizzle/passkey-target.d.mts +0 -2
  261. package/dist/drizzle/passkey-target.mjs +0 -7
  262. package/dist/drizzle/passkey-target.mjs.map +0 -1
  263. package/dist/drizzle/passkey-write-target.d.mts +0 -5
  264. package/dist/drizzle/passkey-write-target.mjs +0 -7
  265. package/dist/drizzle/passkey-write-target.mjs.map +0 -1
  266. package/dist/drizzle/password-prepared-model.d.mts +0 -92
  267. package/dist/drizzle/password-prepared-model.mjs +0 -11
  268. package/dist/drizzle/password-prepared-model.mjs.map +0 -1
  269. package/dist/drizzle/password-prepared-sql.mjs +0 -395
  270. package/dist/drizzle/password-prepared-sql.mjs.map +0 -1
  271. package/dist/drizzle/password-prepared-state.mjs +0 -104
  272. package/dist/drizzle/password-prepared-state.mjs.map +0 -1
  273. package/dist/drizzle/password-prepared-target.d.mts +0 -13
  274. package/dist/drizzle/password-prepared-target.mjs +0 -62
  275. package/dist/drizzle/password-prepared-target.mjs.map +0 -1
  276. package/dist/drizzle/password-registration.d.mts +0 -7
  277. package/dist/drizzle/password-registration.mjs +0 -137
  278. package/dist/drizzle/password-registration.mjs.map +0 -1
  279. package/dist/drizzle/password-sql.d.mts +0 -1
  280. package/dist/drizzle/password-sql.mjs +0 -10
  281. package/dist/drizzle/password-sql.mjs.map +0 -1
  282. package/dist/drizzle/pg-emails.d.mts +0 -72
  283. package/dist/drizzle/pg-emails.mjs +0 -43
  284. package/dist/drizzle/pg-emails.mjs.map +0 -1
  285. package/dist/drizzle/pg-password-prepared.d.mts +0 -31
  286. package/dist/drizzle/pg-password-prepared.mjs +0 -21
  287. package/dist/drizzle/pg-password-prepared.mjs.map +0 -1
  288. package/dist/drizzle/pg-passwords.d.mts +0 -72
  289. package/dist/drizzle/pg-passwords.mjs +0 -43
  290. package/dist/drizzle/pg-passwords.mjs.map +0 -1
  291. package/dist/drizzle/pg-proofs.d.mts +0 -76
  292. package/dist/drizzle/pg-proofs.mjs +0 -27
  293. package/dist/drizzle/pg-proofs.mjs.map +0 -1
  294. package/dist/drizzle/pg-sessions.d.mts +0 -93
  295. package/dist/drizzle/pg-sessions.mjs +0 -58
  296. package/dist/drizzle/pg-sessions.mjs.map +0 -1
  297. package/dist/drizzle/phone-state.mjs +0 -14
  298. package/dist/drizzle/phone-state.mjs.map +0 -1
  299. package/dist/drizzle/phone-target.d.mts +0 -15
  300. package/dist/drizzle/proof-sql.d.mts +0 -1
  301. package/dist/drizzle/proof-sql.mjs +0 -8
  302. package/dist/drizzle/proof-sql.mjs.map +0 -1
  303. package/dist/drizzle/query-operations.mjs +0 -31
  304. package/dist/drizzle/query-operations.mjs.map +0 -1
  305. package/dist/drizzle/session-sql.d.mts +0 -1
  306. package/dist/drizzle/session-sql.mjs +0 -9
  307. package/dist/drizzle/session-sql.mjs.map +0 -1
  308. package/dist/drizzle/session-target.d.mts +0 -30
  309. package/dist/drizzle/session-target.mjs +0 -49
  310. package/dist/drizzle/session-target.mjs.map +0 -1
  311. package/dist/drizzle/sqlite-emails.mjs +0 -50
  312. package/dist/drizzle/sqlite-emails.mjs.map +0 -1
  313. package/dist/drizzle/sqlite-password-prepared.mjs +0 -26
  314. package/dist/drizzle/sqlite-password-prepared.mjs.map +0 -1
  315. package/dist/drizzle/sqlite-passwords.mjs +0 -54
  316. package/dist/drizzle/sqlite-passwords.mjs.map +0 -1
  317. package/dist/drizzle/sqlite-proofs.mjs +0 -34
  318. package/dist/drizzle/sqlite-proofs.mjs.map +0 -1
  319. package/dist/drizzle/sqlite-sessions.mjs +0 -79
  320. package/dist/drizzle/sqlite-sessions.mjs.map +0 -1
  321. package/dist/drizzle/standalone-guard.d.mts +0 -2
  322. package/dist/drizzle/standalone-guard.mjs +0 -21
  323. package/dist/drizzle/standalone-guard.mjs.map +0 -1
  324. package/dist/drizzle/totp-state.d.mts +0 -37
  325. package/dist/drizzle/totp-state.mjs +0 -287
  326. package/dist/drizzle/totp-state.mjs.map +0 -1
  327. package/dist/drizzle/totp-target.d.mts +0 -15
  328. package/dist/drizzle/transaction-execution.d.mts +0 -2
  329. package/dist/drizzle/transaction-execution.mjs +0 -11
  330. package/dist/drizzle/transaction-execution.mjs.map +0 -1
  331. package/dist/drizzle/transaction-owner.d.mts +0 -1
  332. package/dist/drizzle/transaction-owner.mjs +0 -8
  333. package/dist/drizzle/transaction-owner.mjs.map +0 -1
  334. package/src/drizzle/crypto.ts +0 -14
  335. package/src/drizzle/d1-emails.ts +0 -1945
  336. package/src/drizzle/d1-generated-statement.ts +0 -129
  337. package/src/drizzle/d1-oauth.ts +0 -360
  338. package/src/drizzle/d1-passkey.ts +0 -383
  339. package/src/drizzle/d1-password-prepared.ts +0 -1266
  340. package/src/drizzle/d1-passwords.ts +0 -2061
  341. package/src/drizzle/d1-phone.ts +0 -103
  342. package/src/drizzle/d1-planning.ts +0 -104
  343. package/src/drizzle/d1-proofs.ts +0 -2354
  344. package/src/drizzle/d1-sessions.ts +0 -2940
  345. package/src/drizzle/d1-totp.ts +0 -88
  346. package/src/drizzle/email-registration.ts +0 -850
  347. package/src/drizzle/email-sql.ts +0 -25
  348. package/src/drizzle/mysql-emails.ts +0 -343
  349. package/src/drizzle/mysql-password-prepared.ts +0 -198
  350. package/src/drizzle/mysql-passwords.ts +0 -343
  351. package/src/drizzle/mysql-proofs.ts +0 -196
  352. package/src/drizzle/mysql-sessions.ts +0 -780
  353. package/src/drizzle/oauth-connected-target.ts +0 -21
  354. package/src/drizzle/oauth-kernel.ts +0 -10
  355. package/src/drizzle/oauth-mysql.ts +0 -10
  356. package/src/drizzle/passkey-kernel.ts +0 -4
  357. package/src/drizzle/passkey-state.ts +0 -3
  358. package/src/drizzle/passkey-target.ts +0 -23
  359. package/src/drizzle/passkey-write-target.ts +0 -9
  360. package/src/drizzle/password-prepared-model.ts +0 -241
  361. package/src/drizzle/password-prepared-sql.ts +0 -1202
  362. package/src/drizzle/password-prepared-state.ts +0 -231
  363. package/src/drizzle/password-prepared-target.ts +0 -169
  364. package/src/drizzle/password-registration.ts +0 -369
  365. package/src/drizzle/password-sql.ts +0 -16
  366. package/src/drizzle/pg-emails.ts +0 -343
  367. package/src/drizzle/pg-password-prepared.ts +0 -199
  368. package/src/drizzle/pg-passwords.ts +0 -342
  369. package/src/drizzle/pg-proofs.ts +0 -206
  370. package/src/drizzle/pg-sessions.ts +0 -789
  371. package/src/drizzle/phone-state.ts +0 -21
  372. package/src/drizzle/proof-sql.ts +0 -10
  373. package/src/drizzle/query-operations.ts +0 -49
  374. package/src/drizzle/session-sql.ts +0 -15
  375. package/src/drizzle/session-target.ts +0 -337
  376. package/src/drizzle/sqlite-emails.ts +0 -393
  377. package/src/drizzle/sqlite-password-prepared.ts +0 -230
  378. package/src/drizzle/sqlite-passwords.ts +0 -497
  379. package/src/drizzle/sqlite-proofs.ts +0 -229
  380. package/src/drizzle/sqlite-sessions.ts +0 -1013
  381. package/src/drizzle/totp-state.ts +0 -525
  382. package/src/drizzle/transaction-execution.ts +0 -13
  383. package/src/drizzle/transaction-owner.ts +0 -11
package/src/Libsql.ts CHANGED
@@ -1,16 +1,13 @@
1
- import { NativeDatabase, requireStandalone as standalone } from "@yielded/auth-persistence/Adapter";
2
- import { EmailUnavailable } from "@yielded/auth/Email";
3
- import { PasswordUnavailable } from "@yielded/auth/Password";
4
- import { ProofUnavailable } from "@yielded/auth/Proofs";
5
- import { SessionUnavailable } from "@yielded/auth/Sessions";
6
- export { OAuthProxyPersistence } from "./internal/drizzle-sqlite-oauth-proxy";
7
-
8
1
  import type { AnyRelations } from "drizzle-orm";
9
- import { type EffectLibsqlDatabase, makeWithDefaults } from "drizzle-orm/effect-libsql";
2
+ import {
3
+ EffectLibsqlTransaction as PasskeyTransaction,
4
+ type EffectLibsqlDatabase,
5
+ makeWithDefaults,
6
+ } from "drizzle-orm/effect-libsql";
10
7
  import type { AnySQLiteTable } from "drizzle-orm/sqlite-core";
11
8
  import { Context, Effect, Layer } from "effect";
12
9
 
13
- import { nativeDatabase } from "./drizzle/native-database";
10
+ import { NativeDatabase, nativeDatabase } from "./drizzle/native-database";
14
11
 
15
12
  /** The application-owned Drizzle database used to construct persistence services. */
16
13
  export class Database extends Context.Service<Database, EffectLibsqlDatabase<AnyRelations>>()(
@@ -25,48 +22,39 @@ import type {
25
22
  IdentityTables,
26
23
  SubjectProvisioningTables,
27
24
  } from "./drizzle/model";
28
- import { makeSqliteEmailTarget, sqliteEmailConfiguration } from "./drizzle/sqlite-emails";
25
+ import { makePasswordTarget } from "./drizzle/password-drivers";
26
+ import { makeProofTarget } from "./drizzle/proof-drivers";
29
27
  import {
30
28
  makeSqliteExternalIdentityServices,
31
29
  makeSqliteIdentityServices,
32
30
  makeSqliteSubjectProvisioningServices,
33
31
  } from "./drizzle/sqlite-identity";
34
- import { makeSqlitePasswordTarget, sqlitePasswordConfiguration } from "./drizzle/sqlite-passwords";
35
- import { makeSqliteProofTarget, sqliteProofConfiguration } from "./drizzle/sqlite-proofs";
36
- import { makeSqliteSessionTarget, sqliteSessionConfiguration } from "./drizzle/sqlite-sessions";
37
32
 
38
- const requireStandaloneSession = standalone(() => SessionUnavailable.make({}));
39
- const requireStandaloneProof = standalone(() => ProofUnavailable.make({}));
40
- const requireStandalonePassword = standalone(() => PasswordUnavailable.make({}));
41
- const requireStandaloneEmail = standalone(() => EmailUnavailable.make({}));
42
-
43
- const sessionTarget = makeSqliteSessionTarget<Database, EffectLibsqlDatabase<AnyRelations>>(
44
- Database,
45
- sqliteSessionConfiguration("interactive", requireStandaloneSession),
46
- );
47
-
48
- const proofTarget = makeSqliteProofTarget<Database, EffectLibsqlDatabase<AnyRelations>>(
49
- Database,
50
- sqliteProofConfiguration("interactive", requireStandaloneProof),
51
- );
33
+ const proofTarget = makeProofTarget(Database, {
34
+ mode: "native",
35
+ dialect: "sqlite",
36
+ transactionConstructor: PasskeyTransaction,
37
+ });
52
38
 
53
- const passwordTarget = makeSqlitePasswordTarget<Database, EffectLibsqlDatabase<AnyRelations>>(
54
- Database,
55
- sqlitePasswordConfiguration("interactive", requireStandalonePassword, requireStandaloneProof),
56
- );
39
+ const passwordTarget = makePasswordTarget(Database, {
40
+ mode: "native",
41
+ dialect: "sqlite",
42
+ transactionConstructor: PasskeyTransaction,
43
+ });
57
44
 
58
- const emailTarget = makeSqliteEmailTarget<Database, EffectLibsqlDatabase<AnyRelations>>(
59
- Database,
60
- sqliteEmailConfiguration("interactive", requireStandaloneEmail, requireStandaloneProof),
61
- );
45
+ import { makeEmailTarget } from "./drizzle/email-drivers";
62
46
 
63
47
  export const {
64
- coordinateEmailAddress,
65
- coordinateEmailRegistration,
48
+ makeEmailSignInServices,
66
49
  makeEmailAddressServices,
67
50
  makeEmailRegistrationServices,
68
- makeEmailSignInServices,
69
- } = emailTarget;
51
+ coordinateEmailAddress,
52
+ coordinateEmailRegistration,
53
+ } = makeEmailTarget(Database, {
54
+ mode: "native",
55
+ dialect: "sqlite",
56
+ transactionConstructor: PasskeyTransaction,
57
+ });
70
58
 
71
59
  export const {
72
60
  coordinatePasswordPersistence,
@@ -77,21 +65,6 @@ export const {
77
65
 
78
66
  export const { coordinateProofPersistence, makeProofPersistenceServices } = proofTarget;
79
67
 
80
- export const {
81
- coordinateAuthenticationAuthority,
82
- coordinatePendingAuthentication,
83
- coordinateSignedSessionValidity,
84
- coordinateStatefulSessions,
85
- makeAuthenticationAuthorityServices,
86
- makePendingAuthenticationServices,
87
- makeSessionStepUpServices,
88
- coordinateSessionStepUp,
89
- makeSignedSessionValidityServices,
90
- makeStatefulSessionServices,
91
- } = sessionTarget;
92
-
93
- export const commitMode = "interactive" as const;
94
-
95
68
  export const makeIdentityServices = <
96
69
  Subject extends AnySQLiteTable,
97
70
  Identifier extends AnySQLiteTable,
@@ -128,33 +101,16 @@ export const makeExternalIdentityServices = <
128
101
  Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)),
129
102
  );
130
103
 
131
- import { makeSqlitePasswordPreparedTarget } from "./drizzle/sqlite-password-prepared";
132
-
133
- const passwordPreparedTarget = makeSqlitePasswordPreparedTarget<
134
- Database,
135
- EffectLibsqlDatabase<AnyRelations>
136
- >(
137
- Database,
138
- sqlitePasswordConfiguration("interactive", requireStandalonePassword, requireStandaloneProof),
139
- );
140
-
141
- export const { makePasswordPreparedPersistenceServices, coordinatePasswordPreparedPersistence } =
142
- passwordPreparedTarget;
143
-
144
- export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
145
-
146
104
  import { makeOAuthTarget } from "./drizzle/oauth-drivers";
147
- import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
148
105
 
149
106
  const oauthTarget = makeOAuthTarget<
150
107
  Database,
151
108
  EffectLibsqlDatabase<AnyRelations>,
152
109
  AnySQLiteTable<{ dialect: "sqlite" }>
153
110
  >(Database, {
154
- mode: "interactive",
111
+ mode: "native",
155
112
  dialect: "sqlite",
156
- locking: false,
157
- standaloneGuard: sqlClientOAuthStandaloneGuard,
113
+ transactionConstructor: PasskeyTransaction,
158
114
  });
159
115
 
160
116
  export const {
@@ -173,23 +129,20 @@ export const {
173
129
  } = oauthTarget;
174
130
 
175
131
  import { makePasskeyTarget } from "./drizzle/passkey-drivers";
176
- import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
177
132
 
178
133
  const passkeyTarget = makePasskeyTarget<
179
134
  Database,
180
135
  EffectLibsqlDatabase<AnyRelations>,
181
136
  AnySQLiteTable<{ dialect: "sqlite" }>
182
137
  >(Database, {
183
- mode: "interactive",
138
+ transactionConstructor: PasskeyTransaction,
139
+ mode: "native",
184
140
  dialect: "sqlite",
185
- locking: false,
186
- standaloneGuard: sqlClientPasskeyStandaloneGuard,
187
141
  });
188
142
 
189
143
  export const {
190
144
  makePasskeyCredentialServices,
191
145
  makePasskeyPersistenceServices,
192
- makePasskeyEnrollmentContextServices,
193
146
  makePasskeyRegistrationCeremonyServices,
194
147
  coordinatePasskeyPersistence,
195
148
  coordinatePasskeyRegistrationCeremony,
@@ -199,35 +152,12 @@ export const {
199
152
  coordinatePasskeyRegistration,
200
153
  } = passkeyTarget;
201
154
 
202
- import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
155
+ import { makePhoneTarget } from "./drizzle/phone-drivers";
203
156
 
204
- const totpTarget = makeTotpTarget<
157
+ export const { makePhonePersistenceServices, coordinatePhonePersistence } = makePhoneTarget(
205
158
  Database,
206
- EffectLibsqlDatabase<AnyRelations>,
207
- AnySQLiteTable<{ dialect: "sqlite" }>
208
- >(Database, {
209
- mode: "interactive",
210
- dialect: "sqlite",
211
- locking: false,
212
- standaloneGuard: sqlClientTotpStandaloneGuard,
213
- });
214
-
215
- export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;
216
-
217
- import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
218
-
219
- const phoneTarget = makePhoneTarget<
220
- Database,
221
- EffectLibsqlDatabase<AnyRelations>,
222
- AnySQLiteTable<{ dialect: "sqlite" }>
223
- >(Database, {
224
- mode: "interactive",
225
- dialect: "sqlite",
226
- locking: false,
227
- standaloneGuard: sqlClientPhoneStandaloneGuard,
228
- });
229
-
230
- export const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;
159
+ { mode: "native", dialect: "sqlite", transactionConstructor: PasskeyTransaction },
160
+ );
231
161
 
232
162
  import { drizzleMigrationsLayer } from "./internal/drizzle-migrations";
233
163
  import { sqlitePersistence } from "./internal/drizzle-sqlite";
@@ -241,3 +171,33 @@ export const AuthPersistence = {
241
171
  ),
242
172
  ),
243
173
  };
174
+
175
+ export { OAuthProxyPersistence } from "./internal/drizzle-sqlite-oauth-proxy";
176
+
177
+ import { makeSessionTarget } from "./drizzle/session-drivers";
178
+
179
+ export const {
180
+ coordinateAuthenticationAuthority,
181
+ coordinatePendingAuthentication,
182
+ coordinateSignedSessionValidity,
183
+ coordinateStatefulSessions,
184
+ makeAuthenticationAuthorityServices,
185
+ makePendingAuthenticationServices,
186
+ makeSignedSessionValidityServices,
187
+ makeStatefulSessionServices,
188
+ makeSessionStepUpServices,
189
+ coordinateSessionStepUp,
190
+ makeSessionCleanupServices,
191
+ } = makeSessionTarget(Database, {
192
+ mode: "native",
193
+ dialect: "sqlite",
194
+ transactionConstructor: PasskeyTransaction,
195
+ });
196
+
197
+ import { makeTotpTarget } from "./drizzle/totp-target";
198
+
199
+ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = makeTotpTarget(Database, {
200
+ mode: "native",
201
+ dialect: "sqlite",
202
+ transactionConstructor: PasskeyTransaction,
203
+ });
package/src/Mysql2.ts CHANGED
@@ -17,36 +17,31 @@ import {
17
17
 
18
18
  export { Database } from "./drizzle/mysql-database";
19
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";
20
+ import { makeProofTarget } from "./drizzle/proof-drivers";
21
+
22
+ export const { coordinateProofPersistence, makeProofPersistenceServices } = makeProofTarget(
23
+ Database,
24
+ { mode: "native", dialect: "mysql" },
25
+ );
26
+
27
+ import { makePasswordTarget } from "./drizzle/password-drivers";
28
+
29
+ export const {
30
+ coordinatePasswordPersistence,
31
+ coordinatePasswordRegistration,
32
+ makePasswordPersistenceServices,
33
+ makePasswordRegistrationServices,
34
+ } = makePasswordTarget(Database, { mode: "native", dialect: "mysql" });
35
+
36
+ import { makeEmailTarget } from "./drizzle/email-drivers";
37
+
38
+ export const {
39
+ makeEmailSignInServices,
40
+ makeEmailAddressServices,
41
+ makeEmailRegistrationServices,
42
+ coordinateEmailAddress,
43
+ coordinateEmailRegistration,
44
+ } = makeEmailTarget(Database, { mode: "native", dialect: "mysql" });
50
45
 
51
46
  export const makeSubjectProvisioningServices = <
52
47
  Subject extends AnyMySqlTable,
@@ -65,8 +60,6 @@ export const makeExternalIdentityServices = <
65
60
  mapping: ExternalIdentityTables<Subject, External, NativeId>,
66
61
  ) => makeMysqlExternalIdentityServices(mapping);
67
62
 
68
- export const commitMode = "interactive" as const;
69
-
70
63
  export const makeIdentityServices = <
71
64
  Subject extends AnyMySqlTable,
72
65
  Identifier extends AnyMySqlTable,
@@ -77,32 +70,15 @@ export const makeIdentityServices = <
77
70
  mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
78
71
  ) => makeMysqlIdentityServices(mapping);
79
72
 
80
- export {
81
- makeMysqlSessionStepUpServices as makeSessionStepUpServices,
82
- coordinateMysqlSessionStepUp as coordinateSessionStepUp,
83
- } from "./drizzle/mysql-sessions";
84
-
85
- export {
86
- makeMySqlPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices,
87
- coordinateMySqlPasswordPreparedPersistence as coordinatePasswordPreparedPersistence,
88
- } from "./drizzle/mysql-password-prepared";
89
-
90
- export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
91
-
92
73
  import { makeOAuthTarget } from "./drizzle/oauth-drivers";
93
- import { mysqlOAuthTransaction } from "./drizzle/oauth-mysql";
94
- import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
95
74
 
96
75
  const oauthTarget = makeOAuthTarget<
97
76
  Database,
98
77
  EffectMysql2Database<AnyRelations>,
99
78
  AnyMySqlTable<{ dialect: "mysql" }>
100
79
  >(Database, {
101
- mode: "interactive",
80
+ mode: "native",
102
81
  dialect: "mysql",
103
- locking: true,
104
- transaction: mysqlOAuthTransaction,
105
- standaloneGuard: sqlClientOAuthStandaloneGuard,
106
82
  });
107
83
 
108
84
  export const {
@@ -121,26 +97,19 @@ export const {
121
97
  } = oauthTarget;
122
98
 
123
99
  import { makePasskeyTarget } from "./drizzle/passkey-drivers";
124
- import { unavailable as passkeyUnavailable } from "./drizzle/passkey-state";
125
- import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
126
- import { mysqlTransaction } from "./drizzle/transaction-mysql";
127
100
 
128
101
  const passkeyTarget = makePasskeyTarget<
129
102
  Database,
130
103
  EffectMysql2Database<AnyRelations>,
131
104
  AnyMySqlTable<{ dialect: "mysql" }>
132
105
  >(Database, {
133
- mode: "interactive",
106
+ mode: "native",
134
107
  dialect: "mysql",
135
- locking: true,
136
- standaloneGuard: sqlClientPasskeyStandaloneGuard,
137
- transaction: (database, body) => mysqlTransaction(passkeyUnavailable, database, body),
138
108
  });
139
109
 
140
110
  export const {
141
111
  makePasskeyCredentialServices,
142
112
  makePasskeyPersistenceServices,
143
- makePasskeyEnrollmentContextServices,
144
113
  makePasskeyRegistrationCeremonyServices,
145
114
  coordinatePasskeyPersistence,
146
115
  coordinatePasskeyRegistrationCeremony,
@@ -150,39 +119,35 @@ export const {
150
119
  coordinatePasskeyRegistration,
151
120
  } = passkeyTarget;
152
121
 
153
- import { unavailable as totpUnavailable } from "./drizzle/totp-state";
154
- import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
122
+ import { makePhoneTarget } from "./drizzle/phone-drivers";
155
123
 
156
- const totpTarget = makeTotpTarget<
124
+ export const { makePhonePersistenceServices, coordinatePhonePersistence } = makePhoneTarget(
157
125
  Database,
158
- EffectMysql2Database<AnyRelations>,
159
- AnyMySqlTable<{ dialect: "mysql" }>
160
- >(Database, {
161
- mode: "interactive",
162
- dialect: "mysql",
163
- locking: true,
164
- standaloneGuard: sqlClientTotpStandaloneGuard,
165
- transaction: (database, body) => mysqlTransaction(totpUnavailable, database, body),
166
- });
126
+ { mode: "native", dialect: "mysql" },
127
+ );
167
128
 
168
- export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;
129
+ /** Construct Drizzle from the driver's SQL-client Layer. */
130
+ export const databaseLayer = Layer.effect(Database, makeWithDefaults({}));
169
131
 
170
- import { unavailable as phoneUnavailable } from "./drizzle/phone-state";
171
- import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
132
+ import { makeSessionTarget } from "./drizzle/session-drivers";
172
133
 
173
- const phoneTarget = makePhoneTarget<
174
- Database,
175
- EffectMysql2Database<AnyRelations>,
176
- AnyMySqlTable<{ dialect: "mysql" }>
177
- >(Database, {
178
- mode: "interactive",
134
+ export const {
135
+ coordinateAuthenticationAuthority,
136
+ coordinatePendingAuthentication,
137
+ coordinateSignedSessionValidity,
138
+ coordinateStatefulSessions,
139
+ makeAuthenticationAuthorityServices,
140
+ makePendingAuthenticationServices,
141
+ makeSignedSessionValidityServices,
142
+ makeStatefulSessionServices,
143
+ makeSessionStepUpServices,
144
+ coordinateSessionStepUp,
145
+ makeSessionCleanupServices,
146
+ } = makeSessionTarget(Database, { mode: "native", dialect: "mysql" });
147
+
148
+ import { makeTotpTarget } from "./drizzle/totp-target";
149
+
150
+ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = makeTotpTarget(Database, {
151
+ mode: "native",
179
152
  dialect: "mysql",
180
- locking: true,
181
- standaloneGuard: sqlClientPhoneStandaloneGuard,
182
- transaction: (database, body) => mysqlTransaction(phoneUnavailable, database, body),
183
153
  });
184
-
185
- export const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;
186
-
187
- /** Construct Drizzle from the driver's SQL-client Layer. */
188
- export const databaseLayer = Layer.effect(Database, makeWithDefaults({}));
package/src/Pglite.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  export { OAuthProxyPersistence } from "./internal/drizzle-postgres-oauth-proxy";
2
2
 
3
3
  import type { AnyRelations } from "drizzle-orm";
4
- import { type EffectPgDatabase, makeWithDefaults } from "drizzle-orm/effect-pglite";
4
+ import {
5
+ EffectPgTransaction as PasskeyTransaction,
6
+ type EffectPgDatabase,
7
+ makeWithDefaults,
8
+ } from "drizzle-orm/effect-pglite";
5
9
  import type { AnyPgTable } from "drizzle-orm/pg-core";
6
10
  import { Effect, Layer } from "effect";
7
11
 
@@ -19,36 +23,39 @@ import {
19
23
 
20
24
  export { Database } from "./drizzle/pg-database";
21
25
 
22
- export {
23
- coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority,
24
- coordinatePgPendingAuthentication as coordinatePendingAuthentication,
25
- coordinatePgSignedSessionValidity as coordinateSignedSessionValidity,
26
- coordinatePgStatefulSessions as coordinateStatefulSessions,
27
- makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices,
28
- makePgPendingAuthenticationServices as makePendingAuthenticationServices,
29
- makePgSignedSessionValidityServices as makeSignedSessionValidityServices,
30
- makePgStatefulSessionServices as makeStatefulSessionServices,
31
- } from "./drizzle/pg-sessions";
32
-
33
- export {
34
- coordinatePgProofPersistence as coordinateProofPersistence,
35
- makePgProofPersistenceServices as makeProofPersistenceServices,
36
- } from "./drizzle/pg-proofs";
37
-
38
- export {
39
- coordinatePgPasswordPersistence as coordinatePasswordPersistence,
40
- coordinatePgPasswordRegistration as coordinatePasswordRegistration,
41
- makePgPasswordPersistenceServices as makePasswordPersistenceServices,
42
- makePgPasswordRegistrationServices as makePasswordRegistrationServices,
43
- } from "./drizzle/pg-passwords";
44
-
45
- export {
46
- coordinatePgEmailAddress as coordinateEmailAddress,
47
- coordinatePgEmailRegistration as coordinateEmailRegistration,
48
- makePgEmailAddressServices as makeEmailAddressServices,
49
- makePgEmailRegistrationServices as makeEmailRegistrationServices,
50
- makePgEmailSignInServices as makeEmailSignInServices,
51
- } from "./drizzle/pg-emails";
26
+ import { makeProofTarget } from "./drizzle/proof-drivers";
27
+
28
+ export const { coordinateProofPersistence, makeProofPersistenceServices } = makeProofTarget(
29
+ Database,
30
+ { mode: "native", dialect: "pg", transactionConstructor: PasskeyTransaction },
31
+ );
32
+
33
+ import { makePasswordTarget } from "./drizzle/password-drivers";
34
+
35
+ export const {
36
+ coordinatePasswordPersistence,
37
+ coordinatePasswordRegistration,
38
+ makePasswordPersistenceServices,
39
+ makePasswordRegistrationServices,
40
+ } = makePasswordTarget(Database, {
41
+ mode: "native",
42
+ dialect: "pg",
43
+ transactionConstructor: PasskeyTransaction,
44
+ });
45
+
46
+ import { makeEmailTarget } from "./drizzle/email-drivers";
47
+
48
+ export const {
49
+ makeEmailSignInServices,
50
+ makeEmailAddressServices,
51
+ makeEmailRegistrationServices,
52
+ coordinateEmailAddress,
53
+ coordinateEmailRegistration,
54
+ } = makeEmailTarget(Database, {
55
+ mode: "native",
56
+ dialect: "pg",
57
+ transactionConstructor: PasskeyTransaction,
58
+ });
52
59
 
53
60
  export const makeSubjectProvisioningServices = <
54
61
  Subject extends AnyPgTable,
@@ -67,8 +74,6 @@ export const makeExternalIdentityServices = <
67
74
  mapping: ExternalIdentityTables<Subject, External, NativeId>,
68
75
  ) => makePgExternalIdentityServices(mapping);
69
76
 
70
- export const commitMode = "interactive" as const;
71
-
72
77
  export const makeIdentityServices = <
73
78
  Subject extends AnyPgTable,
74
79
  Identifier extends AnyPgTable,
@@ -79,30 +84,16 @@ export const makeIdentityServices = <
79
84
  mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
80
85
  ) => makePgIdentityServices(mapping);
81
86
 
82
- export {
83
- makePgSessionStepUpServices as makeSessionStepUpServices,
84
- coordinatePgSessionStepUp as coordinateSessionStepUp,
85
- } from "./drizzle/pg-sessions";
86
-
87
- export {
88
- makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices,
89
- coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence,
90
- } from "./drizzle/pg-password-prepared";
91
-
92
- export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
93
-
94
87
  import { makeOAuthTarget } from "./drizzle/oauth-drivers";
95
- import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
96
88
 
97
89
  const oauthTarget = makeOAuthTarget<
98
90
  Database,
99
91
  EffectPgDatabase<AnyRelations>,
100
92
  AnyPgTable<{ dialect: "pg" }>
101
93
  >(Database, {
102
- mode: "interactive",
94
+ mode: "native",
103
95
  dialect: "pg",
104
- locking: true,
105
- standaloneGuard: sqlClientOAuthStandaloneGuard,
96
+ transactionConstructor: PasskeyTransaction,
106
97
  });
107
98
 
108
99
  export const {
@@ -121,23 +112,20 @@ export const {
121
112
  } = oauthTarget;
122
113
 
123
114
  import { makePasskeyTarget } from "./drizzle/passkey-drivers";
124
- import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
125
115
 
126
116
  const passkeyTarget = makePasskeyTarget<
127
117
  Database,
128
118
  EffectPgDatabase<AnyRelations>,
129
119
  AnyPgTable<{ dialect: "pg" }>
130
120
  >(Database, {
131
- mode: "interactive",
121
+ transactionConstructor: PasskeyTransaction,
122
+ mode: "native",
132
123
  dialect: "pg",
133
- locking: true,
134
- standaloneGuard: sqlClientPasskeyStandaloneGuard,
135
124
  });
136
125
 
137
126
  export const {
138
127
  makePasskeyCredentialServices,
139
128
  makePasskeyPersistenceServices,
140
- makePasskeyEnrollmentContextServices,
141
129
  makePasskeyRegistrationCeremonyServices,
142
130
  coordinatePasskeyPersistence,
143
131
  coordinatePasskeyRegistrationCeremony,
@@ -147,35 +135,12 @@ export const {
147
135
  coordinatePasskeyRegistration,
148
136
  } = passkeyTarget;
149
137
 
150
- import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
138
+ import { makePhoneTarget } from "./drizzle/phone-drivers";
151
139
 
152
- const totpTarget = makeTotpTarget<
140
+ export const { makePhonePersistenceServices, coordinatePhonePersistence } = makePhoneTarget(
153
141
  Database,
154
- EffectPgDatabase<AnyRelations>,
155
- AnyPgTable<{ dialect: "pg" }>
156
- >(Database, {
157
- mode: "interactive",
158
- dialect: "pg",
159
- locking: true,
160
- standaloneGuard: sqlClientTotpStandaloneGuard,
161
- });
162
-
163
- export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;
164
-
165
- import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
166
-
167
- const phoneTarget = makePhoneTarget<
168
- Database,
169
- EffectPgDatabase<AnyRelations>,
170
- AnyPgTable<{ dialect: "pg" }>
171
- >(Database, {
172
- mode: "interactive",
173
- dialect: "pg",
174
- locking: true,
175
- standaloneGuard: sqlClientPhoneStandaloneGuard,
176
- });
177
-
178
- export const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;
142
+ { mode: "native", dialect: "pg", transactionConstructor: PasskeyTransaction },
143
+ );
179
144
 
180
145
  import { drizzleMigrationsLayer } from "./internal/drizzle-migrations";
181
146
  import { postgresPersistence } from "./internal/drizzle-postgres";
@@ -192,3 +157,31 @@ export const AuthPersistence = {
192
157
 
193
158
  /** Construct Drizzle from the driver's SQL-client Layer. */
194
159
  export const databaseLayer = Layer.effect(Database, makeWithDefaults({}));
160
+
161
+ import { makeSessionTarget } from "./drizzle/session-drivers";
162
+
163
+ export const {
164
+ coordinateAuthenticationAuthority,
165
+ coordinatePendingAuthentication,
166
+ coordinateSignedSessionValidity,
167
+ coordinateStatefulSessions,
168
+ makeAuthenticationAuthorityServices,
169
+ makePendingAuthenticationServices,
170
+ makeSignedSessionValidityServices,
171
+ makeStatefulSessionServices,
172
+ makeSessionStepUpServices,
173
+ coordinateSessionStepUp,
174
+ makeSessionCleanupServices,
175
+ } = makeSessionTarget(Database, {
176
+ mode: "native",
177
+ dialect: "pg",
178
+ transactionConstructor: PasskeyTransaction,
179
+ });
180
+
181
+ import { makeTotpTarget } from "./drizzle/totp-target";
182
+
183
+ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = makeTotpTarget(Database, {
184
+ mode: "native",
185
+ dialect: "pg",
186
+ transactionConstructor: PasskeyTransaction,
187
+ });