@yielded/auth-persistence-drizzle 0.1.0-beta.0

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 (401) hide show
  1. package/README.md +17 -0
  2. package/dist/D1.d.mts +963 -0
  3. package/dist/D1.mjs +29 -0
  4. package/dist/D1.mjs.map +1 -0
  5. package/dist/Libsql.d.mts +2134 -0
  6. package/dist/Libsql.mjs +77 -0
  7. package/dist/Libsql.mjs.map +1 -0
  8. package/dist/Mysql2.d.mts +1817 -0
  9. package/dist/Mysql2.mjs +55 -0
  10. package/dist/Mysql2.mjs.map +1 -0
  11. package/dist/Pglite.d.mts +1821 -0
  12. package/dist/Pglite.mjs +53 -0
  13. package/dist/Pglite.mjs.map +1 -0
  14. package/dist/Postgres.d.mts +1821 -0
  15. package/dist/Postgres.mjs +53 -0
  16. package/dist/Postgres.mjs.map +1 -0
  17. package/dist/SqliteBun.d.mts +2129 -0
  18. package/dist/SqliteBun.mjs +70 -0
  19. package/dist/SqliteBun.mjs.map +1 -0
  20. package/dist/SqliteDo.d.mts +2181 -0
  21. package/dist/SqliteDo.mjs +105 -0
  22. package/dist/SqliteDo.mjs.map +1 -0
  23. package/dist/SqliteNode.d.mts +2129 -0
  24. package/dist/SqliteNode.mjs +70 -0
  25. package/dist/SqliteNode.mjs.map +1 -0
  26. package/dist/SqliteWasm.d.mts +2132 -0
  27. package/dist/SqliteWasm.mjs +70 -0
  28. package/dist/SqliteWasm.mjs.map +1 -0
  29. package/dist/_virtual/_rolldown/runtime.mjs +13 -0
  30. package/dist/drizzle/D1BatchStatements.d.mts +10 -0
  31. package/dist/drizzle/D1BatchStatements.mjs +8 -0
  32. package/dist/drizzle/D1BatchStatements.mjs.map +1 -0
  33. package/dist/drizzle/SuppliedService.d.mts +9 -0
  34. package/dist/drizzle/d1-emails.d.mts +61 -0
  35. package/dist/drizzle/d1-emails.mjs +578 -0
  36. package/dist/drizzle/d1-emails.mjs.map +1 -0
  37. package/dist/drizzle/d1-generated-statement.mjs +79 -0
  38. package/dist/drizzle/d1-generated-statement.mjs.map +1 -0
  39. package/dist/drizzle/d1-identity.d.mts +30 -0
  40. package/dist/drizzle/d1-identity.mjs +118 -0
  41. package/dist/drizzle/d1-identity.mjs.map +1 -0
  42. package/dist/drizzle/d1-oauth.d.mts +300 -0
  43. package/dist/drizzle/d1-oauth.mjs +76 -0
  44. package/dist/drizzle/d1-oauth.mjs.map +1 -0
  45. package/dist/drizzle/d1-passkey.d.mts +47 -0
  46. package/dist/drizzle/d1-passkey.mjs +95 -0
  47. package/dist/drizzle/d1-passkey.mjs.map +1 -0
  48. package/dist/drizzle/d1-password-prepared.d.mts +24 -0
  49. package/dist/drizzle/d1-password-prepared.mjs +460 -0
  50. package/dist/drizzle/d1-password-prepared.mjs.map +1 -0
  51. package/dist/drizzle/d1-passwords.d.mts +86 -0
  52. package/dist/drizzle/d1-passwords.mjs +1003 -0
  53. package/dist/drizzle/d1-passwords.mjs.map +1 -0
  54. package/dist/drizzle/d1-phone.d.mts +23 -0
  55. package/dist/drizzle/d1-phone.mjs +30 -0
  56. package/dist/drizzle/d1-phone.mjs.map +1 -0
  57. package/dist/drizzle/d1-planning.d.mts +11 -0
  58. package/dist/drizzle/d1-planning.mjs +43 -0
  59. package/dist/drizzle/d1-planning.mjs.map +1 -0
  60. package/dist/drizzle/d1-proofs.d.mts +79 -0
  61. package/dist/drizzle/d1-proofs.mjs +829 -0
  62. package/dist/drizzle/d1-proofs.mjs.map +1 -0
  63. package/dist/drizzle/d1-sessions.d.mts +66 -0
  64. package/dist/drizzle/d1-sessions.mjs +965 -0
  65. package/dist/drizzle/d1-sessions.mjs.map +1 -0
  66. package/dist/drizzle/d1-totp.d.mts +23 -0
  67. package/dist/drizzle/d1-totp.mjs +27 -0
  68. package/dist/drizzle/d1-totp.mjs.map +1 -0
  69. package/dist/drizzle/email-model.d.mts +30 -0
  70. package/dist/drizzle/email-model.mjs +2 -0
  71. package/dist/drizzle/email-registration.d.mts +29 -0
  72. package/dist/drizzle/email-registration.mjs +236 -0
  73. package/dist/drizzle/email-registration.mjs.map +1 -0
  74. package/dist/drizzle/email-sql.d.mts +1 -0
  75. package/dist/drizzle/email-sql.mjs +9 -0
  76. package/dist/drizzle/email-sql.mjs.map +1 -0
  77. package/dist/drizzle/email-target.d.mts +19 -0
  78. package/dist/drizzle/email-target.mjs +72 -0
  79. package/dist/drizzle/email-target.mjs.map +1 -0
  80. package/dist/drizzle/model.d.mts +245 -0
  81. package/dist/drizzle/model.mjs +55 -0
  82. package/dist/drizzle/model.mjs.map +1 -0
  83. package/dist/drizzle/mysql-emails.d.mts +70 -0
  84. package/dist/drizzle/mysql-emails.mjs +38 -0
  85. package/dist/drizzle/mysql-emails.mjs.map +1 -0
  86. package/dist/drizzle/mysql-identity.d.mts +21 -0
  87. package/dist/drizzle/mysql-identity.mjs +93 -0
  88. package/dist/drizzle/mysql-identity.mjs.map +1 -0
  89. package/dist/drizzle/mysql-password-prepared.d.mts +29 -0
  90. package/dist/drizzle/mysql-password-prepared.mjs +16 -0
  91. package/dist/drizzle/mysql-password-prepared.mjs.map +1 -0
  92. package/dist/drizzle/mysql-passwords.d.mts +85 -0
  93. package/dist/drizzle/mysql-passwords.mjs +38 -0
  94. package/dist/drizzle/mysql-passwords.mjs.map +1 -0
  95. package/dist/drizzle/mysql-proofs.d.mts +74 -0
  96. package/dist/drizzle/mysql-proofs.mjs +23 -0
  97. package/dist/drizzle/mysql-proofs.mjs.map +1 -0
  98. package/dist/drizzle/mysql-sessions.d.mts +91 -0
  99. package/dist/drizzle/mysql-sessions.mjs +53 -0
  100. package/dist/drizzle/mysql-sessions.mjs.map +1 -0
  101. package/dist/drizzle/mysql.d.mts +69 -0
  102. package/dist/drizzle/mysql.mjs +218 -0
  103. package/dist/drizzle/mysql.mjs.map +1 -0
  104. package/dist/drizzle/oauth-accounts.mjs +358 -0
  105. package/dist/drizzle/oauth-accounts.mjs.map +1 -0
  106. package/dist/drizzle/oauth-connected-access.mjs +210 -0
  107. package/dist/drizzle/oauth-connected-access.mjs.map +1 -0
  108. package/dist/drizzle/oauth-connected-collection.mjs +202 -0
  109. package/dist/drizzle/oauth-connected-collection.mjs.map +1 -0
  110. package/dist/drizzle/oauth-connected-custody.mjs +146 -0
  111. package/dist/drizzle/oauth-connected-custody.mjs.map +1 -0
  112. package/dist/drizzle/oauth-connected-drivers.mjs +76 -0
  113. package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -0
  114. package/dist/drizzle/oauth-connected-flow.mjs +247 -0
  115. package/dist/drizzle/oauth-connected-flow.mjs.map +1 -0
  116. package/dist/drizzle/oauth-connected-input.mjs +103 -0
  117. package/dist/drizzle/oauth-connected-input.mjs.map +1 -0
  118. package/dist/drizzle/oauth-connected-maintenance.mjs +214 -0
  119. package/dist/drizzle/oauth-connected-maintenance.mjs.map +1 -0
  120. package/dist/drizzle/oauth-connected-management.mjs +228 -0
  121. package/dist/drizzle/oauth-connected-management.mjs.map +1 -0
  122. package/dist/drizzle/oauth-connected-model.d.mts +277 -0
  123. package/dist/drizzle/oauth-connected-model.mjs +22 -0
  124. package/dist/drizzle/oauth-connected-model.mjs.map +1 -0
  125. package/dist/drizzle/oauth-connected-reference.d.mts +16 -0
  126. package/dist/drizzle/oauth-connected-reference.mjs +53 -0
  127. package/dist/drizzle/oauth-connected-reference.mjs.map +1 -0
  128. package/dist/drizzle/oauth-connected-settlement.mjs +117 -0
  129. package/dist/drizzle/oauth-connected-settlement.mjs.map +1 -0
  130. package/dist/drizzle/oauth-connected-state.d.mts +1954 -0
  131. package/dist/drizzle/oauth-connected-state.mjs +422 -0
  132. package/dist/drizzle/oauth-connected-state.mjs.map +1 -0
  133. package/dist/drizzle/oauth-connected-target.d.mts +752 -0
  134. package/dist/drizzle/oauth-connected-target.mjs +91 -0
  135. package/dist/drizzle/oauth-connected-target.mjs.map +1 -0
  136. package/dist/drizzle/oauth-drivers.mjs +51 -0
  137. package/dist/drizzle/oauth-drivers.mjs.map +1 -0
  138. package/dist/drizzle/oauth-flow.d.mts +22 -0
  139. package/dist/drizzle/oauth-flow.mjs +253 -0
  140. package/dist/drizzle/oauth-flow.mjs.map +1 -0
  141. package/dist/drizzle/oauth-input.mjs +127 -0
  142. package/dist/drizzle/oauth-input.mjs.map +1 -0
  143. package/dist/drizzle/oauth-model.d.mts +461 -0
  144. package/dist/drizzle/oauth-model.mjs +49 -0
  145. package/dist/drizzle/oauth-model.mjs.map +1 -0
  146. package/dist/drizzle/oauth-mysql.mjs +8 -0
  147. package/dist/drizzle/oauth-mysql.mjs.map +1 -0
  148. package/dist/drizzle/oauth-owner.d.mts +10 -0
  149. package/dist/drizzle/oauth-owner.mjs +10 -0
  150. package/dist/drizzle/oauth-owner.mjs.map +1 -0
  151. package/dist/drizzle/oauth-registration.d.mts +5 -0
  152. package/dist/drizzle/oauth-registration.mjs +374 -0
  153. package/dist/drizzle/oauth-registration.mjs.map +1 -0
  154. package/dist/drizzle/oauth-state.mjs +107 -0
  155. package/dist/drizzle/oauth-state.mjs.map +1 -0
  156. package/dist/drizzle/oauth-target.d.mts +109 -0
  157. package/dist/drizzle/oauth-target.mjs +246 -0
  158. package/dist/drizzle/oauth-target.mjs.map +1 -0
  159. package/dist/drizzle/passkey-drivers.mjs +34 -0
  160. package/dist/drizzle/passkey-drivers.mjs.map +1 -0
  161. package/dist/drizzle/passkey-kernel.mjs +8 -0
  162. package/dist/drizzle/passkey-kernel.mjs.map +1 -0
  163. package/dist/drizzle/passkey-model.d.mts +43 -0
  164. package/dist/drizzle/passkey-model.mjs +8 -0
  165. package/dist/drizzle/passkey-model.mjs.map +1 -0
  166. package/dist/drizzle/passkey-registration-ceremony-model.d.mts +12 -0
  167. package/dist/drizzle/passkey-registration-ceremony-model.mjs +2 -0
  168. package/dist/drizzle/passkey-state.mjs +7 -0
  169. package/dist/drizzle/passkey-state.mjs.map +1 -0
  170. package/dist/drizzle/passkey-target.d.mts +2 -0
  171. package/dist/drizzle/passkey-target.mjs +7 -0
  172. package/dist/drizzle/passkey-target.mjs.map +1 -0
  173. package/dist/drizzle/passkey-write-drivers.mjs +32 -0
  174. package/dist/drizzle/passkey-write-drivers.mjs.map +1 -0
  175. package/dist/drizzle/passkey-write-model.d.mts +20 -0
  176. package/dist/drizzle/passkey-write-model.mjs +9 -0
  177. package/dist/drizzle/passkey-write-model.mjs.map +1 -0
  178. package/dist/drizzle/passkey-write-target.d.mts +5 -0
  179. package/dist/drizzle/passkey-write-target.mjs +7 -0
  180. package/dist/drizzle/passkey-write-target.mjs.map +1 -0
  181. package/dist/drizzle/password-model.d.mts +24 -0
  182. package/dist/drizzle/password-model.mjs +2 -0
  183. package/dist/drizzle/password-prepared-model.d.mts +92 -0
  184. package/dist/drizzle/password-prepared-model.mjs +11 -0
  185. package/dist/drizzle/password-prepared-model.mjs.map +1 -0
  186. package/dist/drizzle/password-prepared-sql.mjs +389 -0
  187. package/dist/drizzle/password-prepared-sql.mjs.map +1 -0
  188. package/dist/drizzle/password-prepared-state.mjs +104 -0
  189. package/dist/drizzle/password-prepared-state.mjs.map +1 -0
  190. package/dist/drizzle/password-prepared-target.d.mts +11 -0
  191. package/dist/drizzle/password-prepared-target.mjs +56 -0
  192. package/dist/drizzle/password-prepared-target.mjs.map +1 -0
  193. package/dist/drizzle/password-registration.d.mts +7 -0
  194. package/dist/drizzle/password-registration.mjs +134 -0
  195. package/dist/drizzle/password-registration.mjs.map +1 -0
  196. package/dist/drizzle/password-sql.d.mts +1 -0
  197. package/dist/drizzle/password-sql.mjs +9 -0
  198. package/dist/drizzle/password-sql.mjs.map +1 -0
  199. package/dist/drizzle/password-target.d.mts +16 -0
  200. package/dist/drizzle/password-target.mjs +61 -0
  201. package/dist/drizzle/password-target.mjs.map +1 -0
  202. package/dist/drizzle/pg-emails.d.mts +71 -0
  203. package/dist/drizzle/pg-emails.mjs +38 -0
  204. package/dist/drizzle/pg-emails.mjs.map +1 -0
  205. package/dist/drizzle/pg-password-prepared.d.mts +30 -0
  206. package/dist/drizzle/pg-password-prepared.mjs +16 -0
  207. package/dist/drizzle/pg-password-prepared.mjs.map +1 -0
  208. package/dist/drizzle/pg-passwords.d.mts +86 -0
  209. package/dist/drizzle/pg-passwords.mjs +38 -0
  210. package/dist/drizzle/pg-passwords.mjs.map +1 -0
  211. package/dist/drizzle/pg-proofs.d.mts +75 -0
  212. package/dist/drizzle/pg-proofs.mjs +22 -0
  213. package/dist/drizzle/pg-proofs.mjs.map +1 -0
  214. package/dist/drizzle/pg-sessions.d.mts +92 -0
  215. package/dist/drizzle/pg-sessions.mjs +53 -0
  216. package/dist/drizzle/pg-sessions.mjs.map +1 -0
  217. package/dist/drizzle/pg.d.mts +80 -0
  218. package/dist/drizzle/pg.mjs +289 -0
  219. package/dist/drizzle/pg.mjs.map +1 -0
  220. package/dist/drizzle/phone-model.d.mts +113 -0
  221. package/dist/drizzle/phone-model.mjs +39 -0
  222. package/dist/drizzle/phone-model.mjs.map +1 -0
  223. package/dist/drizzle/phone-state.mjs +14 -0
  224. package/dist/drizzle/phone-state.mjs.map +1 -0
  225. package/dist/drizzle/phone-target.d.mts +14 -0
  226. package/dist/drizzle/phone-target.mjs +168 -0
  227. package/dist/drizzle/phone-target.mjs.map +1 -0
  228. package/dist/drizzle/proof-model.d.mts +21 -0
  229. package/dist/drizzle/proof-model.mjs +2 -0
  230. package/dist/drizzle/proof-sql.d.mts +1 -0
  231. package/dist/drizzle/proof-sql.mjs +8 -0
  232. package/dist/drizzle/proof-sql.mjs.map +1 -0
  233. package/dist/drizzle/proof-target.d.mts +11 -0
  234. package/dist/drizzle/proof-target.mjs +36 -0
  235. package/dist/drizzle/proof-target.mjs.map +1 -0
  236. package/dist/drizzle/query-operations.mjs +27 -0
  237. package/dist/drizzle/query-operations.mjs.map +1 -0
  238. package/dist/drizzle/session-model.d.mts +31 -0
  239. package/dist/drizzle/session-model.mjs +2 -0
  240. package/dist/drizzle/session-sql.mjs +8 -0
  241. package/dist/drizzle/session-sql.mjs.map +1 -0
  242. package/dist/drizzle/session-target.d.mts +27 -0
  243. package/dist/drizzle/session-target.mjs +46 -0
  244. package/dist/drizzle/session-target.mjs.map +1 -0
  245. package/dist/drizzle/sqlite-emails.mjs +45 -0
  246. package/dist/drizzle/sqlite-emails.mjs.map +1 -0
  247. package/dist/drizzle/sqlite-identity.mjs +90 -0
  248. package/dist/drizzle/sqlite-identity.mjs.map +1 -0
  249. package/dist/drizzle/sqlite-password-prepared.mjs +21 -0
  250. package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -0
  251. package/dist/drizzle/sqlite-passwords.mjs +49 -0
  252. package/dist/drizzle/sqlite-passwords.mjs.map +1 -0
  253. package/dist/drizzle/sqlite-proofs.mjs +29 -0
  254. package/dist/drizzle/sqlite-proofs.mjs.map +1 -0
  255. package/dist/drizzle/sqlite-sessions.mjs +74 -0
  256. package/dist/drizzle/sqlite-sessions.mjs.map +1 -0
  257. package/dist/drizzle/sqlite.d.mts +77 -0
  258. package/dist/drizzle/sqlite.mjs +217 -0
  259. package/dist/drizzle/sqlite.mjs.map +1 -0
  260. package/dist/drizzle/standalone-guard.mjs +17 -0
  261. package/dist/drizzle/standalone-guard.mjs.map +1 -0
  262. package/dist/drizzle/step-up-model.d.mts +16 -0
  263. package/dist/drizzle/step-up-model.mjs +2 -0
  264. package/dist/drizzle/table-model.d.mts +11 -0
  265. package/dist/drizzle/totp-model.d.mts +82 -0
  266. package/dist/drizzle/totp-model.mjs +13 -0
  267. package/dist/drizzle/totp-model.mjs.map +1 -0
  268. package/dist/drizzle/totp-state.d.mts +37 -0
  269. package/dist/drizzle/totp-state.mjs +287 -0
  270. package/dist/drizzle/totp-state.mjs.map +1 -0
  271. package/dist/drizzle/totp-target.d.mts +14 -0
  272. package/dist/drizzle/totp-target.mjs +81 -0
  273. package/dist/drizzle/totp-target.mjs.map +1 -0
  274. package/dist/drizzle/transaction-execution.d.mts +2 -0
  275. package/dist/drizzle/transaction-execution.mjs +11 -0
  276. package/dist/drizzle/transaction-execution.mjs.map +1 -0
  277. package/dist/drizzle/transaction-mysql.mjs +47 -0
  278. package/dist/drizzle/transaction-mysql.mjs.map +1 -0
  279. package/dist/drizzle/transaction-owner.d.mts +2 -0
  280. package/dist/drizzle/transaction-owner.mjs +8 -0
  281. package/dist/drizzle/transaction-owner.mjs.map +1 -0
  282. package/dist/index.d.mts +27 -0
  283. package/dist/index.mjs +27 -0
  284. package/dist/internal/drizzle-migrations.mjs +19 -0
  285. package/dist/internal/drizzle-migrations.mjs.map +1 -0
  286. package/dist/internal/drizzle-postgres.mjs +37 -0
  287. package/dist/internal/drizzle-postgres.mjs.map +1 -0
  288. package/dist/internal/drizzle-sqlite.mjs +35 -0
  289. package/dist/internal/drizzle-sqlite.mjs.map +1 -0
  290. package/package.json +1 -0
  291. package/src/D1.ts +136 -0
  292. package/src/Libsql.ts +257 -0
  293. package/src/Mysql2.ts +184 -0
  294. package/src/Pglite.ts +174 -0
  295. package/src/Postgres.ts +174 -0
  296. package/src/SqliteBun.ts +258 -0
  297. package/src/SqliteDo.ts +473 -0
  298. package/src/SqliteNode.ts +259 -0
  299. package/src/SqliteWasm.ts +263 -0
  300. package/src/drizzle/D1BatchStatements.ts +10 -0
  301. package/src/drizzle/SuppliedService.ts +10 -0
  302. package/src/drizzle/d1-emails.ts +1829 -0
  303. package/src/drizzle/d1-generated-statement.ts +129 -0
  304. package/src/drizzle/d1-identity.ts +375 -0
  305. package/src/drizzle/d1-oauth.ts +340 -0
  306. package/src/drizzle/d1-passkey.ts +373 -0
  307. package/src/drizzle/d1-password-prepared.ts +1270 -0
  308. package/src/drizzle/d1-passwords.ts +2656 -0
  309. package/src/drizzle/d1-phone.ts +96 -0
  310. package/src/drizzle/d1-planning.ts +104 -0
  311. package/src/drizzle/d1-proofs.ts +2305 -0
  312. package/src/drizzle/d1-sessions.ts +2857 -0
  313. package/src/drizzle/d1-totp.ts +78 -0
  314. package/src/drizzle/email-model.ts +202 -0
  315. package/src/drizzle/email-registration.ts +698 -0
  316. package/src/drizzle/email-sql.ts +25 -0
  317. package/src/drizzle/email-target.ts +243 -0
  318. package/src/drizzle/model.ts +459 -0
  319. package/src/drizzle/mysql-emails.ts +321 -0
  320. package/src/drizzle/mysql-identity.ts +324 -0
  321. package/src/drizzle/mysql-password-prepared.ts +204 -0
  322. package/src/drizzle/mysql-passwords.ts +339 -0
  323. package/src/drizzle/mysql-proofs.ts +181 -0
  324. package/src/drizzle/mysql-sessions.ts +741 -0
  325. package/src/drizzle/mysql.ts +687 -0
  326. package/src/drizzle/oauth-accounts.ts +804 -0
  327. package/src/drizzle/oauth-connected-access.ts +354 -0
  328. package/src/drizzle/oauth-connected-collection.ts +324 -0
  329. package/src/drizzle/oauth-connected-custody.ts +277 -0
  330. package/src/drizzle/oauth-connected-drivers.ts +465 -0
  331. package/src/drizzle/oauth-connected-flow.ts +441 -0
  332. package/src/drizzle/oauth-connected-input.ts +127 -0
  333. package/src/drizzle/oauth-connected-maintenance.ts +345 -0
  334. package/src/drizzle/oauth-connected-management.ts +365 -0
  335. package/src/drizzle/oauth-connected-model.ts +347 -0
  336. package/src/drizzle/oauth-connected-reference.ts +112 -0
  337. package/src/drizzle/oauth-connected-settlement.ts +226 -0
  338. package/src/drizzle/oauth-connected-state.ts +845 -0
  339. package/src/drizzle/oauth-connected-target.ts +264 -0
  340. package/src/drizzle/oauth-drivers.ts +569 -0
  341. package/src/drizzle/oauth-flow.ts +462 -0
  342. package/src/drizzle/oauth-input.ts +201 -0
  343. package/src/drizzle/oauth-model.ts +617 -0
  344. package/src/drizzle/oauth-mysql.ts +10 -0
  345. package/src/drizzle/oauth-owner.ts +29 -0
  346. package/src/drizzle/oauth-registration.ts +640 -0
  347. package/src/drizzle/oauth-state.ts +215 -0
  348. package/src/drizzle/oauth-target.ts +750 -0
  349. package/src/drizzle/passkey-drivers.ts +385 -0
  350. package/src/drizzle/passkey-kernel.ts +4 -0
  351. package/src/drizzle/passkey-model.ts +153 -0
  352. package/src/drizzle/passkey-registration-ceremony-model.ts +32 -0
  353. package/src/drizzle/passkey-state.ts +3 -0
  354. package/src/drizzle/passkey-target.ts +23 -0
  355. package/src/drizzle/passkey-write-drivers.ts +395 -0
  356. package/src/drizzle/passkey-write-model.ts +103 -0
  357. package/src/drizzle/passkey-write-target.ts +9 -0
  358. package/src/drizzle/password-model.ts +169 -0
  359. package/src/drizzle/password-prepared-model.ts +259 -0
  360. package/src/drizzle/password-prepared-sql.ts +1191 -0
  361. package/src/drizzle/password-prepared-state.ts +231 -0
  362. package/src/drizzle/password-prepared-target.ts +160 -0
  363. package/src/drizzle/password-registration.ts +363 -0
  364. package/src/drizzle/password-sql.ts +13 -0
  365. package/src/drizzle/password-target.ts +224 -0
  366. package/src/drizzle/pg-emails.ts +321 -0
  367. package/src/drizzle/pg-password-prepared.ts +205 -0
  368. package/src/drizzle/pg-passwords.ts +338 -0
  369. package/src/drizzle/pg-proofs.ts +191 -0
  370. package/src/drizzle/pg-sessions.ts +750 -0
  371. package/src/drizzle/pg.ts +984 -0
  372. package/src/drizzle/phone-model.ts +190 -0
  373. package/src/drizzle/phone-state.ts +21 -0
  374. package/src/drizzle/phone-target.ts +472 -0
  375. package/src/drizzle/proof-model.ts +139 -0
  376. package/src/drizzle/proof-sql.ts +10 -0
  377. package/src/drizzle/proof-target.ts +122 -0
  378. package/src/drizzle/query-operations.ts +43 -0
  379. package/src/drizzle/session-model.ts +215 -0
  380. package/src/drizzle/session-sql.ts +14 -0
  381. package/src/drizzle/session-target.ts +338 -0
  382. package/src/drizzle/sqlite-emails.ts +366 -0
  383. package/src/drizzle/sqlite-identity.ts +344 -0
  384. package/src/drizzle/sqlite-password-prepared.ts +260 -0
  385. package/src/drizzle/sqlite-passwords.ts +497 -0
  386. package/src/drizzle/sqlite-proofs.ts +202 -0
  387. package/src/drizzle/sqlite-sessions.ts +971 -0
  388. package/src/drizzle/sqlite.ts +705 -0
  389. package/src/drizzle/standalone-guard.ts +32 -0
  390. package/src/drizzle/step-up-model.ts +73 -0
  391. package/src/drizzle/table-model.ts +9 -0
  392. package/src/drizzle/totp-model.ts +92 -0
  393. package/src/drizzle/totp-state.ts +525 -0
  394. package/src/drizzle/totp-target.ts +308 -0
  395. package/src/drizzle/transaction-execution.ts +13 -0
  396. package/src/drizzle/transaction-mysql.ts +106 -0
  397. package/src/drizzle/transaction-owner.ts +11 -0
  398. package/src/index.ts +378 -0
  399. package/src/internal/drizzle-migrations.ts +29 -0
  400. package/src/internal/drizzle-postgres.ts +83 -0
  401. package/src/internal/drizzle-sqlite.ts +81 -0
