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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/README.md +6 -8
  2. package/dist/Adapter.d.mts +47 -33
  3. package/dist/Adapter.mjs +36 -23
  4. package/dist/OAuthPersistence.d.mts +35 -51
  5. package/dist/OAuthPersistence.mjs +60 -68
  6. package/dist/OAuthPersistence.mjs.map +1 -1
  7. package/dist/index.d.mts +2 -2
  8. package/dist/index.mjs +2 -2
  9. package/dist/internal/browser-login.d.mts +1 -1
  10. package/dist/internal/browser-login.mjs +29 -9
  11. package/dist/internal/browser-login.mjs.map +1 -1
  12. package/dist/internal/configuration.d.mts +13 -8
  13. package/dist/internal/configuration.mjs.map +1 -1
  14. package/dist/internal/crypto.d.mts +1 -0
  15. package/dist/internal/crypto.mjs +1 -1
  16. package/dist/internal/d1-planning.mjs +8 -0
  17. package/dist/internal/d1-planning.mjs.map +1 -0
  18. package/dist/internal/email-native-state.mjs +135 -0
  19. package/dist/internal/email-native-state.mjs.map +1 -0
  20. package/dist/internal/email-native.d.mts +17 -0
  21. package/dist/internal/email-native.mjs +245 -0
  22. package/dist/internal/email-native.mjs.map +1 -0
  23. package/dist/internal/email-policy.mjs +92 -0
  24. package/dist/internal/email-policy.mjs.map +1 -0
  25. package/dist/internal/email-registration-native.d.mts +38 -0
  26. package/dist/internal/email-registration-native.mjs +171 -0
  27. package/dist/internal/email-registration-native.mjs.map +1 -0
  28. package/dist/internal/models/email-model.d.mts +40 -104
  29. package/dist/internal/models/email-model.mjs +3 -5
  30. package/dist/internal/models/email-model.mjs.map +1 -1
  31. package/dist/internal/models/oauth-connected-model.d.mts +44 -213
  32. package/dist/internal/models/oauth-connected-model.mjs +6 -14
  33. package/dist/internal/models/oauth-connected-model.mjs.map +1 -1
  34. package/dist/internal/models/oauth-model.d.mts +95 -244
  35. package/dist/internal/models/oauth-model.mjs +28 -22
  36. package/dist/internal/models/oauth-model.mjs.map +1 -1
  37. package/dist/internal/models/passkey-model.d.mts +11 -147
  38. package/dist/internal/models/passkey-model.mjs +5 -24
  39. package/dist/internal/models/passkey-model.mjs.map +1 -1
  40. package/dist/internal/models/passkey-registration-ceremony-model.d.mts +5 -39
  41. package/dist/internal/models/passkey-write-model.d.mts +17 -75
  42. package/dist/internal/models/passkey-write-model.mjs +1 -7
  43. package/dist/internal/models/passkey-write-model.mjs.map +1 -1
  44. package/dist/internal/models/password-model.d.mts +14 -81
  45. package/dist/internal/models/password-model.mjs +1 -4
  46. package/dist/internal/models/password-model.mjs.map +1 -1
  47. package/dist/internal/models/phone-model.d.mts +86 -0
  48. package/dist/internal/models/phone-model.mjs +10 -0
  49. package/dist/internal/models/phone-model.mjs.map +1 -0
  50. package/dist/internal/models/proof-model.d.mts +43 -272
  51. package/dist/internal/models/proof-model.mjs +2 -10
  52. package/dist/internal/models/proof-model.mjs.map +1 -1
  53. package/dist/internal/models/session-model.d.mts +74 -93
  54. package/dist/internal/models/session-model.mjs +3 -11
  55. package/dist/internal/models/session-model.mjs.map +1 -1
  56. package/dist/internal/models/step-up-model.d.mts +12 -50
  57. package/dist/internal/models/step-up-model.mjs +2 -4
  58. package/dist/internal/models/step-up-model.mjs.map +1 -1
  59. package/dist/internal/models/totp-model.d.mts +76 -0
  60. package/dist/internal/models/totp-model.mjs +10 -0
  61. package/dist/internal/models/totp-model.mjs.map +1 -0
  62. package/dist/internal/native-sql-table.d.mts +21 -4
  63. package/dist/internal/native-sql-table.mjs +9 -5
  64. package/dist/internal/native-sql-table.mjs.map +1 -1
  65. package/dist/internal/oauth/native-accounts.d.mts +17 -0
  66. package/dist/internal/oauth/native-accounts.mjs +290 -0
  67. package/dist/internal/oauth/native-accounts.mjs.map +1 -0
  68. package/dist/internal/oauth/native-connected-state.d.mts +11 -0
  69. package/dist/internal/oauth/native-connected-state.mjs +146 -0
  70. package/dist/internal/oauth/native-connected-state.mjs.map +1 -0
  71. package/dist/internal/oauth/native-connected.d.mts +15 -0
  72. package/dist/internal/oauth/native-connected.mjs +462 -0
  73. package/dist/internal/oauth/native-connected.mjs.map +1 -0
  74. package/dist/internal/oauth/native-flow.mjs +138 -0
  75. package/dist/internal/oauth/native-flow.mjs.map +1 -0
  76. package/dist/internal/oauth/native-layers.d.mts +24 -0
  77. package/dist/internal/oauth/native-layers.mjs +13 -0
  78. package/dist/internal/oauth/native-layers.mjs.map +1 -0
  79. package/dist/internal/oauth/native-mutation.mjs +122 -0
  80. package/dist/internal/oauth/native-mutation.mjs.map +1 -0
  81. package/dist/internal/oauth/native-registration.d.mts +24 -0
  82. package/dist/internal/oauth/native-registration.mjs +328 -0
  83. package/dist/internal/oauth/native-registration.mjs.map +1 -0
  84. package/dist/internal/oauth/native-revocations.d.mts +17 -0
  85. package/dist/internal/oauth/native-revocations.mjs +106 -0
  86. package/dist/internal/oauth/native-revocations.mjs.map +1 -0
  87. package/dist/internal/oauth/native-sign-in.d.mts +17 -0
  88. package/dist/internal/oauth/native-sign-in.mjs +50 -0
  89. package/dist/internal/oauth/native-sign-in.mjs.map +1 -0
  90. package/dist/internal/oauth/native-state.d.mts +10 -0
  91. package/dist/internal/oauth/native-state.mjs +214 -0
  92. package/dist/internal/oauth/native-state.mjs.map +1 -0
  93. package/dist/internal/oauth/state.d.mts +10 -0
  94. package/dist/internal/oauth/state.mjs +3 -27
  95. package/dist/internal/oauth/state.mjs.map +1 -1
  96. package/dist/internal/passkey-actions.mjs +55 -0
  97. package/dist/internal/passkey-actions.mjs.map +1 -0
  98. package/dist/internal/passkey-inputs.mjs +73 -0
  99. package/dist/internal/passkey-inputs.mjs.map +1 -0
  100. package/dist/internal/passkey-managed.mjs +224 -0
  101. package/dist/internal/passkey-managed.mjs.map +1 -0
  102. package/dist/internal/passkey-native-ceremony.d.mts +35 -0
  103. package/dist/internal/passkey-native-ceremony.mjs +38 -0
  104. package/dist/internal/passkey-native-ceremony.mjs.map +1 -0
  105. package/dist/internal/passkey-native-flow.mjs +91 -0
  106. package/dist/internal/passkey-native-flow.mjs.map +1 -0
  107. package/dist/internal/passkey-native-registration.d.mts +10 -0
  108. package/dist/internal/passkey-native-registration.mjs +114 -0
  109. package/dist/internal/passkey-native-registration.mjs.map +1 -0
  110. package/dist/internal/passkey-native-state.d.mts +15 -0
  111. package/dist/internal/passkey-native-state.mjs +186 -0
  112. package/dist/internal/passkey-native-state.mjs.map +1 -0
  113. package/dist/internal/passkey-native-write.d.mts +82 -0
  114. package/dist/internal/passkey-native-write.mjs +330 -0
  115. package/dist/internal/passkey-native-write.mjs.map +1 -0
  116. package/dist/internal/passkey-native.d.mts +835 -0
  117. package/dist/internal/passkey-native.mjs +175 -0
  118. package/dist/internal/passkey-native.mjs.map +1 -0
  119. package/dist/internal/passkey-policy.mjs +115 -0
  120. package/dist/internal/passkey-policy.mjs.map +1 -0
  121. package/dist/internal/password-credentials.mjs +38 -9
  122. package/dist/internal/password-credentials.mjs.map +1 -1
  123. package/dist/internal/password-native.d.mts +14 -0
  124. package/dist/internal/password-native.mjs +292 -0
  125. package/dist/internal/password-native.mjs.map +1 -0
  126. package/dist/internal/password-policy.mjs +93 -0
  127. package/dist/internal/password-policy.mjs.map +1 -0
  128. package/dist/internal/password-registration-native.d.mts +22 -0
  129. package/dist/internal/password-registration-native.mjs +142 -0
  130. package/dist/internal/password-registration-native.mjs.map +1 -0
  131. package/dist/internal/persistence.d.mts +6 -19
  132. package/dist/internal/persistence.mjs +199 -166
  133. package/dist/internal/persistence.mjs.map +1 -1
  134. package/dist/internal/phone-composed.mjs +79 -0
  135. package/dist/internal/phone-composed.mjs.map +1 -0
  136. package/dist/internal/phone-native.d.mts +15 -0
  137. package/dist/internal/phone-native.mjs +354 -0
  138. package/dist/internal/phone-native.mjs.map +1 -0
  139. package/dist/internal/proof-native.d.mts +15 -0
  140. package/dist/internal/proof-native.mjs +289 -0
  141. package/dist/internal/proof-native.mjs.map +1 -0
  142. package/dist/internal/registration.mjs +50 -60
  143. package/dist/internal/registration.mjs.map +1 -1
  144. package/dist/internal/session-native-authority.d.mts +15 -0
  145. package/dist/internal/session-native-authority.mjs +91 -0
  146. package/dist/internal/session-native-authority.mjs.map +1 -0
  147. package/dist/internal/session-native-cleanup.d.mts +14 -0
  148. package/dist/internal/session-native-cleanup.mjs +48 -0
  149. package/dist/internal/session-native-cleanup.mjs.map +1 -0
  150. package/dist/internal/session-native-login.d.mts +15 -0
  151. package/dist/internal/session-native-login.mjs +87 -0
  152. package/dist/internal/session-native-login.mjs.map +1 -0
  153. package/dist/internal/session-native-pending-read.mjs +42 -0
  154. package/dist/internal/session-native-pending-read.mjs.map +1 -0
  155. package/dist/internal/session-native-pending.mjs +134 -0
  156. package/dist/internal/session-native-pending.mjs.map +1 -0
  157. package/dist/internal/session-native-record.mjs +79 -0
  158. package/dist/internal/session-native-record.mjs.map +1 -0
  159. package/dist/internal/session-native-state.mjs +130 -0
  160. package/dist/internal/session-native-state.mjs.map +1 -0
  161. package/dist/internal/session-native-stateful.d.mts +16 -0
  162. package/dist/internal/session-native-stateful.mjs +225 -0
  163. package/dist/internal/session-native-stateful.mjs.map +1 -0
  164. package/dist/internal/session-native-step-up.d.mts +15 -0
  165. package/dist/internal/session-native-step-up.mjs +212 -0
  166. package/dist/internal/session-native-step-up.mjs.map +1 -0
  167. package/dist/internal/session-native-validity.d.mts +15 -0
  168. package/dist/internal/session-native-validity.mjs +97 -0
  169. package/dist/internal/session-native-validity.mjs.map +1 -0
  170. package/dist/internal/session-policy.mjs +29 -0
  171. package/dist/internal/session-policy.mjs.map +1 -0
  172. package/dist/internal/sql-authority.d.mts +16 -0
  173. package/dist/internal/sql-authority.mjs +32 -0
  174. package/dist/internal/sql-authority.mjs.map +1 -0
  175. package/dist/internal/sql-change.mjs +21 -0
  176. package/dist/internal/sql-change.mjs.map +1 -0
  177. package/dist/internal/sql-cleanup.mjs +35 -0
  178. package/dist/internal/sql-cleanup.mjs.map +1 -0
  179. package/dist/internal/sql-commit.d.mts +72 -0
  180. package/dist/internal/sql-commit.mjs +176 -0
  181. package/dist/internal/sql-commit.mjs.map +1 -0
  182. package/dist/internal/sql-expression.d.mts +17 -0
  183. package/dist/internal/sql-expression.mjs +49 -0
  184. package/dist/internal/sql-expression.mjs.map +1 -0
  185. package/dist/internal/sql-oauth-connected-model.d.mts +7 -23
  186. package/dist/internal/sql-oauth-model.d.mts +27 -52
  187. package/dist/internal/sql-oauth-model.mjs +3 -4
  188. package/dist/internal/sql-oauth-model.mjs.map +1 -1
  189. package/dist/internal/sql-persistence.mjs +5 -9
  190. package/dist/internal/sql-persistence.mjs.map +1 -1
  191. package/dist/internal/sql-storage-validation.mjs +1 -2
  192. package/dist/internal/sql-storage-validation.mjs.map +1 -1
  193. package/dist/internal/sql-table.d.mts +3 -16
  194. package/dist/internal/sql-table.mjs +21 -42
  195. package/dist/internal/sql-table.mjs.map +1 -1
  196. package/dist/internal/standalone.mjs +2 -3
  197. package/dist/internal/standalone.mjs.map +1 -1
  198. package/dist/internal/step-up-state.mjs +5 -8
  199. package/dist/internal/step-up-state.mjs.map +1 -1
  200. package/dist/internal/storage-clock.mjs +44 -0
  201. package/dist/internal/storage-clock.mjs.map +1 -0
  202. package/dist/internal/storage-mapping.d.mts +11 -8
  203. package/dist/internal/storage-mapping.mjs +88 -302
  204. package/dist/internal/storage-mapping.mjs.map +1 -1
  205. package/dist/internal/storage-plans.mjs +15 -73
  206. package/dist/internal/storage-plans.mjs.map +1 -1
  207. package/dist/internal/storage-tables.d.mts +37 -520
  208. package/dist/internal/storage-tables.mjs +31 -211
  209. package/dist/internal/storage-tables.mjs.map +1 -1
  210. package/dist/internal/storage-validation.d.mts +1 -6
  211. package/dist/internal/storage-validation.mjs +1 -42
  212. package/dist/internal/storage-validation.mjs.map +1 -1
  213. package/dist/internal/table-model.d.mts +21 -0
  214. package/dist/internal/totp-native.d.mts +15 -0
  215. package/dist/internal/totp-native.mjs +401 -0
  216. package/dist/internal/totp-native.mjs.map +1 -0
  217. package/package.json +1 -1
  218. package/src/Adapter.ts +143 -199
  219. package/src/OAuthPersistence.ts +128 -271
  220. package/src/index.ts +1 -1
  221. package/src/internal/browser-login.ts +54 -24
  222. package/src/internal/configuration.ts +16 -31
  223. package/src/internal/d1-planning.ts +7 -0
  224. package/src/internal/email-native-state.ts +247 -0
  225. package/src/internal/email-native.ts +514 -0
  226. package/src/internal/email-policy.ts +235 -0
  227. package/src/internal/email-registration-native.ts +386 -0
  228. package/src/internal/models/email-model.ts +76 -214
  229. package/src/internal/models/oauth-connected-model.ts +50 -288
  230. package/src/internal/models/oauth-model.ts +147 -368
  231. package/src/internal/models/passkey-model.ts +11 -208
  232. package/src/internal/models/passkey-registration-ceremony-model.ts +6 -60
  233. package/src/internal/models/passkey-write-model.ts +14 -95
  234. package/src/internal/models/password-model.ts +26 -147
  235. package/src/internal/models/phone-model.ts +110 -0
  236. package/src/internal/models/proof-model.ts +48 -404
  237. package/src/internal/models/session-model.ts +102 -200
  238. package/src/internal/models/step-up-model.ts +17 -96
  239. package/src/internal/models/totp-model.ts +82 -0
  240. package/src/internal/native-sql-table.ts +32 -11
  241. package/src/internal/oauth/native-accounts.ts +576 -0
  242. package/src/internal/oauth/native-connected-state.ts +288 -0
  243. package/src/internal/oauth/native-connected.ts +888 -0
  244. package/src/internal/oauth/native-flow.ts +253 -0
  245. package/src/internal/oauth/native-layers.ts +83 -0
  246. package/src/internal/oauth/native-mutation.ts +222 -0
  247. package/src/internal/oauth/native-registration.ts +545 -0
  248. package/src/internal/oauth/native-revocations.ts +190 -0
  249. package/src/internal/oauth/native-sign-in.ts +111 -0
  250. package/src/internal/oauth/native-state.ts +346 -0
  251. package/src/internal/oauth/state.ts +2 -70
  252. package/src/internal/passkey-actions.ts +70 -0
  253. package/src/internal/passkey-inputs.ts +56 -0
  254. package/src/internal/passkey-managed.ts +360 -0
  255. package/src/internal/passkey-native-ceremony.ts +66 -0
  256. package/src/internal/passkey-native-flow.ts +140 -0
  257. package/src/internal/passkey-native-registration.ts +221 -0
  258. package/src/internal/passkey-native-state.ts +335 -0
  259. package/src/internal/passkey-native-write.ts +611 -0
  260. package/src/internal/passkey-native.ts +372 -0
  261. package/src/internal/passkey-policy.ts +246 -0
  262. package/src/internal/password-credentials.ts +52 -10
  263. package/src/internal/password-native.ts +571 -0
  264. package/src/internal/password-policy.ts +307 -0
  265. package/src/internal/password-registration-native.ts +322 -0
  266. package/src/internal/persistence.ts +336 -290
  267. package/src/internal/phone-composed.ts +86 -0
  268. package/src/internal/phone-native.ts +659 -0
  269. package/src/internal/proof-native.ts +448 -0
  270. package/src/internal/registration.ts +96 -143
  271. package/src/internal/session-native-authority.ts +247 -0
  272. package/src/internal/session-native-cleanup.ts +65 -0
  273. package/src/internal/session-native-login.ts +205 -0
  274. package/src/internal/session-native-pending-read.ts +68 -0
  275. package/src/internal/session-native-pending.ts +223 -0
  276. package/src/internal/session-native-record.ts +141 -0
  277. package/src/internal/session-native-state.ts +259 -0
  278. package/src/internal/session-native-stateful.ts +512 -0
  279. package/src/internal/session-native-step-up.ts +450 -0
  280. package/src/internal/session-native-validity.ts +208 -0
  281. package/src/internal/session-policy.ts +59 -0
  282. package/src/internal/sql-authority.ts +56 -0
  283. package/src/internal/sql-change.ts +38 -0
  284. package/src/internal/sql-cleanup.ts +56 -0
  285. package/src/internal/sql-commit.ts +435 -0
  286. package/src/internal/sql-expression.ts +94 -0
  287. package/src/internal/sql-metadata.ts +100 -0
  288. package/src/internal/sql-oauth-connected-model.ts +6 -95
  289. package/src/internal/sql-oauth-model.ts +31 -134
  290. package/src/internal/sql-persistence.ts +2 -6
  291. package/src/internal/sql-storage-validation.ts +1 -2
  292. package/src/internal/sql-table.ts +19 -52
  293. package/src/internal/standalone.ts +2 -11
  294. package/src/internal/step-up-state.ts +4 -17
  295. package/src/internal/storage-clock.ts +58 -0
  296. package/src/internal/storage-mapping.ts +125 -340
  297. package/src/internal/storage-plans.ts +14 -80
  298. package/src/internal/storage-tables.ts +28 -212
  299. package/src/internal/storage-validation.ts +0 -58
  300. package/src/internal/table-model.ts +24 -0
  301. package/src/internal/totp-native.ts +701 -0
  302. package/dist/internal/PasswordPreparedPostconditions.d.mts +0 -22
  303. package/dist/internal/PasswordPreparedPostconditions.mjs +0 -12
  304. package/dist/internal/PasswordPreparedPostconditions.mjs.map +0 -1
  305. package/dist/internal/authority-snapshot.mjs +0 -53
  306. package/dist/internal/authority-snapshot.mjs.map +0 -1
  307. package/dist/internal/email-kernel.d.mts +0 -276
  308. package/dist/internal/email-kernel.mjs +0 -497
  309. package/dist/internal/email-kernel.mjs.map +0 -1
  310. package/dist/internal/models/passkey-registration-ceremony-model.mjs +0 -18
  311. package/dist/internal/models/passkey-registration-ceremony-model.mjs.map +0 -1
  312. package/dist/internal/oauth/accounts.d.mts +0 -8
  313. package/dist/internal/oauth/accounts.mjs +0 -379
  314. package/dist/internal/oauth/accounts.mjs.map +0 -1
  315. package/dist/internal/oauth/connected-access.d.mts +0 -9
  316. package/dist/internal/oauth/connected-access.mjs +0 -229
  317. package/dist/internal/oauth/connected-access.mjs.map +0 -1
  318. package/dist/internal/oauth/connected-collection.d.mts +0 -7
  319. package/dist/internal/oauth/connected-collection.mjs +0 -214
  320. package/dist/internal/oauth/connected-collection.mjs.map +0 -1
  321. package/dist/internal/oauth/connected-custody.d.mts +0 -6
  322. package/dist/internal/oauth/connected-custody.mjs +0 -165
  323. package/dist/internal/oauth/connected-custody.mjs.map +0 -1
  324. package/dist/internal/oauth/connected-flow.d.mts +0 -7
  325. package/dist/internal/oauth/connected-flow.mjs +0 -324
  326. package/dist/internal/oauth/connected-flow.mjs.map +0 -1
  327. package/dist/internal/oauth/connected-input.mjs +0 -122
  328. package/dist/internal/oauth/connected-input.mjs.map +0 -1
  329. package/dist/internal/oauth/connected-keys.d.mts +0 -2
  330. package/dist/internal/oauth/connected-keys.mjs +0 -22
  331. package/dist/internal/oauth/connected-keys.mjs.map +0 -1
  332. package/dist/internal/oauth/connected-maintenance.d.mts +0 -9
  333. package/dist/internal/oauth/connected-maintenance.mjs +0 -226
  334. package/dist/internal/oauth/connected-maintenance.mjs.map +0 -1
  335. package/dist/internal/oauth/connected-management.d.mts +0 -9
  336. package/dist/internal/oauth/connected-management.mjs +0 -243
  337. package/dist/internal/oauth/connected-management.mjs.map +0 -1
  338. package/dist/internal/oauth/connected-reference.mjs +0 -63
  339. package/dist/internal/oauth/connected-reference.mjs.map +0 -1
  340. package/dist/internal/oauth/connected-settlement.d.mts +0 -8
  341. package/dist/internal/oauth/connected-settlement.mjs +0 -141
  342. package/dist/internal/oauth/connected-settlement.mjs.map +0 -1
  343. package/dist/internal/oauth/connected-sign-in.d.mts +0 -10
  344. package/dist/internal/oauth/connected-sign-in.mjs +0 -281
  345. package/dist/internal/oauth/connected-sign-in.mjs.map +0 -1
  346. package/dist/internal/oauth/connected-state.d.mts +0 -14
  347. package/dist/internal/oauth/connected-state.mjs +0 -469
  348. package/dist/internal/oauth/connected-state.mjs.map +0 -1
  349. package/dist/internal/oauth/connected-target.d.mts +0 -21
  350. package/dist/internal/oauth/connected-target.mjs +0 -117
  351. package/dist/internal/oauth/connected-target.mjs.map +0 -1
  352. package/dist/internal/oauth/flow.d.mts +0 -5
  353. package/dist/internal/oauth/flow.mjs +0 -279
  354. package/dist/internal/oauth/flow.mjs.map +0 -1
  355. package/dist/internal/oauth/input.mjs +0 -127
  356. package/dist/internal/oauth/input.mjs.map +0 -1
  357. package/dist/internal/oauth/owner.d.mts +0 -10
  358. package/dist/internal/oauth/owner.mjs +0 -10
  359. package/dist/internal/oauth/owner.mjs.map +0 -1
  360. package/dist/internal/oauth/query-compiler.d.mts +0 -7
  361. package/dist/internal/oauth/query-compiler.mjs +0 -9
  362. package/dist/internal/oauth/query-compiler.mjs.map +0 -1
  363. package/dist/internal/oauth/registration.d.mts +0 -7
  364. package/dist/internal/oauth/registration.mjs +0 -393
  365. package/dist/internal/oauth/registration.mjs.map +0 -1
  366. package/dist/internal/oauth/target.d.mts +0 -31
  367. package/dist/internal/oauth/target.mjs +0 -273
  368. package/dist/internal/oauth/target.mjs.map +0 -1
  369. package/dist/internal/oauth-kernel.d.mts +0 -1423
  370. package/dist/internal/oauth-kernel.mjs +0 -187
  371. package/dist/internal/oauth-kernel.mjs.map +0 -1
  372. package/dist/internal/passkey/admission.d.mts +0 -6
  373. package/dist/internal/passkey/admission.mjs +0 -220
  374. package/dist/internal/passkey/admission.mjs.map +0 -1
  375. package/dist/internal/passkey/credentials.d.mts +0 -14
  376. package/dist/internal/passkey/credentials.mjs +0 -249
  377. package/dist/internal/passkey/credentials.mjs.map +0 -1
  378. package/dist/internal/passkey/enrollment.mjs +0 -138
  379. package/dist/internal/passkey/enrollment.mjs.map +0 -1
  380. package/dist/internal/passkey/flow.d.mts +0 -21
  381. package/dist/internal/passkey/flow.mjs +0 -452
  382. package/dist/internal/passkey/flow.mjs.map +0 -1
  383. package/dist/internal/passkey/management.mjs +0 -231
  384. package/dist/internal/passkey/management.mjs.map +0 -1
  385. package/dist/internal/passkey/registration-ceremony.d.mts +0 -9
  386. package/dist/internal/passkey/registration-ceremony.mjs +0 -129
  387. package/dist/internal/passkey/registration-ceremony.mjs.map +0 -1
  388. package/dist/internal/passkey/registration-custody.d.mts +0 -2
  389. package/dist/internal/passkey/registration-custody.mjs +0 -52
  390. package/dist/internal/passkey/registration-custody.mjs.map +0 -1
  391. package/dist/internal/passkey/registration-write.mjs +0 -211
  392. package/dist/internal/passkey/registration-write.mjs.map +0 -1
  393. package/dist/internal/passkey/state.d.mts +0 -10
  394. package/dist/internal/passkey/state.mjs +0 -234
  395. package/dist/internal/passkey/state.mjs.map +0 -1
  396. package/dist/internal/passkey/target.d.mts +0 -20
  397. package/dist/internal/passkey/target.mjs +0 -200
  398. package/dist/internal/passkey/target.mjs.map +0 -1
  399. package/dist/internal/passkey/write-state.d.mts +0 -17
  400. package/dist/internal/passkey/write-state.mjs +0 -354
  401. package/dist/internal/passkey/write-state.mjs.map +0 -1
  402. package/dist/internal/passkey/write-target.mjs +0 -192
  403. package/dist/internal/passkey/write-target.mjs.map +0 -1
  404. package/dist/internal/passkey-kernel.d.mts +0 -6045
  405. package/dist/internal/passkey-kernel.mjs +0 -49
  406. package/dist/internal/passkey-kernel.mjs.map +0 -1
  407. package/dist/internal/passkeys.d.mts +0 -7
  408. package/dist/internal/passkeys.mjs +0 -387
  409. package/dist/internal/passkeys.mjs.map +0 -1
  410. package/dist/internal/password-credentials.d.mts +0 -11
  411. package/dist/internal/password-kernel.d.mts +0 -278
  412. package/dist/internal/password-kernel.mjs +0 -508
  413. package/dist/internal/password-kernel.mjs.map +0 -1
  414. package/dist/internal/phone-kernel.d.mts +0 -162
  415. package/dist/internal/phone-kernel.mjs +0 -437
  416. package/dist/internal/phone-kernel.mjs.map +0 -1
  417. package/dist/internal/proof-kernel.d.mts +0 -94
  418. package/dist/internal/proof-kernel.mjs +0 -624
  419. package/dist/internal/proof-kernel.mjs.map +0 -1
  420. package/dist/internal/query-operations.d.mts +0 -68
  421. package/dist/internal/session-kernel.d.mts +0 -62
  422. package/dist/internal/session-kernel.mjs +0 -820
  423. package/dist/internal/session-kernel.mjs.map +0 -1
  424. package/dist/internal/sql-oauth-connected-model.mjs +0 -7
  425. package/dist/internal/sql-oauth-connected-model.mjs.map +0 -1
  426. package/dist/internal/sql-query.d.mts +0 -12
  427. package/dist/internal/sql-query.mjs +0 -206
  428. package/dist/internal/sql-query.mjs.map +0 -1
  429. package/dist/internal/step-up-state.d.mts +0 -49
  430. package/dist/internal/transaction-execution-kernel.d.mts +0 -37
  431. package/dist/internal/transaction-execution-kernel.mjs +0 -120
  432. package/dist/internal/transaction-execution-kernel.mjs.map +0 -1
  433. package/dist/internal/transaction-kernel.d.mts +0 -81
  434. package/dist/internal/transaction-kernel.mjs +0 -264
  435. package/dist/internal/transaction-kernel.mjs.map +0 -1
  436. package/src/internal/PasswordPreparedPostconditions.ts +0 -30
  437. package/src/internal/authority-snapshot.ts +0 -91
  438. package/src/internal/email-kernel.ts +0 -1556
  439. package/src/internal/oauth/accounts.ts +0 -839
  440. package/src/internal/oauth/connected-access.ts +0 -388
  441. package/src/internal/oauth/connected-collection.ts +0 -345
  442. package/src/internal/oauth/connected-custody.ts +0 -308
  443. package/src/internal/oauth/connected-flow.ts +0 -562
  444. package/src/internal/oauth/connected-input.ts +0 -147
  445. package/src/internal/oauth/connected-keys.ts +0 -31
  446. package/src/internal/oauth/connected-maintenance.ts +0 -379
  447. package/src/internal/oauth/connected-management.ts +0 -391
  448. package/src/internal/oauth/connected-reference.ts +0 -135
  449. package/src/internal/oauth/connected-settlement.ts +0 -278
  450. package/src/internal/oauth/connected-sign-in.ts +0 -472
  451. package/src/internal/oauth/connected-state.ts +0 -924
  452. package/src/internal/oauth/connected-target.ts +0 -307
  453. package/src/internal/oauth/flow.ts +0 -505
  454. package/src/internal/oauth/input.ts +0 -201
  455. package/src/internal/oauth/owner.ts +0 -22
  456. package/src/internal/oauth/query-compiler.ts +0 -15
  457. package/src/internal/oauth/registration.ts +0 -676
  458. package/src/internal/oauth/target.ts +0 -803
  459. package/src/internal/oauth-kernel.ts +0 -294
  460. package/src/internal/passkey/admission.ts +0 -368
  461. package/src/internal/passkey/credentials.ts +0 -511
  462. package/src/internal/passkey/enrollment.ts +0 -326
  463. package/src/internal/passkey/flow.ts +0 -1062
  464. package/src/internal/passkey/management.ts +0 -426
  465. package/src/internal/passkey/registration-ceremony.ts +0 -283
  466. package/src/internal/passkey/registration-custody.ts +0 -91
  467. package/src/internal/passkey/registration-write.ts +0 -426
  468. package/src/internal/passkey/state.ts +0 -351
  469. package/src/internal/passkey/target.ts +0 -598
  470. package/src/internal/passkey/write-state.ts +0 -692
  471. package/src/internal/passkey/write-target.ts +0 -450
  472. package/src/internal/passkey-kernel.ts +0 -112
  473. package/src/internal/passkeys.ts +0 -652
  474. package/src/internal/password-kernel.ts +0 -1523
  475. package/src/internal/phone-kernel.ts +0 -872
  476. package/src/internal/proof-kernel.ts +0 -1992
  477. package/src/internal/query-operations.ts +0 -91
  478. package/src/internal/session-kernel.ts +0 -2406
  479. package/src/internal/sql-query.ts +0 -304
  480. package/src/internal/transaction-execution-kernel.ts +0 -335
  481. package/src/internal/transaction-kernel.ts +0 -603
