@yielded/auth-persistence 0.1.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. package/README.md +21 -0
  2. package/dist/Drizzle.d.mts +28 -0
  3. package/dist/Drizzle.mjs +28 -0
  4. package/dist/DrizzleD1.d.mts +963 -0
  5. package/dist/DrizzleD1.mjs +29 -0
  6. package/dist/DrizzleD1.mjs.map +1 -0
  7. package/dist/DrizzleLibsql.d.mts +2284 -0
  8. package/dist/DrizzleLibsql.mjs +92 -0
  9. package/dist/DrizzleLibsql.mjs.map +1 -0
  10. package/dist/DrizzleMysql2.d.mts +1820 -0
  11. package/dist/DrizzleMysql2.mjs +55 -0
  12. package/dist/DrizzleMysql2.mjs.map +1 -0
  13. package/dist/DrizzlePglite.d.mts +1826 -0
  14. package/dist/DrizzlePglite.mjs +53 -0
  15. package/dist/DrizzlePglite.mjs.map +1 -0
  16. package/dist/DrizzlePostgres.d.mts +1826 -0
  17. package/dist/DrizzlePostgres.mjs +53 -0
  18. package/dist/DrizzlePostgres.mjs.map +1 -0
  19. package/dist/DrizzleSqliteBun.d.mts +2279 -0
  20. package/dist/DrizzleSqliteBun.mjs +70 -0
  21. package/dist/DrizzleSqliteBun.mjs.map +1 -0
  22. package/dist/DrizzleSqliteDo.d.mts +2329 -0
  23. package/dist/DrizzleSqliteDo.mjs +105 -0
  24. package/dist/DrizzleSqliteDo.mjs.map +1 -0
  25. package/dist/DrizzleSqliteNode.d.mts +2279 -0
  26. package/dist/DrizzleSqliteNode.mjs +70 -0
  27. package/dist/DrizzleSqliteNode.mjs.map +1 -0
  28. package/dist/DrizzleSqliteWasm.d.mts +2282 -0
  29. package/dist/DrizzleSqliteWasm.mjs +70 -0
  30. package/dist/DrizzleSqliteWasm.mjs.map +1 -0
  31. package/dist/drizzle/D1BatchStatements.d.mts +11 -0
  32. package/dist/drizzle/D1BatchStatements.mjs +8 -0
  33. package/dist/drizzle/D1BatchStatements.mjs.map +1 -0
  34. package/dist/drizzle/PasswordPreparedPostconditions.mjs +12 -0
  35. package/dist/drizzle/PasswordPreparedPostconditions.mjs.map +1 -0
  36. package/dist/drizzle/SuppliedService.d.mts +10 -0
  37. package/dist/drizzle/d1-emails.d.mts +62 -0
  38. package/dist/drizzle/d1-emails.mjs +580 -0
  39. package/dist/drizzle/d1-emails.mjs.map +1 -0
  40. package/dist/drizzle/d1-generated-statement.d.mts +2 -0
  41. package/dist/drizzle/d1-generated-statement.mjs +79 -0
  42. package/dist/drizzle/d1-generated-statement.mjs.map +1 -0
  43. package/dist/drizzle/d1-identity.d.mts +31 -0
  44. package/dist/drizzle/d1-identity.mjs +119 -0
  45. package/dist/drizzle/d1-identity.mjs.map +1 -0
  46. package/dist/drizzle/d1-oauth.d.mts +301 -0
  47. package/dist/drizzle/d1-oauth.mjs +76 -0
  48. package/dist/drizzle/d1-oauth.mjs.map +1 -0
  49. package/dist/drizzle/d1-passkey.d.mts +51 -0
  50. package/dist/drizzle/d1-passkey.mjs +95 -0
  51. package/dist/drizzle/d1-passkey.mjs.map +1 -0
  52. package/dist/drizzle/d1-password-prepared.d.mts +25 -0
  53. package/dist/drizzle/d1-password-prepared.mjs +461 -0
  54. package/dist/drizzle/d1-password-prepared.mjs.map +1 -0
  55. package/dist/drizzle/d1-passwords.d.mts +87 -0
  56. package/dist/drizzle/d1-passwords.mjs +1004 -0
  57. package/dist/drizzle/d1-passwords.mjs.map +1 -0
  58. package/dist/drizzle/d1-phone.d.mts +26 -0
  59. package/dist/drizzle/d1-phone.mjs +30 -0
  60. package/dist/drizzle/d1-phone.mjs.map +1 -0
  61. package/dist/drizzle/d1-planning.d.mts +12 -0
  62. package/dist/drizzle/d1-planning.mjs +43 -0
  63. package/dist/drizzle/d1-planning.mjs.map +1 -0
  64. package/dist/drizzle/d1-proofs.d.mts +80 -0
  65. package/dist/drizzle/d1-proofs.mjs +830 -0
  66. package/dist/drizzle/d1-proofs.mjs.map +1 -0
  67. package/dist/drizzle/d1-sessions.d.mts +67 -0
  68. package/dist/drizzle/d1-sessions.mjs +966 -0
  69. package/dist/drizzle/d1-sessions.mjs.map +1 -0
  70. package/dist/drizzle/d1-totp.d.mts +26 -0
  71. package/dist/drizzle/d1-totp.mjs +27 -0
  72. package/dist/drizzle/d1-totp.mjs.map +1 -0
  73. package/dist/drizzle/email-model.d.mts +354 -0
  74. package/dist/drizzle/email-model.mjs +21 -0
  75. package/dist/drizzle/email-model.mjs.map +1 -0
  76. package/dist/drizzle/email-registration.d.mts +30 -0
  77. package/dist/drizzle/email-registration.mjs +238 -0
  78. package/dist/drizzle/email-registration.mjs.map +1 -0
  79. package/dist/drizzle/email-sql.d.mts +4 -0
  80. package/dist/drizzle/email-sql.mjs +9 -0
  81. package/dist/drizzle/email-sql.mjs.map +1 -0
  82. package/dist/drizzle/email-target.d.mts +20 -0
  83. package/dist/drizzle/email-target.mjs +72 -0
  84. package/dist/drizzle/email-target.mjs.map +1 -0
  85. package/dist/drizzle/model.d.mts +250 -0
  86. package/dist/drizzle/model.mjs +58 -0
  87. package/dist/drizzle/model.mjs.map +1 -0
  88. package/dist/drizzle/mysql-emails.d.mts +71 -0
  89. package/dist/drizzle/mysql-emails.mjs +38 -0
  90. package/dist/drizzle/mysql-emails.mjs.map +1 -0
  91. package/dist/drizzle/mysql-identity.d.mts +22 -0
  92. package/dist/drizzle/mysql-identity.mjs +94 -0
  93. package/dist/drizzle/mysql-identity.mjs.map +1 -0
  94. package/dist/drizzle/mysql-password-prepared.d.mts +30 -0
  95. package/dist/drizzle/mysql-password-prepared.mjs +16 -0
  96. package/dist/drizzle/mysql-password-prepared.mjs.map +1 -0
  97. package/dist/drizzle/mysql-passwords.d.mts +86 -0
  98. package/dist/drizzle/mysql-passwords.mjs +38 -0
  99. package/dist/drizzle/mysql-passwords.mjs.map +1 -0
  100. package/dist/drizzle/mysql-proofs.d.mts +75 -0
  101. package/dist/drizzle/mysql-proofs.mjs +23 -0
  102. package/dist/drizzle/mysql-proofs.mjs.map +1 -0
  103. package/dist/drizzle/mysql-sessions.d.mts +237 -0
  104. package/dist/drizzle/mysql-sessions.mjs +53 -0
  105. package/dist/drizzle/mysql-sessions.mjs.map +1 -0
  106. package/dist/drizzle/mysql.d.mts +70 -0
  107. package/dist/drizzle/mysql.mjs +218 -0
  108. package/dist/drizzle/mysql.mjs.map +1 -0
  109. package/dist/drizzle/oauth-accounts.mjs +358 -0
  110. package/dist/drizzle/oauth-accounts.mjs.map +1 -0
  111. package/dist/drizzle/oauth-connected-access.mjs +210 -0
  112. package/dist/drizzle/oauth-connected-access.mjs.map +1 -0
  113. package/dist/drizzle/oauth-connected-collection.mjs +202 -0
  114. package/dist/drizzle/oauth-connected-collection.mjs.map +1 -0
  115. package/dist/drizzle/oauth-connected-custody.mjs +146 -0
  116. package/dist/drizzle/oauth-connected-custody.mjs.map +1 -0
  117. package/dist/drizzle/oauth-connected-drivers.mjs +76 -0
  118. package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -0
  119. package/dist/drizzle/oauth-connected-flow.mjs +247 -0
  120. package/dist/drizzle/oauth-connected-flow.mjs.map +1 -0
  121. package/dist/drizzle/oauth-connected-input.mjs +103 -0
  122. package/dist/drizzle/oauth-connected-input.mjs.map +1 -0
  123. package/dist/drizzle/oauth-connected-maintenance.mjs +214 -0
  124. package/dist/drizzle/oauth-connected-maintenance.mjs.map +1 -0
  125. package/dist/drizzle/oauth-connected-management.mjs +228 -0
  126. package/dist/drizzle/oauth-connected-management.mjs.map +1 -0
  127. package/dist/drizzle/oauth-connected-model.d.mts +278 -0
  128. package/dist/drizzle/oauth-connected-model.mjs +22 -0
  129. package/dist/drizzle/oauth-connected-model.mjs.map +1 -0
  130. package/dist/drizzle/oauth-connected-reference.d.mts +17 -0
  131. package/dist/drizzle/oauth-connected-reference.mjs +53 -0
  132. package/dist/drizzle/oauth-connected-reference.mjs.map +1 -0
  133. package/dist/drizzle/oauth-connected-settlement.mjs +117 -0
  134. package/dist/drizzle/oauth-connected-settlement.mjs.map +1 -0
  135. package/dist/drizzle/oauth-connected-state.d.mts +14 -0
  136. package/dist/drizzle/oauth-connected-state.mjs +422 -0
  137. package/dist/drizzle/oauth-connected-state.mjs.map +1 -0
  138. package/dist/drizzle/oauth-connected-target.d.mts +753 -0
  139. package/dist/drizzle/oauth-connected-target.mjs +91 -0
  140. package/dist/drizzle/oauth-connected-target.mjs.map +1 -0
  141. package/dist/drizzle/oauth-drivers.mjs +51 -0
  142. package/dist/drizzle/oauth-drivers.mjs.map +1 -0
  143. package/dist/drizzle/oauth-flow.d.mts +5 -0
  144. package/dist/drizzle/oauth-flow.mjs +253 -0
  145. package/dist/drizzle/oauth-flow.mjs.map +1 -0
  146. package/dist/drizzle/oauth-input.mjs +127 -0
  147. package/dist/drizzle/oauth-input.mjs.map +1 -0
  148. package/dist/drizzle/oauth-model.d.mts +463 -0
  149. package/dist/drizzle/oauth-model.mjs +49 -0
  150. package/dist/drizzle/oauth-model.mjs.map +1 -0
  151. package/dist/drizzle/oauth-mysql.mjs +8 -0
  152. package/dist/drizzle/oauth-mysql.mjs.map +1 -0
  153. package/dist/drizzle/oauth-owner.d.mts +4 -0
  154. package/dist/drizzle/oauth-owner.mjs +10 -0
  155. package/dist/drizzle/oauth-owner.mjs.map +1 -0
  156. package/dist/drizzle/oauth-registration.d.mts +6 -0
  157. package/dist/drizzle/oauth-registration.mjs +374 -0
  158. package/dist/drizzle/oauth-registration.mjs.map +1 -0
  159. package/dist/drizzle/oauth-state.mjs +107 -0
  160. package/dist/drizzle/oauth-state.mjs.map +1 -0
  161. package/dist/drizzle/oauth-target.d.mts +111 -0
  162. package/dist/drizzle/oauth-target.mjs +246 -0
  163. package/dist/drizzle/oauth-target.mjs.map +1 -0
  164. package/dist/drizzle/passkey-drivers.mjs +34 -0
  165. package/dist/drizzle/passkey-drivers.mjs.map +1 -0
  166. package/dist/drizzle/passkey-kernel.mjs +8 -0
  167. package/dist/drizzle/passkey-kernel.mjs.map +1 -0
  168. package/dist/drizzle/passkey-model.d.mts +272 -0
  169. package/dist/drizzle/passkey-model.mjs +34 -0
  170. package/dist/drizzle/passkey-model.mjs.map +1 -0
  171. package/dist/drizzle/passkey-registration-ceremony-model.d.mts +50 -0
  172. package/dist/drizzle/passkey-registration-ceremony-model.mjs +18 -0
  173. package/dist/drizzle/passkey-registration-ceremony-model.mjs.map +1 -0
  174. package/dist/drizzle/passkey-state.mjs +7 -0
  175. package/dist/drizzle/passkey-state.mjs.map +1 -0
  176. package/dist/drizzle/passkey-target.d.mts +9 -0
  177. package/dist/drizzle/passkey-target.mjs +7 -0
  178. package/dist/drizzle/passkey-target.mjs.map +1 -0
  179. package/dist/drizzle/passkey-write-drivers.mjs +32 -0
  180. package/dist/drizzle/passkey-write-drivers.mjs.map +1 -0
  181. package/dist/drizzle/passkey-write-model.d.mts +190 -0
  182. package/dist/drizzle/passkey-write-model.mjs +13 -0
  183. package/dist/drizzle/passkey-write-model.mjs.map +1 -0
  184. package/dist/drizzle/passkey-write-target.d.mts +11 -0
  185. package/dist/drizzle/passkey-write-target.mjs +7 -0
  186. package/dist/drizzle/passkey-write-target.mjs.map +1 -0
  187. package/dist/drizzle/password-model.d.mts +329 -0
  188. package/dist/drizzle/password-model.mjs +23 -0
  189. package/dist/drizzle/password-model.mjs.map +1 -0
  190. package/dist/drizzle/password-prepared-model.d.mts +94 -0
  191. package/dist/drizzle/password-prepared-model.mjs +11 -0
  192. package/dist/drizzle/password-prepared-model.mjs.map +1 -0
  193. package/dist/drizzle/password-prepared-sql.mjs +390 -0
  194. package/dist/drizzle/password-prepared-sql.mjs.map +1 -0
  195. package/dist/drizzle/password-prepared-state.mjs +104 -0
  196. package/dist/drizzle/password-prepared-state.mjs.map +1 -0
  197. package/dist/drizzle/password-prepared-target.d.mts +12 -0
  198. package/dist/drizzle/password-prepared-target.mjs +56 -0
  199. package/dist/drizzle/password-prepared-target.mjs.map +1 -0
  200. package/dist/drizzle/password-registration.d.mts +19 -0
  201. package/dist/drizzle/password-registration.mjs +135 -0
  202. package/dist/drizzle/password-registration.mjs.map +1 -0
  203. package/dist/drizzle/password-sql.d.mts +5 -0
  204. package/dist/drizzle/password-sql.mjs +9 -0
  205. package/dist/drizzle/password-sql.mjs.map +1 -0
  206. package/dist/drizzle/password-target.d.mts +17 -0
  207. package/dist/drizzle/password-target.mjs +61 -0
  208. package/dist/drizzle/password-target.mjs.map +1 -0
  209. package/dist/drizzle/pg-emails.d.mts +72 -0
  210. package/dist/drizzle/pg-emails.mjs +38 -0
  211. package/dist/drizzle/pg-emails.mjs.map +1 -0
  212. package/dist/drizzle/pg-password-prepared.d.mts +31 -0
  213. package/dist/drizzle/pg-password-prepared.mjs +16 -0
  214. package/dist/drizzle/pg-password-prepared.mjs.map +1 -0
  215. package/dist/drizzle/pg-passwords.d.mts +87 -0
  216. package/dist/drizzle/pg-passwords.mjs +38 -0
  217. package/dist/drizzle/pg-passwords.mjs.map +1 -0
  218. package/dist/drizzle/pg-proofs.d.mts +76 -0
  219. package/dist/drizzle/pg-proofs.mjs +22 -0
  220. package/dist/drizzle/pg-proofs.mjs.map +1 -0
  221. package/dist/drizzle/pg-sessions.d.mts +238 -0
  222. package/dist/drizzle/pg-sessions.mjs +53 -0
  223. package/dist/drizzle/pg-sessions.mjs.map +1 -0
  224. package/dist/drizzle/pg.d.mts +81 -0
  225. package/dist/drizzle/pg.mjs +290 -0
  226. package/dist/drizzle/pg.mjs.map +1 -0
  227. package/dist/drizzle/phone-model.d.mts +115 -0
  228. package/dist/drizzle/phone-model.mjs +39 -0
  229. package/dist/drizzle/phone-model.mjs.map +1 -0
  230. package/dist/drizzle/phone-state.mjs +16 -0
  231. package/dist/drizzle/phone-state.mjs.map +1 -0
  232. package/dist/drizzle/phone-target.d.mts +17 -0
  233. package/dist/drizzle/phone-target.mjs +170 -0
  234. package/dist/drizzle/phone-target.mjs.map +1 -0
  235. package/dist/drizzle/proof-model.d.mts +286 -0
  236. package/dist/drizzle/proof-model.mjs +17 -0
  237. package/dist/drizzle/proof-model.mjs.map +1 -0
  238. package/dist/drizzle/proof-sql.d.mts +4 -0
  239. package/dist/drizzle/proof-sql.mjs +8 -0
  240. package/dist/drizzle/proof-sql.mjs.map +1 -0
  241. package/dist/drizzle/proof-target.d.mts +12 -0
  242. package/dist/drizzle/proof-target.mjs +36 -0
  243. package/dist/drizzle/proof-target.mjs.map +1 -0
  244. package/dist/drizzle/query-operations.mjs +26 -0
  245. package/dist/drizzle/query-operations.mjs.map +1 -0
  246. package/dist/drizzle/session-model.d.mts +200 -0
  247. package/dist/drizzle/session-model.mjs +20 -0
  248. package/dist/drizzle/session-model.mjs.map +1 -0
  249. package/dist/drizzle/session-sql.mjs +8 -0
  250. package/dist/drizzle/session-sql.mjs.map +1 -0
  251. package/dist/drizzle/session-target.d.mts +28 -0
  252. package/dist/drizzle/session-target.mjs +47 -0
  253. package/dist/drizzle/session-target.mjs.map +1 -0
  254. package/dist/drizzle/sqlite-emails.mjs +45 -0
  255. package/dist/drizzle/sqlite-emails.mjs.map +1 -0
  256. package/dist/drizzle/sqlite-identity.mjs +91 -0
  257. package/dist/drizzle/sqlite-identity.mjs.map +1 -0
  258. package/dist/drizzle/sqlite-password-prepared.mjs +21 -0
  259. package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -0
  260. package/dist/drizzle/sqlite-passwords.mjs +49 -0
  261. package/dist/drizzle/sqlite-passwords.mjs.map +1 -0
  262. package/dist/drizzle/sqlite-proofs.mjs +29 -0
  263. package/dist/drizzle/sqlite-proofs.mjs.map +1 -0
  264. package/dist/drizzle/sqlite-sessions.mjs +74 -0
  265. package/dist/drizzle/sqlite-sessions.mjs.map +1 -0
  266. package/dist/drizzle/sqlite.d.mts +78 -0
  267. package/dist/drizzle/sqlite.mjs +217 -0
  268. package/dist/drizzle/sqlite.mjs.map +1 -0
  269. package/dist/drizzle/standalone-guard.mjs +19 -0
  270. package/dist/drizzle/standalone-guard.mjs.map +1 -0
  271. package/dist/drizzle/step-up-model.d.mts +65 -0
  272. package/dist/drizzle/step-up-model.mjs +9 -0
  273. package/dist/drizzle/step-up-model.mjs.map +1 -0
  274. package/dist/drizzle/step-up-state.mjs +32 -0
  275. package/dist/drizzle/step-up-state.mjs.map +1 -0
  276. package/dist/drizzle/totp-model.d.mts +84 -0
  277. package/dist/drizzle/totp-model.mjs +13 -0
  278. package/dist/drizzle/totp-model.mjs.map +1 -0
  279. package/dist/drizzle/totp-state.d.mts +38 -0
  280. package/dist/drizzle/totp-state.mjs +287 -0
  281. package/dist/drizzle/totp-state.mjs.map +1 -0
  282. package/dist/drizzle/totp-target.d.mts +17 -0
  283. package/dist/drizzle/totp-target.mjs +81 -0
  284. package/dist/drizzle/totp-target.mjs.map +1 -0
  285. package/dist/drizzle/transaction-execution.d.mts +4 -0
  286. package/dist/drizzle/transaction-execution.mjs +11 -0
  287. package/dist/drizzle/transaction-execution.mjs.map +1 -0
  288. package/dist/drizzle/transaction-mysql.mjs +46 -0
  289. package/dist/drizzle/transaction-mysql.mjs.map +1 -0
  290. package/dist/drizzle/transaction-owner.d.mts +2 -0
  291. package/dist/drizzle/transaction-owner.mjs +8 -0
  292. package/dist/drizzle/transaction-owner.mjs.map +1 -0
  293. package/dist/index.d.mts +5 -0
  294. package/dist/index.mjs +5 -0
  295. package/dist/internal/configuration.d.mts +174 -0
  296. package/dist/internal/configuration.mjs +7 -0
  297. package/dist/internal/configuration.mjs.map +1 -0
  298. package/dist/internal/drizzle-migrations.mjs +19 -0
  299. package/dist/internal/drizzle-migrations.mjs.map +1 -0
  300. package/dist/internal/drizzle-postgres.mjs +39 -0
  301. package/dist/internal/drizzle-postgres.mjs.map +1 -0
  302. package/dist/internal/drizzle-sqlite.mjs +37 -0
  303. package/dist/internal/drizzle-sqlite.mjs.map +1 -0
  304. package/dist/internal/email-kernel.d.mts +13 -0
  305. package/dist/internal/email-kernel.mjs +487 -0
  306. package/dist/internal/email-kernel.mjs.map +1 -0
  307. package/dist/internal/mapping-error.d.mts +11 -0
  308. package/dist/internal/mapping-error.mjs +30 -0
  309. package/dist/internal/mapping-error.mjs.map +1 -0
  310. package/dist/internal/passkey/admission.d.mts +7 -0
  311. package/dist/internal/passkey/admission.mjs +216 -0
  312. package/dist/internal/passkey/admission.mjs.map +1 -0
  313. package/dist/internal/passkey/credentials.d.mts +6 -0
  314. package/dist/internal/passkey/credentials.mjs +249 -0
  315. package/dist/internal/passkey/credentials.mjs.map +1 -0
  316. package/dist/internal/passkey/enrollment.mjs +138 -0
  317. package/dist/internal/passkey/enrollment.mjs.map +1 -0
  318. package/dist/internal/passkey/flow.d.mts +10 -0
  319. package/dist/internal/passkey/flow.mjs +452 -0
  320. package/dist/internal/passkey/flow.mjs.map +1 -0
  321. package/dist/internal/passkey/management.mjs +231 -0
  322. package/dist/internal/passkey/management.mjs.map +1 -0
  323. package/dist/internal/passkey/registration-ceremony.d.mts +9 -0
  324. package/dist/internal/passkey/registration-ceremony.mjs +129 -0
  325. package/dist/internal/passkey/registration-ceremony.mjs.map +1 -0
  326. package/dist/internal/passkey/registration-custody.d.mts +2 -0
  327. package/dist/internal/passkey/registration-custody.mjs +52 -0
  328. package/dist/internal/passkey/registration-custody.mjs.map +1 -0
  329. package/dist/internal/passkey/registration-write.mjs +211 -0
  330. package/dist/internal/passkey/registration-write.mjs.map +1 -0
  331. package/dist/internal/passkey/state.d.mts +5 -0
  332. package/dist/internal/passkey/state.mjs +234 -0
  333. package/dist/internal/passkey/state.mjs.map +1 -0
  334. package/dist/internal/passkey/target.d.mts +19 -0
  335. package/dist/internal/passkey/target.mjs +190 -0
  336. package/dist/internal/passkey/target.mjs.map +1 -0
  337. package/dist/internal/passkey/write-state.mjs +345 -0
  338. package/dist/internal/passkey/write-state.mjs.map +1 -0
  339. package/dist/internal/passkey/write-target.mjs +192 -0
  340. package/dist/internal/passkey/write-target.mjs.map +1 -0
  341. package/dist/internal/passkey-kernel.mjs +49 -0
  342. package/dist/internal/passkey-kernel.mjs.map +1 -0
  343. package/dist/internal/passkeys.mjs +367 -0
  344. package/dist/internal/passkeys.mjs.map +1 -0
  345. package/dist/internal/password-kernel.d.mts +13 -0
  346. package/dist/internal/password-kernel.mjs +704 -0
  347. package/dist/internal/password-kernel.mjs.map +1 -0
  348. package/dist/internal/persistence.mjs +289 -0
  349. package/dist/internal/persistence.mjs.map +1 -0
  350. package/dist/internal/phone-kernel.mjs +434 -0
  351. package/dist/internal/phone-kernel.mjs.map +1 -0
  352. package/dist/internal/proof-kernel.d.mts +9 -0
  353. package/dist/internal/proof-kernel.mjs +619 -0
  354. package/dist/internal/proof-kernel.mjs.map +1 -0
  355. package/dist/internal/query-operations.d.mts +3 -0
  356. package/dist/internal/registration.mjs +65 -0
  357. package/dist/internal/registration.mjs.map +1 -0
  358. package/dist/internal/session-kernel.mjs +737 -0
  359. package/dist/internal/session-kernel.mjs.map +1 -0
  360. package/dist/internal/sql-persistence.d.mts +11 -0
  361. package/dist/internal/sql-persistence.mjs +37 -0
  362. package/dist/internal/sql-persistence.mjs.map +1 -0
  363. package/dist/internal/sql-query.mjs +207 -0
  364. package/dist/internal/sql-query.mjs.map +1 -0
  365. package/dist/internal/sql-table.d.mts +37 -0
  366. package/dist/internal/sql-table.mjs +71 -0
  367. package/dist/internal/sql-table.mjs.map +1 -0
  368. package/dist/internal/storage-mapping.mjs +687 -0
  369. package/dist/internal/storage-mapping.mjs.map +1 -0
  370. package/dist/internal/storage-tables.d.mts +914 -0
  371. package/dist/internal/storage-tables.mjs +387 -0
  372. package/dist/internal/storage-tables.mjs.map +1 -0
  373. package/dist/internal/storage-validation.mjs +58 -0
  374. package/dist/internal/storage-validation.mjs.map +1 -0
  375. package/dist/internal/transaction-execution-kernel.d.mts +18 -0
  376. package/dist/internal/transaction-execution-kernel.mjs +118 -0
  377. package/dist/internal/transaction-execution-kernel.mjs.map +1 -0
  378. package/dist/internal/transaction-kernel.d.mts +7 -0
  379. package/dist/internal/transaction-kernel.mjs +260 -0
  380. package/dist/internal/transaction-kernel.mjs.map +1 -0
  381. package/package.json +1 -0
  382. package/src/Drizzle.ts +378 -0
  383. package/src/DrizzleD1.ts +136 -0
  384. package/src/DrizzleLibsql.ts +301 -0
  385. package/src/DrizzleMysql2.ts +184 -0
  386. package/src/DrizzlePglite.ts +174 -0
  387. package/src/DrizzlePostgres.ts +174 -0
  388. package/src/DrizzleSqliteBun.ts +258 -0
  389. package/src/DrizzleSqliteDo.ts +473 -0
  390. package/src/DrizzleSqliteNode.ts +259 -0
  391. package/src/DrizzleSqliteWasm.ts +263 -0
  392. package/src/drizzle/D1BatchStatements.ts +10 -0
  393. package/src/drizzle/PasswordPreparedPostconditions.ts +30 -0
  394. package/src/drizzle/SuppliedService.ts +10 -0
  395. package/src/drizzle/d1-emails.ts +1829 -0
  396. package/src/drizzle/d1-generated-statement.ts +129 -0
  397. package/src/drizzle/d1-identity.ts +375 -0
  398. package/src/drizzle/d1-oauth.ts +340 -0
  399. package/src/drizzle/d1-passkey.ts +373 -0
  400. package/src/drizzle/d1-password-prepared.ts +1270 -0
  401. package/src/drizzle/d1-passwords.ts +2656 -0
  402. package/src/drizzle/d1-phone.ts +96 -0
  403. package/src/drizzle/d1-planning.ts +104 -0
  404. package/src/drizzle/d1-proofs.ts +2305 -0
  405. package/src/drizzle/d1-sessions.ts +2857 -0
  406. package/src/drizzle/d1-totp.ts +78 -0
  407. package/src/drizzle/email-model.ts +516 -0
  408. package/src/drizzle/email-registration.ts +698 -0
  409. package/src/drizzle/email-sql.ts +24 -0
  410. package/src/drizzle/email-target.ts +243 -0
  411. package/src/drizzle/model.ts +463 -0
  412. package/src/drizzle/mysql-emails.ts +321 -0
  413. package/src/drizzle/mysql-identity.ts +324 -0
  414. package/src/drizzle/mysql-password-prepared.ts +204 -0
  415. package/src/drizzle/mysql-passwords.ts +339 -0
  416. package/src/drizzle/mysql-proofs.ts +181 -0
  417. package/src/drizzle/mysql-sessions.ts +741 -0
  418. package/src/drizzle/mysql.ts +687 -0
  419. package/src/drizzle/oauth-accounts.ts +804 -0
  420. package/src/drizzle/oauth-connected-access.ts +354 -0
  421. package/src/drizzle/oauth-connected-collection.ts +324 -0
  422. package/src/drizzle/oauth-connected-custody.ts +277 -0
  423. package/src/drizzle/oauth-connected-drivers.ts +465 -0
  424. package/src/drizzle/oauth-connected-flow.ts +441 -0
  425. package/src/drizzle/oauth-connected-input.ts +127 -0
  426. package/src/drizzle/oauth-connected-maintenance.ts +345 -0
  427. package/src/drizzle/oauth-connected-management.ts +365 -0
  428. package/src/drizzle/oauth-connected-model.ts +347 -0
  429. package/src/drizzle/oauth-connected-reference.ts +112 -0
  430. package/src/drizzle/oauth-connected-settlement.ts +226 -0
  431. package/src/drizzle/oauth-connected-state.ts +845 -0
  432. package/src/drizzle/oauth-connected-target.ts +264 -0
  433. package/src/drizzle/oauth-drivers.ts +569 -0
  434. package/src/drizzle/oauth-flow.ts +462 -0
  435. package/src/drizzle/oauth-input.ts +201 -0
  436. package/src/drizzle/oauth-model.ts +617 -0
  437. package/src/drizzle/oauth-mysql.ts +10 -0
  438. package/src/drizzle/oauth-owner.ts +29 -0
  439. package/src/drizzle/oauth-registration.ts +640 -0
  440. package/src/drizzle/oauth-state.ts +215 -0
  441. package/src/drizzle/oauth-target.ts +750 -0
  442. package/src/drizzle/passkey-drivers.ts +385 -0
  443. package/src/drizzle/passkey-kernel.ts +3 -0
  444. package/src/drizzle/passkey-model.ts +353 -0
  445. package/src/drizzle/passkey-registration-ceremony-model.ts +69 -0
  446. package/src/drizzle/passkey-state.ts +3 -0
  447. package/src/drizzle/passkey-target.ts +23 -0
  448. package/src/drizzle/passkey-write-drivers.ts +395 -0
  449. package/src/drizzle/passkey-write-model.ts +271 -0
  450. package/src/drizzle/passkey-write-target.ts +9 -0
  451. package/src/drizzle/password-model.ts +491 -0
  452. package/src/drizzle/password-prepared-model.ts +259 -0
  453. package/src/drizzle/password-prepared-sql.ts +1191 -0
  454. package/src/drizzle/password-prepared-state.ts +231 -0
  455. package/src/drizzle/password-prepared-target.ts +160 -0
  456. package/src/drizzle/password-registration.ts +374 -0
  457. package/src/drizzle/password-sql.ts +12 -0
  458. package/src/drizzle/password-target.ts +224 -0
  459. package/src/drizzle/pg-emails.ts +321 -0
  460. package/src/drizzle/pg-password-prepared.ts +205 -0
  461. package/src/drizzle/pg-passwords.ts +338 -0
  462. package/src/drizzle/pg-proofs.ts +191 -0
  463. package/src/drizzle/pg-sessions.ts +750 -0
  464. package/src/drizzle/pg.ts +984 -0
  465. package/src/drizzle/phone-model.ts +190 -0
  466. package/src/drizzle/phone-state.ts +21 -0
  467. package/src/drizzle/phone-target.ts +472 -0
  468. package/src/drizzle/proof-model.ts +398 -0
  469. package/src/drizzle/proof-sql.ts +9 -0
  470. package/src/drizzle/proof-target.ts +122 -0
  471. package/src/drizzle/query-operations.ts +37 -0
  472. package/src/drizzle/session-model.ts +370 -0
  473. package/src/drizzle/session-sql.ts +13 -0
  474. package/src/drizzle/session-target.ts +338 -0
  475. package/src/drizzle/sqlite-emails.ts +366 -0
  476. package/src/drizzle/sqlite-identity.ts +344 -0
  477. package/src/drizzle/sqlite-password-prepared.ts +260 -0
  478. package/src/drizzle/sqlite-passwords.ts +497 -0
  479. package/src/drizzle/sqlite-proofs.ts +202 -0
  480. package/src/drizzle/sqlite-sessions.ts +971 -0
  481. package/src/drizzle/sqlite.ts +705 -0
  482. package/src/drizzle/standalone-guard.ts +38 -0
  483. package/src/drizzle/step-up-model.ts +128 -0
  484. package/src/drizzle/step-up-state.ts +139 -0
  485. package/src/drizzle/totp-model.ts +92 -0
  486. package/src/drizzle/totp-state.ts +525 -0
  487. package/src/drizzle/totp-target.ts +308 -0
  488. package/src/drizzle/transaction-execution.ts +12 -0
  489. package/src/drizzle/transaction-mysql.ts +104 -0
  490. package/src/drizzle/transaction-owner.ts +10 -0
  491. package/src/index.ts +4 -0
  492. package/src/internal/configuration.ts +282 -0
  493. package/src/internal/drizzle-migrations.ts +30 -0
  494. package/src/internal/drizzle-postgres.ts +81 -0
  495. package/src/internal/drizzle-sqlite.ts +79 -0
  496. package/src/internal/email-kernel.ts +1532 -0
  497. package/src/internal/mapping-error.ts +36 -0
  498. package/src/internal/passkey/admission.ts +362 -0
  499. package/src/internal/passkey/credentials.ts +511 -0
  500. package/src/internal/passkey/enrollment.ts +326 -0
  501. package/src/internal/passkey/flow.ts +1062 -0
  502. package/src/internal/passkey/management.ts +422 -0
  503. package/src/internal/passkey/registration-ceremony.ts +283 -0
  504. package/src/internal/passkey/registration-custody.ts +91 -0
  505. package/src/internal/passkey/registration-write.ts +426 -0
  506. package/src/internal/passkey/state.ts +354 -0
  507. package/src/internal/passkey/target.ts +586 -0
  508. package/src/internal/passkey/write-state.ts +681 -0
  509. package/src/internal/passkey/write-target.ts +452 -0
  510. package/src/internal/passkey-kernel.ts +102 -0
  511. package/src/internal/passkeys.ts +597 -0
  512. package/src/internal/password-kernel.ts +2122 -0
  513. package/src/internal/persistence.ts +590 -0
  514. package/src/internal/phone-kernel.ts +843 -0
  515. package/src/internal/proof-kernel.ts +1949 -0
  516. package/src/internal/query-operations.ts +26 -0
  517. package/src/internal/registration.ts +160 -0
  518. package/src/internal/session-kernel.ts +2210 -0
  519. package/src/internal/sql-persistence.ts +45 -0
  520. package/src/internal/sql-query.ts +298 -0
  521. package/src/internal/sql-table.ts +89 -0
  522. package/src/internal/storage-mapping.ts +706 -0
  523. package/src/internal/storage-tables.ts +408 -0
  524. package/src/internal/storage-validation.ts +117 -0
  525. package/src/internal/transaction-execution-kernel.ts +317 -0
  526. package/src/internal/transaction-kernel.ts +582 -0