@@ -0,0 +1,473 @@
1
+ import { OAuthStateDecisions } from "@yielded/auth/OAuth";
2
+ import { AuthStoreDecisions } from "@yielded/auth/Persistence";
3
+ import type { AnyRelations } from "drizzle-orm";
4
+ import type { EffectSQLiteDoDatabase } from "drizzle-orm/effect-sqlite-do";
5
+ import type { AnySQLiteTable } from "drizzle-orm/sqlite-core";
6
+ import { Context, Effect } from "effect";
7
+ import type { SqlError } from "effect/unstable/sql/SqlError";
8
+
9
+ import type {
10
+ AuthStoreTables,
11
+ AuthTables,
12
+ ExternalIdentityTables,
13
+ IdentityTables,
14
+ OAuthStateTables,
15
+ SubjectProvisioningTables,
16
+ } from "./drizzle/model";
17
+ import {
18
+ makeSqliteAuthServices,
19
+ makeSqliteAuthStoreServices,
20
+ makeSqliteOAuthStateServices,
21
+ } from "./drizzle/sqlite";
22
+ import { makeSqliteEmailTarget, sqliteEmailConfiguration } from "./drizzle/sqlite-emails";
23
+ import {
24
+ makeSqliteExternalIdentityServices,
25
+ makeSqliteIdentityServices,
26
+ makeSqliteSubjectProvisioningServices,
27
+ } from "./drizzle/sqlite-identity";
28
+ import { makeSqlitePasswordTarget, sqlitePasswordConfiguration } from "./drizzle/sqlite-passwords";
29
+ import { makeSqliteProofTarget, sqliteProofConfiguration } from "./drizzle/sqlite-proofs";
30
+ import { makeSqliteSessionTarget, sqliteSessionConfiguration } from "./drizzle/sqlite-sessions";
31
+ import type { SuppliedService } from "./drizzle/SuppliedService";
32
+
33
+ const sessionTarget = makeSqliteSessionTarget<EffectSQLiteDoDatabase<AnyRelations>, true>(
34
+ sqliteSessionConfiguration("synchronous", Effect.void),
35
+ );
36
+
37
+ const proofTarget = makeSqliteProofTarget<EffectSQLiteDoDatabase<AnyRelations>, true>(
38
+ sqliteProofConfiguration("synchronous", Effect.void),
39
+ );
40
+
41
+ const passwordTarget = makeSqlitePasswordTarget<EffectSQLiteDoDatabase<AnyRelations>, true>(
42
+ sqlitePasswordConfiguration("synchronous", Effect.void, Effect.void),
43
+ );
44
+
45
+ const emailTarget = makeSqliteEmailTarget<EffectSQLiteDoDatabase<AnyRelations>, true>(
46
+ sqliteEmailConfiguration("synchronous", Effect.void, Effect.void),
47
+ );
48
+
49
+ /**
50
+ * Email mutations must own their outer transactionSync. Arbitrary raw Drizzle
51
+ * nesting is not detectable; owner bodies and mapping allocators stay runSync-compatible.
52
+ */
53
+ export const {
54
+ coordinateEmailAddress,
55
+ coordinateEmailRegistration,
56
+ makeEmailAddressServices,
57
+ makeEmailRegistrationServices,
58
+ makeEmailSignInServices,
59
+ } = emailTarget;
60
+
61
+ /**
62
+ * Password mutations and registration must own their outer transactionSync.
63
+ * Arbitrary raw Drizzle nesting is not detectable; owner bodies must remain
64
+ * runSync-compatible. Detectable Effect commit scopes are rejected pre-write.
65
+ */
66
+ export const {
67
+ coordinatePasswordPersistence,
68
+ coordinatePasswordRegistration,
69
+ makePasswordPersistenceServices,
70
+ makePasswordRegistrationServices,
71
+ } = passwordTarget;
72
+
73
+ /**
74
+ * Proof mutations and coordinateProofPersistence must own their outermost
75
+ * transactionSync call. The installed driver cannot detect an arbitrary raw
76
+ * Drizzle outer transaction; calling either boundary from one is unsupported.
77
+ * The owner body must remain runSync-compatible.
78
+ */
79
+ export const { coordinateProofPersistence, makeProofPersistenceServices } = proofTarget;
80
+
81
+ /**
82
+ * Session mutation methods and coordinate* functions must own their outermost
83
+ * transactionSync call. The installed Drizzle driver exposes no context marker
84
+ * for an arbitrary raw outer database.transaction call, so invoking either
85
+ * boundary from one is unsupported and cannot be detected. Detectable Effect
86
+ * commit scopes are rejected before writes.
87
+ */
88
+ export const {
89
+ coordinateAuthenticationAuthority,
90
+ coordinatePendingAuthentication,
91
+ coordinateSignedSessionValidity,
92
+ coordinateStatefulSessions,
93
+ makeAuthenticationAuthorityServices,
94
+ makePendingAuthenticationServices,
95
+ makeSessionStepUpServices,
96
+ coordinateSessionStepUp,
97
+ makeSignedSessionValidityServices,
98
+ makeStatefulSessionServices,
99
+ } = sessionTarget;
100
+
101
+ export const commitMode = "synchronous" as const;
102
+
103
+ export const makeAuthStoreServices = <C extends AnySQLiteTable, R extends AnySQLiteTable>(
104
+ database: EffectSQLiteDoDatabase<AnyRelations>,
105
+ mapping: AuthStoreTables<C, R>,
106
+ ) => makeSqliteAuthStoreServices(database, mapping);
107
+
108
+ export const makeOAuthStateServices = <S extends AnySQLiteTable>(
109
+ database: EffectSQLiteDoDatabase<AnyRelations>,
110
+ mapping: OAuthStateTables<S>,
111
+ ) => makeSqliteOAuthStateServices(database, mapping);
112
+
113
+ export const makeAuthServices = <
114
+ C extends AnySQLiteTable,
115
+ R extends AnySQLiteTable,
116
+ S extends AnySQLiteTable,
117
+ >(
118
+ database: EffectSQLiteDoDatabase<AnyRelations>,
119
+ mapping: AuthTables<C, R, S>,
120
+ ) => makeSqliteAuthServices(database, mapping);
121
+
122
+ type TransactionOf<D extends EffectSQLiteDoDatabase<AnyRelations>> = Parameters<
123
+ Parameters<D["transaction"]>[0]
124
+ >[0];
125
+
126
+ export function coordinateAuthStoreTransaction<
127
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
128
+ C extends AnySQLiteTable,
129
+ R extends AnySQLiteTable,
130
+ A,
131
+ E,
132
+ DatabaseError,
133
+ DatabaseRequirements,
134
+ >(
135
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
136
+ options: { readonly mapping: AuthStoreTables<C, R>; readonly transaction?: never },
137
+ body: Effect.Effect<A, E, NoInfer<AuthStoreDecisions>>,
138
+ ): Effect.Effect<A, E | DatabaseError | SqlError, DatabaseRequirements>;
139
+
140
+ export function coordinateAuthStoreTransaction<
141
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
142
+ C extends AnySQLiteTable,
143
+ R extends AnySQLiteTable,
144
+ A,
145
+ E,
146
+ DatabaseError,
147
+ DatabaseRequirements,
148
+ TxId,
149
+ TxShape,
150
+ >(
151
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
152
+ options: {
153
+ readonly mapping: AuthStoreTables<C, R>;
154
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
155
+ },
156
+ body: Effect.Effect<A, E, NoInfer<AuthStoreDecisions | TxId>>,
157
+ ): Effect.Effect<A, E | DatabaseError | SqlError, DatabaseRequirements>;
158
+
159
+ export function coordinateAuthStoreTransaction<
160
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
161
+ C extends AnySQLiteTable,
162
+ R extends AnySQLiteTable,
163
+ A,
164
+ E,
165
+ Requirements,
166
+ DatabaseError,
167
+ DatabaseRequirements,
168
+ TxId,
169
+ TxShape,
170
+ >(
171
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
172
+ options: {
173
+ readonly mapping: AuthStoreTables<C, R>;
174
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
175
+ },
176
+ body: Effect.Effect<A, E, Requirements>,
177
+ ) {
178
+ return Effect.flatMap(acquire, (database) =>
179
+ database.transaction<A, E, Exclude<Requirements, AuthStoreDecisions>>((transaction) => {
180
+ const decisions = makeSqliteAuthStoreServices(transaction, options.mapping).decisions;
181
+ const provided = Context.make(AuthStoreDecisions, decisions);
182
+ const work = Effect.provideContext(body, provided);
183
+
184
+ return options.transaction === undefined
185
+ ? work
186
+ : Effect.provideService(
187
+ work,
188
+ options.transaction,
189
+ options.transaction.of(transaction as TransactionOf<D>),
190
+ );
191
+ }),
192
+ );
193
+ }
194
+
195
+ export function coordinateOAuthStateTransaction<
196
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
197
+ S extends AnySQLiteTable,
198
+ A,
199
+ E,
200
+ DatabaseError,
201
+ DatabaseRequirements,
202
+ >(
203
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
204
+ options: { readonly mapping: OAuthStateTables<S>; readonly transaction?: never },
205
+ body: Effect.Effect<A, E, NoInfer<OAuthStateDecisions>>,
206
+ ): Effect.Effect<A, E | DatabaseError | SqlError, DatabaseRequirements>;
207
+
208
+ export function coordinateOAuthStateTransaction<
209
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
210
+ S extends AnySQLiteTable,
211
+ A,
212
+ E,
213
+ DatabaseError,
214
+ DatabaseRequirements,
215
+ TxId,
216
+ TxShape,
217
+ >(
218
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
219
+ options: {
220
+ readonly mapping: OAuthStateTables<S>;
221
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
222
+ },
223
+ body: Effect.Effect<A, E, NoInfer<OAuthStateDecisions | TxId>>,
224
+ ): Effect.Effect<A, E | DatabaseError | SqlError, DatabaseRequirements>;
225
+
226
+ export function coordinateOAuthStateTransaction<
227
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
228
+ S extends AnySQLiteTable,
229
+ A,
230
+ E,
231
+ Requirements,
232
+ DatabaseError,
233
+ DatabaseRequirements,
234
+ TxId,
235
+ TxShape,
236
+ >(
237
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
238
+ options: {
239
+ readonly mapping: OAuthStateTables<S>;
240
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
241
+ },
242
+ body: Effect.Effect<A, E, Requirements>,
243
+ ) {
244
+ return Effect.flatMap(acquire, (database) =>
245
+ database.transaction<A, E, Exclude<Requirements, OAuthStateDecisions>>((transaction) => {
246
+ const decisions = makeSqliteOAuthStateServices(transaction, options.mapping).decisions;
247
+ const provided = Context.make(OAuthStateDecisions, decisions);
248
+ const work = Effect.provideContext(body, provided);
249
+
250
+ return options.transaction === undefined
251
+ ? work
252
+ : Effect.provideService(
253
+ work,
254
+ options.transaction,
255
+ options.transaction.of(transaction as TransactionOf<D>),
256
+ );
257
+ }),
258
+ );
259
+ }
260
+
261
+ /**
262
+ * Supported composition boundary for Durable Objects. The owner must return
263
+ * decisions as values and translate rejection only after this root
264
+ * transactionSync commit. Its body may contain only runSync-compatible Effects;
265
+ * the installed driver rejects suspension and rolls back. Owner failure rolls
266
+ * back synchronously, so no retry is performed inside this boundary.
267
+ */
268
+ export function coordinateAuthTransaction<
269
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
270
+ C extends AnySQLiteTable,
271
+ R extends AnySQLiteTable,
272
+ S extends AnySQLiteTable,
273
+ A,
274
+ E,
275
+ DatabaseError,
276
+ DatabaseRequirements,
277
+ >(
278
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
279
+ options: { readonly mapping: AuthTables<C, R, S>; readonly transaction?: never },
280
+ body: Effect.Effect<A, E, NoInfer<AuthStoreDecisions | OAuthStateDecisions>>,
281
+ ): Effect.Effect<A, E | DatabaseError | SqlError, DatabaseRequirements>;
282
+
283
+ export function coordinateAuthTransaction<
284
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
285
+ C extends AnySQLiteTable,
286
+ R extends AnySQLiteTable,
287
+ S extends AnySQLiteTable,
288
+ A,
289
+ E,
290
+ DatabaseError,
291
+ DatabaseRequirements,
292
+ TxId,
293
+ TxShape,
294
+ >(
295
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
296
+ options: {
297
+ readonly mapping: AuthTables<C, R, S>;
298
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
299
+ },
300
+ body: Effect.Effect<A, E, NoInfer<AuthStoreDecisions | OAuthStateDecisions | TxId>>,
301
+ ): Effect.Effect<A, E | DatabaseError | SqlError, DatabaseRequirements>;
302
+
303
+ export function coordinateAuthTransaction<
304
+ D extends EffectSQLiteDoDatabase<AnyRelations>,
305
+ C extends AnySQLiteTable,
306
+ R extends AnySQLiteTable,
307
+ S extends AnySQLiteTable,
308
+ A,
309
+ E,
310
+ Requirements,
311
+ DatabaseError,
312
+ DatabaseRequirements,
313
+ TxId,
314
+ TxShape,
315
+ >(
316
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
317
+ options: {
318
+ readonly mapping: AuthTables<C, R, S>;
319
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
320
+ },
321
+ body: Effect.Effect<A, E, Requirements>,
322
+ ) {
323
+ return Effect.flatMap(acquire, (database) =>
324
+ database.transaction<A, E, Exclude<Requirements, AuthStoreDecisions | OAuthStateDecisions>>(
325
+ (transaction) => {
326
+ const decisions = makeSqliteAuthServices(transaction, options.mapping).decisions;
327
+
328
+ const provided = Context.make(AuthStoreDecisions, decisions).pipe(
329
+ Context.add(OAuthStateDecisions, decisions),
330
+ );
331
+
332
+ const work = Effect.provideContext(body, provided);
333
+
334
+ return options.transaction === undefined
335
+ ? work
336
+ : Effect.provideService(
337
+ work,
338
+ options.transaction,
339
+ options.transaction.of(transaction as TransactionOf<D>),
340
+ );
341
+ },
342
+ ),
343
+ );
344
+ }
345
+
346
+ export const makeIdentityServices = <
347
+ Subject extends AnySQLiteTable,
348
+ Identifier extends AnySQLiteTable,
349
+ External extends AnySQLiteTable,
350
+ Request extends AnySQLiteTable,
351
+ NativeId,
352
+ >(
353
+ database: EffectSQLiteDoDatabase<AnyRelations>,
354
+ mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
355
+ ) => makeSqliteIdentityServices(database, mapping, "synchronous");
356
+
357
+ export const makeSubjectProvisioningServices = <
358
+ Subject extends AnySQLiteTable,
359
+ Identifier extends AnySQLiteTable,
360
+ Request extends AnySQLiteTable,
361
+ NativeId,
362
+ >(
363
+ database: EffectSQLiteDoDatabase<AnyRelations>,
364
+ mapping: SubjectProvisioningTables<Subject, Identifier, Request, NativeId>,
365
+ ) => makeSqliteSubjectProvisioningServices(database, mapping, "synchronous");
366
+
367
+ export const makeExternalIdentityServices = <
368
+ Subject extends AnySQLiteTable,
369
+ External extends AnySQLiteTable,
370
+ NativeId,
371
+ >(
372
+ database: EffectSQLiteDoDatabase<AnyRelations>,
373
+ mapping: ExternalIdentityTables<Subject, External, NativeId>,
374
+ ) => makeSqliteExternalIdentityServices(database, mapping);
375
+
376
+ import { makeSqlitePasswordPreparedTarget } from "./drizzle/sqlite-password-prepared";
377
+
378
+ const passwordPreparedTarget = makeSqlitePasswordPreparedTarget<
379
+ EffectSQLiteDoDatabase<AnyRelations>,
380
+ true
381
+ >(sqlitePasswordConfiguration("synchronous", Effect.void, Effect.void));
382
+
383
+ export const { makePasswordPreparedPersistenceServices, coordinatePasswordPreparedPersistence } =
384
+ passwordPreparedTarget;
385
+
386
+ export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
387
+
388
+ import { makeOAuthTarget } from "./drizzle/oauth-drivers";
389
+
390
+ const oauthTarget = makeOAuthTarget<
391
+ EffectSQLiteDoDatabase<AnyRelations>,
392
+ AnySQLiteTable<{ dialect: "sqlite" }>,
393
+ true
394
+ >({
395
+ mode: "synchronous",
396
+ dialect: "sqlite",
397
+ locking: false,
398
+ standaloneGuard: () => Effect.void,
399
+ });
400
+
401
+ export const {
402
+ makeOAuthAccountsServices,
403
+ makeOAuthSignInServices,
404
+ makeOAuthRegistrationIntentServices,
405
+ makeOAuthRegistrationServices,
406
+ coordinateOAuthRegistration,
407
+ coordinateOAuthSignIn,
408
+ coordinateOAuthRegistrationIntents,
409
+ coordinateOAuthAccounts,
410
+ makeOAuthConnectedServices,
411
+ makeOAuthConnectedRevocationServices,
412
+ coordinateOAuthConnected,
413
+ coordinateOAuthConnectedRevocations,
414
+ } = oauthTarget;
415
+
416
+ import { makePasskeyTarget } from "./drizzle/passkey-drivers";
417
+
418
+ const passkeyTarget = makePasskeyTarget<
419
+ EffectSQLiteDoDatabase<AnyRelations>,
420
+ AnySQLiteTable<{ dialect: "sqlite" }>,
421
+ unknown,
422
+ true
423
+ >({
424
+ mode: "synchronous",
425
+ dialect: "sqlite",
426
+ locking: false,
427
+ standaloneGuard: () => Effect.void,
428
+ });
429
+
430
+ export const {
431
+ makePasskeyCredentialServices,
432
+ makePasskeyPersistenceServices,
433
+ makePasskeyEnrollmentContextServices,
434
+ makePasskeyRegistrationCeremonyServices,
435
+ coordinatePasskeyPersistence,
436
+ coordinatePasskeyRegistrationCeremony,
437
+ makePasskeyManagementServices,
438
+ makePasskeyRegistrationServices,
439
+ coordinatePasskeyManagement,
440
+ coordinatePasskeyRegistration,
441
+ } = passkeyTarget;
442
+
443
+ import { makeTotpTarget } from "./drizzle/totp-target";
444
+
445
+ const totpTarget = makeTotpTarget<
446
+ EffectSQLiteDoDatabase<AnyRelations>,
447
+ AnySQLiteTable<{ dialect: "sqlite" }>,
448
+ unknown,
449
+ true
450
+ >({
451
+ mode: "synchronous",
452
+ dialect: "sqlite",
453
+ locking: false,
454
+ standaloneGuard: () => Effect.void,
455
+ });
456
+
457
+ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;
458
+
459
+ import { makePhoneTarget } from "./drizzle/phone-target";
460
+
461
+ const phoneTarget = makePhoneTarget<
462
+ EffectSQLiteDoDatabase<AnyRelations>,
463
+ AnySQLiteTable<{ dialect: "sqlite" }>,
464
+ unknown,
465
+ true
466
+ >({
467
+ mode: "synchronous",
468
+ dialect: "sqlite",
469
+ locking: false,
470
+ standaloneGuard: () => Effect.void,
471
+ });
472
+
473
+ export const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;