@@ -1,12 +1,13 @@
1
- import type { EmailAction, EmailRegistrationDecision } from "@yielded/auth/Email";
1
+ import type { EmailAction } from "@yielded/auth/Email";
2
2
  import type { LoginIdentifier } from "@yielded/auth/Identity";
3
- import type { ProofBinding, ProofContinuationId, ProofPurpose } from "@yielded/auth/Proofs";
3
+ import type { ProofRedemptionInput } from "@yielded/auth/Proofs";
4
4
  import type { TokenDigest } from "@yielded/auth/Schema";
5
5
  import type { AuthenticationRequirement, SecurityRevision } from "@yielded/auth/Sessions";
6
6
  import type { Effect } from "effect";
7
7
 
8
- import type { AnyTableModel, TableModel as Table, SqlExpression } from "../query-operations";
8
+ import type { AnyTableModel, TableModel as Table, SqlExpression } from "../table-model";
9
9
  import type { PersistenceMappingError, SubjectIdCodec } from "./common";
10
+ import type { ProofClock } from "./proof-model";
10
11
 
11
12
  type ColumnKey<T extends Table> = T["column"];
12
13
 
@@ -16,7 +17,10 @@ export interface EmailSubjectReadTable<Subject extends Table> {
16
17
  readonly status: ColumnKey<Subject>;
17
18
  readonly securityRevision: ColumnKey<Subject>;
18
19
  readonly isActiveStatus: (value: unknown) => boolean;
19
- readonly d1ActiveStatusValue?: unknown;
20
+ readonly activeStatusValue: unknown;
21
+ readonly decodeRequirement: (
22
+ row: Subject["select"],
23
+ ) => Effect.Effect<AuthenticationRequirement, PersistenceMappingError>;
20
24
  }
