@yielded/auth-persistence-drizzle 0.1.0-beta.24 → 0.1.0-beta.26

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 +90 -25
  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 -1265
  340. package/src/drizzle/d1-passwords.ts +0 -2060
  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 -1201
  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
@@ -1,10 +1,12 @@
1
1
  import type * as Shared from "@yielded/auth-persistence/Adapter";
2
2
  import type { SQL, Table } from "drizzle-orm";
3
3
 
4
+ import type { ClockMapping } from "./native-clock";
4
5
  import type { DrizzleTableModel } from "./table-model";
5
6
 
6
7
  export {
7
8
  type SessionIdCodec,
9
+ type SessionPendingInsert,
8
10
  type RequiredSessionConstraints,
9
11
  type RequiredPendingAuthenticationConstraints,
10
12
  type RequiredStatefulPendingConstraints,
@@ -13,7 +15,6 @@ export {
13
15
  requiredPendingAuthenticationConstraints,
14
16
  requiredStatefulPendingConstraints,
15
17
  requiredSignedValidityConstraints,
16
- type SessionConstraintClassifier,
17
18
  } from "@yielded/auth-persistence/Adapter";
18
19
 
19
20
  export type SessionSubjectTables<Subject extends Table, NativeId> = Shared.SessionSubjectTables<
@@ -31,36 +32,28 @@ export type SessionAuthorityTables<
31
32
  NativeId
32
33
  >;
33
34
 
34
- export type SessionFlowTables<Flow extends Table, NativeSubjectId> = Shared.SessionFlowTables<
35
- DrizzleTableModel<Flow>,
36
- NativeSubjectId
37
- >;
38
-
39
35
  export type StatefulSessionTables<
40
36
  Claims,
41
37
  Session extends Table,
42
- Flow extends Table,
43
38
  NativeSubjectId,
44
39
  NativeSessionId,
45
40
  > = Shared.StatefulSessionTables<
46
41
  Claims,
47
42
  DrizzleTableModel<Session>,
48
- DrizzleTableModel<Flow>,
49
43
  NativeSubjectId,
50
44
  NativeSessionId
51
45
  >;
52
46
 
47
+ export type SessionPendingTables<
48
+ Pending extends Table,
49
+ NativeSubjectId,
50
+ > = Shared.SessionPendingTables<DrizzleTableModel<Pending>, NativeSubjectId>;
51
+
53
52
  export type PendingAuthenticationTables<
54
53
  Claims,
55
54
  Pending extends Table,
56
- Flow extends Table,
57
55
  NativeSubjectId,
58
- > = Shared.PendingAuthenticationTables<
59
- Claims,
60
- DrizzleTableModel<Pending>,
61
- DrizzleTableModel<Flow>,
62
- NativeSubjectId
63
- >;
56
+ > = Shared.PendingAuthenticationTables<Claims, DrizzleTableModel<Pending>, NativeSubjectId>;
64
57
 
65
58
  export type SignedSessionValidityTables<
66
59
  Tombstone extends Table,
@@ -76,16 +69,17 @@ export type AuthenticationAuthorityMapping<
76
69
  Claims,
77
70
  Subject extends Table,
78
71
  Credential extends Table,
79
- Flow extends Table,
80
72
  Pending extends Table,
81
73
  NativeSubjectId,
82
- > = Shared.AuthenticationAuthorityMapping<
83
- Claims,
84
- DrizzleTableModel<Subject>,
85
- DrizzleTableModel<Credential>,
86
- DrizzleTableModel<Flow>,
87
- DrizzleTableModel<Pending>,
88
- NativeSubjectId
74
+ > = ClockMapping<
75
+ Shared.AuthenticationAuthorityMapping<
76
+ Claims,
77
+ DrizzleTableModel<Subject>,
78
+ DrizzleTableModel<Credential>,
79
+ DrizzleTableModel<Pending>,
80
+ NativeSubjectId,
81
+ SQL
82
+ >
89
83
  >;
90
84
 
91
85
  export type StatefulSessionMapping<
@@ -93,19 +87,20 @@ export type StatefulSessionMapping<
93
87
  Subject extends Table,
94
88
  Credential extends Table,
95
89
  Session extends Table,
96
- Flow extends Table,
97
90
  Pending extends Table,
98
91
  NativeSubjectId,
99
92
  NativeSessionId,
100
- > = Shared.StatefulSessionMapping<
101
- Claims,
102
- DrizzleTableModel<Subject>,
103
- DrizzleTableModel<Credential>,
104
- DrizzleTableModel<Session>,
105
- DrizzleTableModel<Flow>,
106
- DrizzleTableModel<Pending>,
107
- NativeSubjectId,
108
- NativeSessionId
93
+ > = ClockMapping<
94
+ Shared.StatefulSessionMapping<
95
+ Claims,
96
+ DrizzleTableModel<Subject>,
97
+ DrizzleTableModel<Credential>,
98
+ DrizzleTableModel<Session>,
99
+ DrizzleTableModel<Pending>,
100
+ NativeSubjectId,
101
+ NativeSessionId,
102
+ SQL
103
+ >
109
104
  >;
110
105
 
111
106
  export type PendingAuthenticationMapping<
@@ -113,15 +108,16 @@ export type PendingAuthenticationMapping<
113
108
  Subject extends Table,
114
109
  Credential extends Table,
115
110
  Pending extends Table,
116
- Flow extends Table,
117
111
  NativeSubjectId,
118
- > = Shared.PendingAuthenticationMapping<
119
- Claims,
120
- DrizzleTableModel<Subject>,
121
- DrizzleTableModel<Credential>,
122
- DrizzleTableModel<Pending>,
123
- DrizzleTableModel<Flow>,
124
- NativeSubjectId
112
+ > = ClockMapping<
113
+ Shared.PendingAuthenticationMapping<
114
+ Claims,
115
+ DrizzleTableModel<Subject>,
116
+ DrizzleTableModel<Credential>,
117
+ DrizzleTableModel<Pending>,
118
+ NativeSubjectId,
119
+ SQL
120
+ >
125
121
  >;
126
122
 
127
123
  export type SignedSessionValidityMapping<
@@ -129,87 +125,27 @@ export type SignedSessionValidityMapping<
129
125
  Tombstone extends Table,
130
126
  NativeSubjectId,
131
127
  NativeSessionId,
132
- > = Shared.SignedSessionValidityMapping<
133
- DrizzleTableModel<Subject>,
134
- DrizzleTableModel<Tombstone>,
135
- NativeSubjectId,
136
- NativeSessionId
128
+ > = ClockMapping<
129
+ Shared.SignedSessionValidityMapping<
130
+ DrizzleTableModel<Subject>,
131
+ DrizzleTableModel<Tombstone>,
132
+ NativeSubjectId,
133
+ NativeSessionId,
134
+ SQL
135
+ >
137
136
  >;
138
137
 
139
- /** D1 evaluates these expressions inside the atomic batch, after queueing delay.
140
- * `engineNow` must use the exact native representation of every mapped instant
141
- * column. `engineNowMillis` is Unix epoch milliseconds for proof freshness.
142
- * Changes to the consumer's factor policy MUST bump subject.securityRevision.
143
- * Supply the authoritative primary D1 database, never a replica-affined
144
- * `withSession` handle, because verification and security revision reads must
145
- * observe completed revocation writes across clients.
146
- */
147
- export type D1SessionClockMapping = Shared.D1SessionClockMapping<SQL>;
148
-
149
- export type D1AuthenticationAuthorityMapping<
150
- Claims,
151
- Subject extends Table,
152
- Credential extends Table,
153
- Flow extends Table,
138
+ export type SessionCleanupMapping<
154
139
  Pending extends Table,
155
- NativeSubjectId,
156
- > = Shared.D1AuthenticationAuthorityMapping<
157
- Claims,
158
- DrizzleTableModel<Subject>,
159
- DrizzleTableModel<Credential>,
160
- DrizzleTableModel<Flow>,
161
- DrizzleTableModel<Pending>,
162
- NativeSubjectId,
163
- SQL
164
- >;
165
-
166
- export type D1PendingAuthenticationMapping<
167
- Claims,
168
- Subject extends Table,
169
- Credential extends Table,
170
- Pending extends Table,
171
- Flow extends Table,
172
- NativeSubjectId,
173
- > = Shared.D1PendingAuthenticationMapping<
174
- Claims,
175
- DrizzleTableModel<Subject>,
176
- DrizzleTableModel<Credential>,
177
- DrizzleTableModel<Pending>,
178
- DrizzleTableModel<Flow>,
179
- NativeSubjectId,
180
- SQL
181
- >;
182
-
183
- export type D1StatefulSessionMapping<
184
- Claims,
185
- Subject extends Table,
186
- Credential extends Table,
187
- Session extends Table,
188
- Flow extends Table,
189
- Pending extends Table,
190
- NativeSubjectId,
191
- NativeSessionId,
192
- > = Shared.D1StatefulSessionMapping<
193
- Claims,
194
- DrizzleTableModel<Subject>,
195
- DrizzleTableModel<Credential>,
196
- DrizzleTableModel<Session>,
197
- DrizzleTableModel<Flow>,
198
- DrizzleTableModel<Pending>,
199
- NativeSubjectId,
200
- NativeSessionId,
201
- SQL
202
- >;
203
-
204
- export type D1SignedSessionValidityMapping<
205
- Subject extends Table,
206
140
  Tombstone extends Table,
207
141
  NativeSubjectId,
208
142
  NativeSessionId,
209
- > = Shared.D1SignedSessionValidityMapping<
210
- DrizzleTableModel<Subject>,
211
- DrizzleTableModel<Tombstone>,
212
- NativeSubjectId,
213
- NativeSessionId,
214
- SQL
143
+ > = ClockMapping<
144
+ Shared.SessionCleanupMapping<
145
+ DrizzleTableModel<Pending>,
146
+ DrizzleTableModel<Tombstone>,
147
+ NativeSubjectId,
148
+ NativeSessionId,
149
+ SQL
150
+ >
215
151
  >;
@@ -41,6 +41,14 @@ export type Transaction<T extends AnyRelations = AnyRelations> = DatabaseValue<T
41
41
  readonly rollback: () => EffectTransactionRollbackError;
42
42
  };
