@yielded/auth-persistence 0.1.0-beta.25 → 0.1.0-beta.26
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,16 +1,16 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type LoginIdentifier } from "@yielded/auth/Identity";
|
|
2
2
|
import type {
|
|
3
3
|
PasswordAction,
|
|
4
4
|
PasswordCredentialSnapshot,
|
|
5
5
|
PasswordReplacement,
|
|
6
|
-
PasswordRegistrationDecision,
|
|
7
6
|
EncodedPasswordHash,
|
|
8
7
|
} from "@yielded/auth/Password";
|
|
9
8
|
import type { AuthenticationRequirement, SecurityRevision } from "@yielded/auth/Sessions";
|
|
10
9
|
import type { Effect, Redacted } from "effect";
|
|
11
10
|
|
|
12
|
-
import type { AnyTableModel, TableModel as Table, SqlExpression } from "../
|
|
11
|
+
import type { AnyTableModel, TableModel as Table, SqlExpression } from "../table-model";
|
|
13
12
|
import type { PersistenceMappingError, SubjectIdCodec } from "./common";
|
|
13
|
+
import type { ProofClock } from "./proof-model";
|
|
14
14
|
|
|
15
15
|
type ColumnKey<T extends Table> = T["column"];
|
|
16
16
|
|
|
@@ -116,30 +116,11 @@ export interface PasswordCredentialTable<
|
|
|
116
116
|
}) => Effect.Effect<PasswordCredentialSnapshot, PersistenceMappingError>;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
export interface PasswordCommandTable<Command extends Table> {
|
|
120
|
-
readonly table: Command["table"];
|
|
121
|
-
readonly moduleId: ColumnKey<Command>;
|
|
122
|
-
readonly commandId: ColumnKey<Command>;
|
|
123
|
-
readonly action: ColumnKey<Command>;
|
|
124
|
-
readonly bindingDigest: ColumnKey<Command>;
|
|
125
|
-
readonly decision: ColumnKey<Command>;
|
|
126
|
-
readonly retentionUntil: ColumnKey<Command>;
|
|
127
|
-
readonly encodeInsert: (input: {
|
|
128
|
-
readonly moduleId: string;
|
|
129
|
-
readonly commandId: string;
|
|
130
|
-
readonly action: string;
|
|
131
|
-
readonly bindingDigest: string;
|
|
132
|
-
readonly decision: "changed";
|
|
133
|
-
readonly retentionUntilMillis: number;
|
|
134
|
-
}) => Command["insert"];
|
|
135
|
-
}
|
|
136
|
-
|
|
137
119
|
export interface RequiredPasswordConstraints {
|
|
138
120
|
readonly identifier: "unique(identifier.namespace,identifier.value)";
|
|
139
121
|
readonly authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)";
|
|
140
122
|
readonly credentialSubject: "unique(credential.moduleId,credential.subjectId)";
|
|
141
123
|
readonly credentialId: "unique(credential.moduleId,credential.credentialId)";
|
|
142
|
-
readonly command: "unique(command.moduleId,command.commandId)";
|
|
143
124
|
}
|
|
144
125
|
|
|
145
126
|
export const requiredPasswordConstraints: RequiredPasswordConstraints = {
|
|
@@ -147,30 +128,16 @@ export const requiredPasswordConstraints: RequiredPasswordConstraints = {
|
|
|
147
128
|
authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)",
|
|
148
129
|
credentialSubject: "unique(credential.moduleId,credential.subjectId)",
|
|
149
130
|
credentialId: "unique(credential.moduleId,credential.credentialId)",
|
|
150
|
-
command: "unique(command.moduleId,command.commandId)",
|
|
151
131
|
};
|
|
152
132
|
|
|
153
|
-
export interface PasswordConstraintClassifier {
|
|
154
|
-
/** Match only the mapped command uniqueness constraint. */
|
|
155
|
-
readonly isCommandConflict: (cause: unknown) => boolean;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
export interface PasswordD1Clock<Expression extends SqlExpression = SqlExpression> {
|
|
159
|
-
readonly engineNow: Expression;
|
|
160
|
-
readonly engineNowMillis: Expression;
|
|
161
|
-
readonly engineInstantMinus: (millis: number) => Expression;
|
|
162
|
-
readonly engineInstantPlus: (millis: number) => Expression;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
133
|
export interface PasswordPersistenceMapping<
|
|
166
134
|
Subject extends Table,
|
|
167
135
|
Identifier extends Table,
|
|
168
136
|
Credential extends Table,
|
|
169
137
|
AuthorityCredential extends Table,
|
|
170
|
-
Command extends Table,
|
|
171
138
|
NativeSubjectId,
|
|
172
139
|
Expression extends SqlExpression = SqlExpression,
|
|
173
|
-
>
|
|
140
|
+
> {
|
|
174
141
|
readonly subject: PasswordSubjectTable<Subject, NativeSubjectId>;
|
|
175
142
|
readonly identifier: PasswordIdentifierTable<Identifier, NativeSubjectId, Expression>;
|
|
176
143
|
readonly credential: PasswordCredentialTable<Subject, Identifier, Credential, NativeSubjectId>;
|
|
@@ -179,7 +146,6 @@ export interface PasswordPersistenceMapping<
|
|
|
179
146
|
AuthorityCredential,
|
|
180
147
|
NativeSubjectId
|
|
181
148
|
>;
|
|
182
|
-
readonly command: PasswordCommandTable<Command>;
|
|
183
149
|
readonly subjectId: SubjectIdCodec<NativeSubjectId>;
|
|
184
150
|
readonly constraints: RequiredPasswordConstraints;
|
|
185
151
|
readonly encodeInstant: (epochMillis: number) => unknown;
|
|
@@ -188,50 +154,13 @@ export interface PasswordPersistenceMapping<
|
|
|
188
154
|
readonly allocateCredentialIdSync?: () => string;
|
|
189
155
|
readonly allocateRevision?: Effect.Effect<SecurityRevision, PersistenceMappingError>;
|
|
190
156
|
readonly allocateRevisionSync?: () => SecurityRevision;
|
|
191
|
-
readonly commandRetentionMillis: number;
|
|
192
157
|
/** All semantic replacements still bump subject revision. This flag declares
|
|
193
158
|
* authoritative verification's invalidation latency; cookie exposure is separate. */
|
|
194
159
|
readonly sessionInvalidation: "same-authority-immediate" | "original-absolute-expiry";
|
|
195
|
-
readonly
|
|
160
|
+
readonly clock: ProofClock<Expression>;
|
|
161
|
+
readonly d1?: { readonly primary: true };
|
|
196
162
|
}
|
|
197
163
|
|
|
198
|
-
export type D1PasswordPersistenceMapping<
|
|
199
|
-
Subject extends Table,
|
|
200
|
-
Identifier extends Table,
|
|
201
|
-
Credential extends Table,
|
|
202
|
-
AuthorityCredential extends Table,
|
|
203
|
-
Command extends Table,
|
|
204
|
-
NativeSubjectId,
|
|
205
|
-
Expression extends SqlExpression = SqlExpression,
|
|
206
|
-
> = PasswordPersistenceMapping<
|
|
207
|
-
Subject,
|
|
208
|
-
Identifier,
|
|
209
|
-
Credential,
|
|
210
|
-
AuthorityCredential,
|
|
211
|
-
Command,
|
|
212
|
-
NativeSubjectId,
|
|
213
|
-
Expression
|
|
214
|
-
> & {
|
|
215
|
-
readonly d1: PasswordD1Clock<Expression>;
|
|
216
|
-
readonly subject: PasswordSubjectTable<Subject, NativeSubjectId> & {
|
|
217
|
-
readonly d1ActiveStatusValue: unknown;
|
|
218
|
-
};
|
|
219
|
-
readonly identifier: PasswordIdentifierTable<Identifier, NativeSubjectId, Expression> & {
|
|
220
|
-
readonly d1CurrentCondition: (input: {
|
|
221
|
-
readonly identifier: LoginIdentifier;
|
|
222
|
-
readonly nativeSubjectId: NativeSubjectId;
|
|
223
|
-
}) => Expression;
|
|
224
|
-
};
|
|
225
|
-
readonly authorityCredential: PasswordAuthorityCredentialTable<
|
|
226
|
-
AuthorityCredential,
|
|
227
|
-
NativeSubjectId
|
|
228
|
-
> & {
|
|
229
|
-
readonly d1ActiveStatusValue: unknown;
|
|
230
|
-
};
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
export type PasswordRegistrationState = "pending" | "created";
|
|
234
|
-
|
|
235
164
|
export interface PasswordRegistrationIntent<Registration> {
|
|
236
165
|
readonly moduleId: string;
|
|
237
166
|
readonly requestId: string;
|
|
@@ -240,33 +169,6 @@ export interface PasswordRegistrationIntent<Registration> {
|
|
|
240
169
|
readonly replacement: PasswordReplacement;
|
|
241
170
|
}
|
|
242
171
|
|
|
243
|
-
export interface PasswordRegistrationTable<Registration, Request extends Table, NativeSubjectId> {
|
|
244
|
-
readonly table: Request["table"];
|
|
245
|
-
readonly moduleId: ColumnKey<Request>;
|
|
246
|
-
readonly requestId: ColumnKey<Request>;
|
|
247
|
-
readonly state: ColumnKey<Request>;
|
|
248
|
-
readonly subjectId: ColumnKey<Request>;
|
|
249
|
-
readonly recoveryReference: ColumnKey<Request>;
|
|
250
|
-
readonly encodeInsert: (
|
|
251
|
-
input: PasswordRegistrationIntent<Registration>,
|
|
252
|
-
state: {
|
|
253
|
-
readonly state: PasswordRegistrationState;
|
|
254
|
-
readonly nativeSubjectId?: NativeSubjectId;
|
|
255
|
-
readonly recoveryReference?: typeof RecoveryReference.Type;
|
|
256
|
-
},
|
|
257
|
-
) => Request["insert"];
|
|
258
|
-
/** Replay projection must never expose a stored subject or decode protected intent. */
|
|
259
|
-
readonly decodeReplay: (row: Request["select"]) => Effect.Effect<
|
|
260
|
-
Exclude<
|
|
261
|
-
PasswordRegistrationDecision,
|
|
262
|
-
{
|
|
263
|
-
readonly _tag: "Created";
|
|
264
|
-
}
|
|
265
|
-
>,
|
|
266
|
-
PersistenceMappingError
|
|
267
|
-
>;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
172
|
export interface PasswordRegistrationProvisioning<
|
|
271
173
|
Registration,
|
|
272
174
|
Subject extends Table,
|
|
@@ -288,23 +190,18 @@ export interface PasswordRegistrationProvisioning<
|
|
|
288
190
|
}
|
|
289
191
|
|
|
290
192
|
export interface RequiredPasswordRegistrationConstraints {
|
|
291
|
-
readonly request: "unique(registration.moduleId,registration.requestId)";
|
|
292
|
-
readonly recoveryReference: "unique(registration.recoveryReference)";
|
|
293
193
|
readonly identifier: "unique(identifier.namespace,identifier.value)";
|
|
294
194
|
readonly credentialSubject: "unique(credential.moduleId,credential.subjectId)";
|
|
295
195
|
readonly authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)";
|
|
296
196
|
}
|
|
297
197
|
|
|
298
198
|
export const requiredPasswordRegistrationConstraints: RequiredPasswordRegistrationConstraints = {
|
|
299
|
-
request: "unique(registration.moduleId,registration.requestId)",
|
|
300
|
-
recoveryReference: "unique(registration.recoveryReference)",
|
|
301
199
|
identifier: "unique(identifier.namespace,identifier.value)",
|
|
302
200
|
credentialSubject: "unique(credential.moduleId,credential.subjectId)",
|
|
303
201
|
authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)",
|
|
304
202
|
};
|
|
305
203
|
|
|
306
204
|
export interface PasswordRegistrationConstraintClassifier {
|
|
307
|
-
readonly isRequestConflict: (cause: unknown) => boolean;
|
|
308
205
|
readonly isIdentifierConflict: (cause: unknown) => boolean;
|
|
309
206
|
readonly isCredentialConflict: (cause: unknown) => boolean;
|
|
310
207
|
}
|
|
@@ -315,7 +212,6 @@ export type PasswordRegistrationMapping<
|
|
|
315
212
|
Identifier extends Table,
|
|
316
213
|
Credential extends Table,
|
|
317
214
|
AuthorityCredential extends Table,
|
|
318
|
-
Request extends Table,
|
|
319
215
|
NativeSubjectId,
|
|
320
216
|
Expression extends SqlExpression = SqlExpression,
|
|
321
217
|
> = PasswordRegistrationConstraintClassifier & {
|
|
@@ -326,47 +222,32 @@ export type PasswordRegistrationMapping<
|
|
|
326
222
|
AuthorityCredential,
|
|
327
223
|
NativeSubjectId
|
|
328
224
|
>;
|
|
329
|
-
readonly registration: PasswordRegistrationTable<Registration, Request, NativeSubjectId>;
|
|
330
225
|
readonly subjectId: SubjectIdCodec<NativeSubjectId>;
|
|
331
226
|
readonly constraints: RequiredPasswordRegistrationConstraints;
|
|
332
227
|
readonly allocateCredentialId?: Effect.Effect<string, PersistenceMappingError>;
|
|
333
228
|
readonly allocateCredentialIdSync?: () => string;
|
|
334
229
|
readonly allocateRevision?: Effect.Effect<SecurityRevision, PersistenceMappingError>;
|
|
335
230
|
readonly allocateRevisionSync?: () => SecurityRevision;
|
|
336
|
-
} &
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
NativeSubjectId
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
rows: ReadonlyArray<unknown>,
|
|
357
|
-
) => Effect.Effect<NativeSubjectId, PersistenceMappingError>;
|
|
358
|
-
}
|
|
359
|
-
);
|
|
360
|
-
}
|
|
361
|
-
| {
|
|
362
|
-
readonly mode: "pending";
|
|
363
|
-
readonly allocateRecoveryReference?: Effect.Effect<
|
|
364
|
-
typeof RecoveryReference.Type,
|
|
365
|
-
PersistenceMappingError
|
|
366
|
-
>;
|
|
367
|
-
readonly allocateRecoveryReferenceSync?: () => typeof RecoveryReference.Type;
|
|
368
|
-
}
|
|
369
|
-
);
|
|
231
|
+
} & {
|
|
232
|
+
readonly mode: "atomic";
|
|
233
|
+
readonly provisioning: PasswordRegistrationProvisioning<Registration, Subject, NativeSubjectId> &
|
|
234
|
+
(
|
|
235
|
+
| {
|
|
236
|
+
readonly idMode: "allocated";
|
|
237
|
+
readonly allocateSubjectId: Effect.Effect<NativeSubjectId, PersistenceMappingError>;
|
|
238
|
+
}
|
|
239
|
+
| {
|
|
240
|
+
readonly idMode: "synchronous";
|
|
241
|
+
readonly allocateSubjectIdSync: () => NativeSubjectId;
|
|
242
|
+
}
|
|
243
|
+
| {
|
|
244
|
+
readonly idMode: "generated";
|
|
245
|
+
readonly decodeGeneratedId: (
|
|
246
|
+
rows: ReadonlyArray<unknown>,
|
|
247
|
+
) => Effect.Effect<NativeSubjectId, PersistenceMappingError>;
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
};
|
|
370
251
|
|
|
371
252
|
export type AnyPasswordPersistenceMapping<Expression extends SqlExpression = SqlExpression> =
|
|
372
253
|
PasswordPersistenceMapping<
|
|
@@ -374,7 +255,6 @@ export type AnyPasswordPersistenceMapping<Expression extends SqlExpression = Sql
|
|
|
374
255
|
AnyTableModel,
|
|
375
256
|
AnyTableModel,
|
|
376
257
|
AnyTableModel,
|
|
377
|
-
AnyTableModel,
|
|
378
258
|
unknown,
|
|
379
259
|
Expression
|
|
380
260
|
>;
|
|
@@ -388,7 +268,6 @@ export type AnyPasswordRegistrationMapping<
|
|
|
388
268
|
AnyTableModel,
|
|
389
269
|
AnyTableModel,
|
|
390
270
|
AnyTableModel,
|
|
391
|
-
AnyTableModel,
|
|
392
271
|
unknown,
|
|
393
272
|
Expression
|
|
394
273
|
>;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { PhoneLifecyclePolicy, PhoneNumber } from "@yielded/auth/PhoneOtp";
|
|
2
|
+
import type { SubjectId } from "@yielded/auth/Schema";
|
|
3
|
+
import type { AuthenticationRequirement } from "@yielded/auth/Sessions";
|
|
4
|
+
import type { Effect } from "effect";
|
|
5
|
+
|
|
6
|
+
import type { AnyTableModel, TableModel as Table, SqlExpression } from "../table-model";
|
|
7
|
+
import type { PersistenceMappingError } from "./common";
|
|
8
|
+
import type { ProofPersistenceMapping } from "./proof-model";
|
|
9
|
+
|
|
10
|
+
type PhoneColumn<T extends Table> = T["column"];
|
|
11
|
+
|
|
12
|
+
export const requiredPhoneConstraints = {
|
|
13
|
+
subject: "unique(id)",
|
|
14
|
+
identifier: "unique(namespace,value)",
|
|
15
|
+
credential: "unique(credentialId)",
|
|
16
|
+
} as const;
|
|
17
|
+
|
|
18
|
+
/** Consumer-owned schema; encoders and allocators are synchronous and side-effect free.
|
|
19
|
+
* Identifiers store permanent number custody. Never delete retired rows to make a recycled number eligible. A consumer's
|
|
20
|
+
* explicit recovery workflow may resolve custody only after independent authentication.
|
|
21
|
+
* Subject defaults own account provisioning; no email/profile schema is prescribed. */
|
|
22
|
+
export interface PhoneMapping<
|
|
23
|
+
S extends Table,
|
|
24
|
+
I extends Table,
|
|
25
|
+
C extends Table,
|
|
26
|
+
P extends Table,
|
|
27
|
+
N,
|
|
28
|
+
Expression extends SqlExpression = SqlExpression,
|
|
29
|
+
> {
|
|
30
|
+
readonly moduleId: string;
|
|
31
|
+
readonly policy: PhoneLifecyclePolicy;
|
|
32
|
+
readonly constraints: typeof requiredPhoneConstraints;
|
|
33
|
+
readonly proofs: ProofPersistenceMapping<P, S, N, Expression>;
|
|
34
|
+
readonly subjectIds: {
|
|
35
|
+
readonly toNative: (id: SubjectId) => N | Effect.Effect<N, PersistenceMappingError>;
|
|
36
|
+
readonly toSubject: (id: N) => SubjectId | Effect.Effect<SubjectId, PersistenceMappingError>;
|
|
37
|
+
readonly allocate?: () => N | Effect.Effect<N, PersistenceMappingError>;
|
|
38
|
+
};
|
|
39
|
+
readonly subject: {
|
|
40
|
+
readonly table: S["table"];
|
|
41
|
+
readonly id: PhoneColumn<S>;
|
|
42
|
+
readonly securityRevision: PhoneColumn<S>;
|
|
43
|
+
readonly activeCondition: Expression;
|
|
44
|
+
readonly decodeRequirement: (
|
|
45
|
+
row: S["select"],
|
|
46
|
+
) =>
|
|
47
|
+
| AuthenticationRequirement
|
|
48
|
+
| Effect.Effect<AuthenticationRequirement, PersistenceMappingError>;
|
|
49
|
+
/** Current action policy, independently from primary sign-in assurance. */
|
|
50
|
+
readonly decodeActionRequirement?: (
|
|
51
|
+
row: S["select"],
|
|
52
|
+
action: "verify" | "change",
|
|
53
|
+
) =>
|
|
54
|
+
| AuthenticationRequirement
|
|
55
|
+
| Effect.Effect<AuthenticationRequirement, PersistenceMappingError>;
|
|
56
|
+
readonly encodeInsert?: (input: {
|
|
57
|
+
readonly id: N;
|
|
58
|
+
readonly securityRevision: string;
|
|
59
|
+
readonly phoneNumber: PhoneNumber;
|
|
60
|
+
}) => S["insert"];
|
|
61
|
+
};
|
|
62
|
+
readonly identifier: {
|
|
63
|
+
readonly table: I["table"];
|
|
64
|
+
readonly moduleId: PhoneColumn<I>;
|
|
65
|
+
readonly credentialId: PhoneColumn<I>;
|
|
66
|
+
readonly namespace: PhoneColumn<I>;
|
|
67
|
+
readonly value: PhoneColumn<I>;
|
|
68
|
+
readonly subjectId: PhoneColumn<I>;
|
|
69
|
+
readonly revision: PhoneColumn<I>;
|
|
70
|
+
readonly verifiedAt: PhoneColumn<I>;
|
|
71
|
+
readonly status: PhoneColumn<I>;
|
|
72
|
+
readonly activeCondition: Expression;
|
|
73
|
+
readonly encodeStatus: (active: boolean) => unknown;
|
|
74
|
+
readonly encodeInsert: (input: {
|
|
75
|
+
readonly moduleId: string;
|
|
76
|
+
readonly credentialId: string;
|
|
77
|
+
readonly phoneNumber: PhoneNumber;
|
|
78
|
+
readonly subjectId: N;
|
|
79
|
+
readonly revision: string;
|
|
80
|
+
readonly verifiedAtMillis: number;
|
|
81
|
+
readonly active: boolean;
|
|
82
|
+
}) => I["insert"];
|
|
83
|
+
};
|
|
84
|
+
readonly credential: {
|
|
85
|
+
readonly table: C["table"];
|
|
86
|
+
readonly id: PhoneColumn<C>;
|
|
87
|
+
readonly subjectId: PhoneColumn<C>;
|
|
88
|
+
readonly revision: PhoneColumn<C>;
|
|
89
|
+
readonly status: PhoneColumn<C>;
|
|
90
|
+
readonly activeCondition: Expression;
|
|
91
|
+
readonly encodeStatus: (active: boolean) => unknown;
|
|
92
|
+
readonly encodeInsert: (input: {
|
|
93
|
+
readonly credentialId: string;
|
|
94
|
+
readonly subjectId: N;
|
|
95
|
+
readonly revision: string;
|
|
96
|
+
readonly active: boolean;
|
|
97
|
+
}) => C["insert"];
|
|
98
|
+
};
|
|
99
|
+
readonly encodeInstant: (millis: number) => unknown;
|
|
100
|
+
readonly engineNowMillis: Expression;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export type AnyPhoneMapping<Expression extends SqlExpression = SqlExpression> = PhoneMapping<
|
|
104
|
+
AnyTableModel,
|
|
105
|
+
AnyTableModel,
|
|
106
|
+
AnyTableModel,
|
|
107
|
+
AnyTableModel,
|
|
108
|
+
unknown,
|
|
109
|
+
Expression
|
|
110
|
+
>;
|