21
25
 
22
26
  export interface EmailSubjectTable<Subject extends Table> extends EmailSubjectReadTable<Subject> {
@@ -28,7 +32,7 @@ export interface EmailSubjectTable<Subject extends Table> extends EmailSubjectRe
28
32
  current: SecurityRevision,
29
33
  ) => Effect.Effect<SecurityRevision, PersistenceMappingError>;
30
34
  readonly nextSecurityRevisionSync?: (current: SecurityRevision) => SecurityRevision;
31
- readonly d1ActiveStatusValue?: unknown;
35
+ readonly activeStatusValue: unknown;
32
36
  }
33
37
 
34
38
  export interface EmailIdentifierReadTable<Identifier extends Table> {
@@ -89,13 +93,14 @@ export interface EmailCredentialReadTable<
89
93
  readonly credentialRevision: ColumnKey<Credential>;
90
94
  readonly status: ColumnKey<Credential>;
91
95
  readonly isActiveStatus: (value: unknown) => boolean;
96
+ readonly activeStatusValue: unknown;
92
97
  readonly decode: (input: {
93
98
  readonly moduleId: string;
94
99
  readonly subject: Subject["select"];
95
100
  readonly identifier: Identifier["select"];
96
101
  readonly credential: Credential["select"];
97
102
  }) => Effect.Effect<
98
- import("@yielded/auth/Email").EmailCredentialSnapshot,
103
+ Omit<import("@yielded/auth/Email").EmailCredentialSnapshot, "requirement">,
99
104
  PersistenceMappingError
100
105
  >;
101
106
  }