43
43
 
44
+ /** Construct a query handle inside an existing asynchronous SQL owner. */
45
+ export const makeTransactionHandle = <T extends AnyRelations>(
46
+ database: DatabaseValue<T>,
47
+ ): Transaction<T> => ({
48
+ ...database,
49
+ rollback: () => new EffectTransactionRollbackError(),
50
+ });
51
+
44
52
  /**
45
53
  * Keep the application's Drizzle query configuration and capture its SQL client.
46
54
  * Effect SQL owns storage.transaction, so cryptography may suspend before commit.
@@ -1,4 +1,4 @@
1
- import { withStorageValidation, NativeDatabase } from "@yielded/auth-persistence/Adapter";
1
+ import { withStorageValidation } from "@yielded/auth-persistence/Adapter";
2
2
  import {
3
3
  ExternalIdentityMutation,
4
4
  type ExternalIdentity,
@@ -26,6 +26,7 @@ import {
26
26
  type IdentityTables,
27
27
  type SubjectProvisioningTables,
28
28
  } from "./model";
29
+ import { NativeDatabase } from "./native-database";
29
30
  import { validateDrizzleStorage } from "./storage-validation";
30
31
 
31
32
  type ClosedQueryEffectHKT = QueryEffectHKTBase & { readonly context: never };
@@ -75,12 +76,6 @@ export const makeSqliteSubjectProvisioningServices = Effect.fnUntraced(function*
75
76
 
76
77
  const identifierTable = mapping.identifier.table;
77
78
 
78
- const identifierNamespaceColumn = column(
79
- identifierTable,
80
- mapping.identifier.namespace,
81
- ) as SQLiteColumn;
82
-
83
- const identifierValueColumn = column(identifierTable, mapping.identifier.value) as SQLiteColumn;
84
79
  const subjectIdColumn = column(mapping.subject.table, mapping.subject.id) as SQLiteColumn;
85
80
 
86
81
  const findReceipt = Effect.fn("DrizzleSqliteIdentity.findReceipt")(function* (requestId: string) {
@@ -167,21 +162,8 @@ export const makeSqliteSubjectProvisioningServices = Effect.fnUntraced(function*
167
162
  Effect.flatMap((receipt) => {
168
163
  if (receipt !== undefined && receipt.fingerprint === fingerprint)
169
164
  return Effect.succeed(receipt.subjectId as NativeId);
170
- if (input.identifier === undefined) return IdentityConflict.make();
171
-
172
- return db
173
- .select({
174
- subjectId: column(identifierTable, mapping.identifier.subjectId) as SQLiteColumn,
175
- })
176
- .from(identifierTable as any)
177
- .where(
178
- and(
179
- eq(identifierNamespaceColumn, input.identifier.namespace),
180
- eq(identifierValueColumn, input.identifier.value),
181
- ),
182
- )
183
- .limit(1)
184
- .pipe(Effect.flatMap(() => IdentityConflict.make()));
165
+
166
+ return IdentityConflict.make();
185
167
  }),
186
168
  );
187
169
  },
@@ -1,6 +1,7 @@
1
1
  import type * as Shared from "@yielded/auth-persistence/Adapter";
2
2
  import type { SQL, Table } from "drizzle-orm";
3
3
 
4
+ import type { ClockMapping } from "./native-clock";
4
5
  import type { DrizzleTableModel } from "./table-model";
5
6
 
6
7
  export {
@@ -8,13 +9,6 @@ export {
8
9
  requiredSessionStepUpConstraints,
9
10
  } from "@yielded/auth-persistence/Adapter";
10
11
 
11
- /** Distinct from login-pending storage. Snapshot is TEXT encoded by the core's
12
- * SessionStepUpIntent schema; it contains no Claims and needs no consumer decoder. */
13
- export type SessionStepUpIntentTables<
14
- Intent extends Table,
15
- NativeSubjectId,
16
- > = Shared.SessionStepUpIntentTables<DrizzleTableModel<Intent>, NativeSubjectId>;
17
-
18
12
  /** Fixed source discriminator is checked against every stored intent. A minimal
19
13
  * pure-signed installation does not provide dummy session or tombstone tables. */