@@ -0,0 +1,971 @@
1
+ import type { LifecycleHooks, HookConfigurationError } from "@yielded/auth/Hooks";
2
+ import {
3
+ AuthenticationAuthority,
4
+ type SessionUnavailable,
5
+ type PendingAuthentication,
6
+ type SessionRepository,
7
+ type SignedSessionValidity,
8
+ type StatefulSessionPersistence,
9
+ type SessionStepUpPersistence,
10
+ } from "@yielded/auth/Sessions";
11
+ import type { AnyRelations } from "drizzle-orm";
12
+ import type { EffectLibsqlDatabase } from "drizzle-orm/effect-libsql";
13
+ import type { EffectSQLiteBunDatabase } from "drizzle-orm/effect-sqlite-bun";
14
+ import type { EffectSQLiteDoDatabase } from "drizzle-orm/effect-sqlite-do";
15
+ import type { EffectSQLiteNodeDatabase } from "drizzle-orm/effect-sqlite-node";
16
+ import type { EffectSQLiteWasmDatabase } from "drizzle-orm/effect-sqlite-wasm";
17
+ import type { AnySQLiteTable } from "drizzle-orm/sqlite-core";
18
+ import { Context, Effect } from "effect";
19
+ import type { SqlError } from "effect/unstable/sql/SqlError";
20
+
21
+ import type {
22
+ AuthenticationAuthorityMapping,
23
+ PendingAuthenticationMapping,
24
+ SignedSessionValidityMapping,
25
+ StatefulSessionMapping,
26
+ } from "./session-model";
27
+ import {
28
+ coordinateTargetAuthenticationAuthority,
29
+ coordinateTargetPendingAuthentication,
30
+ coordinateTargetSignedSessionValidity,
31
+ coordinateTargetStatefulSessions,
32
+ makeTargetAuthenticationAuthorityServices,
33
+ makeTargetPendingAuthenticationServices,
34
+ makeTargetSignedSessionValidityServices,
35
+ makeTargetStatefulSessionServices,
36
+ type SessionTargetConfiguration,
37
+ makeTargetSessionStepUpServices,
38
+ coordinateTargetSessionStepUp,
39
+ } from "./session-target";
40
+ import type { SuppliedService } from "./SuppliedService";
41
+
42
+ type Database =
43
+ | EffectLibsqlDatabase<AnyRelations>
44
+ | EffectSQLiteBunDatabase<AnyRelations>
45
+ | EffectSQLiteDoDatabase<AnyRelations>
46
+ | EffectSQLiteNodeDatabase<AnyRelations>
47
+ | EffectSQLiteWasmDatabase<AnyRelations>;
48
+ type TransactionOf<D extends Database> = Parameters<Parameters<D["transaction"]>[0]>[0];
49
+
50
+ export const sqliteSessionConfiguration = (
51
+ mode: "interactive" | "synchronous",
52
+ standaloneGuard: Effect.Effect<void, SessionUnavailable>,
53
+ coordinatorGuard?: Effect.Effect<void, SessionUnavailable>,
54
+ ): SessionTargetConfiguration => ({
55
+ mode,
56
+ locking: false,
57
+ standaloneGuard,
58
+ ...(coordinatorGuard === undefined ? {} : { coordinatorGuard }),
59
+ });
60
+
61
+ export const makeSqliteAuthenticationAuthorityServices = <
62
+ Claims,
63
+ S extends AnySQLiteTable,
64
+ C extends AnySQLiteTable,
65
+ F extends AnySQLiteTable,
66
+ P extends AnySQLiteTable,
67
+ NativeId,
68
+ >(
69
+ database: Database,
70
+ mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>,
71
+ configuration: SessionTargetConfiguration,
72
+ ) => makeTargetAuthenticationAuthorityServices<Claims>(database, mapping, configuration);
73
+
74
+ export const makeSqlitePendingAuthenticationServices = <
75
+ Claims,
76
+ S extends AnySQLiteTable,
77
+ C extends AnySQLiteTable,
78
+ P extends AnySQLiteTable,
79
+ F extends AnySQLiteTable,
80
+ NativeId,
81
+ >(
82
+ database: Database,
83
+ mapping: PendingAuthenticationMapping<Claims, S, C, P, F, NativeId>,
84
+ configuration: SessionTargetConfiguration,
85
+ ) => makeTargetPendingAuthenticationServices<Claims>(database, mapping, configuration);
86
+
87
+ export const makeSqliteStatefulSessionServices = <
88
+ Claims,
89
+ S extends AnySQLiteTable,
90
+ C extends AnySQLiteTable,
91
+ Session extends AnySQLiteTable,
92
+ F extends AnySQLiteTable,
93
+ P extends AnySQLiteTable,
94
+ NativeId,
95
+ NativeSessionId,
96
+ >(
97
+ database: Database,
98
+ mapping: StatefulSessionMapping<Claims, S, C, Session, F, P, NativeId, NativeSessionId>,
99
+ configuration: SessionTargetConfiguration,
100
+ ) => makeTargetStatefulSessionServices<Claims>(database, mapping, configuration);
101
+
102
+ export const makeSqliteSignedSessionValidityServices = <
103
+ S extends AnySQLiteTable,
104
+ T extends AnySQLiteTable,
105
+ NativeId,
106
+ NativeSessionId,
107
+ >(
108
+ database: Database,
109
+ mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>,
110
+ configuration: SessionTargetConfiguration,
111
+ ) => makeTargetSignedSessionValidityServices(database, mapping, configuration);
112
+
113
+ export const coordinateSqliteAuthenticationAuthority = <
114
+ Claims,
115
+ D extends Database,
116
+ S extends AnySQLiteTable,
117
+ C extends AnySQLiteTable,
118
+ F extends AnySQLiteTable,
119
+ P extends AnySQLiteTable,
120
+ NativeId,
121
+ A,
122
+ E,
123
+ R,
124
+ >(
125
+ database: D,
126
+ mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>,
127
+ configuration: SessionTargetConfiguration,
128
+ owner: (
129
+ transaction: TransactionOf<D>,
130
+ services: { readonly authenticationAuthority: AuthenticationAuthority["Service"] },
131
+ ) => Effect.Effect<A, E, R>,
132
+ ) =>
133
+ coordinateTargetAuthenticationAuthority<Claims, TransactionOf<D>, A, E, R>(
134
+ database,
135
+ mapping,
136
+ configuration,
137
+ owner,
138
+ );
139
+
140
+ export const coordinateSqlitePendingAuthentication = <
141
+ Claims,
142
+ D extends Database,
143
+ S extends AnySQLiteTable,
144
+ C extends AnySQLiteTable,
145
+ P extends AnySQLiteTable,
146
+ F extends AnySQLiteTable,
147
+ NativeId,
148
+ A,
149
+ E,
150
+ R,
151
+ >(
152
+ database: D,
153
+ mapping: PendingAuthenticationMapping<Claims, S, C, P, F, NativeId>,
154
+ configuration: SessionTargetConfiguration,
155
+ owner: (
156
+ transaction: TransactionOf<D>,
157
+ services: { readonly pendingAuthentication: PendingAuthentication<Claims> },
158
+ ) => Effect.Effect<A, E, R>,
159
+ ) =>
160
+ coordinateTargetPendingAuthentication<Claims, TransactionOf<D>, A, E, R>(
161
+ database,
162
+ mapping,
163
+ configuration,
164
+ owner,
165
+ );
166
+
167
+ export const coordinateSqliteStatefulSessions = <
168
+ Claims,
169
+ D extends Database,
170
+ S extends AnySQLiteTable,
171
+ C extends AnySQLiteTable,
172
+ Session extends AnySQLiteTable,
173
+ F extends AnySQLiteTable,
174
+ P extends AnySQLiteTable,
175
+ NativeId,
176
+ NativeSessionId,
177
+ A,
178
+ E,
179
+ R,
180
+ >(
181
+ database: D,
182
+ mapping: StatefulSessionMapping<Claims, S, C, Session, F, P, NativeId, NativeSessionId>,
183
+ configuration: SessionTargetConfiguration,
184
+ owner: (
185
+ transaction: TransactionOf<D>,
186
+ services: {
187
+ readonly statefulSessionPersistence: StatefulSessionPersistence<Claims>;
188
+ readonly sessionRepository: SessionRepository;
189
+ },
190
+ ) => Effect.Effect<A, E, R>,
191
+ ) =>
192
+ coordinateTargetStatefulSessions<Claims, TransactionOf<D>, A, E, R>(
193
+ database,
194
+ mapping,
195
+ configuration,
196
+ owner,
197
+ );
198
+
199
+ export const coordinateSqliteSignedSessionValidity = <
200
+ D extends Database,
201
+ S extends AnySQLiteTable,
202
+ T extends AnySQLiteTable,
203
+ NativeId,
204
+ NativeSessionId,
205
+ A,
206
+ E,
207
+ R,
208
+ >(
209
+ database: D,
210
+ mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>,
211
+ configuration: SessionTargetConfiguration,
212
+ owner: (
213
+ transaction: TransactionOf<D>,
214
+ services: { readonly signedSessionValidity: SignedSessionValidity },
215
+ ) => Effect.Effect<A, E, R>,
216
+ ) =>
217
+ coordinateTargetSignedSessionValidity<TransactionOf<D>, A, E, R>(
218
+ database,
219
+ mapping,
220
+ configuration,
221
+ owner,
222
+ );
223
+
224
+ export const makeSqliteSessionTarget = <D extends Database, Synchronous extends boolean = false>(
225
+ configuration: SessionTargetConfiguration | ((database: D) => SessionTargetConfiguration),
226
+ ) => {
227
+ const configurationFor = (database: D) =>
228
+ typeof configuration === "function" ? configuration(database) : configuration;
229
+
230
+ function coordinateSessionStepUp<
231
+ Database extends D,
232
+ Claims,
233
+ Id,
234
+ S extends AnySQLiteTable,
235
+ C extends AnySQLiteTable,
236
+ I extends AnySQLiteTable,
237
+ Session extends AnySQLiteTable,
238
+ T extends AnySQLiteTable,
239
+ NativeId,
240
+ NativeSessionId,
241
+ A,
242
+ E,
243
+ R,
244
+ DatabaseError,
245
+ DatabaseRequirements,
246
+ >(
247
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
248
+ options: {
249
+ readonly mapping: SessionStepUpMapping<
250
+ NoInfer<Claims>,
251
+ S,
252
+ C,
253
+ I,
254
+ Session,
255
+ T,
256
+ NativeId,
257
+ NativeSessionId
258
+ >;
259
+ readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;
260
+ readonly transaction?: never;
261
+ },
262
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<Id> : R>,
263
+ ): Effect.Effect<
264
+ A,
265
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
266
+ (Synchronous extends true ? never : Exclude<R, Id>) | LifecycleHooks | DatabaseRequirements
267
+ >;
268
+ function coordinateSessionStepUp<
269
+ Database extends D,
270
+ Claims,
271
+ Id,
272
+ S extends AnySQLiteTable,
273
+ C extends AnySQLiteTable,
274
+ I extends AnySQLiteTable,
275
+ Session extends AnySQLiteTable,
276
+ T extends AnySQLiteTable,
277
+ NativeId,
278
+ NativeSessionId,
279
+ A,
280
+ E,
281
+ R,
282
+ DatabaseError,
283
+ DatabaseRequirements,
284
+ TxId,
285
+ TxShape,
286
+ >(
287
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
288
+ options: {
289
+ readonly mapping: SessionStepUpMapping<
290
+ NoInfer<Claims>,
291
+ S,
292
+ C,
293
+ I,
294
+ Session,
295
+ T,
296
+ NativeId,
297
+ NativeSessionId
298
+ >;
299
+ readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;
300
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
301
+ },
302
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<Id | TxId> : R>,
303
+ ): Effect.Effect<
304
+ A,
305
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
306
+ | (Synchronous extends true ? never : Exclude<R, Id | TxId>)
307
+ | LifecycleHooks
308
+ | DatabaseRequirements
309
+ >;
310
+ function coordinateSessionStepUp<
311
+ Database extends D,
312
+ Claims,
313
+ Id,
314
+ S extends AnySQLiteTable,
315
+ C extends AnySQLiteTable,
316
+ I extends AnySQLiteTable,
317
+ Session extends AnySQLiteTable,
318
+ T extends AnySQLiteTable,
319
+ NativeId,
320
+ NativeSessionId,
321
+ A,
322
+ E,
323
+ R,
324
+ DatabaseError,
325
+ DatabaseRequirements,
326
+ TxId,
327
+ TxShape,
328
+ >(
329
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
330
+ options: {
331
+ readonly mapping: SessionStepUpMapping<
332
+ NoInfer<Claims>,
333
+ S,
334
+ C,
335
+ I,
336
+ Session,
337
+ T,
338
+ NativeId,
339
+ NativeSessionId
340
+ >;
341
+ readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;
342
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
343
+ },
344
+ body: Effect.Effect<A, E, R>,
345
+ ): Effect.Effect<
346
+ A,
347
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
348
+ Exclude<R, Id> | LifecycleHooks | DatabaseRequirements
349
+ > {
350
+ return Effect.flatMap(acquire, (database) =>
351
+ coordinateSqliteSessionStepUp(
352
+ database,
353
+ options.mapping,
354
+ options.target,
355
+ configurationFor(database),
356
+ (
357
+ transaction: TransactionOf<Database>,
358
+ services: { readonly sessionStepUpPersistence: SessionStepUpPersistence<Claims> },
359
+ ) => {
360
+ const provided = Context.make(options.target, services.sessionStepUpPersistence);
361
+ const work = Effect.provideContext(body, provided);
362
+
363
+ return options.transaction === undefined
364
+ ? work
365
+ : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
366
+ },
367
+ ),
368
+ );
369
+ }
370
+ function coordinateAuthenticationAuthority<
371
+ Database extends D,
372
+ Claims,
373
+ S extends AnySQLiteTable,
374
+ C extends AnySQLiteTable,
375
+ F extends AnySQLiteTable,
376
+ P extends AnySQLiteTable,
377
+ NativeId,
378
+ A,
379
+ E,
380
+ R,
381
+ DatabaseError,
382
+ DatabaseRequirements,
383
+ >(
384
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
385
+ options: {
386
+ readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;
387
+ readonly transaction?: never;
388
+ },
389
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<AuthenticationAuthority> : R>,
390
+ ): Effect.Effect<
391
+ A,
392
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
393
+ | (Synchronous extends true ? never : Exclude<R, AuthenticationAuthority>)
394
+ | LifecycleHooks
395
+ | DatabaseRequirements
396
+ >;
397
+ function coordinateAuthenticationAuthority<
398
+ Database extends D,
399
+ Claims,
400
+ S extends AnySQLiteTable,
401
+ C extends AnySQLiteTable,
402
+ F extends AnySQLiteTable,
403
+ P extends AnySQLiteTable,
404
+ NativeId,
405
+ A,
406
+ E,
407
+ R,
408
+ DatabaseError,
409
+ DatabaseRequirements,
410
+ TxId,
411
+ TxShape,
412
+ >(
413
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
414
+ options: {
415
+ readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;
416
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
417
+ },
418
+ body: Effect.Effect<
419
+ A,
420
+ E,
421
+ Synchronous extends true ? NoInfer<AuthenticationAuthority | TxId> : R
422
+ >,
423
+ ): Effect.Effect<
424
+ A,
425
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
426
+ | (Synchronous extends true ? never : Exclude<R, AuthenticationAuthority | TxId>)
427
+ | LifecycleHooks
428
+ | DatabaseRequirements
429
+ >;
430
+ function coordinateAuthenticationAuthority<
431
+ Database extends D,
432
+ Claims,
433
+ S extends AnySQLiteTable,
434
+ C extends AnySQLiteTable,
435
+ F extends AnySQLiteTable,
436
+ P extends AnySQLiteTable,
437
+ NativeId,
438
+ A,
439
+ E,
440
+ R,
441
+ DatabaseError,
442
+ DatabaseRequirements,
443
+ TxId,
444
+ TxShape,
445
+ >(
446
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
447
+ options: {
448
+ readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;
449
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
450
+ },
451
+ body: Effect.Effect<A, E, R>,
452
+ ): Effect.Effect<
453
+ A,
454
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
455
+ Exclude<R, AuthenticationAuthority> | LifecycleHooks | DatabaseRequirements
456
+ > {
457
+ return Effect.flatMap(acquire, (database) =>
458
+ coordinateSqliteAuthenticationAuthority(
459
+ database,
460
+ options.mapping,
461
+ configurationFor(database),
462
+ (
463
+ transaction: TransactionOf<Database>,
464
+ services: { readonly authenticationAuthority: AuthenticationAuthority["Service"] },
465
+ ) => {
466
+ const provided = Context.make(AuthenticationAuthority, services.authenticationAuthority);
467
+ const work = Effect.provideContext(body, provided);
468
+
469
+ return options.transaction === undefined
470
+ ? work
471
+ : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
472
+ },
473
+ ),
474
+ );
475
+ }
476
+ function coordinatePendingAuthentication<
477
+ Database extends D,
478
+ TargetId,
479
+ Claims,
480
+ S extends AnySQLiteTable,
481
+ C extends AnySQLiteTable,
482
+ P extends AnySQLiteTable,
483
+ F extends AnySQLiteTable,
484
+ NativeId,
485
+ A,
486
+ E,
487
+ R,
488
+ DatabaseError,
489
+ DatabaseRequirements,
490
+ >(
491
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
492
+ options: {
493
+ readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;
494
+ readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;
495
+ readonly transaction?: never;
496
+ },
497
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<TargetId> : R>,
498
+ ): Effect.Effect<
499
+ A,
500
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
501
+ | (Synchronous extends true ? never : Exclude<R, TargetId>)
502
+ | LifecycleHooks
503
+ | DatabaseRequirements
504
+ >;
505
+ function coordinatePendingAuthentication<
506
+ Database extends D,
507
+ TargetId,
508
+ Claims,
509
+ S extends AnySQLiteTable,
510
+ C extends AnySQLiteTable,
511
+ P extends AnySQLiteTable,
512
+ F extends AnySQLiteTable,
513
+ NativeId,
514
+ A,
515
+ E,
516
+ R,
517
+ DatabaseError,
518
+ DatabaseRequirements,
519
+ TxId,
520
+ TxShape,
521
+ >(
522
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
523
+ options: {
524
+ readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;
525
+ readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;
526
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
527
+ },
528
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<TargetId | TxId> : R>,
529
+ ): Effect.Effect<
530
+ A,
531
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
532
+ | (Synchronous extends true ? never : Exclude<R, TargetId | TxId>)
533
+ | LifecycleHooks
534
+ | DatabaseRequirements
535
+ >;
536
+ function coordinatePendingAuthentication<
537
+ Database extends D,
538
+ TargetId,
539
+ Claims,
540
+ S extends AnySQLiteTable,
541
+ C extends AnySQLiteTable,
542
+ P extends AnySQLiteTable,
543
+ F extends AnySQLiteTable,
544
+ NativeId,
545
+ A,
546
+ E,
547
+ R,
548
+ DatabaseError,
549
+ DatabaseRequirements,
550
+ TxId,
551
+ TxShape,
552
+ >(
553
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
554
+ options: {
555
+ readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;
556
+ readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;
557
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
558
+ },
559
+ body: Effect.Effect<A, E, R>,
560
+ ): Effect.Effect<
561
+ A,
562
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
563
+ Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements
564
+ > {
565
+ return Effect.flatMap(acquire, (database) =>
566
+ coordinateSqlitePendingAuthentication(
567
+ database,
568
+ options.mapping,
569
+ configurationFor(database),
570
+ (
571
+ transaction: TransactionOf<Database>,
572
+ services: { readonly pendingAuthentication: PendingAuthentication<Claims> },
573
+ ) => {
574
+ const provided = Context.make(options.target, services.pendingAuthentication);
575
+ const work = Effect.provideContext(body, provided);
576
+
577
+ return options.transaction === undefined
578
+ ? work
579
+ : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
580
+ },
581
+ ),
582
+ );
583
+ }
584
+ function coordinateStatefulSessions<
585
+ Database extends D,
586
+ PersistenceId,
587
+ RepositoryId,
588
+ Claims,
589
+ S extends AnySQLiteTable,
590
+ C extends AnySQLiteTable,
591
+ Session extends AnySQLiteTable,
592
+ F extends AnySQLiteTable,
593
+ P extends AnySQLiteTable,
594
+ NativeId,
595
+ NativeSessionId,
596
+ A,
597
+ E,
598
+ R,
599
+ DatabaseError,
600
+ DatabaseRequirements,
601
+ >(
602
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
603
+ options: {
604
+ readonly mapping: StatefulSessionMapping<
605
+ NoInfer<Claims>,
606
+ S,
607
+ C,
608
+ Session,
609
+ F,
610
+ P,
611
+ NativeId,
612
+ NativeSessionId
613
+ >;
614
+ readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;
615
+ readonly repository: SuppliedService<RepositoryId, SessionRepository>;
616
+ readonly transaction?: never;
617
+ },
618
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<PersistenceId | RepositoryId> : R>,
619
+ ): Effect.Effect<
620
+ A,
621
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
622
+ | (Synchronous extends true ? never : Exclude<R, PersistenceId | RepositoryId>)
623
+ | LifecycleHooks
624
+ | DatabaseRequirements
625
+ >;
626
+ function coordinateStatefulSessions<
627
+ Database extends D,
628
+ PersistenceId,
629
+ RepositoryId,
630
+ Claims,
631
+ S extends AnySQLiteTable,
632
+ C extends AnySQLiteTable,
633
+ Session extends AnySQLiteTable,
634
+ F extends AnySQLiteTable,
635
+ P extends AnySQLiteTable,
636
+ NativeId,
637
+ NativeSessionId,
638
+ A,
639
+ E,
640
+ R,
641
+ DatabaseError,
642
+ DatabaseRequirements,
643
+ TxId,
644
+ TxShape,
645
+ >(
646
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
647
+ options: {
648
+ readonly mapping: StatefulSessionMapping<
649
+ NoInfer<Claims>,
650
+ S,
651
+ C,
652
+ Session,
653
+ F,
654
+ P,
655
+ NativeId,
656
+ NativeSessionId
657
+ >;
658
+ readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;
659
+ readonly repository: SuppliedService<RepositoryId, SessionRepository>;
660
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
661
+ },
662
+ body: Effect.Effect<
663
+ A,
664
+ E,
665
+ Synchronous extends true ? NoInfer<PersistenceId | RepositoryId | TxId> : R
666
+ >,
667
+ ): Effect.Effect<
668
+ A,
669
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
670
+ | (Synchronous extends true ? never : Exclude<R, PersistenceId | RepositoryId | TxId>)
671
+ | LifecycleHooks
672
+ | DatabaseRequirements
673
+ >;
674
+ function coordinateStatefulSessions<
675
+ Database extends D,
676
+ PersistenceId,
677
+ RepositoryId,
678
+ Claims,
679
+ S extends AnySQLiteTable,
680
+ C extends AnySQLiteTable,
681
+ Session extends AnySQLiteTable,
682
+ F extends AnySQLiteTable,
683
+ P extends AnySQLiteTable,
684
+ NativeId,
685
+ NativeSessionId,
686
+ A,
687
+ E,
688
+ R,
689
+ DatabaseError,
690
+ DatabaseRequirements,
691
+ TxId,
692
+ TxShape,
693
+ >(
694
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
695
+ options: {
696
+ readonly mapping: StatefulSessionMapping<
697
+ NoInfer<Claims>,
698
+ S,
699
+ C,
700
+ Session,
701
+ F,
702
+ P,
703
+ NativeId,
704
+ NativeSessionId
705
+ >;
706
+ readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;
707
+ readonly repository: SuppliedService<RepositoryId, SessionRepository>;
708
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
709
+ },
710
+ body: Effect.Effect<A, E, R>,
711
+ ): Effect.Effect<
712
+ A,
713
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
714
+ Exclude<R, PersistenceId | RepositoryId> | LifecycleHooks | DatabaseRequirements
715
+ > {
716
+ return Effect.flatMap(acquire, (database) =>
717
+ coordinateSqliteStatefulSessions(
718
+ database,
719
+ options.mapping,
720
+ configurationFor(database),
721
+ (
722
+ transaction: TransactionOf<Database>,
723
+ services: {
724
+ readonly statefulSessionPersistence: StatefulSessionPersistence<Claims>;
725
+ readonly sessionRepository: SessionRepository;
726
+ },
727
+ ) => {
728
+ const provided = Context.make(
729
+ options.persistence,
730
+ services.statefulSessionPersistence,
731
+ ).pipe(Context.add(options.repository, services.sessionRepository));
732
+
733
+ const work = Effect.provideContext(body, provided);
734
+
735
+ return options.transaction === undefined
736
+ ? work
737
+ : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
738
+ },
739
+ ),
740
+ );
741
+ }
742
+ function coordinateSignedSessionValidity<
743
+ Database extends D,
744
+ TargetId,
745
+ S extends AnySQLiteTable,
746
+ T extends AnySQLiteTable,
747
+ NativeId,
748
+ NativeSessionId,
749
+ A,
750
+ E,
751
+ R,
752
+ DatabaseError,
753
+ DatabaseRequirements,
754
+ >(
755
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
756
+ options: {
757
+ readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;
758
+ readonly target: SuppliedService<TargetId, SignedSessionValidity>;
759
+ readonly transaction?: never;
760
+ },
761
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<TargetId> : R>,
762
+ ): Effect.Effect<
763
+ A,
764
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
765
+ | (Synchronous extends true ? never : Exclude<R, TargetId>)
766
+ | LifecycleHooks
767
+ | DatabaseRequirements
768
+ >;
769
+ function coordinateSignedSessionValidity<
770
+ Database extends D,
771
+ TargetId,
772
+ S extends AnySQLiteTable,
773
+ T extends AnySQLiteTable,
774
+ NativeId,
775
+ NativeSessionId,
776
+ A,
777
+ E,
778
+ R,
779
+ DatabaseError,
780
+ DatabaseRequirements,
781
+ TxId,
782
+ TxShape,
783
+ >(
784
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
785
+ options: {
786
+ readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;
787
+ readonly target: SuppliedService<TargetId, SignedSessionValidity>;
788
+ readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
789
+ },
790
+ body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<TargetId | TxId> : R>,
791
+ ): Effect.Effect<
792
+ A,
793
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
794
+ | (Synchronous extends true ? never : Exclude<R, TargetId | TxId>)
795
+ | LifecycleHooks
796
+ | DatabaseRequirements
797
+ >;
798
+ function coordinateSignedSessionValidity<
799
+ Database extends D,
800
+ TargetId,
801
+ S extends AnySQLiteTable,
802
+ T extends AnySQLiteTable,
803
+ NativeId,
804
+ NativeSessionId,
805
+ A,
806
+ E,
807
+ R,
808
+ DatabaseError,
809
+ DatabaseRequirements,
810
+ TxId,
811
+ TxShape,
812
+ >(
813
+ acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
814
+ options: {
815
+ readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;
816
+ readonly target: SuppliedService<TargetId, SignedSessionValidity>;
817
+ readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
818
+ },
819
+ body: Effect.Effect<A, E, R>,
820
+ ): Effect.Effect<
821
+ A,
822
+ E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,
823
+ Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements
824
+ > {
825
+ return Effect.flatMap(acquire, (database) =>
826
+ coordinateSqliteSignedSessionValidity(
827
+ database,
828
+ options.mapping,
829
+ configurationFor(database),
830
+ (
831
+ transaction: TransactionOf<Database>,
832
+ services: { readonly signedSessionValidity: SignedSessionValidity },
833
+ ) => {
834
+ const provided = Context.make(options.target, services.signedSessionValidity);
835
+ const work = Effect.provideContext(body, provided);
836
+
837
+ return options.transaction === undefined
838
+ ? work
839
+ : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
840
+ },
841
+ ),
842
+ );
843
+ }
844
+
845
+ return {
846
+ makeSessionStepUpServices: <
847
+ Claims,
848
+ Id,
849
+ S extends AnySQLiteTable,
850
+ C extends AnySQLiteTable,
851
+ I extends AnySQLiteTable,
852
+ Session extends AnySQLiteTable,
853
+ T extends AnySQLiteTable,
854
+ NativeId,
855
+ NativeSessionId,
856
+ >(
857
+ database: D,
858
+ mapping: SessionStepUpMapping<
859
+ NoInfer<Claims>,
860
+ S,
861
+ C,
862
+ I,
863
+ Session,
864
+ T,
865
+ NativeId,
866
+ NativeSessionId
867
+ >,
868
+ target: Context.Service<Id, SessionStepUpPersistence<Claims>>,
869
+ ) => makeSqliteSessionStepUpServices(database, mapping, target, configurationFor(database)),
870
+ coordinateSessionStepUp,
871
+ makeAuthenticationAuthorityServices: <
872
+ Claims,
873
+ S extends AnySQLiteTable,
874
+ C extends AnySQLiteTable,
875
+ F extends AnySQLiteTable,
876
+ P extends AnySQLiteTable,
877
+ NativeId,
878
+ >(
879
+ database: D,
880
+ mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>,
881
+ ) => makeSqliteAuthenticationAuthorityServices(database, mapping, configurationFor(database)),
882
+ makePendingAuthenticationServices: <
883
+ Claims,
884
+ S extends AnySQLiteTable,
885
+ C extends AnySQLiteTable,
886
+ P extends AnySQLiteTable,
887
+ F extends AnySQLiteTable,
888
+ NativeId,
889
+ >(
890
+ database: D,
891
+ mapping: PendingAuthenticationMapping<Claims, S, C, P, F, NativeId>,
892
+ ) => makeSqlitePendingAuthenticationServices(database, mapping, configurationFor(database)),
893
+ makeStatefulSessionServices: <
894
+ Claims,
895
+ S extends AnySQLiteTable,
896
+ C extends AnySQLiteTable,
897
+ Session extends AnySQLiteTable,
898
+ F extends AnySQLiteTable,
899
+ P extends AnySQLiteTable,
900
+ NativeId,
901
+ NativeSessionId,
902
+ >(
903
+ database: D,
904
+ mapping: StatefulSessionMapping<Claims, S, C, Session, F, P, NativeId, NativeSessionId>,
905
+ ) => makeSqliteStatefulSessionServices(database, mapping, configurationFor(database)),
906
+ makeSignedSessionValidityServices: <
907
+ S extends AnySQLiteTable,
908
+ T extends AnySQLiteTable,
909
+ NativeId,
910
+ NativeSessionId,
911
+ >(
912
+ database: D,
913
+ mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>,
914
+ ) => makeSqliteSignedSessionValidityServices(database, mapping, configurationFor(database)),
915
+ coordinateAuthenticationAuthority,
916
+ coordinatePendingAuthentication,
917
+ coordinateStatefulSessions,
918
+ coordinateSignedSessionValidity,
919
+ };
920
+ };
921
+
922
+ import type { SessionStepUpMapping } from "./step-up-model";
923
+
924
+ export const makeSqliteSessionStepUpServices = <
925
+ Claims,
926
+ Id,
927
+ S extends AnySQLiteTable,
928
+ C extends AnySQLiteTable,
929
+ I extends AnySQLiteTable,
930
+ Session extends AnySQLiteTable,
931
+ T extends AnySQLiteTable,
932
+ NativeId,
933
+ NativeSessionId,
934
+ >(
935
+ database: Database,
936
+ mapping: SessionStepUpMapping<NoInfer<Claims>, S, C, I, Session, T, NativeId, NativeSessionId>,
937
+ target: Context.Service<Id, SessionStepUpPersistence<Claims>>,
938
+ configuration: SessionTargetConfiguration,
939
+ ) => makeTargetSessionStepUpServices(database, mapping, target, configuration);
940
+
941
+ export const coordinateSqliteSessionStepUp = <
942
+ Claims,
943
+ Id,
944
+ S extends AnySQLiteTable,
945
+ C extends AnySQLiteTable,
946
+ I extends AnySQLiteTable,
947
+ Session extends AnySQLiteTable,
948
+ T extends AnySQLiteTable,
949
+ NativeId,
950
+ NativeSessionId,
951
+ D extends Database,
952
+ A,
953
+ E,
954
+ R,
955
+ >(
956
+ database: D,
957
+ mapping: SessionStepUpMapping<NoInfer<Claims>, S, C, I, Session, T, NativeId, NativeSessionId>,
958
+ target: Context.Service<Id, SessionStepUpPersistence<Claims>>,
959
+ configuration: SessionTargetConfiguration,
960
+ owner: (
961
+ transaction: TransactionOf<D>,
962
+ services: { readonly sessionStepUpPersistence: SessionStepUpPersistence<Claims> },
963
+ ) => Effect.Effect<A, E, R>,
964
+ ) =>
965
+ coordinateTargetSessionStepUp<Claims, Id, TransactionOf<D>, A, E, R>(
966
+ database,
967
+ mapping,
968
+ target,
969
+ configuration,
970
+ owner,
971
+ );