@@ -121,7 +126,7 @@ export interface EmailCredentialTable<
121
126
  readonly source: LoginIdentifier;
122
127
  readonly credentialRevision: SecurityRevision;
123
128
  }) => Partial<Credential["insert"]>;
124
- readonly d1ActiveStatusValue?: unknown;
129
+ readonly activeStatusValue: unknown;
125
130
  }
126
131
 
127
132
  export interface EmailAuthorityCredentialTable<Credential extends Table, NativeSubjectId> {
@@ -138,32 +143,18 @@ export interface EmailAuthorityCredentialTable<Credential extends Table, NativeS
138
143
  }) => Credential["insert"];
139
144
  readonly encodeActivation: (revision: SecurityRevision) => Partial<Credential["insert"]>;
140
145
  readonly encodeRetirement: (revision: SecurityRevision) => Partial<Credential["insert"]>;
141
- readonly d1ActiveStatusValue?: unknown;
142
- }
143
-
144
- export interface EmailCommandTable<Command extends Table> {
145
- readonly table: Command["table"];
146
- readonly moduleId: ColumnKey<Command>;
147
- readonly commandId: ColumnKey<Command>;
148
- readonly action: ColumnKey<Command>;
149
- readonly bindingDigest: ColumnKey<Command>;
150
- readonly retentionUntil: ColumnKey<Command>;
151
- readonly encodeInsert: (input: {
152
- readonly moduleId: string;
153
- readonly commandId: string;
154
- readonly action: EmailAction;
155
- readonly bindingDigest: TokenDigest;
156
- readonly retentionUntilMillis: number;
157
- }) => Command["insert"];
146
+ readonly activeStatusValue: unknown;
158
147
  }
