@yielded/auth-persistence 0.1.0-beta.24 → 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 +16 -82
- 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 +28 -148
- 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 -346
- 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 -1555
- package/src/internal/oauth/accounts.ts +0 -838
- 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 -678
- 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 -1522
- 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,49 +154,13 @@ export interface PasswordPersistenceMapping<
|
|
|
188
154
|
readonly allocateCredentialIdSync?: () => string;
|
|
189
155
|
readonly allocateRevision?: Effect.Effect<SecurityRevision, PersistenceMappingError>;
|
|
190
156
|
readonly allocateRevisionSync?: () => SecurityRevision;
|
|
191
|
-
|
|
192
|
-
|
|
157
|
+
/** All semantic replacements still bump subject revision. This flag declares
|
|
158
|
+
* authoritative verification's invalidation latency; cookie exposure is separate. */
|
|
193
159
|
readonly sessionInvalidation: "same-authority-immediate" | "original-absolute-expiry";
|
|
194
|
-
readonly
|
|
160
|
+
readonly clock: ProofClock<Expression>;
|
|
161
|
+
readonly d1?: { readonly primary: true };
|
|
195
162
|
}
|
|
196
163
|
|
|
197
|
-
export type D1PasswordPersistenceMapping<
|
|
198
|
-
Subject extends Table,
|
|
199
|
-
Identifier extends Table,
|
|
200
|
-
Credential extends Table,
|
|
201
|
-
AuthorityCredential extends Table,
|
|
202
|
-
Command extends Table,
|
|
203
|
-
NativeSubjectId,
|
|
204
|
-
Expression extends SqlExpression = SqlExpression,
|
|
205
|
-
> = PasswordPersistenceMapping<
|
|
206
|
-
Subject,
|
|
207
|
-
Identifier,
|
|
208
|
-
Credential,
|
|
209
|
-
AuthorityCredential,
|
|
210
|
-
Command,
|
|
211
|
-
NativeSubjectId,
|
|
212
|
-
Expression
|
|
213
|
-
> & {
|
|
214
|
-
readonly d1: PasswordD1Clock<Expression>;
|
|
215
|
-
readonly subject: PasswordSubjectTable<Subject, NativeSubjectId> & {
|
|
216
|
-
readonly d1ActiveStatusValue: unknown;
|
|
217
|
-
};
|
|
218
|
-
readonly identifier: PasswordIdentifierTable<Identifier, NativeSubjectId, Expression> & {
|
|
219
|
-
readonly d1CurrentCondition: (input: {
|
|
220
|
-
readonly identifier: LoginIdentifier;
|
|
221
|
-
readonly nativeSubjectId: NativeSubjectId;
|
|
222
|
-
}) => Expression;
|
|
223
|
-
};
|
|
224
|
-
readonly authorityCredential: PasswordAuthorityCredentialTable<
|
|
225
|
-
AuthorityCredential,
|
|
226
|
-
NativeSubjectId
|
|
227
|
-
> & {
|
|
228
|
-
readonly d1ActiveStatusValue: unknown;
|
|
229
|
-
};
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
export type PasswordRegistrationState = "pending" | "created";
|
|
233
|
-
|
|
234
164
|
export interface PasswordRegistrationIntent<Registration> {
|
|
235
165
|
readonly moduleId: string;
|
|
236
166
|
readonly requestId: string;
|
|
@@ -239,33 +169,6 @@ export interface PasswordRegistrationIntent<Registration> {
|
|
|
239
169
|
readonly replacement: PasswordReplacement;
|
|
240
170
|
}
|
|
241
171
|
|
|
242
|
-
export interface PasswordRegistrationTable<Registration, Request extends Table, NativeSubjectId> {
|
|
243
|
-
readonly table: Request["table"];
|
|
244
|
-
readonly moduleId: ColumnKey<Request>;
|
|
245
|
-
readonly requestId: ColumnKey<Request>;
|
|
246
|
-
readonly state: ColumnKey<Request>;
|
|
247
|
-
readonly subjectId: ColumnKey<Request>;
|
|
248
|
-
readonly recoveryReference: ColumnKey<Request>;
|
|
249
|
-
readonly encodeInsert: (
|
|
250
|
-
input: PasswordRegistrationIntent<Registration>,
|
|
251
|
-
state: {
|
|
252
|
-
readonly state: PasswordRegistrationState;
|
|
253
|
-
readonly nativeSubjectId?: NativeSubjectId;
|
|
254
|
-
readonly recoveryReference?: typeof RecoveryReference.Type;
|
|
255
|
-
},
|
|
256
|
-
) => Request["insert"];
|
|
257
|
-
/** Replay projection must never expose a stored subject or decode protected intent. */
|
|
258
|
-
readonly decodeReplay: (row: Request["select"]) => Effect.Effect<
|
|
259
|
-
Exclude<
|
|
260
|
-
PasswordRegistrationDecision,
|
|
261
|
-
{
|
|
262
|
-
readonly _tag: "Created";
|
|
263
|
-
}
|
|
264
|
-
>,
|
|
265
|
-
PersistenceMappingError
|
|
266
|
-
>;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
172
|
export interface PasswordRegistrationProvisioning<
|
|
270
173
|
Registration,
|
|
271
174
|
Subject extends Table,
|
|
@@ -287,23 +190,18 @@ export interface PasswordRegistrationProvisioning<
|
|
|
287
190
|
}
|
|
288
191
|
|
|
289
192
|
export interface RequiredPasswordRegistrationConstraints {
|
|
290
|
-
readonly request: "unique(registration.moduleId,registration.requestId)";
|
|
291
|
-
readonly recoveryReference: "unique(registration.recoveryReference)";
|
|
292
193
|
readonly identifier: "unique(identifier.namespace,identifier.value)";
|
|
293
194
|
readonly credentialSubject: "unique(credential.moduleId,credential.subjectId)";
|
|
294
195
|
readonly authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)";
|
|
295
196
|
}
|
|
296
197
|
|
|
297
198
|
export const requiredPasswordRegistrationConstraints: RequiredPasswordRegistrationConstraints = {
|
|
298
|
-
request: "unique(registration.moduleId,registration.requestId)",
|
|
299
|
-
recoveryReference: "unique(registration.recoveryReference)",
|
|
300
199
|
identifier: "unique(identifier.namespace,identifier.value)",
|
|
301
200
|
credentialSubject: "unique(credential.moduleId,credential.subjectId)",
|
|
302
201
|
authorityCredential: "unique(authorityCredential.subjectId,authorityCredential.credentialId)",
|
|
303
202
|
};
|
|
304
203
|
|
|
305
204
|
export interface PasswordRegistrationConstraintClassifier {
|
|
306
|
-
readonly isRequestConflict: (cause: unknown) => boolean;
|
|
307
205
|
readonly isIdentifierConflict: (cause: unknown) => boolean;
|
|
308
206
|
readonly isCredentialConflict: (cause: unknown) => boolean;
|
|
309
207
|
}
|
|
@@ -314,7 +212,6 @@ export type PasswordRegistrationMapping<
|
|
|
314
212
|
Identifier extends Table,
|
|
315
213
|
Credential extends Table,
|
|
316
214
|
AuthorityCredential extends Table,
|
|
317
|
-
Request extends Table,
|
|
318
215
|
NativeSubjectId,
|
|
319
216
|
Expression extends SqlExpression = SqlExpression,
|
|
320
217
|
> = PasswordRegistrationConstraintClassifier & {
|
|
@@ -325,47 +222,32 @@ export type PasswordRegistrationMapping<
|
|
|
325
222
|
AuthorityCredential,
|
|
326
223
|
NativeSubjectId
|
|
327
224
|
>;
|
|
328
|
-
readonly registration: PasswordRegistrationTable<Registration, Request, NativeSubjectId>;
|
|
329
225
|
readonly subjectId: SubjectIdCodec<NativeSubjectId>;
|
|
330
226
|
readonly constraints: RequiredPasswordRegistrationConstraints;
|
|
331
227
|
readonly allocateCredentialId?: Effect.Effect<string, PersistenceMappingError>;
|
|
332
228
|
readonly allocateCredentialIdSync?: () => string;
|
|
333
229
|
readonly allocateRevision?: Effect.Effect<SecurityRevision, PersistenceMappingError>;
|
|
334
230
|
readonly allocateRevisionSync?: () => SecurityRevision;
|
|
335
|
-
} &
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
NativeSubjectId
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
rows: ReadonlyArray<unknown>,
|
|
356
|
-
) => Effect.Effect<NativeSubjectId, PersistenceMappingError>;
|
|
357
|
-
}
|
|
358
|
-
);
|
|
359
|
-
}
|
|
360
|
-
| {
|
|
361
|
-
readonly mode: "pending";
|
|
362
|
-
readonly allocateRecoveryReference?: Effect.Effect<
|
|
363
|
-
typeof RecoveryReference.Type,
|
|
364
|
-
PersistenceMappingError
|
|
365
|
-
>;
|
|
366
|
-
readonly allocateRecoveryReferenceSync?: () => typeof RecoveryReference.Type;
|
|
367
|
-
}
|
|
368
|
-
);
|
|
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
|
+
};
|
|
369
251
|
|
|
370
252
|
export type AnyPasswordPersistenceMapping<Expression extends SqlExpression = SqlExpression> =
|
|
371
253
|
PasswordPersistenceMapping<
|
|
@@ -373,7 +255,6 @@ export type AnyPasswordPersistenceMapping<Expression extends SqlExpression = Sql
|
|
|
373
255
|
AnyTableModel,
|
|
374
256
|
AnyTableModel,
|
|
375
257
|
AnyTableModel,
|
|
376
|
-
AnyTableModel,
|
|
377
258
|
unknown,
|
|
378
259
|
Expression
|
|
379
260
|
>;
|
|
@@ -387,7 +268,6 @@ export type AnyPasswordRegistrationMapping<
|
|
|
387
268
|
AnyTableModel,
|
|
388
269
|
AnyTableModel,
|
|
389
270
|
AnyTableModel,
|
|
390
|
-
AnyTableModel,
|
|
391
271
|
unknown,
|
|
392
272
|
Expression
|
|
393
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
|
+
>;
|