@yielded/auth-persistence-drizzle 0.1.0-beta.25 → 0.1.0-beta.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/D1.d.mts +495 -1151
- package/dist/D1.mjs +41 -19
- package/dist/D1.mjs.map +1 -1
- package/dist/Libsql.d.mts +385 -1996
- package/dist/Libsql.mjs +43 -47
- package/dist/Libsql.mjs.map +1 -1
- package/dist/Mysql2.d.mts +397 -1743
- package/dist/Mysql2.mjs +35 -41
- package/dist/Mysql2.mjs.map +1 -1
- package/dist/Pglite.d.mts +397 -1743
- package/dist/Pglite.mjs +42 -31
- package/dist/Pglite.mjs.map +1 -1
- package/dist/Postgres.d.mts +397 -1743
- package/dist/Postgres.mjs +42 -31
- package/dist/Postgres.mjs.map +1 -1
- package/dist/SqliteBun.d.mts +385 -1992
- package/dist/SqliteBun.mjs +43 -43
- package/dist/SqliteBun.mjs.map +1 -1
- package/dist/SqliteDo.d.mts +385 -1991
- package/dist/SqliteDo.mjs +42 -41
- package/dist/SqliteDo.mjs.map +1 -1
- package/dist/SqliteNode.d.mts +385 -1992
- package/dist/SqliteNode.mjs +43 -43
- package/dist/SqliteNode.mjs.map +1 -1
- package/dist/SqliteWasm.d.mts +385 -1992
- package/dist/SqliteWasm.mjs +43 -43
- package/dist/SqliteWasm.mjs.map +1 -1
- package/dist/drizzle/d1-identity.mjs +2 -2
- package/dist/drizzle/d1-identity.mjs.map +1 -1
- package/dist/drizzle/driver-types.d.mts +15 -0
- package/dist/drizzle/email-drivers.mjs +32 -0
- package/dist/drizzle/email-drivers.mjs.map +1 -0
- package/dist/drizzle/email-model.d.mts +9 -13
- package/dist/drizzle/email-target.d.mts +10 -11
- package/dist/drizzle/email-target.mjs +33 -70
- package/dist/drizzle/email-target.mjs.map +1 -1
- package/dist/drizzle/model.d.mts +1 -10
- package/dist/drizzle/model.mjs +1 -2
- package/dist/drizzle/model.mjs.map +1 -1
- package/dist/drizzle/mysql-identity.mjs +3 -6
- package/dist/drizzle/mysql-identity.mjs.map +1 -1
- package/dist/drizzle/native-clock.d.mts +9 -0
- package/dist/drizzle/native-clock.mjs +18 -0
- package/dist/drizzle/native-clock.mjs.map +1 -0
- package/dist/drizzle/native-database.d.mts +46 -0
- package/dist/drizzle/native-database.mjs +6 -5
- package/dist/drizzle/native-database.mjs.map +1 -1
- package/dist/drizzle/native-sql-table.mjs +13 -5
- package/dist/drizzle/native-sql-table.mjs.map +1 -1
- package/dist/drizzle/native-target.d.mts +6 -0
- package/dist/drizzle/native-target.mjs +44 -0
- package/dist/drizzle/native-target.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-drivers.mjs +4 -56
- package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-model.d.mts +5 -22
- package/dist/drizzle/oauth-connected-model.mjs +1 -7
- package/dist/drizzle/oauth-connected-reference.d.mts +5 -7
- package/dist/drizzle/oauth-connected-reference.mjs +11 -3
- package/dist/drizzle/oauth-connected-reference.mjs.map +1 -1
- package/dist/drizzle/oauth-drivers.mjs +1 -2
- package/dist/drizzle/oauth-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-model.d.mts +11 -37
- package/dist/drizzle/oauth-model.mjs +3 -4
- package/dist/drizzle/oauth-model.mjs.map +1 -1
- package/dist/drizzle/oauth-proxy.d.mts +1 -1
- package/dist/drizzle/oauth-proxy.mjs +1 -1
- package/dist/drizzle/oauth-target.d.mts +9 -6
- package/dist/drizzle/oauth-target.mjs +47 -15
- package/dist/drizzle/oauth-target.mjs.map +1 -1
- package/dist/drizzle/passkey/target.d.mts +14 -0
- package/dist/drizzle/passkey/target.mjs +52 -0
- package/dist/drizzle/passkey/target.mjs.map +1 -0
- package/dist/drizzle/passkey/write-target.d.mts +11 -0
- package/dist/drizzle/passkey/write-target.mjs +28 -0
- package/dist/drizzle/passkey/write-target.mjs.map +1 -0
- package/dist/drizzle/passkey-drivers.mjs +2 -4
- package/dist/drizzle/passkey-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-model.d.mts +5 -26
- package/dist/drizzle/passkey-model.mjs +2 -8
- package/dist/drizzle/passkey-registration-ceremony-model.d.mts +3 -6
- package/dist/drizzle/passkey-write-drivers.mjs +2 -3
- package/dist/drizzle/passkey-write-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-write-model.d.mts +7 -9
- package/dist/drizzle/passkey-write-model.mjs +1 -3
- package/dist/drizzle/passkey-write-model.mjs.map +1 -1
- package/dist/drizzle/password-drivers.mjs +31 -0
- package/dist/drizzle/password-drivers.mjs.map +1 -0
- package/dist/drizzle/password-model.d.mts +7 -10
- package/dist/drizzle/password-target.d.mts +7 -8
- package/dist/drizzle/password-target.mjs +23 -68
- package/dist/drizzle/password-target.mjs.map +1 -1
- package/dist/drizzle/pg-identity.mjs +3 -6
- package/dist/drizzle/pg-identity.mjs.map +1 -1
- package/dist/drizzle/phone-drivers.mjs +24 -0
- package/dist/drizzle/phone-drivers.mjs.map +1 -0
- package/dist/drizzle/phone-model.d.mts +13 -104
- package/dist/drizzle/phone-model.mjs +5 -33
- package/dist/drizzle/phone-model.mjs.map +1 -1
- package/dist/drizzle/phone-target.mjs +22 -171
- package/dist/drizzle/phone-target.mjs.map +1 -1
- package/dist/drizzle/proof-drivers.mjs +24 -0
- package/dist/drizzle/proof-drivers.mjs.map +1 -0
- package/dist/drizzle/proof-model.d.mts +7 -15
- package/dist/drizzle/proof-target.d.mts +5 -5
- package/dist/drizzle/proof-target.mjs +14 -28
- package/dist/drizzle/proof-target.mjs.map +1 -1
- package/dist/drizzle/session-drivers.mjs +97 -0
- package/dist/drizzle/session-drivers.mjs.map +1 -0
- package/dist/drizzle/session-model.d.mts +11 -22
- package/dist/drizzle/sqlite-do-database.d.mts +3 -3
- package/dist/drizzle/sqlite-do-database.mjs +6 -1
- package/dist/drizzle/sqlite-do-database.mjs.map +1 -1
- package/dist/drizzle/sqlite-identity.mjs +3 -5
- package/dist/drizzle/sqlite-identity.mjs.map +1 -1
- package/dist/drizzle/step-up-model.d.mts +2 -5
- package/dist/drizzle/storage-validation.mjs +2 -1
- package/dist/drizzle/storage-validation.mjs.map +1 -1
- package/dist/drizzle/totp-model.d.mts +7 -74
- package/dist/drizzle/totp-model.mjs +1 -5
- package/dist/drizzle/totp-model.mjs.map +1 -1
- package/dist/drizzle/totp-target.mjs +39 -75
- package/dist/drizzle/totp-target.mjs.map +1 -1
- package/dist/drizzle/transaction-handle.mjs +13 -0
- package/dist/drizzle/transaction-handle.mjs.map +1 -0
- package/dist/drizzle/transaction-mysql.mjs +43 -12
- package/dist/drizzle/transaction-mysql.mjs.map +1 -1
- package/dist/index.d.mts +17 -22
- package/dist/index.mjs +10 -16
- package/dist/internal/drizzle-postgres.mjs +4 -6
- package/dist/internal/drizzle-postgres.mjs.map +1 -1
- package/dist/internal/drizzle-sqlite.mjs +4 -6
- package/dist/internal/drizzle-sqlite.mjs.map +1 -1
- package/package.json +1 -1
- package/src/D1.ts +77 -74
- package/src/Libsql.ts +65 -105
- package/src/Mysql2.ts +52 -87
- package/src/Pglite.ts +74 -81
- package/src/Postgres.ts +74 -81
- package/src/SqliteBun.ts +65 -113
- package/src/SqliteDo.ts +58 -106
- package/src/SqliteNode.ts +65 -113
- package/src/SqliteWasm.ts +65 -113
- package/src/drizzle/d1-identity.ts +2 -2
- package/src/drizzle/driver-types.ts +26 -0
- package/src/drizzle/email-drivers.ts +320 -0
- package/src/drizzle/email-model.ts +24 -78
- package/src/drizzle/email-target.ts +118 -211
- package/src/drizzle/model.ts +0 -2
- package/src/drizzle/mysql-identity.ts +4 -24
- package/src/drizzle/native-clock.ts +21 -0
- package/src/drizzle/native-database.ts +59 -18
- package/src/drizzle/native-sql-table.ts +104 -87
- package/src/drizzle/native-target.ts +120 -0
- package/src/drizzle/oauth-connected-drivers.ts +24 -233
- package/src/drizzle/oauth-connected-model.ts +3 -93
- package/src/drizzle/oauth-connected-reference.ts +16 -25
- package/src/drizzle/oauth-drivers.ts +58 -99
- package/src/drizzle/oauth-model.ts +27 -132
- package/src/drizzle/oauth-target.ts +250 -33
- package/src/drizzle/passkey/target.ts +205 -0
- package/src/drizzle/passkey/write-target.ts +91 -0
- package/src/drizzle/passkey-drivers.ts +35 -133
- package/src/drizzle/passkey-model.ts +3 -81
- package/src/drizzle/passkey-registration-ceremony-model.ts +5 -25
- package/src/drizzle/passkey-write-drivers.ts +32 -102
- package/src/drizzle/passkey-write-model.ts +10 -44
- package/src/drizzle/password-drivers.ts +286 -0
- package/src/drizzle/password-model.ts +10 -44
- package/src/drizzle/password-target.ts +85 -239
- package/src/drizzle/pg-identity.ts +4 -19
- package/src/drizzle/phone-drivers.ts +142 -0
- package/src/drizzle/phone-model.ts +22 -162
- package/src/drizzle/phone-target.ts +51 -493
- package/src/drizzle/proof-drivers.ts +123 -0
- package/src/drizzle/proof-model.ts +12 -123
- package/src/drizzle/proof-target.ts +38 -102
- package/src/drizzle/session-drivers.ts +696 -0
- package/src/drizzle/session-model.ts +54 -118
- package/src/drizzle/sqlite-do-database.ts +8 -0
- package/src/drizzle/sqlite-identity.ts +4 -22
- package/src/drizzle/step-up-model.ts +13 -37
- package/src/drizzle/storage-validation.ts +2 -1
- package/src/drizzle/totp-model.ts +20 -77
- package/src/drizzle/totp-target.ts +121 -261
- package/src/drizzle/transaction-handle.ts +41 -0
- package/src/drizzle/transaction-mysql.ts +90 -25
- package/src/index.ts +7 -122
- package/src/internal/drizzle-postgres.ts +4 -7
- package/src/internal/drizzle-sqlite.ts +4 -7
- package/dist/drizzle/crypto.mjs +0 -11
- package/dist/drizzle/crypto.mjs.map +0 -1
- package/dist/drizzle/d1-emails.d.mts +0 -62
- package/dist/drizzle/d1-emails.mjs +0 -626
- package/dist/drizzle/d1-emails.mjs.map +0 -1
- package/dist/drizzle/d1-generated-statement.mjs +0 -79
- package/dist/drizzle/d1-generated-statement.mjs.map +0 -1
- package/dist/drizzle/d1-oauth.d.mts +0 -331
- package/dist/drizzle/d1-oauth.mjs +0 -79
- package/dist/drizzle/d1-oauth.mjs.map +0 -1
- package/dist/drizzle/d1-passkey.d.mts +0 -37
- package/dist/drizzle/d1-passkey.mjs +0 -98
- package/dist/drizzle/d1-passkey.mjs.map +0 -1
- package/dist/drizzle/d1-password-prepared.d.mts +0 -25
- package/dist/drizzle/d1-password-prepared.mjs +0 -473
- package/dist/drizzle/d1-password-prepared.mjs.map +0 -1
- package/dist/drizzle/d1-passwords.d.mts +0 -70
- package/dist/drizzle/d1-passwords.mjs +0 -808
- package/dist/drizzle/d1-passwords.mjs.map +0 -1
- package/dist/drizzle/d1-phone.d.mts +0 -23
- package/dist/drizzle/d1-phone.mjs +0 -33
- package/dist/drizzle/d1-phone.mjs.map +0 -1
- package/dist/drizzle/d1-planning.d.mts +0 -11
- package/dist/drizzle/d1-planning.mjs +0 -43
- package/dist/drizzle/d1-planning.mjs.map +0 -1
- package/dist/drizzle/d1-proofs.d.mts +0 -80
- package/dist/drizzle/d1-proofs.mjs +0 -842
- package/dist/drizzle/d1-proofs.mjs.map +0 -1
- package/dist/drizzle/d1-sessions.d.mts +0 -68
- package/dist/drizzle/d1-sessions.mjs +0 -987
- package/dist/drizzle/d1-sessions.mjs.map +0 -1
- package/dist/drizzle/d1-totp.d.mts +0 -23
- package/dist/drizzle/d1-totp.mjs +0 -30
- package/dist/drizzle/d1-totp.mjs.map +0 -1
- package/dist/drizzle/email-registration.d.mts +0 -33
- package/dist/drizzle/email-registration.mjs +0 -281
- package/dist/drizzle/email-registration.mjs.map +0 -1
- package/dist/drizzle/email-sql.d.mts +0 -1
- package/dist/drizzle/email-sql.mjs +0 -9
- package/dist/drizzle/email-sql.mjs.map +0 -1
- package/dist/drizzle/mysql-emails.d.mts +0 -71
- package/dist/drizzle/mysql-emails.mjs +0 -43
- package/dist/drizzle/mysql-emails.mjs.map +0 -1
- package/dist/drizzle/mysql-password-prepared.d.mts +0 -30
- package/dist/drizzle/mysql-password-prepared.mjs +0 -21
- package/dist/drizzle/mysql-password-prepared.mjs.map +0 -1
- package/dist/drizzle/mysql-passwords.d.mts +0 -71
- package/dist/drizzle/mysql-passwords.mjs +0 -43
- package/dist/drizzle/mysql-passwords.mjs.map +0 -1
- package/dist/drizzle/mysql-proofs.d.mts +0 -75
- package/dist/drizzle/mysql-proofs.mjs +0 -28
- package/dist/drizzle/mysql-proofs.mjs.map +0 -1
- package/dist/drizzle/mysql-sessions.d.mts +0 -92
- package/dist/drizzle/mysql-sessions.mjs +0 -58
- package/dist/drizzle/mysql-sessions.mjs.map +0 -1
- package/dist/drizzle/oauth-connected-model.mjs.map +0 -1
- package/dist/drizzle/oauth-connected-target.d.mts +0 -6
- package/dist/drizzle/oauth-connected-target.mjs +0 -12
- package/dist/drizzle/oauth-connected-target.mjs.map +0 -1
- package/dist/drizzle/oauth-kernel.mjs +0 -11
- package/dist/drizzle/oauth-kernel.mjs.map +0 -1
- package/dist/drizzle/oauth-mysql.mjs +0 -8
- package/dist/drizzle/oauth-mysql.mjs.map +0 -1
- package/dist/drizzle/passkey-kernel.mjs +0 -8
- package/dist/drizzle/passkey-kernel.mjs.map +0 -1
- package/dist/drizzle/passkey-model.mjs.map +0 -1
- package/dist/drizzle/passkey-registration-ceremony-model.mjs +0 -2
- package/dist/drizzle/passkey-state.mjs +0 -7
- package/dist/drizzle/passkey-state.mjs.map +0 -1
- package/dist/drizzle/passkey-target.d.mts +0 -2
- package/dist/drizzle/passkey-target.mjs +0 -7
- package/dist/drizzle/passkey-target.mjs.map +0 -1
- package/dist/drizzle/passkey-write-target.d.mts +0 -5
- package/dist/drizzle/passkey-write-target.mjs +0 -7
- package/dist/drizzle/passkey-write-target.mjs.map +0 -1
- package/dist/drizzle/password-prepared-model.d.mts +0 -92
- package/dist/drizzle/password-prepared-model.mjs +0 -11
- package/dist/drizzle/password-prepared-model.mjs.map +0 -1
- package/dist/drizzle/password-prepared-sql.mjs +0 -395
- package/dist/drizzle/password-prepared-sql.mjs.map +0 -1
- package/dist/drizzle/password-prepared-state.mjs +0 -104
- package/dist/drizzle/password-prepared-state.mjs.map +0 -1
- package/dist/drizzle/password-prepared-target.d.mts +0 -13
- package/dist/drizzle/password-prepared-target.mjs +0 -62
- package/dist/drizzle/password-prepared-target.mjs.map +0 -1
- package/dist/drizzle/password-registration.d.mts +0 -7
- package/dist/drizzle/password-registration.mjs +0 -137
- package/dist/drizzle/password-registration.mjs.map +0 -1
- package/dist/drizzle/password-sql.d.mts +0 -1
- package/dist/drizzle/password-sql.mjs +0 -10
- package/dist/drizzle/password-sql.mjs.map +0 -1
- package/dist/drizzle/pg-emails.d.mts +0 -72
- package/dist/drizzle/pg-emails.mjs +0 -43
- package/dist/drizzle/pg-emails.mjs.map +0 -1
- package/dist/drizzle/pg-password-prepared.d.mts +0 -31
- package/dist/drizzle/pg-password-prepared.mjs +0 -21
- package/dist/drizzle/pg-password-prepared.mjs.map +0 -1
- package/dist/drizzle/pg-passwords.d.mts +0 -72
- package/dist/drizzle/pg-passwords.mjs +0 -43
- package/dist/drizzle/pg-passwords.mjs.map +0 -1
- package/dist/drizzle/pg-proofs.d.mts +0 -76
- package/dist/drizzle/pg-proofs.mjs +0 -27
- package/dist/drizzle/pg-proofs.mjs.map +0 -1
- package/dist/drizzle/pg-sessions.d.mts +0 -93
- package/dist/drizzle/pg-sessions.mjs +0 -58
- package/dist/drizzle/pg-sessions.mjs.map +0 -1
- package/dist/drizzle/phone-state.mjs +0 -14
- package/dist/drizzle/phone-state.mjs.map +0 -1
- package/dist/drizzle/phone-target.d.mts +0 -15
- package/dist/drizzle/proof-sql.d.mts +0 -1
- package/dist/drizzle/proof-sql.mjs +0 -8
- package/dist/drizzle/proof-sql.mjs.map +0 -1
- package/dist/drizzle/query-operations.mjs +0 -31
- package/dist/drizzle/query-operations.mjs.map +0 -1
- package/dist/drizzle/session-sql.d.mts +0 -1
- package/dist/drizzle/session-sql.mjs +0 -9
- package/dist/drizzle/session-sql.mjs.map +0 -1
- package/dist/drizzle/session-target.d.mts +0 -30
- package/dist/drizzle/session-target.mjs +0 -49
- package/dist/drizzle/session-target.mjs.map +0 -1
- package/dist/drizzle/sqlite-emails.mjs +0 -50
- package/dist/drizzle/sqlite-emails.mjs.map +0 -1
- package/dist/drizzle/sqlite-password-prepared.mjs +0 -26
- package/dist/drizzle/sqlite-password-prepared.mjs.map +0 -1
- package/dist/drizzle/sqlite-passwords.mjs +0 -54
- package/dist/drizzle/sqlite-passwords.mjs.map +0 -1
- package/dist/drizzle/sqlite-proofs.mjs +0 -34
- package/dist/drizzle/sqlite-proofs.mjs.map +0 -1
- package/dist/drizzle/sqlite-sessions.mjs +0 -79
- package/dist/drizzle/sqlite-sessions.mjs.map +0 -1
- package/dist/drizzle/standalone-guard.d.mts +0 -2
- package/dist/drizzle/standalone-guard.mjs +0 -21
- package/dist/drizzle/standalone-guard.mjs.map +0 -1
- package/dist/drizzle/totp-state.d.mts +0 -37
- package/dist/drizzle/totp-state.mjs +0 -287
- package/dist/drizzle/totp-state.mjs.map +0 -1
- package/dist/drizzle/totp-target.d.mts +0 -15
- package/dist/drizzle/transaction-execution.d.mts +0 -2
- package/dist/drizzle/transaction-execution.mjs +0 -11
- package/dist/drizzle/transaction-execution.mjs.map +0 -1
- package/dist/drizzle/transaction-owner.d.mts +0 -1
- package/dist/drizzle/transaction-owner.mjs +0 -8
- package/dist/drizzle/transaction-owner.mjs.map +0 -1
- package/src/drizzle/crypto.ts +0 -14
- package/src/drizzle/d1-emails.ts +0 -1945
- package/src/drizzle/d1-generated-statement.ts +0 -129
- package/src/drizzle/d1-oauth.ts +0 -360
- package/src/drizzle/d1-passkey.ts +0 -383
- package/src/drizzle/d1-password-prepared.ts +0 -1266
- package/src/drizzle/d1-passwords.ts +0 -2061
- package/src/drizzle/d1-phone.ts +0 -103
- package/src/drizzle/d1-planning.ts +0 -104
- package/src/drizzle/d1-proofs.ts +0 -2354
- package/src/drizzle/d1-sessions.ts +0 -2940
- package/src/drizzle/d1-totp.ts +0 -88
- package/src/drizzle/email-registration.ts +0 -850
- package/src/drizzle/email-sql.ts +0 -25
- package/src/drizzle/mysql-emails.ts +0 -343
- package/src/drizzle/mysql-password-prepared.ts +0 -198
- package/src/drizzle/mysql-passwords.ts +0 -343
- package/src/drizzle/mysql-proofs.ts +0 -196
- package/src/drizzle/mysql-sessions.ts +0 -780
- package/src/drizzle/oauth-connected-target.ts +0 -21
- package/src/drizzle/oauth-kernel.ts +0 -10
- package/src/drizzle/oauth-mysql.ts +0 -10
- package/src/drizzle/passkey-kernel.ts +0 -4
- package/src/drizzle/passkey-state.ts +0 -3
- package/src/drizzle/passkey-target.ts +0 -23
- package/src/drizzle/passkey-write-target.ts +0 -9
- package/src/drizzle/password-prepared-model.ts +0 -241
- package/src/drizzle/password-prepared-sql.ts +0 -1202
- package/src/drizzle/password-prepared-state.ts +0 -231
- package/src/drizzle/password-prepared-target.ts +0 -169
- package/src/drizzle/password-registration.ts +0 -369
- package/src/drizzle/password-sql.ts +0 -16
- package/src/drizzle/pg-emails.ts +0 -343
- package/src/drizzle/pg-password-prepared.ts +0 -199
- package/src/drizzle/pg-passwords.ts +0 -342
- package/src/drizzle/pg-proofs.ts +0 -206
- package/src/drizzle/pg-sessions.ts +0 -789
- package/src/drizzle/phone-state.ts +0 -21
- package/src/drizzle/proof-sql.ts +0 -10
- package/src/drizzle/query-operations.ts +0 -49
- package/src/drizzle/session-sql.ts +0 -15
- package/src/drizzle/session-target.ts +0 -337
- package/src/drizzle/sqlite-emails.ts +0 -393
- package/src/drizzle/sqlite-password-prepared.ts +0 -230
- package/src/drizzle/sqlite-passwords.ts +0 -497
- package/src/drizzle/sqlite-proofs.ts +0 -229
- package/src/drizzle/sqlite-sessions.ts +0 -1013
- package/src/drizzle/totp-state.ts +0 -525
- package/src/drizzle/transaction-execution.ts +0 -13
- package/src/drizzle/transaction-owner.ts +0 -11
|
@@ -1,181 +1,42 @@
|
|
|
1
|
+
import type * as Shared from "@yielded/auth-persistence/Adapter";
|
|
1
2
|
import { hooksLayer } from "@yielded/auth/Persistence";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
type PhoneLifecyclePolicy,
|
|
5
|
-
type PhoneNumber,
|
|
6
|
-
PhoneAdmission,
|
|
7
|
-
PhonePersistence,
|
|
8
|
-
PhoneSignInTargets,
|
|
9
|
-
} from "@yielded/auth/PhoneOtp";
|
|
10
|
-
import type { SubjectId } from "@yielded/auth/Schema";
|
|
11
|
-
import type { AuthenticationRequirement } from "@yielded/auth/Sessions";
|
|
12
|
-
import type { InferInsertModel, InferSelectModel, SQL, Table } from "drizzle-orm";
|
|
3
|
+
import { PhonePersistence, PhoneSignInTargets } from "@yielded/auth/PhoneOtp";
|
|
4
|
+
import type { SQL, Table } from "drizzle-orm";
|
|
13
5
|
import { Effect, Layer } from "effect";
|
|
14
6
|
|
|
15
7
|
import type { PersistenceMappingError } from "./model";
|
|
16
|
-
import type {
|
|
17
|
-
|
|
8
|
+
import type { ProofPersistenceMapping } from "./proof-model";
|
|
9
|
+
import type { DrizzleTableModel } from "./table-model";
|
|
18
10
|
|
|
19
|
-
|
|
20
|
-
export interface PhoneProofCompletionMapping {
|
|
21
|
-
readonly [proofMapping]: AnyProofPersistenceMapping;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const phoneProofCompletionMapping = <
|
|
25
|
-
Rq extends Table,
|
|
26
|
-
S extends Table,
|
|
27
|
-
G extends Table,
|
|
28
|
-
Cn extends Table,
|
|
29
|
-
Rs extends Table,
|
|
30
|
-
A extends Table,
|
|
31
|
-
F extends Table,
|
|
32
|
-
C extends Table,
|
|
33
|
-
Sub extends Table,
|
|
34
|
-
I extends Table,
|
|
35
|
-
Cr extends Table,
|
|
36
|
-
N,
|
|
37
|
-
>(
|
|
38
|
-
mapping: ProofPersistenceMapping<Rq, S, G, Cn, Rs, A, F, C, Sub, I, Cr, N>,
|
|
39
|
-
): PhoneProofCompletionMapping =>
|
|
40
|
-
Object.freeze({
|
|
41
|
-
[proofMapping]: Object.freeze({
|
|
42
|
-
...mapping,
|
|
43
|
-
request: Object.freeze({ ...mapping.request }),
|
|
44
|
-
series: Object.freeze({ ...mapping.series }),
|
|
45
|
-
generation: Object.freeze({ ...mapping.generation }),
|
|
46
|
-
continuation: Object.freeze({ ...mapping.continuation }),
|
|
47
|
-
rateScope: Object.freeze({ ...mapping.rateScope }),
|
|
48
|
-
abuseEvent: Object.freeze({ ...mapping.abuseEvent }),
|
|
49
|
-
failureEvent: Object.freeze({ ...mapping.failureEvent }),
|
|
50
|
-
command: Object.freeze({ ...mapping.command }),
|
|
51
|
-
constraints: Object.freeze({ ...mapping.constraints }),
|
|
52
|
-
authority: Object.freeze({
|
|
53
|
-
...mapping.authority,
|
|
54
|
-
identifier: Object.freeze({ ...mapping.authority.identifier }),
|
|
55
|
-
...(mapping.authority.subject === undefined
|
|
56
|
-
? {}
|
|
57
|
-
: { subject: Object.freeze({ ...mapping.authority.subject }) }),
|
|
58
|
-
...(mapping.authority.credential === undefined
|
|
59
|
-
? {}
|
|
60
|
-
: { credential: Object.freeze({ ...mapping.authority.credential }) }),
|
|
61
|
-
...(mapping.authority.subjectId === undefined
|
|
62
|
-
? {}
|
|
63
|
-
: { subjectId: Object.freeze({ ...mapping.authority.subjectId }) }),
|
|
64
|
-
}),
|
|
65
|
-
...(mapping.d1 === undefined ? {} : { d1: Object.freeze({ ...mapping.d1 }) }),
|
|
66
|
-
}) as unknown as AnyProofPersistenceMapping,
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
/** @internal */
|
|
70
|
-
export const phoneProofs = (mapping: PhoneProofCompletionMapping) => mapping[proofMapping];
|
|
71
|
-
export type PhoneColumn<T extends Table> = Extract<keyof T["_"]["columns"], string>;
|
|
11
|
+
export { requiredPhoneConstraints } from "@yielded/auth-persistence/Adapter";
|
|
72
12
|
export type PhoneMappingSource<M, R = never> = M | Effect.Effect<M, PersistenceMappingError, R>;
|
|
73
13
|
|
|
74
|
-
export
|
|
75
|
-
subject: "unique(id)",
|
|
76
|
-
identifier: "unique(namespace,value)",
|
|
77
|
-
credential: "unique(credentialId)",
|
|
78
|
-
state: "unique(scope)",
|
|
79
|
-
} as const;
|
|
80
|
-
|
|
81
|
-
/** Consumer-owned schema; encoders and allocators are synchronous and side-effect free.
|
|
82
|
-
* State stores permanent number custody and command tombstones, plus bounded admission
|
|
83
|
-
* counters. Never delete custody rows to make a recycled number eligible. A consumer's
|
|
84
|
-
* explicit recovery workflow may resolve custody only after independent authentication.
|
|
85
|
-
* Subject defaults own account provisioning; no email/profile schema is prescribed. */
|
|
86
|
-
export interface PhoneMapping<
|
|
14
|
+
export type PhoneMapping<
|
|
87
15
|
S extends Table,
|
|
88
16
|
I extends Table,
|
|
89
17
|
C extends Table,
|
|
90
|
-
|
|
18
|
+
P extends Table,
|
|
91
19
|
N,
|
|
92
|
-
>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
readonly id: PhoneColumn<S>;
|
|
106
|
-
readonly securityRevision: PhoneColumn<S>;
|
|
107
|
-
readonly activeCondition: SQL;
|
|
108
|
-
readonly decodeRequirement: (row: InferSelectModel<S>) => AuthenticationRequirement;
|
|
109
|
-
/** Current action policy, independently from primary sign-in assurance. */
|
|
110
|
-
readonly decodeActionRequirement?: (
|
|
111
|
-
row: InferSelectModel<S>,
|
|
112
|
-
action: "verify" | "change",
|
|
113
|
-
) => AuthenticationRequirement;
|
|
114
|
-
readonly encodeInsert: (input: {
|
|
115
|
-
readonly id: N;
|
|
116
|
-
readonly securityRevision: string;
|
|
117
|
-
readonly phoneNumber: PhoneNumber;
|
|
118
|
-
}) => InferInsertModel<S>;
|
|
119
|
-
};
|
|
120
|
-
readonly identifier: {
|
|
121
|
-
readonly table: I;
|
|
122
|
-
readonly namespace: PhoneColumn<I>;
|
|
123
|
-
readonly value: PhoneColumn<I>;
|
|
124
|
-
readonly subjectId: PhoneColumn<I>;
|
|
125
|
-
readonly revision: PhoneColumn<I>;
|
|
126
|
-
readonly verifiedAt: PhoneColumn<I>;
|
|
127
|
-
readonly status: PhoneColumn<I>;
|
|
128
|
-
readonly activeCondition: SQL;
|
|
129
|
-
readonly encodeStatus: (active: boolean) => unknown;
|
|
130
|
-
readonly encodeInsert: (input: {
|
|
131
|
-
readonly phoneNumber: PhoneNumber;
|
|
132
|
-
readonly subjectId: N;
|
|
133
|
-
readonly revision: string;
|
|
134
|
-
readonly verifiedAtMillis: number;
|
|
135
|
-
readonly active: boolean;
|
|
136
|
-
}) => InferInsertModel<I>;
|
|
137
|
-
};
|
|
138
|
-
readonly credential: {
|
|
139
|
-
readonly table: C;
|
|
140
|
-
readonly id: PhoneColumn<C>;
|
|
141
|
-
readonly subjectId: PhoneColumn<C>;
|
|
142
|
-
readonly revision: PhoneColumn<C>;
|
|
143
|
-
readonly status: PhoneColumn<C>;
|
|
144
|
-
readonly activeCondition: SQL;
|
|
145
|
-
readonly encodeStatus: (active: boolean) => unknown;
|
|
146
|
-
readonly encodeInsert: (input: {
|
|
147
|
-
readonly credentialId: string;
|
|
148
|
-
readonly subjectId: N;
|
|
149
|
-
readonly revision: string;
|
|
150
|
-
readonly active: boolean;
|
|
151
|
-
}) => InferInsertModel<C>;
|
|
152
|
-
};
|
|
153
|
-
readonly state: {
|
|
154
|
-
readonly table: T;
|
|
155
|
-
readonly scope: PhoneColumn<T>;
|
|
156
|
-
readonly state: PhoneColumn<T>;
|
|
157
|
-
readonly version: PhoneColumn<T>;
|
|
158
|
-
readonly encodeInsert: (input: {
|
|
159
|
-
readonly scope: string;
|
|
160
|
-
readonly state: string;
|
|
161
|
-
readonly version: string;
|
|
162
|
-
}) => InferInsertModel<T>;
|
|
163
|
-
};
|
|
164
|
-
readonly encodeInstant: (millis: number) => unknown;
|
|
165
|
-
readonly engineNowMillis: SQL;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
export interface D1PhoneMapping {
|
|
169
|
-
readonly d1: { readonly primary: true };
|
|
170
|
-
}
|
|
20
|
+
> = Omit<
|
|
21
|
+
Shared.PhoneMapping<
|
|
22
|
+
DrizzleTableModel<S>,
|
|
23
|
+
DrizzleTableModel<I>,
|
|
24
|
+
DrizzleTableModel<C>,
|
|
25
|
+
DrizzleTableModel<P>,
|
|
26
|
+
N,
|
|
27
|
+
SQL
|
|
28
|
+
>,
|
|
29
|
+
"proofs"
|
|
30
|
+
> & { readonly proofs: ProofPersistenceMapping<P, S, N> };
|
|
31
|
+
|
|
32
|
+
export type AnyPhoneMapping = PhoneMapping<Table, Table, Table, Table, unknown>;
|
|
171
33
|
|
|
172
34
|
export interface PhonePersistenceServices {
|
|
173
35
|
readonly phonePersistence: PhonePersistence["Service"];
|
|
174
|
-
readonly phoneAdmission: PhoneAdmission["Service"];
|
|
175
36
|
readonly phoneSignInTargets: PhoneSignInTargets["Service"];
|
|
176
37
|
}
|
|
177
38
|
|
|
178
|
-
/** Bundle phone storage
|
|
39
|
+
/** Bundle phone storage and lookup with empty hook defaults. */
|
|
179
40
|
export const phonePersistenceLayer = <E, R>(
|
|
180
41
|
services: Effect.Effect<PhonePersistenceServices, E, R>,
|
|
181
42
|
) =>
|
|
@@ -183,7 +44,6 @@ export const phonePersistenceLayer = <E, R>(
|
|
|
183
44
|
Effect.map(services, (value) =>
|
|
184
45
|
Layer.mergeAll(
|
|
185
46
|
Layer.succeed(PhonePersistence, value.phonePersistence),
|
|
186
|
-
Layer.succeed(PhoneAdmission, value.phoneAdmission),
|
|
187
47
|
Layer.succeed(PhoneSignInTargets, value.phoneSignInTargets),
|
|
188
48
|
),
|
|
189
49
|
),
|