159
148
 
160
149
  export interface RequiredEmailSignInConstraints {
150
+ readonly authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)";
161
151
  readonly identifier: "unique(identifier.namespace,identifier.value)";
162
152
  readonly credentialId: "unique(emailCredential.moduleId,emailCredential.credentialId)";
163
153
  readonly credentialIdentifier: "unique(emailCredential.moduleId,emailCredential.identifierNamespace,emailCredential.identifierValue)";
164
154
  }
165
155
 
166
156
  export const requiredEmailSignInConstraints: RequiredEmailSignInConstraints = {
157
+ authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)",
167
158
  identifier: "unique(identifier.namespace,identifier.value)",
168
159
  credentialId: "unique(emailCredential.moduleId,emailCredential.credentialId)",
169
160
  credentialIdentifier:
@@ -174,11 +165,13 @@ export interface EmailSignInMapping<
174
165
  Subject extends Table,
175
166
  Identifier extends Table,
176
167
  Credential extends Table,
168
+ AuthorityCredential extends Table,
177
169
  NativeSubjectId,
178
170
  > {
179
171
  readonly subject: EmailSubjectReadTable<Subject>;
180
172
  readonly identifier: EmailIdentifierReadTable<Identifier>;
181
173
  readonly credential: EmailCredentialReadTable<Subject, Identifier, Credential, NativeSubjectId>;
174
+ readonly authorityCredential: EmailAuthorityCredentialTable<AuthorityCredential, NativeSubjectId>;
182
175
  readonly subjectId: SubjectIdCodec<NativeSubjectId>;
183
176
  readonly constraints: RequiredEmailSignInConstraints;
184
177
  readonly decodeInstant: (native: unknown) => Effect.Effect<number, PersistenceMappingError>;
@@ -186,35 +179,31 @@ export interface EmailSignInMapping<
186
179
 
187
180
  export interface RequiredEmailAddressConstraints extends RequiredEmailSignInConstraints {
188
181
  readonly authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)";
189
- readonly command: "unique(emailCommand.moduleId,emailCommand.commandId)";
190
182
  }
