@yielded/auth-persistence-drizzle 0.1.0-beta.0
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 +17 -0
- package/dist/D1.d.mts +963 -0
- package/dist/D1.mjs +29 -0
- package/dist/D1.mjs.map +1 -0
- package/dist/Libsql.d.mts +2134 -0
- package/dist/Libsql.mjs +77 -0
- package/dist/Libsql.mjs.map +1 -0
- package/dist/Mysql2.d.mts +1817 -0
- package/dist/Mysql2.mjs +55 -0
- package/dist/Mysql2.mjs.map +1 -0
- package/dist/Pglite.d.mts +1821 -0
- package/dist/Pglite.mjs +53 -0
- package/dist/Pglite.mjs.map +1 -0
- package/dist/Postgres.d.mts +1821 -0
- package/dist/Postgres.mjs +53 -0
- package/dist/Postgres.mjs.map +1 -0
- package/dist/SqliteBun.d.mts +2129 -0
- package/dist/SqliteBun.mjs +70 -0
- package/dist/SqliteBun.mjs.map +1 -0
- package/dist/SqliteDo.d.mts +2181 -0
- package/dist/SqliteDo.mjs +105 -0
- package/dist/SqliteDo.mjs.map +1 -0
- package/dist/SqliteNode.d.mts +2129 -0
- package/dist/SqliteNode.mjs +70 -0
- package/dist/SqliteNode.mjs.map +1 -0
- package/dist/SqliteWasm.d.mts +2132 -0
- package/dist/SqliteWasm.mjs +70 -0
- package/dist/SqliteWasm.mjs.map +1 -0
- package/dist/_virtual/_rolldown/runtime.mjs +13 -0
- package/dist/drizzle/D1BatchStatements.d.mts +10 -0
- package/dist/drizzle/D1BatchStatements.mjs +8 -0
- package/dist/drizzle/D1BatchStatements.mjs.map +1 -0
- package/dist/drizzle/SuppliedService.d.mts +9 -0
- package/dist/drizzle/d1-emails.d.mts +61 -0
- package/dist/drizzle/d1-emails.mjs +578 -0
- package/dist/drizzle/d1-emails.mjs.map +1 -0
- package/dist/drizzle/d1-generated-statement.mjs +79 -0
- package/dist/drizzle/d1-generated-statement.mjs.map +1 -0
- package/dist/drizzle/d1-identity.d.mts +30 -0
- package/dist/drizzle/d1-identity.mjs +118 -0
- package/dist/drizzle/d1-identity.mjs.map +1 -0
- package/dist/drizzle/d1-oauth.d.mts +300 -0
- package/dist/drizzle/d1-oauth.mjs +76 -0
- package/dist/drizzle/d1-oauth.mjs.map +1 -0
- package/dist/drizzle/d1-passkey.d.mts +47 -0
- package/dist/drizzle/d1-passkey.mjs +95 -0
- package/dist/drizzle/d1-passkey.mjs.map +1 -0
- package/dist/drizzle/d1-password-prepared.d.mts +24 -0
- package/dist/drizzle/d1-password-prepared.mjs +460 -0
- package/dist/drizzle/d1-password-prepared.mjs.map +1 -0
- package/dist/drizzle/d1-passwords.d.mts +86 -0
- package/dist/drizzle/d1-passwords.mjs +1003 -0
- package/dist/drizzle/d1-passwords.mjs.map +1 -0
- package/dist/drizzle/d1-phone.d.mts +23 -0
- package/dist/drizzle/d1-phone.mjs +30 -0
- package/dist/drizzle/d1-phone.mjs.map +1 -0
- package/dist/drizzle/d1-planning.d.mts +11 -0
- package/dist/drizzle/d1-planning.mjs +43 -0
- package/dist/drizzle/d1-planning.mjs.map +1 -0
- package/dist/drizzle/d1-proofs.d.mts +79 -0
- package/dist/drizzle/d1-proofs.mjs +829 -0
- package/dist/drizzle/d1-proofs.mjs.map +1 -0
- package/dist/drizzle/d1-sessions.d.mts +66 -0
- package/dist/drizzle/d1-sessions.mjs +965 -0
- package/dist/drizzle/d1-sessions.mjs.map +1 -0
- package/dist/drizzle/d1-totp.d.mts +23 -0
- package/dist/drizzle/d1-totp.mjs +27 -0
- package/dist/drizzle/d1-totp.mjs.map +1 -0
- package/dist/drizzle/email-model.d.mts +30 -0
- package/dist/drizzle/email-model.mjs +2 -0
- package/dist/drizzle/email-registration.d.mts +29 -0
- package/dist/drizzle/email-registration.mjs +236 -0
- package/dist/drizzle/email-registration.mjs.map +1 -0
- package/dist/drizzle/email-sql.d.mts +1 -0
- package/dist/drizzle/email-sql.mjs +9 -0
- package/dist/drizzle/email-sql.mjs.map +1 -0
- package/dist/drizzle/email-target.d.mts +19 -0
- package/dist/drizzle/email-target.mjs +72 -0
- package/dist/drizzle/email-target.mjs.map +1 -0
- package/dist/drizzle/model.d.mts +245 -0
- package/dist/drizzle/model.mjs +55 -0
- package/dist/drizzle/model.mjs.map +1 -0
- package/dist/drizzle/mysql-emails.d.mts +70 -0
- package/dist/drizzle/mysql-emails.mjs +38 -0
- package/dist/drizzle/mysql-emails.mjs.map +1 -0
- package/dist/drizzle/mysql-identity.d.mts +21 -0
- package/dist/drizzle/mysql-identity.mjs +93 -0
- package/dist/drizzle/mysql-identity.mjs.map +1 -0
- package/dist/drizzle/mysql-password-prepared.d.mts +29 -0
- package/dist/drizzle/mysql-password-prepared.mjs +16 -0
- package/dist/drizzle/mysql-password-prepared.mjs.map +1 -0
- package/dist/drizzle/mysql-passwords.d.mts +85 -0
- package/dist/drizzle/mysql-passwords.mjs +38 -0
- package/dist/drizzle/mysql-passwords.mjs.map +1 -0
- package/dist/drizzle/mysql-proofs.d.mts +74 -0
- package/dist/drizzle/mysql-proofs.mjs +23 -0
- package/dist/drizzle/mysql-proofs.mjs.map +1 -0
- package/dist/drizzle/mysql-sessions.d.mts +91 -0
- package/dist/drizzle/mysql-sessions.mjs +53 -0
- package/dist/drizzle/mysql-sessions.mjs.map +1 -0
- package/dist/drizzle/mysql.d.mts +69 -0
- package/dist/drizzle/mysql.mjs +218 -0
- package/dist/drizzle/mysql.mjs.map +1 -0
- package/dist/drizzle/oauth-accounts.mjs +358 -0
- package/dist/drizzle/oauth-accounts.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-access.mjs +210 -0
- package/dist/drizzle/oauth-connected-access.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-collection.mjs +202 -0
- package/dist/drizzle/oauth-connected-collection.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-custody.mjs +146 -0
- package/dist/drizzle/oauth-connected-custody.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-drivers.mjs +76 -0
- package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-flow.mjs +247 -0
- package/dist/drizzle/oauth-connected-flow.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-input.mjs +103 -0
- package/dist/drizzle/oauth-connected-input.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-maintenance.mjs +214 -0
- package/dist/drizzle/oauth-connected-maintenance.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-management.mjs +228 -0
- package/dist/drizzle/oauth-connected-management.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-model.d.mts +277 -0
- package/dist/drizzle/oauth-connected-model.mjs +22 -0
- package/dist/drizzle/oauth-connected-model.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-reference.d.mts +16 -0
- package/dist/drizzle/oauth-connected-reference.mjs +53 -0
- package/dist/drizzle/oauth-connected-reference.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-settlement.mjs +117 -0
- package/dist/drizzle/oauth-connected-settlement.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-state.d.mts +1954 -0
- package/dist/drizzle/oauth-connected-state.mjs +422 -0
- package/dist/drizzle/oauth-connected-state.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-target.d.mts +752 -0
- package/dist/drizzle/oauth-connected-target.mjs +91 -0
- package/dist/drizzle/oauth-connected-target.mjs.map +1 -0
- package/dist/drizzle/oauth-drivers.mjs +51 -0
- package/dist/drizzle/oauth-drivers.mjs.map +1 -0
- package/dist/drizzle/oauth-flow.d.mts +22 -0
- package/dist/drizzle/oauth-flow.mjs +253 -0
- package/dist/drizzle/oauth-flow.mjs.map +1 -0
- package/dist/drizzle/oauth-input.mjs +127 -0
- package/dist/drizzle/oauth-input.mjs.map +1 -0
- package/dist/drizzle/oauth-model.d.mts +461 -0
- package/dist/drizzle/oauth-model.mjs +49 -0
- package/dist/drizzle/oauth-model.mjs.map +1 -0
- package/dist/drizzle/oauth-mysql.mjs +8 -0
- package/dist/drizzle/oauth-mysql.mjs.map +1 -0
- package/dist/drizzle/oauth-owner.d.mts +10 -0
- package/dist/drizzle/oauth-owner.mjs +10 -0
- package/dist/drizzle/oauth-owner.mjs.map +1 -0
- package/dist/drizzle/oauth-registration.d.mts +5 -0
- package/dist/drizzle/oauth-registration.mjs +374 -0
- package/dist/drizzle/oauth-registration.mjs.map +1 -0
- package/dist/drizzle/oauth-state.mjs +107 -0
- package/dist/drizzle/oauth-state.mjs.map +1 -0
- package/dist/drizzle/oauth-target.d.mts +109 -0
- package/dist/drizzle/oauth-target.mjs +246 -0
- package/dist/drizzle/oauth-target.mjs.map +1 -0
- package/dist/drizzle/passkey-drivers.mjs +34 -0
- package/dist/drizzle/passkey-drivers.mjs.map +1 -0
- package/dist/drizzle/passkey-kernel.mjs +8 -0
- package/dist/drizzle/passkey-kernel.mjs.map +1 -0
- package/dist/drizzle/passkey-model.d.mts +43 -0
- package/dist/drizzle/passkey-model.mjs +8 -0
- package/dist/drizzle/passkey-model.mjs.map +1 -0
- package/dist/drizzle/passkey-registration-ceremony-model.d.mts +12 -0
- package/dist/drizzle/passkey-registration-ceremony-model.mjs +2 -0
- package/dist/drizzle/passkey-state.mjs +7 -0
- package/dist/drizzle/passkey-state.mjs.map +1 -0
- package/dist/drizzle/passkey-target.d.mts +2 -0
- package/dist/drizzle/passkey-target.mjs +7 -0
- package/dist/drizzle/passkey-target.mjs.map +1 -0
- package/dist/drizzle/passkey-write-drivers.mjs +32 -0
- package/dist/drizzle/passkey-write-drivers.mjs.map +1 -0
- package/dist/drizzle/passkey-write-model.d.mts +20 -0
- package/dist/drizzle/passkey-write-model.mjs +9 -0
- package/dist/drizzle/passkey-write-model.mjs.map +1 -0
- package/dist/drizzle/passkey-write-target.d.mts +5 -0
- package/dist/drizzle/passkey-write-target.mjs +7 -0
- package/dist/drizzle/passkey-write-target.mjs.map +1 -0
- package/dist/drizzle/password-model.d.mts +24 -0
- package/dist/drizzle/password-model.mjs +2 -0
- package/dist/drizzle/password-prepared-model.d.mts +92 -0
- package/dist/drizzle/password-prepared-model.mjs +11 -0
- package/dist/drizzle/password-prepared-model.mjs.map +1 -0
- package/dist/drizzle/password-prepared-sql.mjs +389 -0
- package/dist/drizzle/password-prepared-sql.mjs.map +1 -0
- package/dist/drizzle/password-prepared-state.mjs +104 -0
- package/dist/drizzle/password-prepared-state.mjs.map +1 -0
- package/dist/drizzle/password-prepared-target.d.mts +11 -0
- package/dist/drizzle/password-prepared-target.mjs +56 -0
- package/dist/drizzle/password-prepared-target.mjs.map +1 -0
- package/dist/drizzle/password-registration.d.mts +7 -0
- package/dist/drizzle/password-registration.mjs +134 -0
- package/dist/drizzle/password-registration.mjs.map +1 -0
- package/dist/drizzle/password-sql.d.mts +1 -0
- package/dist/drizzle/password-sql.mjs +9 -0
- package/dist/drizzle/password-sql.mjs.map +1 -0
- package/dist/drizzle/password-target.d.mts +16 -0
- package/dist/drizzle/password-target.mjs +61 -0
- package/dist/drizzle/password-target.mjs.map +1 -0
- package/dist/drizzle/pg-emails.d.mts +71 -0
- package/dist/drizzle/pg-emails.mjs +38 -0
- package/dist/drizzle/pg-emails.mjs.map +1 -0
- package/dist/drizzle/pg-password-prepared.d.mts +30 -0
- package/dist/drizzle/pg-password-prepared.mjs +16 -0
- package/dist/drizzle/pg-password-prepared.mjs.map +1 -0
- package/dist/drizzle/pg-passwords.d.mts +86 -0
- package/dist/drizzle/pg-passwords.mjs +38 -0
- package/dist/drizzle/pg-passwords.mjs.map +1 -0
- package/dist/drizzle/pg-proofs.d.mts +75 -0
- package/dist/drizzle/pg-proofs.mjs +22 -0
- package/dist/drizzle/pg-proofs.mjs.map +1 -0
- package/dist/drizzle/pg-sessions.d.mts +92 -0
- package/dist/drizzle/pg-sessions.mjs +53 -0
- package/dist/drizzle/pg-sessions.mjs.map +1 -0
- package/dist/drizzle/pg.d.mts +80 -0
- package/dist/drizzle/pg.mjs +289 -0
- package/dist/drizzle/pg.mjs.map +1 -0
- package/dist/drizzle/phone-model.d.mts +113 -0
- package/dist/drizzle/phone-model.mjs +39 -0
- package/dist/drizzle/phone-model.mjs.map +1 -0
- package/dist/drizzle/phone-state.mjs +14 -0
- package/dist/drizzle/phone-state.mjs.map +1 -0
- package/dist/drizzle/phone-target.d.mts +14 -0
- package/dist/drizzle/phone-target.mjs +168 -0
- package/dist/drizzle/phone-target.mjs.map +1 -0
- package/dist/drizzle/proof-model.d.mts +21 -0
- package/dist/drizzle/proof-model.mjs +2 -0
- package/dist/drizzle/proof-sql.d.mts +1 -0
- package/dist/drizzle/proof-sql.mjs +8 -0
- package/dist/drizzle/proof-sql.mjs.map +1 -0
- package/dist/drizzle/proof-target.d.mts +11 -0
- package/dist/drizzle/proof-target.mjs +36 -0
- package/dist/drizzle/proof-target.mjs.map +1 -0
- package/dist/drizzle/query-operations.mjs +27 -0
- package/dist/drizzle/query-operations.mjs.map +1 -0
- package/dist/drizzle/session-model.d.mts +31 -0
- package/dist/drizzle/session-model.mjs +2 -0
- package/dist/drizzle/session-sql.mjs +8 -0
- package/dist/drizzle/session-sql.mjs.map +1 -0
- package/dist/drizzle/session-target.d.mts +27 -0
- package/dist/drizzle/session-target.mjs +46 -0
- package/dist/drizzle/session-target.mjs.map +1 -0
- package/dist/drizzle/sqlite-emails.mjs +45 -0
- package/dist/drizzle/sqlite-emails.mjs.map +1 -0
- package/dist/drizzle/sqlite-identity.mjs +90 -0
- package/dist/drizzle/sqlite-identity.mjs.map +1 -0
- package/dist/drizzle/sqlite-password-prepared.mjs +21 -0
- package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -0
- package/dist/drizzle/sqlite-passwords.mjs +49 -0
- package/dist/drizzle/sqlite-passwords.mjs.map +1 -0
- package/dist/drizzle/sqlite-proofs.mjs +29 -0
- package/dist/drizzle/sqlite-proofs.mjs.map +1 -0
- package/dist/drizzle/sqlite-sessions.mjs +74 -0
- package/dist/drizzle/sqlite-sessions.mjs.map +1 -0
- package/dist/drizzle/sqlite.d.mts +77 -0
- package/dist/drizzle/sqlite.mjs +217 -0
- package/dist/drizzle/sqlite.mjs.map +1 -0
- package/dist/drizzle/standalone-guard.mjs +17 -0
- package/dist/drizzle/standalone-guard.mjs.map +1 -0
- package/dist/drizzle/step-up-model.d.mts +16 -0
- package/dist/drizzle/step-up-model.mjs +2 -0
- package/dist/drizzle/table-model.d.mts +11 -0
- package/dist/drizzle/totp-model.d.mts +82 -0
- package/dist/drizzle/totp-model.mjs +13 -0
- package/dist/drizzle/totp-model.mjs.map +1 -0
- package/dist/drizzle/totp-state.d.mts +37 -0
- package/dist/drizzle/totp-state.mjs +287 -0
- package/dist/drizzle/totp-state.mjs.map +1 -0
- package/dist/drizzle/totp-target.d.mts +14 -0
- package/dist/drizzle/totp-target.mjs +81 -0
- package/dist/drizzle/totp-target.mjs.map +1 -0
- package/dist/drizzle/transaction-execution.d.mts +2 -0
- package/dist/drizzle/transaction-execution.mjs +11 -0
- package/dist/drizzle/transaction-execution.mjs.map +1 -0
- package/dist/drizzle/transaction-mysql.mjs +47 -0
- package/dist/drizzle/transaction-mysql.mjs.map +1 -0
- package/dist/drizzle/transaction-owner.d.mts +2 -0
- package/dist/drizzle/transaction-owner.mjs +8 -0
- package/dist/drizzle/transaction-owner.mjs.map +1 -0
- package/dist/index.d.mts +27 -0
- package/dist/index.mjs +27 -0
- package/dist/internal/drizzle-migrations.mjs +19 -0
- package/dist/internal/drizzle-migrations.mjs.map +1 -0
- package/dist/internal/drizzle-postgres.mjs +37 -0
- package/dist/internal/drizzle-postgres.mjs.map +1 -0
- package/dist/internal/drizzle-sqlite.mjs +35 -0
- package/dist/internal/drizzle-sqlite.mjs.map +1 -0
- package/package.json +1 -0
- package/src/D1.ts +136 -0
- package/src/Libsql.ts +257 -0
- package/src/Mysql2.ts +184 -0
- package/src/Pglite.ts +174 -0
- package/src/Postgres.ts +174 -0
- package/src/SqliteBun.ts +258 -0
- package/src/SqliteDo.ts +473 -0
- package/src/SqliteNode.ts +259 -0
- package/src/SqliteWasm.ts +263 -0
- package/src/drizzle/D1BatchStatements.ts +10 -0
- package/src/drizzle/SuppliedService.ts +10 -0
- package/src/drizzle/d1-emails.ts +1829 -0
- package/src/drizzle/d1-generated-statement.ts +129 -0
- package/src/drizzle/d1-identity.ts +375 -0
- package/src/drizzle/d1-oauth.ts +340 -0
- package/src/drizzle/d1-passkey.ts +373 -0
- package/src/drizzle/d1-password-prepared.ts +1270 -0
- package/src/drizzle/d1-passwords.ts +2656 -0
- package/src/drizzle/d1-phone.ts +96 -0
- package/src/drizzle/d1-planning.ts +104 -0
- package/src/drizzle/d1-proofs.ts +2305 -0
- package/src/drizzle/d1-sessions.ts +2857 -0
- package/src/drizzle/d1-totp.ts +78 -0
- package/src/drizzle/email-model.ts +202 -0
- package/src/drizzle/email-registration.ts +698 -0
- package/src/drizzle/email-sql.ts +25 -0
- package/src/drizzle/email-target.ts +243 -0
- package/src/drizzle/model.ts +459 -0
- package/src/drizzle/mysql-emails.ts +321 -0
- package/src/drizzle/mysql-identity.ts +324 -0
- package/src/drizzle/mysql-password-prepared.ts +204 -0
- package/src/drizzle/mysql-passwords.ts +339 -0
- package/src/drizzle/mysql-proofs.ts +181 -0
- package/src/drizzle/mysql-sessions.ts +741 -0
- package/src/drizzle/mysql.ts +687 -0
- package/src/drizzle/oauth-accounts.ts +804 -0
- package/src/drizzle/oauth-connected-access.ts +354 -0
- package/src/drizzle/oauth-connected-collection.ts +324 -0
- package/src/drizzle/oauth-connected-custody.ts +277 -0
- package/src/drizzle/oauth-connected-drivers.ts +465 -0
- package/src/drizzle/oauth-connected-flow.ts +441 -0
- package/src/drizzle/oauth-connected-input.ts +127 -0
- package/src/drizzle/oauth-connected-maintenance.ts +345 -0
- package/src/drizzle/oauth-connected-management.ts +365 -0
- package/src/drizzle/oauth-connected-model.ts +347 -0
- package/src/drizzle/oauth-connected-reference.ts +112 -0
- package/src/drizzle/oauth-connected-settlement.ts +226 -0
- package/src/drizzle/oauth-connected-state.ts +845 -0
- package/src/drizzle/oauth-connected-target.ts +264 -0
- package/src/drizzle/oauth-drivers.ts +569 -0
- package/src/drizzle/oauth-flow.ts +462 -0
- package/src/drizzle/oauth-input.ts +201 -0
- package/src/drizzle/oauth-model.ts +617 -0
- package/src/drizzle/oauth-mysql.ts +10 -0
- package/src/drizzle/oauth-owner.ts +29 -0
- package/src/drizzle/oauth-registration.ts +640 -0
- package/src/drizzle/oauth-state.ts +215 -0
- package/src/drizzle/oauth-target.ts +750 -0
- package/src/drizzle/passkey-drivers.ts +385 -0
- package/src/drizzle/passkey-kernel.ts +4 -0
- package/src/drizzle/passkey-model.ts +153 -0
- package/src/drizzle/passkey-registration-ceremony-model.ts +32 -0
- package/src/drizzle/passkey-state.ts +3 -0
- package/src/drizzle/passkey-target.ts +23 -0
- package/src/drizzle/passkey-write-drivers.ts +395 -0
- package/src/drizzle/passkey-write-model.ts +103 -0
- package/src/drizzle/passkey-write-target.ts +9 -0
- package/src/drizzle/password-model.ts +169 -0
- package/src/drizzle/password-prepared-model.ts +259 -0
- package/src/drizzle/password-prepared-sql.ts +1191 -0
- package/src/drizzle/password-prepared-state.ts +231 -0
- package/src/drizzle/password-prepared-target.ts +160 -0
- package/src/drizzle/password-registration.ts +363 -0
- package/src/drizzle/password-sql.ts +13 -0
- package/src/drizzle/password-target.ts +224 -0
- package/src/drizzle/pg-emails.ts +321 -0
- package/src/drizzle/pg-password-prepared.ts +205 -0
- package/src/drizzle/pg-passwords.ts +338 -0
- package/src/drizzle/pg-proofs.ts +191 -0
- package/src/drizzle/pg-sessions.ts +750 -0
- package/src/drizzle/pg.ts +984 -0
- package/src/drizzle/phone-model.ts +190 -0
- package/src/drizzle/phone-state.ts +21 -0
- package/src/drizzle/phone-target.ts +472 -0
- package/src/drizzle/proof-model.ts +139 -0
- package/src/drizzle/proof-sql.ts +10 -0
- package/src/drizzle/proof-target.ts +122 -0
- package/src/drizzle/query-operations.ts +43 -0
- package/src/drizzle/session-model.ts +215 -0
- package/src/drizzle/session-sql.ts +14 -0
- package/src/drizzle/session-target.ts +338 -0
- package/src/drizzle/sqlite-emails.ts +366 -0
- package/src/drizzle/sqlite-identity.ts +344 -0
- package/src/drizzle/sqlite-password-prepared.ts +260 -0
- package/src/drizzle/sqlite-passwords.ts +497 -0
- package/src/drizzle/sqlite-proofs.ts +202 -0
- package/src/drizzle/sqlite-sessions.ts +971 -0
- package/src/drizzle/sqlite.ts +705 -0
- package/src/drizzle/standalone-guard.ts +32 -0
- package/src/drizzle/step-up-model.ts +73 -0
- package/src/drizzle/table-model.ts +9 -0
- package/src/drizzle/totp-model.ts +92 -0
- package/src/drizzle/totp-state.ts +525 -0
- package/src/drizzle/totp-target.ts +308 -0
- package/src/drizzle/transaction-execution.ts +13 -0
- package/src/drizzle/transaction-mysql.ts +106 -0
- package/src/drizzle/transaction-owner.ts +11 -0
- package/src/index.ts +378 -0
- package/src/internal/drizzle-migrations.ts +29 -0
- package/src/internal/drizzle-postgres.ts +83 -0
- package/src/internal/drizzle-sqlite.ts +81 -0
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import type { LifecycleHooks } from "@yielded/auth/Hooks";
|
|
2
|
+
import { PasskeyPersistence } from "@yielded/auth/Passkey";
|
|
3
|
+
import type { Table } from "drizzle-orm";
|
|
4
|
+
import { Effect, Context } from "effect";
|
|
5
|
+
|
|
6
|
+
import type {
|
|
7
|
+
PasskeyCredentialMapping,
|
|
8
|
+
PasskeyEnrollmentContextMapping,
|
|
9
|
+
PasskeyMappingSource,
|
|
10
|
+
PasskeyPersistenceMapping,
|
|
11
|
+
PasskeyPersistenceServices,
|
|
12
|
+
} from "./passkey-model";
|
|
13
|
+
import type {
|
|
14
|
+
PasskeyRegistrationCeremonyMapping,
|
|
15
|
+
PasskeyRegistrationCeremonyServices,
|
|
16
|
+
} from "./passkey-registration-ceremony-model";
|
|
17
|
+
import {
|
|
18
|
+
type PasskeyCoordinatorError,
|
|
19
|
+
coordinateTargetPasskey,
|
|
20
|
+
coordinateTargetPasskeyRegistration,
|
|
21
|
+
makeTargetPasskeyCredentials,
|
|
22
|
+
makeTargetPasskeyEnrollmentContext,
|
|
23
|
+
makeTargetPasskeyPersistence,
|
|
24
|
+
makeTargetPasskeyRegistration,
|
|
25
|
+
type PasskeyTargetConfiguration,
|
|
26
|
+
} from "./passkey-target";
|
|
27
|
+
import { makePasskeyWriteTarget } from "./passkey-write-drivers";
|
|
28
|
+
import type { SuppliedService } from "./SuppliedService";
|
|
29
|
+
|
|
30
|
+
// oxlint-disable-next-line no-explicit-any -- inspect only the concrete database's installed generic transaction callback.
|
|
31
|
+
type TransactionOf<D> = D extends { readonly transaction: (...args: any[]) => any }
|
|
32
|
+
? Parameters<Parameters<D["transaction"]>[0]>[0]
|
|
33
|
+
: never;
|
|
34
|
+
|
|
35
|
+
export const makePasskeyTarget = <
|
|
36
|
+
D,
|
|
37
|
+
T extends Table,
|
|
38
|
+
Extra = unknown,
|
|
39
|
+
Synchronous extends boolean = false,
|
|
40
|
+
>(
|
|
41
|
+
configuration: PasskeyTargetConfiguration,
|
|
42
|
+
) => {
|
|
43
|
+
function coordinatePasskeyPersistence<
|
|
44
|
+
Database extends D,
|
|
45
|
+
S extends T,
|
|
46
|
+
C extends T,
|
|
47
|
+
F extends T,
|
|
48
|
+
O extends T,
|
|
49
|
+
H extends T,
|
|
50
|
+
M extends T,
|
|
51
|
+
Flow extends T,
|
|
52
|
+
Admission extends T,
|
|
53
|
+
Charge extends T,
|
|
54
|
+
N,
|
|
55
|
+
A,
|
|
56
|
+
E,
|
|
57
|
+
R,
|
|
58
|
+
RSetup = never,
|
|
59
|
+
DatabaseError = never,
|
|
60
|
+
DatabaseRequirements = never,
|
|
61
|
+
>(
|
|
62
|
+
acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
|
|
63
|
+
options: {
|
|
64
|
+
readonly mapping: PasskeyMappingSource<
|
|
65
|
+
PasskeyPersistenceMapping<
|
|
66
|
+
PasskeyCredentialMapping<S, C, F, O, H, N>,
|
|
67
|
+
M,
|
|
68
|
+
Flow,
|
|
69
|
+
Admission,
|
|
70
|
+
Charge,
|
|
71
|
+
N
|
|
72
|
+
> &
|
|
73
|
+
Extra,
|
|
74
|
+
RSetup
|
|
75
|
+
>;
|
|
76
|
+
readonly transaction?: never;
|
|
77
|
+
},
|
|
78
|
+
body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<PasskeyPersistence> : R>,
|
|
79
|
+
): Effect.Effect<
|
|
80
|
+
A,
|
|
81
|
+
PasskeyCoordinatorError<E> | DatabaseError,
|
|
82
|
+
| (Synchronous extends true ? never : Exclude<R, PasskeyPersistence>)
|
|
83
|
+
| LifecycleHooks
|
|
84
|
+
| DatabaseRequirements
|
|
85
|
+
| RSetup
|
|
86
|
+
>;
|
|
87
|
+
function coordinatePasskeyPersistence<
|
|
88
|
+
Database extends D,
|
|
89
|
+
S extends T,
|
|
90
|
+
C extends T,
|
|
91
|
+
F extends T,
|
|
92
|
+
O extends T,
|
|
93
|
+
H extends T,
|
|
94
|
+
M extends T,
|
|
95
|
+
Flow extends T,
|
|
96
|
+
Admission extends T,
|
|
97
|
+
Charge extends T,
|
|
98
|
+
N,
|
|
99
|
+
A,
|
|
100
|
+
E,
|
|
101
|
+
R,
|
|
102
|
+
TxId,
|
|
103
|
+
TxShape,
|
|
104
|
+
RSetup = never,
|
|
105
|
+
DatabaseError = never,
|
|
106
|
+
DatabaseRequirements = never,
|
|
107
|
+
>(
|
|
108
|
+
acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
|
|
109
|
+
options: {
|
|
110
|
+
readonly mapping: PasskeyMappingSource<
|
|
111
|
+
PasskeyPersistenceMapping<
|
|
112
|
+
PasskeyCredentialMapping<S, C, F, O, H, N>,
|
|
113
|
+
M,
|
|
114
|
+
Flow,
|
|
115
|
+
Admission,
|
|
116
|
+
Charge,
|
|
117
|
+
N
|
|
118
|
+
> &
|
|
119
|
+
Extra,
|
|
120
|
+
RSetup
|
|
121
|
+
>;
|
|
122
|
+
readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
|
|
123
|
+
},
|
|
124
|
+
body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<PasskeyPersistence | TxId> : R>,
|
|
125
|
+
): Effect.Effect<
|
|
126
|
+
A,
|
|
127
|
+
PasskeyCoordinatorError<E> | DatabaseError,
|
|
128
|
+
| (Synchronous extends true ? never : Exclude<R, PasskeyPersistence | TxId>)
|
|
129
|
+
| LifecycleHooks
|
|
130
|
+
| DatabaseRequirements
|
|
131
|
+
| RSetup
|
|
132
|
+
>;
|
|
133
|
+
function coordinatePasskeyPersistence<
|
|
134
|
+
Database extends D,
|
|
135
|
+
S extends T,
|
|
136
|
+
C extends T,
|
|
137
|
+
F extends T,
|
|
138
|
+
O extends T,
|
|
139
|
+
H extends T,
|
|
140
|
+
M extends T,
|
|
141
|
+
Flow extends T,
|
|
142
|
+
Admission extends T,
|
|
143
|
+
Charge extends T,
|
|
144
|
+
N,
|
|
145
|
+
A,
|
|
146
|
+
E,
|
|
147
|
+
R,
|
|
148
|
+
TxId,
|
|
149
|
+
TxShape,
|
|
150
|
+
RSetup = never,
|
|
151
|
+
DatabaseError = never,
|
|
152
|
+
DatabaseRequirements = never,
|
|
153
|
+
>(
|
|
154
|
+
acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
|
|
155
|
+
options: {
|
|
156
|
+
readonly mapping: PasskeyMappingSource<
|
|
157
|
+
PasskeyPersistenceMapping<
|
|
158
|
+
PasskeyCredentialMapping<S, C, F, O, H, N>,
|
|
159
|
+
M,
|
|
160
|
+
Flow,
|
|
161
|
+
Admission,
|
|
162
|
+
Charge,
|
|
163
|
+
N
|
|
164
|
+
> &
|
|
165
|
+
Extra,
|
|
166
|
+
RSetup
|
|
167
|
+
>;
|
|
168
|
+
readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
|
|
169
|
+
},
|
|
170
|
+
body: Effect.Effect<A, E, R>,
|
|
171
|
+
): Effect.Effect<
|
|
172
|
+
A,
|
|
173
|
+
PasskeyCoordinatorError<E> | DatabaseError,
|
|
174
|
+
Exclude<R, PasskeyPersistence> | LifecycleHooks | DatabaseRequirements | RSetup
|
|
175
|
+
> {
|
|
176
|
+
return Effect.flatMap(acquire, (database) =>
|
|
177
|
+
coordinateTargetPasskey(
|
|
178
|
+
database,
|
|
179
|
+
options.mapping,
|
|
180
|
+
configuration,
|
|
181
|
+
(transaction: TransactionOf<Database>, services: PasskeyPersistenceServices) => {
|
|
182
|
+
const provided = Context.make(PasskeyPersistence, services.passkeyPersistence);
|
|
183
|
+
const work = Effect.provideContext(body, provided);
|
|
184
|
+
|
|
185
|
+
return options.transaction === undefined
|
|
186
|
+
? work
|
|
187
|
+
: Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
188
|
+
},
|
|
189
|
+
),
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
function coordinatePasskeyRegistrationCeremony<
|
|
193
|
+
Database extends D,
|
|
194
|
+
M extends T,
|
|
195
|
+
Flow extends T,
|
|
196
|
+
Admission extends T,
|
|
197
|
+
Charge extends T,
|
|
198
|
+
Intent extends T,
|
|
199
|
+
H extends T,
|
|
200
|
+
A,
|
|
201
|
+
E,
|
|
202
|
+
R,
|
|
203
|
+
RSetup = never,
|
|
204
|
+
DatabaseError = never,
|
|
205
|
+
DatabaseRequirements = never,
|
|
206
|
+
>(
|
|
207
|
+
acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
|
|
208
|
+
options: {
|
|
209
|
+
readonly mapping: PasskeyMappingSource<
|
|
210
|
+
PasskeyRegistrationCeremonyMapping<M, Flow, Admission, Charge, Intent, H> & Extra,
|
|
211
|
+
RSetup
|
|
212
|
+
>;
|
|
213
|
+
readonly transaction?: never;
|
|
214
|
+
},
|
|
215
|
+
body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<PasskeyPersistence> : R>,
|
|
216
|
+
): Effect.Effect<
|
|
217
|
+
A,
|
|
218
|
+
PasskeyCoordinatorError<E> | DatabaseError,
|
|
219
|
+
| (Synchronous extends true ? never : Exclude<R, PasskeyPersistence>)
|
|
220
|
+
| LifecycleHooks
|
|
221
|
+
| DatabaseRequirements
|
|
222
|
+
| RSetup
|
|
223
|
+
>;
|
|
224
|
+
function coordinatePasskeyRegistrationCeremony<
|
|
225
|
+
Database extends D,
|
|
226
|
+
M extends T,
|
|
227
|
+
Flow extends T,
|
|
228
|
+
Admission extends T,
|
|
229
|
+
Charge extends T,
|
|
230
|
+
Intent extends T,
|
|
231
|
+
H extends T,
|
|
232
|
+
A,
|
|
233
|
+
E,
|
|
234
|
+
R,
|
|
235
|
+
TxId,
|
|
236
|
+
TxShape,
|
|
237
|
+
RSetup = never,
|
|
238
|
+
DatabaseError = never,
|
|
239
|
+
DatabaseRequirements = never,
|
|
240
|
+
>(
|
|
241
|
+
acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
|
|
242
|
+
options: {
|
|
243
|
+
readonly mapping: PasskeyMappingSource<
|
|
244
|
+
PasskeyRegistrationCeremonyMapping<M, Flow, Admission, Charge, Intent, H> & Extra,
|
|
245
|
+
RSetup
|
|
246
|
+
>;
|
|
247
|
+
readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
|
|
248
|
+
},
|
|
249
|
+
body: Effect.Effect<A, E, Synchronous extends true ? NoInfer<PasskeyPersistence | TxId> : R>,
|
|
250
|
+
): Effect.Effect<
|
|
251
|
+
A,
|
|
252
|
+
PasskeyCoordinatorError<E> | DatabaseError,
|
|
253
|
+
| (Synchronous extends true ? never : Exclude<R, PasskeyPersistence | TxId>)
|
|
254
|
+
| LifecycleHooks
|
|
255
|
+
| DatabaseRequirements
|
|
256
|
+
| RSetup
|
|
257
|
+
>;
|
|
258
|
+
function coordinatePasskeyRegistrationCeremony<
|
|
259
|
+
Database extends D,
|
|
260
|
+
M extends T,
|
|
261
|
+
Flow extends T,
|
|
262
|
+
Admission extends T,
|
|
263
|
+
Charge extends T,
|
|
264
|
+
Intent extends T,
|
|
265
|
+
H extends T,
|
|
266
|
+
A,
|
|
267
|
+
E,
|
|
268
|
+
R,
|
|
269
|
+
TxId,
|
|
270
|
+
TxShape,
|
|
271
|
+
RSetup = never,
|
|
272
|
+
DatabaseError = never,
|
|
273
|
+
DatabaseRequirements = never,
|
|
274
|
+
>(
|
|
275
|
+
acquire: Effect.Effect<Database, DatabaseError, DatabaseRequirements>,
|
|
276
|
+
options: {
|
|
277
|
+
readonly mapping: PasskeyMappingSource<
|
|
278
|
+
PasskeyRegistrationCeremonyMapping<M, Flow, Admission, Charge, Intent, H> & Extra,
|
|
279
|
+
RSetup
|
|
280
|
+
>;
|
|
281
|
+
readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<Database>>, TxShape>;
|
|
282
|
+
},
|
|
283
|
+
body: Effect.Effect<A, E, R>,
|
|
284
|
+
): Effect.Effect<
|
|
285
|
+
A,
|
|
286
|
+
PasskeyCoordinatorError<E> | DatabaseError,
|
|
287
|
+
Exclude<R, PasskeyPersistence> | LifecycleHooks | DatabaseRequirements | RSetup
|
|
288
|
+
> {
|
|
289
|
+
return Effect.flatMap(acquire, (database) =>
|
|
290
|
+
coordinateTargetPasskeyRegistration(
|
|
291
|
+
database,
|
|
292
|
+
options.mapping,
|
|
293
|
+
configuration,
|
|
294
|
+
(transaction: TransactionOf<Database>, services: PasskeyRegistrationCeremonyServices) => {
|
|
295
|
+
const provided = Context.make(PasskeyPersistence, services.passkeyPersistence);
|
|
296
|
+
const work = Effect.provideContext(body, provided);
|
|
297
|
+
|
|
298
|
+
return options.transaction === undefined
|
|
299
|
+
? work
|
|
300
|
+
: Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
301
|
+
},
|
|
302
|
+
),
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
return {
|
|
307
|
+
...makePasskeyWriteTarget<D, T, Extra, Synchronous>(configuration),
|
|
308
|
+
makePasskeyCredentialServices: <
|
|
309
|
+
Database extends D,
|
|
310
|
+
S extends T,
|
|
311
|
+
C extends T,
|
|
312
|
+
F extends T,
|
|
313
|
+
O extends T,
|
|
314
|
+
H extends T,
|
|
315
|
+
N,
|
|
316
|
+
RSetup = never,
|
|
317
|
+
>(
|
|
318
|
+
database: Database,
|
|
319
|
+
mapping: PasskeyMappingSource<PasskeyCredentialMapping<S, C, F, O, H, N> & Extra, RSetup>,
|
|
320
|
+
) => makeTargetPasskeyCredentials(database, mapping, configuration),
|
|
321
|
+
makePasskeyEnrollmentContextServices: <
|
|
322
|
+
Database extends D,
|
|
323
|
+
S extends T,
|
|
324
|
+
C extends T,
|
|
325
|
+
F extends T,
|
|
326
|
+
O extends T,
|
|
327
|
+
H extends T,
|
|
328
|
+
M extends T,
|
|
329
|
+
N,
|
|
330
|
+
RSetup = never,
|
|
331
|
+
>(
|
|
332
|
+
database: Database,
|
|
333
|
+
mapping: PasskeyMappingSource<
|
|
334
|
+
PasskeyEnrollmentContextMapping<PasskeyCredentialMapping<S, C, F, O, H, N>, M, N> & Extra,
|
|
335
|
+
RSetup
|
|
336
|
+
>,
|
|
337
|
+
) => makeTargetPasskeyEnrollmentContext(database, mapping, configuration),
|
|
338
|
+
makePasskeyPersistenceServices: <
|
|
339
|
+
Database extends D,
|
|
340
|
+
S extends T,
|
|
341
|
+
C extends T,
|
|
342
|
+
F extends T,
|
|
343
|
+
O extends T,
|
|
344
|
+
H extends T,
|
|
345
|
+
M extends T,
|
|
346
|
+
Flow extends T,
|
|
347
|
+
Admission extends T,
|
|
348
|
+
Charge extends T,
|
|
349
|
+
N,
|
|
350
|
+
RSetup = never,
|
|
351
|
+
>(
|
|
352
|
+
database: Database,
|
|
353
|
+
mapping: PasskeyMappingSource<
|
|
354
|
+
PasskeyPersistenceMapping<
|
|
355
|
+
PasskeyCredentialMapping<S, C, F, O, H, N>,
|
|
356
|
+
M,
|
|
357
|
+
Flow,
|
|
358
|
+
Admission,
|
|
359
|
+
Charge,
|
|
360
|
+
N
|
|
361
|
+
> &
|
|
362
|
+
Extra,
|
|
363
|
+
RSetup
|
|
364
|
+
>,
|
|
365
|
+
) => makeTargetPasskeyPersistence(database, mapping, configuration),
|
|
366
|
+
makePasskeyRegistrationCeremonyServices: <
|
|
367
|
+
Database extends D,
|
|
368
|
+
M extends T,
|
|
369
|
+
Flow extends T,
|
|
370
|
+
Admission extends T,
|
|
371
|
+
Charge extends T,
|
|
372
|
+
Intent extends T,
|
|
373
|
+
H extends T,
|
|
374
|
+
RSetup = never,
|
|
375
|
+
>(
|
|
376
|
+
database: Database,
|
|
377
|
+
mapping: PasskeyMappingSource<
|
|
378
|
+
PasskeyRegistrationCeremonyMapping<M, Flow, Admission, Charge, Intent, H> & Extra,
|
|
379
|
+
RSetup
|
|
380
|
+
>,
|
|
381
|
+
) => makeTargetPasskeyRegistration(database, mapping, configuration),
|
|
382
|
+
coordinatePasskeyPersistence,
|
|
383
|
+
coordinatePasskeyRegistrationCeremony,
|
|
384
|
+
};
|
|
385
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import * as Shared from "@yielded/auth-persistence/Adapter";
|
|
2
|
+
import type { SQL, Table } from "drizzle-orm";
|
|
3
|
+
|
|
4
|
+
import type { DrizzleTableModel } from "./table-model";
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
type PasskeyMappingSource,
|
|
8
|
+
type PasskeyCredentialServices,
|
|
9
|
+
type PasskeyPersistenceServices,
|
|
10
|
+
type PasskeyEnrollmentContextServices,
|
|
11
|
+
passkeyCredentialsLayer,
|
|
12
|
+
passkeyPersistenceLayer,
|
|
13
|
+
passkeyEnrollmentContextLayer,
|
|
14
|
+
type PasskeySubjectIdCodec,
|
|
15
|
+
requiredPasskeyCredentialConstraints,
|
|
16
|
+
type PasskeyFlowState,
|
|
17
|
+
type PasskeyFlowInsert,
|
|
18
|
+
type PasskeyChargeKind,
|
|
19
|
+
type PasskeyChargeInsert,
|
|
20
|
+
requiredPasskeyPersistenceConstraints,
|
|
21
|
+
type D1PasskeyMapping,
|
|
22
|
+
} from "@yielded/auth-persistence/Adapter";
|
|
23
|
+
|
|
24
|
+
export type PasskeyColumn<T extends Table> = Shared.PasskeyColumn<DrizzleTableModel<T>>;
|
|
25
|
+
|
|
26
|
+
export type PasskeyClock = Shared.PasskeyClock<SQL>;
|
|
27
|
+
|
|
28
|
+
export type PasskeySubjectReadTable<T extends Table, N> = Shared.PasskeySubjectReadTable<
|
|
29
|
+
DrizzleTableModel<T>,
|
|
30
|
+
N,
|
|
31
|
+
SQL
|
|
32
|
+
>;
|
|
33
|
+
|
|
34
|
+
export type PasskeyFactorReadTable<T extends Table> = Shared.PasskeyFactorReadTable<
|
|
35
|
+
DrizzleTableModel<T>,
|
|
36
|
+
SQL
|
|
37
|
+
>;
|
|
38
|
+
|
|
39
|
+
/** decode uses only these declared columns. Counter columns are native integral
|
|
40
|
+
* numbers; BS may use a consumer enum. Name/creation metadata is not required. */
|
|
41
|
+
export type PasskeyCredentialReadTable<T extends Table, N> = Shared.PasskeyCredentialReadTable<
|
|
42
|
+
DrizzleTableModel<T>,
|
|
43
|
+
N,
|
|
44
|
+
SQL
|
|
45
|
+
>;
|
|
46
|
+
|
|
47
|
+
export type PasskeyCredentialOwnershipTable<
|
|
48
|
+
T extends Table,
|
|
49
|
+
N,
|
|
50
|
+
> = Shared.PasskeyCredentialOwnershipTable<DrizzleTableModel<T>, N, SQL>;
|
|
51
|
+
|
|
52
|
+
/** Reservations do not manufacture a subject; bound handles are RP-global. */
|
|
53
|
+
export type PasskeyHandleReadTable<T extends Table> = Shared.PasskeyHandleReadTable<
|
|
54
|
+
DrizzleTableModel<T>
|
|
55
|
+
>;
|
|
56
|
+
|
|
57
|
+
export type PasskeyHandleReservationTable<T extends Table> = Shared.PasskeyHandleReservationTable<
|
|
58
|
+
DrizzleTableModel<T>,
|
|
59
|
+
SQL
|
|
60
|
+
>;
|
|
61
|
+
|
|
62
|
+
export type PasskeyHandleOwnershipTable<T extends Table, N> = Shared.PasskeyHandleOwnershipTable<
|
|
63
|
+
DrizzleTableModel<T>,
|
|
64
|
+
N,
|
|
65
|
+
SQL
|
|
66
|
+
>;
|
|
67
|
+
|
|
68
|
+
export type PasskeyCredentialMapping<
|
|
69
|
+
S extends Table,
|
|
70
|
+
C extends Table,
|
|
71
|
+
F extends Table,
|
|
72
|
+
Ownership extends Table,
|
|
73
|
+
Handle extends Table,
|
|
74
|
+
N,
|
|
75
|
+
> = Shared.PasskeyCredentialMapping<
|
|
76
|
+
DrizzleTableModel<S>,
|
|
77
|
+
DrizzleTableModel<C>,
|
|
78
|
+
DrizzleTableModel<F>,
|
|
79
|
+
DrizzleTableModel<Ownership>,
|
|
80
|
+
DrizzleTableModel<Handle>,
|
|
81
|
+
N,
|
|
82
|
+
SQL
|
|
83
|
+
>;
|
|
84
|
+
|
|
85
|
+
export type PasskeyPolicyGuard = Shared.PasskeyPolicyGuard<SQL>;
|
|
86
|
+
|
|
87
|
+
export const passkeyPolicyGuard = <T extends Table>(input: {
|
|
88
|
+
readonly scope: string;
|
|
89
|
+
readonly table: T;
|
|
90
|
+
readonly columns: ReadonlyArray<PasskeyColumn<T>>;
|
|
91
|
+
readonly where: (moduleId: string) => SQL;
|
|
92
|
+
readonly condition: (moduleId: string) => SQL;
|
|
93
|
+
}): PasskeyPolicyGuard => Shared.passkeyPolicyGuard<DrizzleTableModel<T>, SQL>(input);
|
|
94
|
+
|
|
95
|
+
export type PasskeyModuleTable<T extends Table> = Shared.PasskeyModuleTable<
|
|
96
|
+
DrizzleTableModel<T>,
|
|
97
|
+
SQL
|
|
98
|
+
>;
|
|
99
|
+
|
|
100
|
+
export type PasskeyFlowTable<T extends Table> = Shared.PasskeyFlowTable<DrizzleTableModel<T>>;
|
|
101
|
+
|
|
102
|
+
export type PasskeyAdmissionTable<T extends Table> = Shared.PasskeyAdmissionTable<
|
|
103
|
+
DrizzleTableModel<T>
|
|
104
|
+
>;
|
|
105
|
+
|
|
106
|
+
/** Charge scope is canonical core identity text; this subject-free descriptor
|
|
107
|
+
* can count all purposes without decoding any unrelated native subject. */
|
|
108
|
+
export type PasskeyChargeTable<T extends Table> = Shared.PasskeyChargeTable<DrizzleTableModel<T>>;
|
|
109
|
+
|
|
110
|
+
export type PasskeyCeremonyMapping<
|
|
111
|
+
Module extends Table,
|
|
112
|
+
Flow extends Table,
|
|
113
|
+
Admission extends Table,
|
|
114
|
+
Charge extends Table,
|
|
115
|
+
> = Shared.PasskeyCeremonyMapping<
|
|
116
|
+
DrizzleTableModel<Module>,
|
|
117
|
+
DrizzleTableModel<Flow>,
|
|
118
|
+
DrizzleTableModel<Admission>,
|
|
119
|
+
DrizzleTableModel<Charge>,
|
|
120
|
+
SQL
|
|
121
|
+
>;
|
|
122
|
+
|
|
123
|
+
type CredentialTable<Read> = Read extends {
|
|
124
|
+
readonly credential: {
|
|
125
|
+
readonly table: infer T extends Table;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
? T
|
|
129
|
+
: never;
|
|
130
|
+
|
|
131
|
+
export type PasskeyPersistenceMapping<
|
|
132
|
+
Read,
|
|
133
|
+
Module extends Table,
|
|
134
|
+
Flow extends Table,
|
|
135
|
+
Admission extends Table,
|
|
136
|
+
Charge extends Table,
|
|
137
|
+
N,
|
|
138
|
+
> = Shared.PasskeyPersistenceMapping<
|
|
139
|
+
Read,
|
|
140
|
+
DrizzleTableModel<Module>,
|
|
141
|
+
DrizzleTableModel<Flow>,
|
|
142
|
+
DrizzleTableModel<Admission>,
|
|
143
|
+
DrizzleTableModel<Charge>,
|
|
144
|
+
N,
|
|
145
|
+
SQL,
|
|
146
|
+
DrizzleTableModel<CredentialTable<Read>>
|
|
147
|
+
>;
|
|
148
|
+
|
|
149
|
+
export type PasskeyEnrollmentContextMapping<
|
|
150
|
+
Read,
|
|
151
|
+
Module extends Table,
|
|
152
|
+
N,
|
|
153
|
+
> = Shared.PasskeyEnrollmentContextMapping<Read, DrizzleTableModel<Module>, N, SQL>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type * as Shared from "@yielded/auth-persistence/Adapter";
|
|
2
|
+
import type { SQL, Table } from "drizzle-orm";
|
|
3
|
+
|
|
4
|
+
import type { DrizzleTableModel } from "./table-model";
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
type PasskeyRegistrationCeremonyCapabilities,
|
|
8
|
+
type PasskeyRegistrationCeremonyServices,
|
|
9
|
+
requiredPasskeyRegistrationCeremonyConstraints,
|
|
10
|
+
} from "@yielded/auth-persistence/Adapter";
|
|
11
|
+
|
|
12
|
+
/** Read-only custody supplied by a separate registration issuance authority.
|
|
13
|
+
* No application payload codec, subject codec or provisioning callback runs here. */
|
|
14
|
+
export type PasskeyRegistrationIntentReadTable<T extends Table> =
|
|
15
|
+
Shared.PasskeyRegistrationIntentReadTable<DrizzleTableModel<T>, SQL>;
|
|
16
|
+
|
|
17
|
+
export type PasskeyRegistrationCeremonyMapping<
|
|
18
|
+
Module extends Table,
|
|
19
|
+
Flow extends Table,
|
|
20
|
+
Admission extends Table,
|
|
21
|
+
Charge extends Table,
|
|
22
|
+
Intent extends Table,
|
|
23
|
+
Handle extends Table,
|
|
24
|
+
> = Shared.PasskeyRegistrationCeremonyMapping<
|
|
25
|
+
DrizzleTableModel<Module>,
|
|
26
|
+
DrizzleTableModel<Flow>,
|
|
27
|
+
DrizzleTableModel<Admission>,
|
|
28
|
+
DrizzleTableModel<Charge>,
|
|
29
|
+
DrizzleTableModel<Intent>,
|
|
30
|
+
DrizzleTableModel<Handle>,
|
|
31
|
+
SQL
|
|
32
|
+
>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { passkeyKernel } from "./passkey-kernel";
|
|
2
|
+
|
|
3
|
+
export type {
|
|
4
|
+
PasskeyTargetConfiguration,
|
|
5
|
+
PasskeyCoordinatorError,
|
|
6
|
+
PasskeyExecution,
|
|
7
|
+
} from "@yielded/auth-persistence/Adapter";
|
|
8
|
+
|
|
9
|
+
export const {
|
|
10
|
+
sqlClientPasskeyStandaloneGuard,
|
|
11
|
+
makePasskeyExecution,
|
|
12
|
+
capturedService,
|
|
13
|
+
prepareValue,
|
|
14
|
+
observationalContext,
|
|
15
|
+
makePasskeyPersistence,
|
|
16
|
+
capturedMapping,
|
|
17
|
+
makeTargetPasskeyCredentials,
|
|
18
|
+
makeTargetPasskeyEnrollmentContext,
|
|
19
|
+
makeTargetPasskeyPersistence,
|
|
20
|
+
makeTargetPasskeyRegistration,
|
|
21
|
+
coordinateTargetPasskey,
|
|
22
|
+
coordinateTargetPasskeyRegistration,
|
|
23
|
+
} = passkeyKernel.target;
|