@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,424 +1,68 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export type ProofGenerationState = "active" | "consumed" | "cancelled" | "superseded";
|
|
24
|
-
|
|
25
|
-
export type ProofDeliveryState = "new" | "claimed" | "accepted" | "failed" | "ambiguous";
|
|
26
|
-
|
|
27
|
-
export type ProofCommandKind = "attempt" | "complete";
|
|
28
|
-
|
|
29
|
-
export type ProofCommandDecision = "accepted" | "rejected" | "completed";
|
|
30
|
-
|
|
31
|
-
export interface ProofScopeKeys {
|
|
32
|
-
/** Stable across flow/context/request changes and bounded by the consumer codec. */
|
|
33
|
-
readonly series: string;
|
|
34
|
-
readonly identifier: string;
|
|
35
|
-
/** A tagged non-null value; use a stable sentinel when the binding has no subject. */
|
|
36
|
-
readonly subject: string;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export interface ProofAuthorityInput<NativeSubjectId> {
|
|
40
|
-
readonly moduleId: string;
|
|
41
|
-
readonly purpose: ProofPurpose;
|
|
42
|
-
readonly binding: ProofBinding;
|
|
43
|
-
/** Resolved by Effect preplanning before an interactive check or D1 predicate compile. */
|
|
44
|
-
readonly nativeSubjectId?: NativeSubjectId;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export interface ProofAuthorityTables<
|
|
48
|
-
Subject extends Table,
|
|
49
|
-
Identifier extends Table,
|
|
50
|
-
Credential extends Table,
|
|
51
|
-
NativeSubjectId,
|
|
52
|
-
Expression extends SqlExpression = SqlExpression,
|
|
53
|
-
> {
|
|
54
|
-
readonly identifier: {
|
|
55
|
-
readonly table: Identifier["table"];
|
|
56
|
-
readonly namespace: ColumnKey<Identifier>;
|
|
57
|
-
readonly value: ColumnKey<Identifier>;
|
|
58
|
-
/** Evaluate the consumer's explicit current-ownership/availability semantics. */
|
|
59
|
-
readonly isCurrent: (
|
|
60
|
-
input: ProofAuthorityInput<NativeSubjectId>,
|
|
61
|
-
rows: ReadonlyArray<Identifier["select"]>,
|
|
62
|
-
) => boolean;
|
|
63
|
-
/** Optional outside D1. Never infer this semantic predicate from eligibility. */
|
|
64
|
-
readonly d1CurrentCondition?: (input: ProofAuthorityInput<NativeSubjectId>) => Expression;
|
|
65
|
-
};
|
|
66
|
-
readonly subject?: {
|
|
67
|
-
readonly table: Subject["table"];
|
|
68
|
-
readonly id: ColumnKey<Subject>;
|
|
69
|
-
readonly status: ColumnKey<Subject>;
|
|
70
|
-
readonly securityRevision: ColumnKey<Subject>;
|
|
71
|
-
readonly isActiveStatus: (value: unknown) => boolean;
|
|
72
|
-
readonly d1ActiveStatusValue: unknown;
|
|
73
|
-
};
|
|
74
|
-
readonly credential?: {
|
|
75
|
-
readonly table: Credential["table"];
|
|
76
|
-
readonly subjectId: ColumnKey<Credential>;
|
|
77
|
-
readonly credentialId: ColumnKey<Credential>;
|
|
78
|
-
readonly revision: ColumnKey<Credential>;
|
|
79
|
-
readonly status?: ColumnKey<Credential>;
|
|
80
|
-
readonly isActiveStatus?: (value: unknown) => boolean;
|
|
81
|
-
readonly d1ActiveStatusValue?: unknown;
|
|
82
|
-
};
|
|
83
|
-
readonly subjectId?: SubjectIdCodec<NativeSubjectId>;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export interface ProofRequestTable<Request extends Table> {
|
|
87
|
-
readonly table: Request["table"];
|
|
88
|
-
readonly moduleId: ColumnKey<Request>;
|
|
89
|
-
readonly requestId: ColumnKey<Request>;
|
|
90
|
-
readonly fingerprint: ColumnKey<Request>;
|
|
91
|
-
readonly proofId: ColumnKey<Request>;
|
|
92
|
-
readonly purpose: ColumnKey<Request>;
|
|
93
|
-
readonly keyId: ColumnKey<Request>;
|
|
94
|
-
readonly createdAt: ColumnKey<Request>;
|
|
95
|
-
readonly retentionUntil: ColumnKey<Request>;
|
|
96
|
-
readonly encodeInsert: (input: {
|
|
97
|
-
readonly record: ProofRecord;
|
|
98
|
-
readonly createdAtMillis: number;
|
|
99
|
-
readonly retentionUntilMillis: number;
|
|
100
|
-
}) => Request["insert"];
|
|
101
|
-
readonly decodeReceipt: (
|
|
102
|
-
row: Request["select"],
|
|
103
|
-
) => Effect.Effect<ProofRequestReceipt, PersistenceMappingError>;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export interface ProofSeriesTable<Series extends Table> {
|
|
107
|
-
readonly table: Series["table"];
|
|
108
|
-
readonly moduleId: ColumnKey<Series>;
|
|
109
|
-
readonly purpose: ColumnKey<Series>;
|
|
110
|
-
readonly scopeKey: ColumnKey<Series>;
|
|
111
|
-
readonly activeProofId: ColumnKey<Series>;
|
|
112
|
-
readonly lastIssueAt: ColumnKey<Series>;
|
|
113
|
-
readonly version: ColumnKey<Series>;
|
|
114
|
-
readonly encodeInsert: (input: {
|
|
115
|
-
readonly moduleId: string;
|
|
116
|
-
readonly purpose: ProofPurpose;
|
|
117
|
-
readonly scopeKey: string;
|
|
118
|
-
readonly version: ProofVersion;
|
|
119
|
-
}) => Series["insert"];
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export interface ProofGenerationTable<Generation extends Table> {
|
|
123
|
-
readonly table: Generation["table"];
|
|
124
|
-
readonly moduleId: ColumnKey<Generation>;
|
|
125
|
-
readonly purpose: ColumnKey<Generation>;
|
|
126
|
-
readonly proofId: ColumnKey<Generation>;
|
|
127
|
-
readonly requestId: ColumnKey<Generation>;
|
|
128
|
-
readonly seriesKey: ColumnKey<Generation>;
|
|
129
|
-
readonly deliveryId: ColumnKey<Generation>;
|
|
130
|
-
readonly binding: ColumnKey<Generation>;
|
|
131
|
-
readonly verifierKeyId: ColumnKey<Generation>;
|
|
132
|
-
readonly verifierDigest: ColumnKey<Generation>;
|
|
133
|
-
readonly issuedAt: ColumnKey<Generation>;
|
|
134
|
-
readonly expiresAt: ColumnKey<Generation>;
|
|
135
|
-
readonly version: ColumnKey<Generation>;
|
|
136
|
-
readonly state: ColumnKey<Generation>;
|
|
137
|
-
readonly sendCount: ColumnKey<Generation>;
|
|
138
|
-
readonly deliveryState: ColumnKey<Generation>;
|
|
139
|
-
readonly claimVersion: ColumnKey<Generation>;
|
|
140
|
-
readonly claimDeadline: ColumnKey<Generation>;
|
|
141
|
-
readonly retryAt: ColumnKey<Generation>;
|
|
142
|
-
readonly deliveryRetryMillis: ColumnKey<Generation>;
|
|
143
|
-
readonly retentionUntil: ColumnKey<Generation>;
|
|
144
|
-
readonly encodeInsert: (input: {
|
|
145
|
-
readonly record: ProofRecord;
|
|
146
|
-
readonly seriesKey: string;
|
|
147
|
-
readonly retentionUntilMillis: number;
|
|
148
|
-
readonly state: ProofGenerationState;
|
|
149
|
-
readonly deliveryState: ProofDeliveryState;
|
|
150
|
-
readonly policy: ProofPolicy;
|
|
151
|
-
}) => Generation["insert"];
|
|
152
|
-
readonly decodeRecord: (
|
|
153
|
-
row: Generation["select"],
|
|
154
|
-
) => Effect.Effect<ProofRecord, PersistenceMappingError>;
|
|
155
|
-
readonly decodeBinding: (
|
|
156
|
-
row: Generation["select"],
|
|
157
|
-
) => Effect.Effect<ProofBinding, PersistenceMappingError>;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export interface ProofContinuationRecord {
|
|
161
|
-
readonly moduleId: string;
|
|
162
|
-
readonly purpose: ProofPurpose;
|
|
163
|
-
readonly continuationId: ProofContinuationId;
|
|
164
|
-
readonly digest: TokenDigest;
|
|
165
|
-
readonly proofId: ProofId;
|
|
166
|
-
readonly seriesKey: string;
|
|
167
|
-
readonly binding: ProofBinding;
|
|
168
|
-
readonly expiresAtMillis: number;
|
|
169
|
-
readonly version: ProofVersion;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export interface ProofContinuationTable<Continuation extends Table> {
|
|
173
|
-
readonly table: Continuation["table"];
|
|
174
|
-
readonly moduleId: ColumnKey<Continuation>;
|
|
175
|
-
readonly purpose: ColumnKey<Continuation>;
|
|
176
|
-
readonly continuationId: ColumnKey<Continuation>;
|
|
177
|
-
readonly digest: ColumnKey<Continuation>;
|
|
178
|
-
readonly proofId: ColumnKey<Continuation>;
|
|
179
|
-
readonly seriesKey: ColumnKey<Continuation>;
|
|
180
|
-
readonly binding: ColumnKey<Continuation>;
|
|
181
|
-
readonly expiresAt: ColumnKey<Continuation>;
|
|
182
|
-
readonly consumed: ColumnKey<Continuation>;
|
|
183
|
-
readonly version: ColumnKey<Continuation>;
|
|
184
|
-
readonly retentionUntil: ColumnKey<Continuation>;
|
|
185
|
-
readonly encodeInsert: (
|
|
186
|
-
record: ProofContinuationRecord & {
|
|
187
|
-
readonly retentionUntilMillis: number;
|
|
188
|
-
},
|
|
189
|
-
) => Continuation["insert"];
|
|
190
|
-
readonly decode: (
|
|
191
|
-
row: Continuation["select"],
|
|
192
|
-
) => Effect.Effect<ProofContinuationRecord, PersistenceMappingError>;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
export interface ProofRateScopeTable<RateScope extends Table> {
|
|
196
|
-
readonly table: RateScope["table"];
|
|
197
|
-
readonly moduleId: ColumnKey<RateScope>;
|
|
198
|
-
readonly purpose: ColumnKey<RateScope>;
|
|
199
|
-
readonly action: ColumnKey<RateScope>;
|
|
200
|
-
readonly scopeKind: ColumnKey<RateScope>;
|
|
201
|
-
readonly scopeKey: ColumnKey<RateScope>;
|
|
1
|
+
import type { ProofIssueRecord } from "@yielded/auth/Proofs";
|
|
2
|
+
|
|
3
|
+
import type { AnyTableModel, TableModel as Table, SqlExpression } from "../table-model";
|
|
4
|
+
import type { SubjectIdCodec } from "./common";
|
|
5
|
+
|
|
6
|
+
type Column<T extends Table> = T["column"];
|
|
7
|
+
|
|
8
|
+
/** One current code per canonical identifier and subject. Binding is canonical
|
|
9
|
+
* Schema JSON, and token comparisons are byte exact even on collated columns. */
|
|
10
|
+
export interface ProofTable<Proof extends Table> {
|
|
11
|
+
readonly table: Proof["table"];
|
|
12
|
+
readonly moduleId: Column<Proof>;
|
|
13
|
+
readonly purpose: Column<Proof>;
|
|
14
|
+
readonly seriesKey: Column<Proof>;
|
|
15
|
+
readonly proofId: Column<Proof>;
|
|
16
|
+
readonly binding: Column<Proof>;
|
|
17
|
+
readonly verifierKeyId: Column<Proof>;
|
|
18
|
+
readonly verifierDigest: Column<Proof>;
|
|
19
|
+
readonly issuedAt: Column<Proof>;
|
|
20
|
+
readonly expiresAt: Column<Proof>;
|
|
21
|
+
readonly failedAttempts: Column<Proof>;
|
|
202
22
|
readonly encodeInsert: (input: {
|
|
203
|
-
readonly
|
|
204
|
-
readonly purpose: ProofPurpose;
|
|
205
|
-
readonly action: ProofAction;
|
|
206
|
-
readonly scopeKind: ProofScopeKind;
|
|
207
|
-
readonly scopeKey: string;
|
|
208
|
-
}) => RateScope["insert"];
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
export interface ProofAbuseEventTable<AbuseEvent extends Table> {
|
|
212
|
-
readonly table: AbuseEvent["table"];
|
|
213
|
-
readonly moduleId: ColumnKey<AbuseEvent>;
|
|
214
|
-
readonly purpose: ColumnKey<AbuseEvent>;
|
|
215
|
-
readonly action: ColumnKey<AbuseEvent>;
|
|
216
|
-
readonly scopeKind: ColumnKey<AbuseEvent>;
|
|
217
|
-
readonly scopeKey: ColumnKey<AbuseEvent>;
|
|
218
|
-
readonly commandId: ColumnKey<AbuseEvent>;
|
|
219
|
-
readonly occurredAt: ColumnKey<AbuseEvent>;
|
|
220
|
-
readonly retentionUntil: ColumnKey<AbuseEvent>;
|
|
221
|
-
readonly encodeInsert: (input: {
|
|
222
|
-
readonly moduleId: string;
|
|
223
|
-
readonly purpose: ProofPurpose;
|
|
224
|
-
readonly action: ProofAction;
|
|
225
|
-
readonly scopeKind: ProofScopeKind;
|
|
226
|
-
readonly scopeKey: string;
|
|
227
|
-
readonly commandId: string;
|
|
228
|
-
readonly occurredAtMillis: number;
|
|
229
|
-
readonly retentionUntilMillis: number;
|
|
230
|
-
}) => AbuseEvent["insert"];
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
export interface ProofFailureEventTable<FailureEvent extends Table> {
|
|
234
|
-
readonly table: FailureEvent["table"];
|
|
235
|
-
readonly moduleId: ColumnKey<FailureEvent>;
|
|
236
|
-
readonly purpose: ColumnKey<FailureEvent>;
|
|
237
|
-
readonly seriesKey: ColumnKey<FailureEvent>;
|
|
238
|
-
readonly commandId: ColumnKey<FailureEvent>;
|
|
239
|
-
readonly occurredAt: ColumnKey<FailureEvent>;
|
|
240
|
-
readonly retentionUntil: ColumnKey<FailureEvent>;
|
|
241
|
-
readonly encodeInsert: (input: {
|
|
242
|
-
readonly moduleId: string;
|
|
243
|
-
readonly purpose: ProofPurpose;
|
|
23
|
+
readonly record: ProofIssueRecord;
|
|
244
24
|
readonly seriesKey: string;
|
|
245
|
-
|
|
246
|
-
readonly occurredAtMillis: number;
|
|
247
|
-
readonly retentionUntilMillis: number;
|
|
248
|
-
}) => FailureEvent["insert"];
|
|
25
|
+
}) => Proof["insert"];
|
|
249
26
|
}
|
|
250
27
|
|
|
251
|
-
export interface
|
|
252
|
-
readonly
|
|
253
|
-
readonly
|
|
254
|
-
|
|
255
|
-
readonly
|
|
256
|
-
readonly
|
|
257
|
-
readonly
|
|
258
|
-
readonly encodeInsert: (input: {
|
|
259
|
-
readonly moduleId: string;
|
|
260
|
-
readonly commandId: string;
|
|
261
|
-
readonly kind: ProofCommandKind;
|
|
262
|
-
readonly decision: ProofCommandDecision;
|
|
263
|
-
readonly retentionUntilMillis: number;
|
|
264
|
-
}) => Command["insert"];
|
|
28
|
+
export interface ProofClock<Expression extends SqlExpression = SqlExpression> {
|
|
29
|
+
readonly encodeInstant: (millis: number) => unknown;
|
|
30
|
+
readonly decodeInstant: (value: unknown) => number;
|
|
31
|
+
/** Integer engine wall-clock milliseconds; PostgreSQL uses clock_timestamp(). */
|
|
32
|
+
readonly engineNowMillis: Expression;
|
|
33
|
+
readonly toMillis: (expression: Expression) => Expression;
|
|
34
|
+
readonly fromMillis: (expression: Expression) => Expression;
|
|
265
35
|
}
|
|
266
36
|
|
|
267
37
|
export interface RequiredProofConstraints {
|
|
268
|
-
readonly
|
|
269
|
-
readonly
|
|
270
|
-
readonly proof: "unique(generation.moduleId,generation.proofId)";
|
|
271
|
-
readonly delivery: "unique(generation.moduleId,generation.deliveryId)";
|
|
272
|
-
readonly continuationId: "unique(continuation.moduleId,continuation.continuationId)";
|
|
273
|
-
readonly continuationDigest: "unique(continuation.moduleId,continuation.digest)";
|
|
274
|
-
readonly rateScope: "unique(rateScope.moduleId,rateScope.purpose,rateScope.action,rateScope.scopeKind,rateScope.scopeKey)";
|
|
275
|
-
readonly abuseEvent: "unique(abuseEvent.moduleId,abuseEvent.action,abuseEvent.scopeKind,abuseEvent.scopeKey,abuseEvent.commandId)";
|
|
276
|
-
readonly failureEvent: "unique(failureEvent.moduleId,failureEvent.seriesKey,failureEvent.commandId)";
|
|
277
|
-
readonly command: "unique(command.moduleId,command.commandId)";
|
|
38
|
+
readonly series: "unique(proof.moduleId,proof.purpose,proof.seriesKey)";
|
|
39
|
+
readonly proof: "unique(proof.moduleId,proof.proofId)";
|
|
278
40
|
}
|
|
279
41
|
|
|
280
42
|
export const requiredProofConstraints: RequiredProofConstraints = {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
proof: "unique(generation.moduleId,generation.proofId)",
|
|
284
|
-
delivery: "unique(generation.moduleId,generation.deliveryId)",
|
|
285
|
-
continuationId: "unique(continuation.moduleId,continuation.continuationId)",
|
|
286
|
-
continuationDigest: "unique(continuation.moduleId,continuation.digest)",
|
|
287
|
-
rateScope:
|
|
288
|
-
"unique(rateScope.moduleId,rateScope.purpose,rateScope.action,rateScope.scopeKind,rateScope.scopeKey)",
|
|
289
|
-
abuseEvent:
|
|
290
|
-
"unique(abuseEvent.moduleId,abuseEvent.action,abuseEvent.scopeKind,abuseEvent.scopeKey,abuseEvent.commandId)",
|
|
291
|
-
failureEvent: "unique(failureEvent.moduleId,failureEvent.seriesKey,failureEvent.commandId)",
|
|
292
|
-
command: "unique(command.moduleId,command.commandId)",
|
|
43
|
+
series: "unique(proof.moduleId,proof.purpose,proof.seriesKey)",
|
|
44
|
+
proof: "unique(proof.moduleId,proof.proofId)",
|
|
293
45
|
};
|
|
294
46
|
|
|
295
|
-
export interface ProofConstraintClassifier {
|
|
296
|
-
/** Match only the declared request uniqueness constraint, including wrapped driver errors. */
|
|
297
|
-
readonly isRequestConflict: (cause: unknown) => boolean;
|
|
298
|
-
/** Match only the declared series uniqueness constraint, including wrapped driver errors. */
|
|
299
|
-
readonly isSeriesConflict: (cause: unknown) => boolean;
|
|
300
|
-
/** Match only the declared command uniqueness constraint, including wrapped driver errors. */
|
|
301
|
-
readonly isCommandConflict: (cause: unknown) => boolean;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
export interface ProofD1Clock<Expression extends SqlExpression = SqlExpression> {
|
|
305
|
-
/** Native instant expression evaluated by SQLite inside the submitted batch. */
|
|
306
|
-
readonly engineNow: Expression;
|
|
307
|
-
/** Integer Unix milliseconds expression evaluated inside the submitted batch. */
|
|
308
|
-
readonly engineNowMillis: Expression;
|
|
309
|
-
/** Native instant expression for an engine-time rolling-window cutoff. */
|
|
310
|
-
readonly engineInstantMinus: (millis: number) => Expression;
|
|
311
|
-
/** Native instant expression for a retention/lease deadline from engine time. */
|
|
312
|
-
readonly engineInstantPlus: (millis: number) => Expression;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
47
|
export interface ProofPersistenceMapping<
|
|
316
|
-
|
|
317
|
-
Series extends Table,
|
|
318
|
-
Generation extends Table,
|
|
319
|
-
Continuation extends Table,
|
|
320
|
-
RateScope extends Table,
|
|
321
|
-
AbuseEvent extends Table,
|
|
322
|
-
FailureEvent extends Table,
|
|
323
|
-
Command extends Table,
|
|
48
|
+
Proof extends Table,
|
|
324
49
|
Subject extends Table,
|
|
325
|
-
Identifier extends Table,
|
|
326
|
-
Credential extends Table,
|
|
327
50
|
NativeSubjectId,
|
|
328
51
|
Expression extends SqlExpression = SqlExpression,
|
|
329
|
-
>
|
|
330
|
-
readonly
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
readonly
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
readonly
|
|
338
|
-
readonly
|
|
339
|
-
Subject,
|
|
340
|
-
Identifier,
|
|
341
|
-
Credential,
|
|
342
|
-
NativeSubjectId,
|
|
343
|
-
Expression
|
|
344
|
-
>;
|
|
52
|
+
> {
|
|
53
|
+
readonly proof: ProofTable<Proof>;
|
|
54
|
+
/** Bare subject-bound redemption takes this lock before touching the proof.
|
|
55
|
+
* Protected mutation owners already holding it use the shared locked primitive. */
|
|
56
|
+
readonly subject: {
|
|
57
|
+
readonly table: Subject["table"];
|
|
58
|
+
readonly id: Column<Subject>;
|
|
59
|
+
};
|
|
60
|
+
readonly subjectId: SubjectIdCodec<NativeSubjectId>;
|
|
61
|
+
readonly clock: ProofClock<Expression>;
|
|
345
62
|
readonly constraints: RequiredProofConstraints;
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
readonly purpose: ProofPurpose;
|
|
349
|
-
readonly binding: ProofBinding;
|
|
350
|
-
}) => ProofScopeKeys;
|
|
351
|
-
readonly encodeInstant: (epochMillis: number) => unknown;
|
|
352
|
-
readonly decodeInstant: (native: unknown) => Effect.Effect<number, PersistenceMappingError>;
|
|
353
|
-
readonly allocateVersion?: Effect.Effect<ProofVersion, PersistenceMappingError>;
|
|
354
|
-
readonly allocateVersionSync?: () => ProofVersion;
|
|
355
|
-
/** Required by D1 mappings and ignored by interactive targets. */
|
|
356
|
-
readonly d1?: ProofD1Clock<Expression>;
|
|
63
|
+
/** D1 planning reads use the primary engine. */
|
|
64
|
+
readonly d1?: { readonly primary: true };
|
|
357
65
|
}
|
|
358
66
|
|
|
359
|
-
export type D1ProofPersistenceMapping<
|
|
360
|
-
Request extends Table,
|
|
361
|
-
Series extends Table,
|
|
362
|
-
Generation extends Table,
|
|
363
|
-
Continuation extends Table,
|
|
364
|
-
RateScope extends Table,
|
|
365
|
-
AbuseEvent extends Table,
|
|
366
|
-
FailureEvent extends Table,
|
|
367
|
-
Command extends Table,
|
|
368
|
-
Subject extends Table,
|
|
369
|
-
Identifier extends Table,
|
|
370
|
-
Credential extends Table,
|
|
371
|
-
NativeSubjectId,
|
|
372
|
-
Expression extends SqlExpression = SqlExpression,
|
|
373
|
-
> = ProofPersistenceMapping<
|
|
374
|
-
Request,
|
|
375
|
-
Series,
|
|
376
|
-
Generation,
|
|
377
|
-
Continuation,
|
|
378
|
-
RateScope,
|
|
379
|
-
AbuseEvent,
|
|
380
|
-
FailureEvent,
|
|
381
|
-
Command,
|
|
382
|
-
Subject,
|
|
383
|
-
Identifier,
|
|
384
|
-
Credential,
|
|
385
|
-
NativeSubjectId,
|
|
386
|
-
Expression
|
|
387
|
-
> & {
|
|
388
|
-
readonly d1: ProofD1Clock<Expression>;
|
|
389
|
-
readonly authority: ProofAuthorityTables<
|
|
390
|
-
Subject,
|
|
391
|
-
Identifier,
|
|
392
|
-
Credential,
|
|
393
|
-
NativeSubjectId,
|
|
394
|
-
Expression
|
|
395
|
-
> & {
|
|
396
|
-
readonly identifier: ProofAuthorityTables<
|
|
397
|
-
Subject,
|
|
398
|
-
Identifier,
|
|
399
|
-
Credential,
|
|
400
|
-
NativeSubjectId,
|
|
401
|
-
Expression
|
|
402
|
-
>["identifier"] & {
|
|
403
|
-
/** Synchronous SQL compiler; Effect-based ID conversion has already completed. */
|
|
404
|
-
readonly d1CurrentCondition: (input: ProofAuthorityInput<NativeSubjectId>) => Expression;
|
|
405
|
-
};
|
|
406
|
-
};
|
|
407
|
-
};
|
|
408
|
-
|
|
409
67
|
export type AnyProofPersistenceMapping<Expression extends SqlExpression = SqlExpression> =
|
|
410
|
-
ProofPersistenceMapping<
|
|
411
|
-
AnyTableModel,
|
|
412
|
-
AnyTableModel,
|
|
413
|
-
AnyTableModel,
|
|
414
|
-
AnyTableModel,
|
|
415
|
-
AnyTableModel,
|
|
416
|
-
AnyTableModel,
|
|
417
|
-
AnyTableModel,
|
|
418
|
-
AnyTableModel,
|
|
419
|
-
AnyTableModel,
|
|
420
|
-
AnyTableModel,
|
|
421
|
-
AnyTableModel,
|
|
422
|
-
unknown,
|
|
423
|
-
Expression
|
|
424
|
-
>;
|
|
68
|
+
ProofPersistenceMapping<AnyTableModel, AnyTableModel, unknown, Expression>;
|