20
14
  export type SessionStepUpSourceTables<
@@ -40,34 +34,16 @@ export type SessionStepUpMapping<
40
34
  Tombstone extends Table,
41
35
  NativeSubjectId,
42
36
  NativeSessionId,
43
- > = Shared.SessionStepUpMapping<
44
- Claims,
45
- DrizzleTableModel<Subject>,
46
- DrizzleTableModel<Credential>,
47
- DrizzleTableModel<Intent>,
48
- DrizzleTableModel<Session>,
49
- DrizzleTableModel<Tombstone>,
50
- NativeSubjectId,
51
- NativeSessionId
52
- >;
53
-
54
- export type D1SessionStepUpMapping<
55
- Claims,
56
- Subject extends Table,
57
- Credential extends Table,
58
- Intent extends Table,
59
- Session extends Table,
60
- Tombstone extends Table,
61
- NativeSubjectId,
62
- NativeSessionId,
63
- > = Shared.D1SessionStepUpMapping<
64
- Claims,
65
- DrizzleTableModel<Subject>,
66
- DrizzleTableModel<Credential>,
67
- DrizzleTableModel<Intent>,
68
- DrizzleTableModel<Session>,
69
- DrizzleTableModel<Tombstone>,
70
- NativeSubjectId,
71
- NativeSessionId,
72
- SQL
37
+ > = ClockMapping<
38
+ Shared.SessionStepUpMapping<
39
+ Claims,
40
+ DrizzleTableModel<Subject>,
41
+ DrizzleTableModel<Credential>,
42
+ DrizzleTableModel<Intent>,
43
+ DrizzleTableModel<Session>,
44
+ DrizzleTableModel<Tombstone>,
45
+ NativeSubjectId,
46
+ NativeSessionId,
47
+ SQL
48
+ >
73
49
  >;
