@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,465 @@
1
+ import type { LifecycleHooks } from "@yielded/auth/Hooks";
2
+ import {
3
+ OAuthConnectedPersistence,
4
+ OAuthConnectedRevocations,
5
+ OAuthUnavailable,
6
+ } from "@yielded/auth/OAuth";
7
+ import type { Table } from "drizzle-orm";
8
+ import { Effect, Context } from "effect";
9
+
10
+ import { makeD1Owner } from "./d1-planning";
11
+ import { D1BatchStatements } from "./D1BatchStatements";
12
+ import type {
13
+ OAuthConnectedMapping,
14
+ OAuthConnectedRevocationMapping,
15
+ } from "./oauth-connected-model";
16
+ import {
17
+ coordinateTargetOAuthConnected,
18
+ coordinateTargetOAuthConnectedRevocations,
19
+ makeTargetOAuthConnectedServices,
20
+ makeTargetOAuthConnectedRevocationServices,
21
+ } from "./oauth-connected-target";
22
+ import { type OAuthCoordinatorError, type OAuthTargetConfiguration } from "./oauth-target";
23
+ import type { SuppliedService } from "./SuppliedService";
24
+ // oxlint-disable-next-line no-explicit-any -- inspect the actual installed native transaction callback without erasing it.
25
+ type TransactionOf<D> = D extends { readonly transaction: (...args: any[]) => any }
26
+ ? Parameters<Parameters<D["transaction"]>[0]>[0]
27
+ : never;
28
+ const unavailable = () => OAuthUnavailable.make({});
29
+
30
+ export const makeOAuthConnectedTarget = <
31
+ Database,
32
+ Family extends Table,
33
+ Extra = {},
34
+ Synchronous extends boolean = false,
35
+ >(
36
+ configuration: OAuthTargetConfiguration,
37
+ ) => {
38
+ function coordinateOAuthConnected<
39
+ D extends Database,
40
+ S extends Family,
41
+ AC extends Family,
42
+ T extends Family,
43
+ O extends Family,
44
+ F extends Family,
45
+ G extends Family,
46
+ C extends Family,
47
+ H extends Family,
48
+ UA extends Family,
49
+ DC extends Family,
50
+ N,
51
+ J extends Family,
52
+ A,
53
+ E,
54
+ R,
55
+ DatabaseError,
56
+ DatabaseRequirements,
57
+ >(
58
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
59
+ options: {
60
+ readonly mapping: OAuthConnectedMapping<S, AC, T, O, F, G, C, H, UA, DC, N, J> & Extra;
61
+ readonly transaction?: never;
62
+ },
63
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<OAuthConnectedPersistence> : R>,
64
+ ): Effect.Effect<
65
+ A,
66
+ OAuthCoordinatorError<E> | DatabaseError,
67
+ | (Synchronous extends true ? never : Exclude<R, OAuthConnectedPersistence>)
68
+ | LifecycleHooks
69
+ | DatabaseRequirements
70
+ >;
71
+ function coordinateOAuthConnected<
72
+ D extends Database,
73
+ S extends Family,
74
+ AC extends Family,
75
+ T extends Family,
76
+ O extends Family,
77
+ F extends Family,
78
+ G extends Family,
79
+ C extends Family,
80
+ H extends Family,
81
+ UA extends Family,
82
+ DC extends Family,
83
+ N,
84
+ J extends Family,
85
+ A,
86
+ E,
87
+ R,
88
+ DatabaseError,
89
+ DatabaseRequirements,
90
+ TxId,
91
+ TxShape,
92
+ >(
93
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
94
+ options: {
95
+ readonly mapping: OAuthConnectedMapping<S, AC, T, O, F, G, C, H, UA, DC, N, J> & Extra;
96
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
97
+ },
98
+ body: Effect.Effect<
99
+ A,
100
+ E,
101
+ Synchronous extends true ? NoInfer<OAuthConnectedPersistence | TxId> : R
102
+ >,
103
+ ): Effect.Effect<
104
+ A,
105
+ OAuthCoordinatorError<E> | DatabaseError,
106
+ | (Synchronous extends true ? never : Exclude<R, OAuthConnectedPersistence | TxId>)
107
+ | LifecycleHooks
108
+ | DatabaseRequirements
109
+ >;
110
+ function coordinateOAuthConnected<
111
+ D extends Database,
112
+ S extends Family,
113
+ AC extends Family,
114
+ T extends Family,
115
+ O extends Family,
116
+ F extends Family,
117
+ G extends Family,
118
+ C extends Family,
119
+ H extends Family,
120
+ UA extends Family,
121
+ DC extends Family,
122
+ N,
123
+ J extends Family,
124
+ A,
125
+ E,
126
+ R,
127
+ DatabaseError,
128
+ DatabaseRequirements,
129
+ TxId,
130
+ TxShape,
131
+ >(
132
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
133
+ options: {
134
+ readonly mapping: OAuthConnectedMapping<S, AC, T, O, F, G, C, H, UA, DC, N, J> & Extra;
135
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
136
+ },
137
+ body: Effect.Effect<A, E, R>,
138
+ ): Effect.Effect<
139
+ A,
140
+ OAuthCoordinatorError<E> | DatabaseError,
141
+ Exclude<R, OAuthConnectedPersistence> | LifecycleHooks | DatabaseRequirements
142
+ > {
143
+ return Effect.flatMap(acquire, (database) =>
144
+ coordinateTargetOAuthConnected<TransactionOf<D>, A, E, Exclude<R, OAuthConnectedPersistence>>(
145
+ database,
146
+ options.mapping,
147
+ configuration,
148
+ (
149
+ transaction: TransactionOf<D>,
150
+ services: { readonly oauthConnectedPersistence: OAuthConnectedPersistence["Service"] },
151
+ ) => {
152
+ const provided = Context.make(
153
+ OAuthConnectedPersistence,
154
+ services.oauthConnectedPersistence,
155
+ );
156
+
157
+ const work = Effect.provideContext(body, provided);
158
+
159
+ return options.transaction === undefined
160
+ ? work
161
+ : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
162
+ },
163
+ ),
164
+ );
165
+ }
166
+ function coordinateOAuthConnectedRevocations<
167
+ D extends Database,
168
+ T extends Family,
169
+ O extends Family,
170
+ F extends Family,
171
+ G extends Family,
172
+ C extends Family,
173
+ H extends Family,
174
+ J extends Family,
175
+ N,
176
+ A,
177
+ E,
178
+ R,
179
+ DatabaseError,
180
+ DatabaseRequirements,
181
+ >(
182
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
183
+ options: {
184
+ readonly mapping: OAuthConnectedRevocationMapping<T, O, F, G, C, H, J, N> & Extra;
185
+ readonly transaction?: never;
186
+ },
187
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<OAuthConnectedRevocations> : R>,
188
+ ): Effect.Effect<
189
+ A,
190
+ OAuthCoordinatorError<E> | DatabaseError,
191
+ | (Synchronous extends true ? never : Exclude<R, OAuthConnectedRevocations>)
192
+ | LifecycleHooks
193
+ | DatabaseRequirements
194
+ >;
195
+ function coordinateOAuthConnectedRevocations<
196
+ D extends Database,
197
+ T extends Family,
198
+ O extends Family,
199
+ F extends Family,
200
+ G extends Family,
201
+ C extends Family,
202
+ H extends Family,
203
+ J extends Family,
204
+ N,
205
+ A,
206
+ E,
207
+ R,
208
+ DatabaseError,
209
+ DatabaseRequirements,
210
+ TxId,
211
+ TxShape,
212
+ >(
213
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
214
+ options: {
215
+ readonly mapping: OAuthConnectedRevocationMapping<T, O, F, G, C, H, J, N> & Extra;
216
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
217
+ },
218
+ body: Effect.Effect<
219
+ A,
220
+ E,
221
+ Synchronous extends true ? NoInfer<OAuthConnectedRevocations | TxId> : R
222
+ >,
223
+ ): Effect.Effect<
224
+ A,
225
+ OAuthCoordinatorError<E> | DatabaseError,
226
+ | (Synchronous extends true ? never : Exclude<R, OAuthConnectedRevocations | TxId>)
227
+ | LifecycleHooks
228
+ | DatabaseRequirements
229
+ >;
230
+ function coordinateOAuthConnectedRevocations<
231
+ D extends Database,
232
+ T extends Family,
233
+ O extends Family,
234
+ F extends Family,
235
+ G extends Family,
236
+ C extends Family,
237
+ H extends Family,
238
+ J extends Family,
239
+ N,
240
+ A,
241
+ E,
242
+ R,
243
+ DatabaseError,
244
+ DatabaseRequirements,
245
+ TxId,
246
+ TxShape,
247
+ >(
248
+ acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
249
+ options: {
250
+ readonly mapping: OAuthConnectedRevocationMapping<T, O, F, G, C, H, J, N> & Extra;
251
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
252
+ },
253
+ body: Effect.Effect<A, E, R>,
254
+ ): Effect.Effect<
255
+ A,
256
+ OAuthCoordinatorError<E> | DatabaseError,
257
+ Exclude<R, OAuthConnectedRevocations> | LifecycleHooks | DatabaseRequirements
258
+ > {
259
+ return Effect.flatMap(acquire, (database) =>
260
+ coordinateTargetOAuthConnectedRevocations<
261
+ TransactionOf<D>,
262
+ A,
263
+ E,
264
+ Exclude<R, OAuthConnectedRevocations>
265
+ >(
266
+ database,
267
+ options.mapping,
268
+ configuration,
269
+ (
270
+ transaction: TransactionOf<D>,
271
+ services: { readonly oauthConnectedRevocations: OAuthConnectedRevocations["Service"] },
272
+ ) => {
273
+ const provided = Context.make(
274
+ OAuthConnectedRevocations,
275
+ services.oauthConnectedRevocations,
276
+ );
277
+
278
+ const work = Effect.provideContext(body, provided);
279
+
280
+ return options.transaction === undefined
281
+ ? work
282
+ : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
283
+ },
284
+ ),
285
+ );
286
+ }
287
+
288
+ return {
289
+ makeOAuthConnectedServices: <
290
+ S extends Family,
291
+ AC extends Family,
292
+ T extends Family,
293
+ O extends Family,
294
+ F extends Family,
295
+ G extends Family,
296
+ C extends Family,
297
+ H extends Family,
298
+ UA extends Family,
299
+ DC extends Family,
300
+ N,
301
+ J extends Family = never,
302
+ >(
303
+ database: Database,
304
+ mapping: OAuthConnectedMapping<S, AC, T, O, F, G, C, H, UA, DC, N, J> & Extra,
305
+ ) => makeTargetOAuthConnectedServices(database, mapping, configuration),
306
+ makeOAuthConnectedRevocationServices: <
307
+ T extends Family,
308
+ O extends Family,
309
+ F extends Family,
310
+ G extends Family,
311
+ C extends Family,
312
+ H extends Family,
313
+ J extends Family,
314
+ N,
315
+ >(
316
+ database: Database,
317
+ mapping: OAuthConnectedRevocationMapping<T, O, F, G, C, H, J, N> & Extra,
318
+ ) => makeTargetOAuthConnectedRevocationServices(database, mapping, configuration),
319
+ coordinateOAuthConnected,
320
+ coordinateOAuthConnectedRevocations,
321
+ };
322
+ };
323
+
324
+ export const makeD1OAuthConnectedTarget = <Database, Family extends Table, Extra>(
325
+ configuration: OAuthTargetConfiguration,
326
+ ) => {
327
+ function coordinateOAuthConnected<
328
+ S extends Family,
329
+ AC extends Family,
330
+ T extends Family,
331
+ O extends Family,
332
+ F extends Family,
333
+ G extends Family,
334
+ C extends Family,
335
+ H extends Family,
336
+ UA extends Family,
337
+ DC extends Family,
338
+ N,
339
+ J extends Family,
340
+ A,
341
+ E,
342
+ R,
343
+ DatabaseError,
344
+ DatabaseRequirements,
345
+ >(
346
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
347
+ options: {
348
+ readonly mapping: OAuthConnectedMapping<S, AC, T, O, F, G, C, H, UA, DC, N, J> & Extra;
349
+ },
350
+ body: Effect.Effect<A, E, R>,
351
+ ): Effect.Effect<
352
+ A,
353
+ OAuthCoordinatorError<E> | DatabaseError,
354
+ | Exclude<R, OAuthConnectedPersistence | D1BatchStatements>
355
+ | LifecycleHooks
356
+ | DatabaseRequirements
357
+ > {
358
+ return Effect.flatMap(acquire, (database) =>
359
+ coordinateTargetOAuthConnected<
360
+ Database,
361
+ A,
362
+ E | OAuthUnavailable,
363
+ Exclude<R, OAuthConnectedPersistence | D1BatchStatements>
364
+ >(database, options.mapping, configuration, (_tx, services, append) =>
365
+ Effect.gen(function* () {
366
+ const original = services.oauthConnectedPersistence;
367
+
368
+ const nativeCollector = D1BatchStatements.of({
369
+ append: (statement) => Effect.sync(() => append(statement)),
370
+ });
371
+
372
+ const owner = yield* makeD1Owner(unavailable()).pipe(
373
+ Effect.provideService(D1BatchStatements, nativeCollector),
374
+ );
375
+
376
+ const service: OAuthConnectedPersistence["Service"] = {
377
+ capture: (input) => owner.run(original.capture(input)),
378
+ issue: (input, prepare) => owner.run(original.issue(input, prepare)),
379
+ preflight: (input) => owner.run(original.preflight(input)),
380
+ claim: (input, prepare) => owner.run(original.claim(input, prepare)),
381
+ inspectGrant: (input) => owner.run(original.inspectGrant(input)),
382
+ settle: (input, prepare) => owner.run(original.settle(input, prepare)),
383
+ list: (input) => owner.run(original.list(input)),
384
+ inspectDisconnect: (input) => owner.run(original.inspectDisconnect(input)),
385
+ disconnect: (input, prepare) => owner.run(original.disconnect(input, prepare)),
386
+ inspectAccess: (input) => owner.run(original.inspectAccess(input)),
387
+ claimRefresh: (input, prepare) => owner.run(original.claimRefresh(input, prepare)),
388
+ settleRefresh: (input, prepare) => owner.run(original.settleRefresh(input, prepare)),
389
+ admitUse: (input, prepare) => owner.run(original.admitUse(input, prepare)),
390
+ cleanup: (input, prepare) => owner.run(original.cleanup(input, prepare)),
391
+ };
392
+
393
+ const provided = Context.make(OAuthConnectedPersistence, service).pipe(
394
+ Context.add(D1BatchStatements, owner.collector),
395
+ );
396
+
397
+ return yield* owner.close(Effect.provideContext(body, provided));
398
+ }),
399
+ ),
400
+ );
401
+ }
402
+ function coordinateOAuthConnectedRevocations<
403
+ T extends Family,
404
+ O extends Family,
405
+ F extends Family,
406
+ G extends Family,
407
+ C extends Family,
408
+ H extends Family,
409
+ J extends Family,
410
+ N,
411
+ A,
412
+ E,
413
+ R,
414
+ DatabaseError,
415
+ DatabaseRequirements,
416
+ >(
417
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
418
+ options: { readonly mapping: OAuthConnectedRevocationMapping<T, O, F, G, C, H, J, N> & Extra },
419
+ body: Effect.Effect<A, E, R>,
420
+ ): Effect.Effect<
421
+ A,
422
+ OAuthCoordinatorError<E> | DatabaseError,
423
+ | Exclude<R, OAuthConnectedRevocations | D1BatchStatements>
424
+ | LifecycleHooks
425
+ | DatabaseRequirements
426
+ > {
427
+ return Effect.flatMap(acquire, (database) =>
428
+ coordinateTargetOAuthConnectedRevocations<
429
+ Database,
430
+ A,
431
+ E | OAuthUnavailable,
432
+ Exclude<R, OAuthConnectedRevocations | D1BatchStatements>
433
+ >(database, options.mapping, configuration, (_tx, services, append) =>
434
+ Effect.gen(function* () {
435
+ const original = services.oauthConnectedRevocations;
436
+
437
+ const nativeCollector = D1BatchStatements.of({
438
+ append: (statement) => Effect.sync(() => append(statement)),
439
+ });
440
+
441
+ const owner = yield* makeD1Owner(unavailable()).pipe(
442
+ Effect.provideService(D1BatchStatements, nativeCollector),
443
+ );
444
+
445
+ const service: OAuthConnectedRevocations["Service"] = {
446
+ claim: (input, prepare) => owner.run(original.claim(input, prepare)),
447
+ settle: (input, prepare) => owner.run(original.settle(input, prepare)),
448
+ };
449
+
450
+ const provided = Context.make(OAuthConnectedRevocations, service).pipe(
451
+ Context.add(D1BatchStatements, owner.collector),
452
+ );
453
+
454
+ return yield* owner.close(Effect.provideContext(body, provided));
455
+ }),
456
+ ),
457
+ );
458
+ }
459
+
460
+ return {
461
+ ...makeOAuthConnectedTarget<Database, Family, Extra>(configuration),
462
+ coordinateOAuthConnected,
463
+ coordinateOAuthConnectedRevocations,
464
+ };
465
+ };