@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.
- package/README.md +6 -8
- package/dist/Adapter.d.mts +47 -33
- package/dist/Adapter.mjs +36 -23
- package/dist/OAuthPersistence.d.mts +35 -51
- package/dist/OAuthPersistence.mjs +60 -68
- package/dist/OAuthPersistence.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/internal/browser-login.d.mts +1 -1
- package/dist/internal/browser-login.mjs +29 -9
- package/dist/internal/browser-login.mjs.map +1 -1
- package/dist/internal/configuration.d.mts +13 -8
- package/dist/internal/configuration.mjs.map +1 -1
- package/dist/internal/crypto.d.mts +1 -0
- package/dist/internal/crypto.mjs +1 -1
- package/dist/internal/d1-planning.mjs +8 -0
- package/dist/internal/d1-planning.mjs.map +1 -0
- package/dist/internal/email-native-state.mjs +135 -0
- package/dist/internal/email-native-state.mjs.map +1 -0
- package/dist/internal/email-native.d.mts +17 -0
- package/dist/internal/email-native.mjs +245 -0
- package/dist/internal/email-native.mjs.map +1 -0
- package/dist/internal/email-policy.mjs +92 -0
- package/dist/internal/email-policy.mjs.map +1 -0
- package/dist/internal/email-registration-native.d.mts +38 -0
- package/dist/internal/email-registration-native.mjs +171 -0
- package/dist/internal/email-registration-native.mjs.map +1 -0
- package/dist/internal/models/email-model.d.mts +40 -104
- package/dist/internal/models/email-model.mjs +3 -5
- package/dist/internal/models/email-model.mjs.map +1 -1
- package/dist/internal/models/oauth-connected-model.d.mts +44 -213
- package/dist/internal/models/oauth-connected-model.mjs +6 -14
- package/dist/internal/models/oauth-connected-model.mjs.map +1 -1
- package/dist/internal/models/oauth-model.d.mts +95 -244
- package/dist/internal/models/oauth-model.mjs +28 -22
- package/dist/internal/models/oauth-model.mjs.map +1 -1
- package/dist/internal/models/passkey-model.d.mts +11 -147
- package/dist/internal/models/passkey-model.mjs +5 -24
- package/dist/internal/models/passkey-model.mjs.map +1 -1
- package/dist/internal/models/passkey-registration-ceremony-model.d.mts +5 -39
- package/dist/internal/models/passkey-write-model.d.mts +17 -75
- package/dist/internal/models/passkey-write-model.mjs +1 -7
- package/dist/internal/models/passkey-write-model.mjs.map +1 -1
- package/dist/internal/models/password-model.d.mts +14 -81
- package/dist/internal/models/password-model.mjs +1 -4
- package/dist/internal/models/password-model.mjs.map +1 -1
- package/dist/internal/models/phone-model.d.mts +86 -0
- package/dist/internal/models/phone-model.mjs +10 -0
- package/dist/internal/models/phone-model.mjs.map +1 -0
- package/dist/internal/models/proof-model.d.mts +43 -272
- package/dist/internal/models/proof-model.mjs +2 -10
- package/dist/internal/models/proof-model.mjs.map +1 -1
- package/dist/internal/models/session-model.d.mts +74 -93
- package/dist/internal/models/session-model.mjs +3 -11
- package/dist/internal/models/session-model.mjs.map +1 -1
- package/dist/internal/models/step-up-model.d.mts +12 -50
- package/dist/internal/models/step-up-model.mjs +2 -4
- package/dist/internal/models/step-up-model.mjs.map +1 -1
- package/dist/internal/models/totp-model.d.mts +76 -0
- package/dist/internal/models/totp-model.mjs +10 -0
- package/dist/internal/models/totp-model.mjs.map +1 -0
- package/dist/internal/native-sql-table.d.mts +21 -4
- package/dist/internal/native-sql-table.mjs +9 -5
- package/dist/internal/native-sql-table.mjs.map +1 -1
- package/dist/internal/oauth/native-accounts.d.mts +17 -0
- package/dist/internal/oauth/native-accounts.mjs +290 -0
- package/dist/internal/oauth/native-accounts.mjs.map +1 -0
- package/dist/internal/oauth/native-connected-state.d.mts +11 -0
- package/dist/internal/oauth/native-connected-state.mjs +146 -0
- package/dist/internal/oauth/native-connected-state.mjs.map +1 -0
- package/dist/internal/oauth/native-connected.d.mts +15 -0
- package/dist/internal/oauth/native-connected.mjs +462 -0
- package/dist/internal/oauth/native-connected.mjs.map +1 -0
- package/dist/internal/oauth/native-flow.mjs +138 -0
- package/dist/internal/oauth/native-flow.mjs.map +1 -0
- package/dist/internal/oauth/native-layers.d.mts +24 -0
- package/dist/internal/oauth/native-layers.mjs +13 -0
- package/dist/internal/oauth/native-layers.mjs.map +1 -0
- package/dist/internal/oauth/native-mutation.mjs +122 -0
- package/dist/internal/oauth/native-mutation.mjs.map +1 -0
- package/dist/internal/oauth/native-registration.d.mts +24 -0
- package/dist/internal/oauth/native-registration.mjs +328 -0
- package/dist/internal/oauth/native-registration.mjs.map +1 -0
- package/dist/internal/oauth/native-revocations.d.mts +17 -0
- package/dist/internal/oauth/native-revocations.mjs +106 -0
- package/dist/internal/oauth/native-revocations.mjs.map +1 -0
- package/dist/internal/oauth/native-sign-in.d.mts +17 -0
- package/dist/internal/oauth/native-sign-in.mjs +50 -0
- package/dist/internal/oauth/native-sign-in.mjs.map +1 -0
- package/dist/internal/oauth/native-state.d.mts +10 -0
- package/dist/internal/oauth/native-state.mjs +214 -0
- package/dist/internal/oauth/native-state.mjs.map +1 -0
- package/dist/internal/oauth/state.d.mts +10 -0
- package/dist/internal/oauth/state.mjs +3 -27
- package/dist/internal/oauth/state.mjs.map +1 -1
- package/dist/internal/passkey-actions.mjs +55 -0
- package/dist/internal/passkey-actions.mjs.map +1 -0
- package/dist/internal/passkey-inputs.mjs +73 -0
- package/dist/internal/passkey-inputs.mjs.map +1 -0
- package/dist/internal/passkey-managed.mjs +224 -0
- package/dist/internal/passkey-managed.mjs.map +1 -0
- package/dist/internal/passkey-native-ceremony.d.mts +35 -0
- package/dist/internal/passkey-native-ceremony.mjs +38 -0
- package/dist/internal/passkey-native-ceremony.mjs.map +1 -0
- package/dist/internal/passkey-native-flow.mjs +91 -0
- package/dist/internal/passkey-native-flow.mjs.map +1 -0
- package/dist/internal/passkey-native-registration.d.mts +10 -0
- package/dist/internal/passkey-native-registration.mjs +114 -0
- package/dist/internal/passkey-native-registration.mjs.map +1 -0
- package/dist/internal/passkey-native-state.d.mts +15 -0
- package/dist/internal/passkey-native-state.mjs +186 -0
- package/dist/internal/passkey-native-state.mjs.map +1 -0
- package/dist/internal/passkey-native-write.d.mts +82 -0
- package/dist/internal/passkey-native-write.mjs +330 -0
- package/dist/internal/passkey-native-write.mjs.map +1 -0
- package/dist/internal/passkey-native.d.mts +835 -0
- package/dist/internal/passkey-native.mjs +175 -0
- package/dist/internal/passkey-native.mjs.map +1 -0
- package/dist/internal/passkey-policy.mjs +115 -0
- package/dist/internal/passkey-policy.mjs.map +1 -0
- package/dist/internal/password-credentials.mjs +38 -9
- package/dist/internal/password-credentials.mjs.map +1 -1
- package/dist/internal/password-native.d.mts +14 -0
- package/dist/internal/password-native.mjs +292 -0
- package/dist/internal/password-native.mjs.map +1 -0
- package/dist/internal/password-policy.mjs +93 -0
- package/dist/internal/password-policy.mjs.map +1 -0
- package/dist/internal/password-registration-native.d.mts +22 -0
- package/dist/internal/password-registration-native.mjs +142 -0
- package/dist/internal/password-registration-native.mjs.map +1 -0
- package/dist/internal/persistence.d.mts +6 -19
- package/dist/internal/persistence.mjs +199 -166
- package/dist/internal/persistence.mjs.map +1 -1
- package/dist/internal/phone-composed.mjs +79 -0
- package/dist/internal/phone-composed.mjs.map +1 -0
- package/dist/internal/phone-native.d.mts +15 -0
- package/dist/internal/phone-native.mjs +354 -0
- package/dist/internal/phone-native.mjs.map +1 -0
- package/dist/internal/proof-native.d.mts +15 -0
- package/dist/internal/proof-native.mjs +289 -0
- package/dist/internal/proof-native.mjs.map +1 -0
- package/dist/internal/registration.mjs +50 -60
- package/dist/internal/registration.mjs.map +1 -1
- package/dist/internal/session-native-authority.d.mts +15 -0
- package/dist/internal/session-native-authority.mjs +91 -0
- package/dist/internal/session-native-authority.mjs.map +1 -0
- package/dist/internal/session-native-cleanup.d.mts +14 -0
- package/dist/internal/session-native-cleanup.mjs +48 -0
- package/dist/internal/session-native-cleanup.mjs.map +1 -0
- package/dist/internal/session-native-login.d.mts +15 -0
- package/dist/internal/session-native-login.mjs +87 -0
- package/dist/internal/session-native-login.mjs.map +1 -0
- package/dist/internal/session-native-pending-read.mjs +42 -0
- package/dist/internal/session-native-pending-read.mjs.map +1 -0
- package/dist/internal/session-native-pending.mjs +134 -0
- package/dist/internal/session-native-pending.mjs.map +1 -0
- package/dist/internal/session-native-record.mjs +79 -0
- package/dist/internal/session-native-record.mjs.map +1 -0
- package/dist/internal/session-native-state.mjs +130 -0
- package/dist/internal/session-native-state.mjs.map +1 -0
- package/dist/internal/session-native-stateful.d.mts +16 -0
- package/dist/internal/session-native-stateful.mjs +225 -0
- package/dist/internal/session-native-stateful.mjs.map +1 -0
- package/dist/internal/session-native-step-up.d.mts +15 -0
- package/dist/internal/session-native-step-up.mjs +212 -0
- package/dist/internal/session-native-step-up.mjs.map +1 -0
- package/dist/internal/session-native-validity.d.mts +15 -0
- package/dist/internal/session-native-validity.mjs +97 -0
- package/dist/internal/session-native-validity.mjs.map +1 -0
- package/dist/internal/session-policy.mjs +29 -0
- package/dist/internal/session-policy.mjs.map +1 -0
- package/dist/internal/sql-authority.d.mts +16 -0
- package/dist/internal/sql-authority.mjs +32 -0
- package/dist/internal/sql-authority.mjs.map +1 -0
- package/dist/internal/sql-change.mjs +21 -0
- package/dist/internal/sql-change.mjs.map +1 -0
- package/dist/internal/sql-cleanup.mjs +35 -0
- package/dist/internal/sql-cleanup.mjs.map +1 -0
- package/dist/internal/sql-commit.d.mts +72 -0
- package/dist/internal/sql-commit.mjs +176 -0
- package/dist/internal/sql-commit.mjs.map +1 -0
- package/dist/internal/sql-expression.d.mts +17 -0
- package/dist/internal/sql-expression.mjs +49 -0
- package/dist/internal/sql-expression.mjs.map +1 -0
- package/dist/internal/sql-oauth-connected-model.d.mts +7 -23
- package/dist/internal/sql-oauth-model.d.mts +27 -52
- package/dist/internal/sql-oauth-model.mjs +3 -4
- package/dist/internal/sql-oauth-model.mjs.map +1 -1
- package/dist/internal/sql-persistence.mjs +5 -9
- package/dist/internal/sql-persistence.mjs.map +1 -1
- package/dist/internal/sql-storage-validation.mjs +1 -2
- package/dist/internal/sql-storage-validation.mjs.map +1 -1
- package/dist/internal/sql-table.d.mts +3 -16
- package/dist/internal/sql-table.mjs +21 -42
- package/dist/internal/sql-table.mjs.map +1 -1
- package/dist/internal/standalone.mjs +2 -3
- package/dist/internal/standalone.mjs.map +1 -1
- package/dist/internal/step-up-state.mjs +5 -8
- package/dist/internal/step-up-state.mjs.map +1 -1
- package/dist/internal/storage-clock.mjs +44 -0
- package/dist/internal/storage-clock.mjs.map +1 -0
- package/dist/internal/storage-mapping.d.mts +11 -8
- package/dist/internal/storage-mapping.mjs +88 -302
- package/dist/internal/storage-mapping.mjs.map +1 -1
- package/dist/internal/storage-plans.mjs +15 -73
- package/dist/internal/storage-plans.mjs.map +1 -1
- package/dist/internal/storage-tables.d.mts +37 -520
- package/dist/internal/storage-tables.mjs +31 -211
- package/dist/internal/storage-tables.mjs.map +1 -1
- package/dist/internal/storage-validation.d.mts +1 -6
- package/dist/internal/storage-validation.mjs +1 -42
- package/dist/internal/storage-validation.mjs.map +1 -1
- package/dist/internal/table-model.d.mts +21 -0
- package/dist/internal/totp-native.d.mts +15 -0
- package/dist/internal/totp-native.mjs +401 -0
- package/dist/internal/totp-native.mjs.map +1 -0
- package/package.json +1 -1
- package/src/Adapter.ts +143 -199
- package/src/OAuthPersistence.ts +128 -271
- package/src/index.ts +1 -1
- package/src/internal/browser-login.ts +54 -24
- package/src/internal/configuration.ts +16 -31
- package/src/internal/d1-planning.ts +7 -0
- package/src/internal/email-native-state.ts +247 -0
- package/src/internal/email-native.ts +514 -0
- package/src/internal/email-policy.ts +235 -0
- package/src/internal/email-registration-native.ts +386 -0
- package/src/internal/models/email-model.ts +76 -214
- package/src/internal/models/oauth-connected-model.ts +50 -288
- package/src/internal/models/oauth-model.ts +147 -368
- package/src/internal/models/passkey-model.ts +11 -208
- package/src/internal/models/passkey-registration-ceremony-model.ts +6 -60
- package/src/internal/models/passkey-write-model.ts +14 -95
- package/src/internal/models/password-model.ts +26 -147
- package/src/internal/models/phone-model.ts +110 -0
- package/src/internal/models/proof-model.ts +48 -404
- package/src/internal/models/session-model.ts +102 -200
- package/src/internal/models/step-up-model.ts +17 -96
- package/src/internal/models/totp-model.ts +82 -0
- package/src/internal/native-sql-table.ts +32 -11
- package/src/internal/oauth/native-accounts.ts +576 -0
- package/src/internal/oauth/native-connected-state.ts +288 -0
- package/src/internal/oauth/native-connected.ts +888 -0
- package/src/internal/oauth/native-flow.ts +253 -0
- package/src/internal/oauth/native-layers.ts +83 -0
- package/src/internal/oauth/native-mutation.ts +222 -0
- package/src/internal/oauth/native-registration.ts +545 -0
- package/src/internal/oauth/native-revocations.ts +190 -0
- package/src/internal/oauth/native-sign-in.ts +111 -0
- package/src/internal/oauth/native-state.ts +346 -0
- package/src/internal/oauth/state.ts +2 -70
- package/src/internal/passkey-actions.ts +70 -0
- package/src/internal/passkey-inputs.ts +56 -0
- package/src/internal/passkey-managed.ts +360 -0
- package/src/internal/passkey-native-ceremony.ts +66 -0
- package/src/internal/passkey-native-flow.ts +140 -0
- package/src/internal/passkey-native-registration.ts +221 -0
- package/src/internal/passkey-native-state.ts +335 -0
- package/src/internal/passkey-native-write.ts +611 -0
- package/src/internal/passkey-native.ts +372 -0
- package/src/internal/passkey-policy.ts +246 -0
- package/src/internal/password-credentials.ts +52 -10
- package/src/internal/password-native.ts +571 -0
- package/src/internal/password-policy.ts +307 -0
- package/src/internal/password-registration-native.ts +322 -0
- package/src/internal/persistence.ts +336 -290
- package/src/internal/phone-composed.ts +86 -0
- package/src/internal/phone-native.ts +659 -0
- package/src/internal/proof-native.ts +448 -0
- package/src/internal/registration.ts +96 -143
- package/src/internal/session-native-authority.ts +247 -0
- package/src/internal/session-native-cleanup.ts +65 -0
- package/src/internal/session-native-login.ts +205 -0
- package/src/internal/session-native-pending-read.ts +68 -0
- package/src/internal/session-native-pending.ts +223 -0
- package/src/internal/session-native-record.ts +141 -0
- package/src/internal/session-native-state.ts +259 -0
- package/src/internal/session-native-stateful.ts +512 -0
- package/src/internal/session-native-step-up.ts +450 -0
- package/src/internal/session-native-validity.ts +208 -0
- package/src/internal/session-policy.ts +59 -0
- package/src/internal/sql-authority.ts +56 -0
- package/src/internal/sql-change.ts +38 -0
- package/src/internal/sql-cleanup.ts +56 -0
- package/src/internal/sql-commit.ts +435 -0
- package/src/internal/sql-expression.ts +94 -0
- package/src/internal/sql-metadata.ts +100 -0
- package/src/internal/sql-oauth-connected-model.ts +6 -95
- package/src/internal/sql-oauth-model.ts +31 -134
- package/src/internal/sql-persistence.ts +2 -6
- package/src/internal/sql-storage-validation.ts +1 -2
- package/src/internal/sql-table.ts +19 -52
- package/src/internal/standalone.ts +2 -11
- package/src/internal/step-up-state.ts +4 -17
- package/src/internal/storage-clock.ts +58 -0
- package/src/internal/storage-mapping.ts +125 -340
- package/src/internal/storage-plans.ts +14 -80
- package/src/internal/storage-tables.ts +28 -212
- package/src/internal/storage-validation.ts +0 -58
- package/src/internal/table-model.ts +24 -0
- package/src/internal/totp-native.ts +701 -0
- package/dist/internal/PasswordPreparedPostconditions.d.mts +0 -22
- package/dist/internal/PasswordPreparedPostconditions.mjs +0 -12
- package/dist/internal/PasswordPreparedPostconditions.mjs.map +0 -1
- package/dist/internal/authority-snapshot.mjs +0 -53
- package/dist/internal/authority-snapshot.mjs.map +0 -1
- package/dist/internal/email-kernel.d.mts +0 -276
- package/dist/internal/email-kernel.mjs +0 -497
- package/dist/internal/email-kernel.mjs.map +0 -1
- package/dist/internal/models/passkey-registration-ceremony-model.mjs +0 -18
- package/dist/internal/models/passkey-registration-ceremony-model.mjs.map +0 -1
- package/dist/internal/oauth/accounts.d.mts +0 -8
- package/dist/internal/oauth/accounts.mjs +0 -379
- package/dist/internal/oauth/accounts.mjs.map +0 -1
- package/dist/internal/oauth/connected-access.d.mts +0 -9
- package/dist/internal/oauth/connected-access.mjs +0 -229
- package/dist/internal/oauth/connected-access.mjs.map +0 -1
- package/dist/internal/oauth/connected-collection.d.mts +0 -7
- package/dist/internal/oauth/connected-collection.mjs +0 -214
- package/dist/internal/oauth/connected-collection.mjs.map +0 -1
- package/dist/internal/oauth/connected-custody.d.mts +0 -6
- package/dist/internal/oauth/connected-custody.mjs +0 -165
- package/dist/internal/oauth/connected-custody.mjs.map +0 -1
- package/dist/internal/oauth/connected-flow.d.mts +0 -7
- package/dist/internal/oauth/connected-flow.mjs +0 -324
- package/dist/internal/oauth/connected-flow.mjs.map +0 -1
- package/dist/internal/oauth/connected-input.mjs +0 -122
- package/dist/internal/oauth/connected-input.mjs.map +0 -1
- package/dist/internal/oauth/connected-keys.d.mts +0 -2
- package/dist/internal/oauth/connected-keys.mjs +0 -22
- package/dist/internal/oauth/connected-keys.mjs.map +0 -1
- package/dist/internal/oauth/connected-maintenance.d.mts +0 -9
- package/dist/internal/oauth/connected-maintenance.mjs +0 -226
- package/dist/internal/oauth/connected-maintenance.mjs.map +0 -1
- package/dist/internal/oauth/connected-management.d.mts +0 -9
- package/dist/internal/oauth/connected-management.mjs +0 -243
- package/dist/internal/oauth/connected-management.mjs.map +0 -1
- package/dist/internal/oauth/connected-reference.mjs +0 -63
- package/dist/internal/oauth/connected-reference.mjs.map +0 -1
- package/dist/internal/oauth/connected-settlement.d.mts +0 -8
- package/dist/internal/oauth/connected-settlement.mjs +0 -141
- package/dist/internal/oauth/connected-settlement.mjs.map +0 -1
- package/dist/internal/oauth/connected-sign-in.d.mts +0 -10
- package/dist/internal/oauth/connected-sign-in.mjs +0 -281
- package/dist/internal/oauth/connected-sign-in.mjs.map +0 -1
- package/dist/internal/oauth/connected-state.d.mts +0 -14
- package/dist/internal/oauth/connected-state.mjs +0 -469
- package/dist/internal/oauth/connected-state.mjs.map +0 -1
- package/dist/internal/oauth/connected-target.d.mts +0 -21
- package/dist/internal/oauth/connected-target.mjs +0 -117
- package/dist/internal/oauth/connected-target.mjs.map +0 -1
- package/dist/internal/oauth/flow.d.mts +0 -5
- package/dist/internal/oauth/flow.mjs +0 -279
- package/dist/internal/oauth/flow.mjs.map +0 -1
- package/dist/internal/oauth/input.mjs +0 -127
- package/dist/internal/oauth/input.mjs.map +0 -1
- package/dist/internal/oauth/owner.d.mts +0 -10
- package/dist/internal/oauth/owner.mjs +0 -10
- package/dist/internal/oauth/owner.mjs.map +0 -1
- package/dist/internal/oauth/query-compiler.d.mts +0 -7
- package/dist/internal/oauth/query-compiler.mjs +0 -9
- package/dist/internal/oauth/query-compiler.mjs.map +0 -1
- package/dist/internal/oauth/registration.d.mts +0 -7
- package/dist/internal/oauth/registration.mjs +0 -393
- package/dist/internal/oauth/registration.mjs.map +0 -1
- package/dist/internal/oauth/target.d.mts +0 -31
- package/dist/internal/oauth/target.mjs +0 -273
- package/dist/internal/oauth/target.mjs.map +0 -1
- package/dist/internal/oauth-kernel.d.mts +0 -1423
- package/dist/internal/oauth-kernel.mjs +0 -187
- package/dist/internal/oauth-kernel.mjs.map +0 -1
- package/dist/internal/passkey/admission.d.mts +0 -6
- package/dist/internal/passkey/admission.mjs +0 -220
- package/dist/internal/passkey/admission.mjs.map +0 -1
- package/dist/internal/passkey/credentials.d.mts +0 -14
- package/dist/internal/passkey/credentials.mjs +0 -249
- package/dist/internal/passkey/credentials.mjs.map +0 -1
- package/dist/internal/passkey/enrollment.mjs +0 -138
- package/dist/internal/passkey/enrollment.mjs.map +0 -1
- package/dist/internal/passkey/flow.d.mts +0 -21
- package/dist/internal/passkey/flow.mjs +0 -452
- package/dist/internal/passkey/flow.mjs.map +0 -1
- package/dist/internal/passkey/management.mjs +0 -231
- package/dist/internal/passkey/management.mjs.map +0 -1
- package/dist/internal/passkey/registration-ceremony.d.mts +0 -9
- package/dist/internal/passkey/registration-ceremony.mjs +0 -129
- package/dist/internal/passkey/registration-ceremony.mjs.map +0 -1
- package/dist/internal/passkey/registration-custody.d.mts +0 -2
- package/dist/internal/passkey/registration-custody.mjs +0 -52
- package/dist/internal/passkey/registration-custody.mjs.map +0 -1
- package/dist/internal/passkey/registration-write.mjs +0 -211
- package/dist/internal/passkey/registration-write.mjs.map +0 -1
- package/dist/internal/passkey/state.d.mts +0 -10
- package/dist/internal/passkey/state.mjs +0 -234
- package/dist/internal/passkey/state.mjs.map +0 -1
- package/dist/internal/passkey/target.d.mts +0 -20
- package/dist/internal/passkey/target.mjs +0 -200
- package/dist/internal/passkey/target.mjs.map +0 -1
- package/dist/internal/passkey/write-state.d.mts +0 -17
- package/dist/internal/passkey/write-state.mjs +0 -354
- package/dist/internal/passkey/write-state.mjs.map +0 -1
- package/dist/internal/passkey/write-target.mjs +0 -192
- package/dist/internal/passkey/write-target.mjs.map +0 -1
- package/dist/internal/passkey-kernel.d.mts +0 -6045
- package/dist/internal/passkey-kernel.mjs +0 -49
- package/dist/internal/passkey-kernel.mjs.map +0 -1
- package/dist/internal/passkeys.d.mts +0 -7
- package/dist/internal/passkeys.mjs +0 -387
- package/dist/internal/passkeys.mjs.map +0 -1
- package/dist/internal/password-credentials.d.mts +0 -11
- package/dist/internal/password-kernel.d.mts +0 -278
- package/dist/internal/password-kernel.mjs +0 -508
- package/dist/internal/password-kernel.mjs.map +0 -1
- package/dist/internal/phone-kernel.d.mts +0 -162
- package/dist/internal/phone-kernel.mjs +0 -437
- package/dist/internal/phone-kernel.mjs.map +0 -1
- package/dist/internal/proof-kernel.d.mts +0 -94
- package/dist/internal/proof-kernel.mjs +0 -624
- package/dist/internal/proof-kernel.mjs.map +0 -1
- package/dist/internal/query-operations.d.mts +0 -68
- package/dist/internal/session-kernel.d.mts +0 -62
- package/dist/internal/session-kernel.mjs +0 -820
- package/dist/internal/session-kernel.mjs.map +0 -1
- package/dist/internal/sql-oauth-connected-model.mjs +0 -7
- package/dist/internal/sql-oauth-connected-model.mjs.map +0 -1
- package/dist/internal/sql-query.d.mts +0 -12
- package/dist/internal/sql-query.mjs +0 -206
- package/dist/internal/sql-query.mjs.map +0 -1
- package/dist/internal/step-up-state.d.mts +0 -49
- package/dist/internal/transaction-execution-kernel.d.mts +0 -37
- package/dist/internal/transaction-execution-kernel.mjs +0 -120
- package/dist/internal/transaction-execution-kernel.mjs.map +0 -1
- package/dist/internal/transaction-kernel.d.mts +0 -81
- package/dist/internal/transaction-kernel.mjs +0 -264
- package/dist/internal/transaction-kernel.mjs.map +0 -1
- package/src/internal/PasswordPreparedPostconditions.ts +0 -30
- package/src/internal/authority-snapshot.ts +0 -91
- package/src/internal/email-kernel.ts +0 -1556
- package/src/internal/oauth/accounts.ts +0 -839
- package/src/internal/oauth/connected-access.ts +0 -388
- package/src/internal/oauth/connected-collection.ts +0 -345
- package/src/internal/oauth/connected-custody.ts +0 -308
- package/src/internal/oauth/connected-flow.ts +0 -562
- package/src/internal/oauth/connected-input.ts +0 -147
- package/src/internal/oauth/connected-keys.ts +0 -31
- package/src/internal/oauth/connected-maintenance.ts +0 -379
- package/src/internal/oauth/connected-management.ts +0 -391
- package/src/internal/oauth/connected-reference.ts +0 -135
- package/src/internal/oauth/connected-settlement.ts +0 -278
- package/src/internal/oauth/connected-sign-in.ts +0 -472
- package/src/internal/oauth/connected-state.ts +0 -924
- package/src/internal/oauth/connected-target.ts +0 -307
- package/src/internal/oauth/flow.ts +0 -505
- package/src/internal/oauth/input.ts +0 -201
- package/src/internal/oauth/owner.ts +0 -22
- package/src/internal/oauth/query-compiler.ts +0 -15
- package/src/internal/oauth/registration.ts +0 -676
- package/src/internal/oauth/target.ts +0 -803
- package/src/internal/oauth-kernel.ts +0 -294
- package/src/internal/passkey/admission.ts +0 -368
- package/src/internal/passkey/credentials.ts +0 -511
- package/src/internal/passkey/enrollment.ts +0 -326
- package/src/internal/passkey/flow.ts +0 -1062
- package/src/internal/passkey/management.ts +0 -426
- package/src/internal/passkey/registration-ceremony.ts +0 -283
- package/src/internal/passkey/registration-custody.ts +0 -91
- package/src/internal/passkey/registration-write.ts +0 -426
- package/src/internal/passkey/state.ts +0 -351
- package/src/internal/passkey/target.ts +0 -598
- package/src/internal/passkey/write-state.ts +0 -692
- package/src/internal/passkey/write-target.ts +0 -450
- package/src/internal/passkey-kernel.ts +0 -112
- package/src/internal/passkeys.ts +0 -652
- package/src/internal/password-kernel.ts +0 -1523
- package/src/internal/phone-kernel.ts +0 -872
- package/src/internal/proof-kernel.ts +0 -1992
- package/src/internal/query-operations.ts +0 -91
- package/src/internal/session-kernel.ts +0 -2406
- package/src/internal/sql-query.ts +0 -304
- package/src/internal/transaction-execution-kernel.ts +0 -335
- package/src/internal/transaction-kernel.ts +0 -603
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type { EmailAction
|
|
1
|
+
import type { EmailAction } from "@yielded/auth/Email";
|
|
2
2
|
import type { LoginIdentifier } from "@yielded/auth/Identity";
|
|
3
|
-
import type {
|
|
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 "../
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
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
|
-
};
|