191
183
 
192
184
  export const requiredEmailAddressConstraints: RequiredEmailAddressConstraints = {
193
185
  ...requiredEmailSignInConstraints,
194
186
  authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)",
195
- command: "unique(emailCommand.moduleId,emailCommand.commandId)",
196
187
  };
197
188
 
198
- export interface EmailD1Clock<Expression extends SqlExpression = SqlExpression> {
199
- readonly engineNow: Expression;
200
- readonly engineNowMillis: Expression;
201
- readonly engineInstantPlus: (millis: number) => Expression;
202
- }
203
-
204
189
  export interface EmailAddressMapping<
205
190
  Subject extends Table,
206
191
  Identifier extends Table,
207
192
  Credential extends Table,
208
193
  AuthorityCredential extends Table,
209
- Command extends Table,
210
194
  NativeSubjectId,
211
195
  Expression extends SqlExpression = SqlExpression,
212
- > extends EmailSignInMapping<Subject, Identifier, Credential, NativeSubjectId> {
196
+ > extends EmailSignInMapping<
197
+ Subject,
198
+ Identifier,
199
+ Credential,
200
+ AuthorityCredential,
201
+ NativeSubjectId
202
+ > {
213
203
  readonly subject: EmailSubjectTable<Subject>;
214
204
  readonly identifier: EmailIdentifierTable<Identifier, NativeSubjectId, Expression>;
215
205
  readonly credential: EmailCredentialTable<Subject, Identifier, Credential, NativeSubjectId>;
216
206
  readonly authorityCredential: EmailAuthorityCredentialTable<AuthorityCredential, NativeSubjectId>;
217
- readonly command: EmailCommandTable<Command>;
218
207
  readonly constraints: RequiredEmailAddressConstraints;
219
208
  readonly addressCardinality: "single" | "multiple";
220
209
  readonly changeDisposition: "retire-source";
@@ -223,97 +212,21 @@ export interface EmailAddressMapping<
223
212
  readonly allocateRevision?: Effect.Effect<SecurityRevision, PersistenceMappingError>;
224
213
  readonly allocateRevisionSync?: () => SecurityRevision;
225
214
  readonly encodeInstant: (epochMillis: number) => unknown;
226
- readonly commandRetentionMillis: number;
227
215
  readonly sessionInvalidation: "same-authority-immediate" | "original-absolute-expiry";
228
- readonly isCommandConflict: (cause: unknown) => boolean;
229
216
  readonly isIdentifierConflict: (cause: unknown) => boolean;
230
217
  readonly isCredentialConflict: (cause: unknown) => boolean;
231
- readonly d1?: EmailD1Clock<Expression>;
218
+ readonly clock: ProofClock<Expression>;
219
+ readonly d1?: { readonly primary: true };
232
220
  }
233
221
 
234
- export type D1EmailAddressMapping<
235
- Subject extends Table,
236
- Identifier extends Table,
237
- Credential extends Table,
238
- AuthorityCredential extends Table,
239
- Command extends Table,
240
- NativeSubjectId,
241
- Expression extends SqlExpression = SqlExpression,
242
- > = EmailAddressMapping<
243
- Subject,
244
- Identifier,
245
- Credential,
246
- AuthorityCredential,
247
- Command,
248
- NativeSubjectId,
249
- Expression
250
- > & {
251
- readonly d1: EmailD1Clock<Expression>;
252
- readonly subject: EmailSubjectTable<Subject> & {
253
- readonly d1ActiveStatusValue: unknown;
254
- };
255
- readonly identifier: EmailIdentifierTable<Identifier, NativeSubjectId, Expression> & {
256
- readonly d1CurrentCondition: NonNullable<
257
- EmailIdentifierTable<Identifier, NativeSubjectId, Expression>["d1CurrentCondition"]
258
- >;
259
- readonly d1MutableTargetCondition: NonNullable<
260
- EmailIdentifierTable<Identifier, NativeSubjectId, Expression>["d1MutableTargetCondition"]
261
- >;
262
- };
263
- readonly credential: EmailCredentialTable<Subject, Identifier, Credential, NativeSubjectId> & {
264
- readonly d1ActiveStatusValue: unknown;
265
- };
266
- readonly authorityCredential: EmailAuthorityCredentialTable<
267
- AuthorityCredential,
268
- NativeSubjectId
269
- > & {
270
- readonly d1ActiveStatusValue: unknown;
271
- };
272
- };
273
-
274
- export type EmailRegistrationState = "pending" | "registered";
275
-
276
222
  export interface EmailRegistrationIntent<Registration> {
277
223
  readonly moduleId: string;
278
224
  readonly commandId: string;
279
225
  readonly identifier: LoginIdentifier;
280
226
  readonly registration: Registration;
227
+ readonly requestId: string;
281
228
  readonly fingerprint: TokenDigest;
282
- readonly completion: {
283
- readonly moduleId: string;
284
- readonly purpose: ProofPurpose;
285
- readonly continuationId: ProofContinuationId;
286
- readonly binding: ProofBinding;
287
- };
288
- }
289
-
290
- export interface EmailRegistrationTable<Registration, Request extends Table, NativeSubjectId> {
291
- readonly table: Request["table"];
292
- readonly moduleId: ColumnKey<Request>;
293
- readonly commandId: ColumnKey<Request>;
294
- readonly fingerprint: ColumnKey<Request>;
295
- readonly state: ColumnKey<Request>;
296
- readonly subjectId: ColumnKey<Request>;
297
- readonly pendingReference: ColumnKey<Request>;
298
- readonly retentionUntil: ColumnKey<Request>;
299
- readonly encodeInsert: (
300
- input: EmailRegistrationIntent<Registration>,
301
- state: {
302
- readonly state: EmailRegistrationState;
303
- readonly nativeSubjectId?: NativeSubjectId;
304
- readonly pendingReference?: string;
305
- readonly retentionUntilMillis: number;
306
- },
307
- ) => Request["insert"];
308
- readonly decodeReplay: (row: Request["select"]) => Effect.Effect<
309
- Exclude<
310
- EmailRegistrationDecision,
311
- {
312
- readonly _tag: "Registered";
313
- }
314
- >,
315
- PersistenceMappingError
316
- >;
229
+ readonly redemption: ProofRedemptionInput;
317
230
  }
318
231
 
319
232
  export interface EmailRegistrationProvisioning<
@@ -351,6 +264,11 @@ export interface EmailRegistrationIdentifierTable<
351
264
  readonly verifiedAt: ColumnKey<Identifier>;
352
265
  readonly bindingRevision: ColumnKey<Identifier>;
353
266
  readonly isCurrent: (row: Identifier["select"]) => boolean;
267
+ readonly isMutableTarget: (row: Identifier["select"]) => boolean;
268
+ readonly d1MutableTargetCondition?: (input: {
269
+ readonly identifier: LoginIdentifier;
270
+ readonly nativeSubjectId: NativeSubjectId;
271
+ }) => Expression;
354
272
  readonly d1CurrentCondition?: (input: {
355
273
  readonly identifier: LoginIdentifier;
356
274
  readonly nativeSubjectId: NativeSubjectId;
@@ -374,7 +292,7 @@ export interface EmailRegistrationCredentialTable<Credential extends Table, Nati
374
292
  readonly credentialRevision: ColumnKey<Credential>;
375
293
  readonly status: ColumnKey<Credential>;
376
294
  readonly isActiveStatus: (value: unknown) => boolean;
377
- readonly d1ActiveStatusValue?: unknown;
295
+ readonly activeStatusValue: unknown;
378
296
  readonly encodeVerifiedInsert: (input: {
379
297
  readonly moduleId: string;
380
298
  readonly subjectId: NativeSubjectId;
@@ -394,7 +312,7 @@ export interface EmailRegistrationAuthorityCredentialTable<
394
312
  readonly revision: ColumnKey<Credential>;
395
313
  readonly status: ColumnKey<Credential>;
396
314
  readonly isActiveStatus: (value: unknown) => boolean;
397
- readonly d1ActiveStatusValue?: unknown;
315
+ readonly activeStatusValue: unknown;
398
316
  readonly encodeInsert: (input: {
399
317
  readonly subjectId: NativeSubjectId;
400
318
  readonly credentialId: string;
@@ -404,49 +322,29 @@ export interface EmailRegistrationAuthorityCredentialTable<
404
322
 
405
323
  export interface RequiredEmailRegistrationConstraints extends RequiredEmailSignInConstraints {
406
324
  readonly authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)";
407
- readonly request: "unique(emailRegistration.moduleId,emailRegistration.commandId)";
408
- readonly pendingReference: "unique(emailRegistration.pendingReference)";
409
325
  }
410
326
 
411
327
  export const requiredEmailRegistrationConstraints: RequiredEmailRegistrationConstraints = {
412
328
  ...requiredEmailSignInConstraints,
413
329
  authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)",
414
- request: "unique(emailRegistration.moduleId,emailRegistration.commandId)",
415
- pendingReference: "unique(emailRegistration.pendingReference)",
416
330
  };
417
331
 
418
- type EmailRegistrationBase<Registration, Request extends Table, NativeSubjectId> = {
419
- readonly registration: EmailRegistrationTable<Registration, Request, NativeSubjectId>;
420
- readonly constraints: Pick<RequiredEmailRegistrationConstraints, "request" | "pendingReference">;
332
+ type EmailRegistrationBase<Registration> = {
421
333
  readonly inspect: (input: {
422
334
  readonly identifier: LoginIdentifier;
423
335
  readonly registration: Registration;
424
336
  }) => Effect.Effect<
425
- {
426
- readonly fingerprint: TokenDigest;
427
- readonly eligible: boolean;
428
- },
337
+ { readonly eligible: boolean; readonly fingerprint: TokenDigest },
429
338
  PersistenceMappingError
430
339
  >;
431
- /** Projects one detached value of the factory-specific Registration Type. */
432
340
  readonly snapshotRegistration: (
433
341
  registration: Registration,
434
342
  ) => Effect.Effect<Registration, PersistenceMappingError>;
435
- /** Required by synchronous transaction-bound services. */
436
343
  readonly snapshotRegistrationSync?: (registration: Registration) => Registration;
437
- /** Required by synchronous Durable Object transaction-bound services. */
438
344
  readonly inspectSync?: (input: {
439
345
  readonly identifier: LoginIdentifier;
440
346
  readonly registration: Registration;
441
- }) => {
442
- readonly fingerprint: TokenDigest;
443
- readonly eligible: boolean;
444
- };
445
- readonly allocatePendingReference?: Effect.Effect<string, PersistenceMappingError>;
446
- readonly allocatePendingReferenceSync?: () => string;
447
- readonly encodeInstant: (epochMillis: number) => unknown;
448
- readonly retentionMillis: number;
449
- readonly isRequestConflict: (cause: unknown) => boolean;
347
+ }) => { readonly eligible: boolean; readonly fingerprint: TokenDigest };
450
348
  };
451
349
 
452
350
  export type EmailRegistrationMapping<
@@ -455,63 +353,51 @@ export type EmailRegistrationMapping<
455
353
  Identifier extends Table,
456
354
  Credential extends Table,
457
355
  AuthorityCredential extends Table,
458
- Request extends Table,
459
356
  NativeSubjectId,
460
357
  Expression extends SqlExpression = SqlExpression,
461
- > = EmailRegistrationBase<Registration, Request, NativeSubjectId> &
462
- (
463
- | {
464
- readonly mode: "atomic";
465
- readonly subject: EmailSubjectReadTable<Subject>;
466
- readonly identifier: EmailRegistrationIdentifierTable<
467
- Identifier,
468
- NativeSubjectId,
469
- Expression
470
- >;
471
- readonly credential: EmailRegistrationCredentialTable<Credential, NativeSubjectId>;
472
- readonly authorityCredential: EmailRegistrationAuthorityCredentialTable<
473
- AuthorityCredential,
474
- NativeSubjectId
475
- >;
476
- readonly subjectId: SubjectIdCodec<NativeSubjectId>;
477
- readonly constraints: RequiredEmailRegistrationConstraints;
478
- readonly allocateCredentialId?: Effect.Effect<string, PersistenceMappingError>;
479
- readonly allocateCredentialIdSync?: () => string;
480
- readonly allocateRevision?: Effect.Effect<SecurityRevision, PersistenceMappingError>;
481
- readonly allocateRevisionSync?: () => SecurityRevision;
482
- readonly isIdentifierConflict: (cause: unknown) => boolean;
483
- readonly isCredentialConflict: (cause: unknown) => boolean;
484
- readonly provisioning: EmailRegistrationProvisioning<
485
- Registration,
486
- Subject,
487
- NativeSubjectId
488
- > &
489
- (
490
- | {
491
- readonly idMode: "allocated";
492
- readonly allocateSubjectId: Effect.Effect<NativeSubjectId, PersistenceMappingError>;
493
- }
494
- | {
495
- readonly idMode: "synchronous";
496
- readonly allocateSubjectIdSync: () => NativeSubjectId;
497
- }
498
- | {
499
- readonly idMode: "generated";
500
- readonly decodeGeneratedId: (
501
- rows: ReadonlyArray<unknown>,
502
- ) => Effect.Effect<NativeSubjectId, PersistenceMappingError>;
503
- }
504
- );
505
- }
506
- | {
507
- readonly mode: "pending";
508
- }
509
- );
358
+ > = EmailRegistrationBase<Registration> & {
359
+ readonly mode: "atomic";
360
+ readonly clock: ProofClock<Expression>;
361
+ readonly d1?: { readonly primary: true };
362
+ readonly subject: EmailSubjectReadTable<Subject>;
363
+ readonly identifier: EmailRegistrationIdentifierTable<Identifier, NativeSubjectId, Expression>;
364
+ readonly credential: EmailRegistrationCredentialTable<Credential, NativeSubjectId>;
365
+ readonly authorityCredential: EmailRegistrationAuthorityCredentialTable<
366
+ AuthorityCredential,
367
+ NativeSubjectId
368
+ >;
369
+ readonly subjectId: SubjectIdCodec<NativeSubjectId>;
370
+ readonly constraints: RequiredEmailRegistrationConstraints;
371
+ readonly allocateCredentialId?: Effect.Effect<string, PersistenceMappingError>;
372
+ readonly allocateCredentialIdSync?: () => string;
373
+ readonly allocateRevision?: Effect.Effect<SecurityRevision, PersistenceMappingError>;
374
+ readonly allocateRevisionSync?: () => SecurityRevision;
375
+ readonly isIdentifierConflict: (cause: unknown) => boolean;
376
+ readonly isCredentialConflict: (cause: unknown) => boolean;
377
+ readonly provisioning: EmailRegistrationProvisioning<Registration, Subject, NativeSubjectId> &
378
+ (
379
+ | {
380
+ readonly idMode: "allocated";
381
+ readonly allocateSubjectId: Effect.Effect<NativeSubjectId, PersistenceMappingError>;
382
+ }
383
+ | {
384
+ readonly idMode: "synchronous";
385
+ readonly allocateSubjectIdSync: () => NativeSubjectId;
386
+ }
387
+ | {
388
+ readonly idMode: "generated";
389
+ readonly decodeGeneratedId: (
390
+ rows: ReadonlyArray<unknown>,
391
+ ) => Effect.Effect<NativeSubjectId, PersistenceMappingError>;
392
+ }
393
+ );
394
+ };
510
395
 
511
396
  export type AnyEmailSignInMapping = EmailSignInMapping<
512
397
  AnyTableModel,
513
398
  AnyTableModel,
514
399
  AnyTableModel,
400
+ AnyTableModel,
515
401
  unknown
516
402
  >;
517
403
 
@@ -521,7 +407,6 @@ export type AnyEmailAddressMapping<Expression extends SqlExpression = SqlExpress
521
407
  AnyTableModel,
522
408
  AnyTableModel,
523
409
  AnyTableModel,
524
- AnyTableModel,
525
410
  unknown,
526
411
  Expression
527
412
  >;
@@ -535,29 +420,6 @@ export type AnyEmailRegistrationMapping<
535
420
  AnyTableModel,
536
421
  AnyTableModel,
537
422
  AnyTableModel,
538
- AnyTableModel,
539
423
  unknown,
540
424
  Expression
541
425
  >;
542
-
543
- export type D1EmailRegistrationMapping<
544
- Registration,
545
- Subject extends Table,
546
- Identifier extends Table,
547
- Credential extends Table,
548
- AuthorityCredential extends Table,
549
- Request extends Table,
550
- NativeSubjectId,
551
- Expression extends SqlExpression = SqlExpression,
552
- > = EmailRegistrationMapping<
553
- Registration,
554
- Subject,
555
- Identifier,
556
- Credential,
557
- AuthorityCredential,
558
- Request,
559
- NativeSubjectId,
560
- Expression
561
- > & {
562
- readonly d1: EmailD1Clock<Expression>;
563
- };