@@ -1,5 +1,4 @@
1
1
  import {
2
- NativeDatabase,
3
2
  PersistenceMappingError,
4
3
  validateStorageBatch,
5
4
  type StorageValidation,
@@ -11,6 +10,8 @@ import { getTableConfig as getPgTableConfig, PgTable } from "drizzle-orm/pg-core
11
10
  import { Effect } from "effect";
12
11
  import { SqlClient } from "effect/sql/SqlClient";
13
12
 
13
+ import { NativeDatabase } from "./native-database";
14
+
14
15
  /** Validate at acquisition using the root database supplied by the adapter. */
15
16
  export const validateDrizzleStorage = Effect.fnUntraced(
16
17
  function* (mapping: unknown) {
@@ -1,83 +1,26 @@
1
- import type { SubjectId } from "@yielded/auth/Schema";
2
- import type {
3
- AuthenticationRequirement,
4
- PendingAuthenticationContext,
5
- } from "@yielded/auth/Sessions";
6
- import { type TotpPolicy, TotpPersistence } from "@yielded/auth/Totp";
7
- import type { InferInsertModel, InferSelectModel, SQL, Table } from "drizzle-orm";
1
+ import type * as Shared from "@yielded/auth-persistence/Adapter";
2
+ import { TotpPersistence } from "@yielded/auth/Totp";
3
+ import type { SQL, Table } from "drizzle-orm";
8
4
  import { Effect, Layer } from "effect";
9
5
 
10
- import type { PersistenceMappingError } from "./model";
11
- export type TotpColumn<T extends Table> = Extract<keyof T["_"]["columns"], string>;
12
- export type TotpMappingSource<M, R = never> = M | Effect.Effect<M, PersistenceMappingError, R>;
6
+ import type { DrizzleTableModel } from "./table-model";
7
+ export { requiredTotpConstraints, type TotpMappingSource } from "@yielded/auth-persistence/Adapter";
8
+ export type TotpColumn<T extends Table> = DrizzleTableModel<T>["column"];
13
9
 
14
- export const requiredTotpConstraints = {
15
- factor: "unique(scope)",
16
- credential: "unique(credentialId)",
17
- subject: "unique(id)",
18
- } as const;
19
-
20
- /** A dedicated encrypted factor row plus the shared authentication credential authority.
21
- * factorEnabled is the consumer's TOTP requirement bit; central primary methods must
22
- * read it when choosing their AuthenticationRequirement. Other factor policy is untouched.
23
- * State JSON stores ciphertext and recovery digests only. The same table retains
24
- * domain-separated management command tombstones; retain them while command IDs
25
- * can be replayed. Encoders and current requirement decoding cannot suspend.
26
- */
27
- export interface TotpMapping<S extends Table, F extends Table, C extends Table, N> {
28
- readonly moduleId: string;
29
- readonly policy: TotpPolicy;
30
- readonly constraints: typeof requiredTotpConstraints;
31
- readonly subjectIds: {
32
- readonly toNative: (id: SubjectId) => N;
33
- readonly toSubject: (id: N) => SubjectId;
34
- };
35
- readonly subject: {
36
- readonly table: S;
37
- readonly id: TotpColumn<S>;
38
- readonly securityRevision: TotpColumn<S>;
39
- readonly factorEnabled: TotpColumn<S>;
40
- readonly activeCondition: SQL;
41
- readonly encodeEnabled: (enabled: boolean) => unknown;
42
- readonly decodeRequirement: (row: InferSelectModel<S>) => AuthenticationRequirement;
43
- };
44
- readonly factor: {
45
- readonly table: F;
46
- readonly scope: TotpColumn<F>;
47
- readonly state: TotpColumn<F>;
48
- readonly version: TotpColumn<F>;
49
- readonly encodeInsert: (value: {
50
- readonly scope: string;
51
- readonly state: string;
52
- readonly version: string;
53
- }) => InferInsertModel<F>;
54
- };
55
- readonly credential: {
56
- readonly table: C;
57
- readonly id: TotpColumn<C>;
58
- readonly subjectId: TotpColumn<C>;
59
- readonly revision: TotpColumn<C>;
60
- readonly status: TotpColumn<C>;
61
- readonly activeCondition: SQL;
62
- readonly encodeStatus: (active: boolean) => unknown;
63
- readonly encodeInsert: (value: {
64
- readonly credentialId: string;
65
- readonly subjectId: N;
66
- readonly revision: string;
67
- readonly active: boolean;
68
- }) => InferInsertModel<C>;
69
- };
70
- /** Unix epoch milliseconds, evaluated again at the final conditional write. */
71
- readonly engineNowMillis: SQL;
72
- /** Required for reset-with-recovery-code. Must assert the exact unconsumed,
73
- * unexpired, unexhausted pending flow, binding digest and original credential
74
- * revisions. No request-supplied SQL or external I/O is accepted. */
75
- readonly pendingCondition?: (target: PendingAuthenticationContext, subjectId: N) => SQL;
76
- }
77
-
78
- export interface D1TotpMapping {
79
- readonly d1: { readonly primary: true };
80
- }
10
+ export type TotpMapping<
11
+ S extends Table,
12
+ F extends Table,
13
+ C extends Table,
14
+ N,
15
+ P extends Table = Table,
16
+ > = Shared.TotpMapping<
17
+ DrizzleTableModel<S>,
18
+ DrizzleTableModel<F>,
19
+ DrizzleTableModel<C>,
20
+ N,
21
+ DrizzleTableModel<P>,
22
+ SQL
23
+ >;
81
24
 
82
25
  export interface TotpPersistenceServices {
83
26
  readonly totpPersistence: TotpPersistence["Service"];