@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,259 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
PasswordPreparedReady,
|
|
3
|
+
PasswordPreparedReservation,
|
|
4
|
+
PasswordPreparedVersion,
|
|
5
|
+
} from "@yielded/auth/Password";
|
|
6
|
+
import type { InferInsertModel, InferSelectModel, SQL, Table } from "drizzle-orm";
|
|
7
|
+
import type { Effect } from "effect";
|
|
8
|
+
|
|
9
|
+
import type { PersistenceMappingError } from "./model";
|
|
10
|
+
import type { D1PasswordPersistenceMapping, PasswordPersistenceMapping } from "./password-model";
|
|
11
|
+
import type {
|
|
12
|
+
D1ProofPersistenceMapping,
|
|
13
|
+
ProofPersistenceMapping,
|
|
14
|
+
RequiredProofConstraints,
|
|
15
|
+
} from "./proof-model";
|
|
16
|
+
|
|
17
|
+
type ColumnKey<T extends Table> = Extract<keyof T["_"]["columns"], string>;
|
|
18
|
+
export type PasswordPreparedState = "Preparing" | "Ready" | "Consumed" | "Cancelled" | "Expired";
|
|
19
|
+
|
|
20
|
+
/** The retained intent is also its nonrefundable admission charge. Scalar identity,
|
|
21
|
+
* scope and timing columns survive sensitive snapshot/digest erasure. */
|
|
22
|
+
export interface PasswordPreparedIntentTable<Intent extends Table, NativeSubjectId> {
|
|
23
|
+
readonly table: Intent;
|
|
24
|
+
readonly moduleId: ColumnKey<Intent>;
|
|
25
|
+
readonly intentId: ColumnKey<Intent>;
|
|
26
|
+
readonly commandId: ColumnKey<Intent>;
|
|
27
|
+
readonly subjectId: ColumnKey<Intent>;
|
|
28
|
+
readonly action: ColumnKey<Intent>;
|
|
29
|
+
readonly generation: ColumnKey<Intent>;
|
|
30
|
+
readonly version: ColumnKey<Intent>;
|
|
31
|
+
readonly state: ColumnKey<Intent>;
|
|
32
|
+
readonly digest: ColumnKey<Intent>;
|
|
33
|
+
readonly snapshot: ColumnKey<Intent>;
|
|
34
|
+
readonly identifierScope: ColumnKey<Intent>;
|
|
35
|
+
readonly createdAt: ColumnKey<Intent>;
|
|
36
|
+
readonly admittedAt: ColumnKey<Intent>;
|
|
37
|
+
readonly admissionRetainUntil: ColumnKey<Intent>;
|
|
38
|
+
readonly preparationExpiresAt: ColumnKey<Intent>;
|
|
39
|
+
readonly expiresAt: ColumnKey<Intent>;
|
|
40
|
+
readonly retainUntil: ColumnKey<Intent>;
|
|
41
|
+
readonly states: Readonly<
|
|
42
|
+
Record<PasswordPreparedState, InferSelectModel<Intent>[ColumnKey<Intent>]>
|
|
43
|
+
>;
|
|
44
|
+
readonly encodeInsert: (input: {
|
|
45
|
+
readonly reservation: PasswordPreparedReservation;
|
|
46
|
+
readonly nativeSubjectId: NativeSubjectId;
|
|
47
|
+
readonly identifierScope: string;
|
|
48
|
+
readonly admittedAtMillis: number;
|
|
49
|
+
readonly admissionRetainUntilMillis: number;
|
|
50
|
+
/** Bounded private core codec output; contains a salted verifier for Change/Reset. */
|
|
51
|
+
readonly snapshot: string;
|
|
52
|
+
}) => InferInsertModel<Intent>;
|
|
53
|
+
readonly encodeReady: (input: {
|
|
54
|
+
readonly ready: PasswordPreparedReady;
|
|
55
|
+
readonly snapshot: string;
|
|
56
|
+
}) => Partial<InferInsertModel<Intent>>;
|
|
57
|
+
/** Erase snapshot and digest, preserving every identity/scope/time column. */
|
|
58
|
+
readonly encodeTerminal: (
|
|
59
|
+
state: Exclude<PasswordPreparedState, "Preparing" | "Ready">,
|
|
60
|
+
) => Partial<InferInsertModel<Intent>>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** One permanent row per configured module; never one row per attacker input.
|
|
64
|
+
* Native owners lock this before subject → identifier → sorted credentials → intent.
|
|
65
|
+
* It serializes admission and maintenance without process-local locks. */
|
|
66
|
+
export interface PasswordPreparedAdmissionTable<Admission extends Table> {
|
|
67
|
+
readonly table: Admission;
|
|
68
|
+
readonly moduleId: ColumnKey<Admission>;
|
|
69
|
+
readonly intentId: ColumnKey<Admission>;
|
|
70
|
+
readonly admittedAt: ColumnKey<Admission>;
|
|
71
|
+
readonly admissionRetainUntil: ColumnKey<Admission>;
|
|
72
|
+
readonly encodeInsert: (moduleId: string) => InferInsertModel<Admission>;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export const requiredPasswordPreparedConstraints = {
|
|
76
|
+
admission: "unique(admission.moduleId)",
|
|
77
|
+
intent: "unique(intent.moduleId,intent.intentId)",
|
|
78
|
+
command: "unique(intent.moduleId,intent.commandId)",
|
|
79
|
+
digest: "unique(intent.digest)",
|
|
80
|
+
} as const;
|
|
81
|
+
|
|
82
|
+
export type RequiredPasswordPreparedConstraints = typeof requiredPasswordPreparedConstraints;
|
|
83
|
+
|
|
84
|
+
export interface PasswordPreparedPersistenceMapping<
|
|
85
|
+
Subject extends Table,
|
|
86
|
+
Identifier extends Table,
|
|
87
|
+
Credential extends Table,
|
|
88
|
+
AuthorityCredential extends Table,
|
|
89
|
+
Attempt extends Table,
|
|
90
|
+
RateScope extends Table,
|
|
91
|
+
Charge extends Table,
|
|
92
|
+
Command extends Table,
|
|
93
|
+
Intent extends Table,
|
|
94
|
+
Admission extends Table,
|
|
95
|
+
NativeSubjectId,
|
|
96
|
+
> {
|
|
97
|
+
readonly password: PasswordPersistenceMapping<
|
|
98
|
+
Subject,
|
|
99
|
+
Identifier,
|
|
100
|
+
Credential,
|
|
101
|
+
AuthorityCredential,
|
|
102
|
+
Attempt,
|
|
103
|
+
RateScope,
|
|
104
|
+
Charge,
|
|
105
|
+
Command,
|
|
106
|
+
NativeSubjectId
|
|
107
|
+
>;
|
|
108
|
+
readonly intent: PasswordPreparedIntentTable<Intent, NativeSubjectId>;
|
|
109
|
+
readonly admission: PasswordPreparedAdmissionTable<Admission>;
|
|
110
|
+
readonly constraints: RequiredPasswordPreparedConstraints;
|
|
111
|
+
readonly allocateVersion?: Effect.Effect<PasswordPreparedVersion, PersistenceMappingError>;
|
|
112
|
+
/** Required by synchronous owners, invoked inside their actual transactionSync. */
|
|
113
|
+
readonly allocateVersionSync?: () => PasswordPreparedVersion;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export type D1PasswordPreparedPersistenceMapping<
|
|
117
|
+
Subject extends Table,
|
|
118
|
+
Identifier extends Table,
|
|
119
|
+
Credential extends Table,
|
|
120
|
+
AuthorityCredential extends Table,
|
|
121
|
+
Attempt extends Table,
|
|
122
|
+
RateScope extends Table,
|
|
123
|
+
Charge extends Table,
|
|
124
|
+
Command extends Table,
|
|
125
|
+
Intent extends Table,
|
|
126
|
+
Admission extends Table,
|
|
127
|
+
NativeSubjectId,
|
|
128
|
+
> = PasswordPreparedPersistenceMapping<
|
|
129
|
+
Subject,
|
|
130
|
+
Identifier,
|
|
131
|
+
Credential,
|
|
132
|
+
AuthorityCredential,
|
|
133
|
+
Attempt,
|
|
134
|
+
RateScope,
|
|
135
|
+
Charge,
|
|
136
|
+
Command,
|
|
137
|
+
Intent,
|
|
138
|
+
Admission,
|
|
139
|
+
NativeSubjectId
|
|
140
|
+
> & {
|
|
141
|
+
/** Convert a stored native instant to epoch milliseconds in the same SQL engine. */
|
|
142
|
+
readonly admissionClock: { readonly toMillis: (instant: SQL) => SQL };
|
|
143
|
+
readonly password: D1PasswordPersistenceMapping<
|
|
144
|
+
Subject,
|
|
145
|
+
Identifier,
|
|
146
|
+
Credential,
|
|
147
|
+
AuthorityCredential,
|
|
148
|
+
Attempt,
|
|
149
|
+
RateScope,
|
|
150
|
+
Charge,
|
|
151
|
+
Command,
|
|
152
|
+
NativeSubjectId
|
|
153
|
+
>;
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/** Optional real proof completion authority. Request/delivery/abuse capabilities
|
|
157
|
+
* are not required to complete the original continuation. */
|
|
158
|
+
export type PasswordPreparedProofMapping<
|
|
159
|
+
Series extends Table,
|
|
160
|
+
Continuation extends Table,
|
|
161
|
+
Command extends Table,
|
|
162
|
+
Subject extends Table,
|
|
163
|
+
Identifier extends Table,
|
|
164
|
+
Credential extends Table,
|
|
165
|
+
NativeSubjectId,
|
|
166
|
+
> = Pick<
|
|
167
|
+
ProofPersistenceMapping<
|
|
168
|
+
Table,
|
|
169
|
+
Series,
|
|
170
|
+
Table,
|
|
171
|
+
Continuation,
|
|
172
|
+
Table,
|
|
173
|
+
Table,
|
|
174
|
+
Table,
|
|
175
|
+
Command,
|
|
176
|
+
Subject,
|
|
177
|
+
Identifier,
|
|
178
|
+
Credential,
|
|
179
|
+
NativeSubjectId
|
|
180
|
+
>,
|
|
181
|
+
| "series"
|
|
182
|
+
| "continuation"
|
|
183
|
+
| "command"
|
|
184
|
+
| "authority"
|
|
185
|
+
| "scopeKeys"
|
|
186
|
+
| "encodeInstant"
|
|
187
|
+
| "decodeInstant"
|
|
188
|
+
| "allocateVersion"
|
|
189
|
+
| "allocateVersionSync"
|
|
190
|
+
| "isSeriesConflict"
|
|
191
|
+
| "isCommandConflict"
|
|
192
|
+
| "d1"
|
|
193
|
+
> & {
|
|
194
|
+
readonly constraints: Pick<
|
|
195
|
+
RequiredProofConstraints,
|
|
196
|
+
"series" | "continuationId" | "continuationDigest" | "command"
|
|
197
|
+
>;
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
export type D1PasswordPreparedProofMapping<
|
|
201
|
+
Series extends Table,
|
|
202
|
+
Continuation extends Table,
|
|
203
|
+
Command extends Table,
|
|
204
|
+
Subject extends Table,
|
|
205
|
+
Identifier extends Table,
|
|
206
|
+
Credential extends Table,
|
|
207
|
+
NativeSubjectId,
|
|
208
|
+
> = Pick<
|
|
209
|
+
D1ProofPersistenceMapping<
|
|
210
|
+
Table,
|
|
211
|
+
Series,
|
|
212
|
+
Table,
|
|
213
|
+
Continuation,
|
|
214
|
+
Table,
|
|
215
|
+
Table,
|
|
216
|
+
Table,
|
|
217
|
+
Command,
|
|
218
|
+
Subject,
|
|
219
|
+
Identifier,
|
|
220
|
+
Credential,
|
|
221
|
+
NativeSubjectId
|
|
222
|
+
>,
|
|
223
|
+
Exclude<
|
|
224
|
+
keyof PasswordPreparedProofMapping<
|
|
225
|
+
Series,
|
|
226
|
+
Continuation,
|
|
227
|
+
Command,
|
|
228
|
+
Subject,
|
|
229
|
+
Identifier,
|
|
230
|
+
Credential,
|
|
231
|
+
NativeSubjectId
|
|
232
|
+
>,
|
|
233
|
+
"constraints"
|
|
234
|
+
>
|
|
235
|
+
> & {
|
|
236
|
+
readonly constraints: PasswordPreparedProofMapping<
|
|
237
|
+
Series,
|
|
238
|
+
Continuation,
|
|
239
|
+
Command,
|
|
240
|
+
Subject,
|
|
241
|
+
Identifier,
|
|
242
|
+
Credential,
|
|
243
|
+
NativeSubjectId
|
|
244
|
+
>["constraints"];
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
export type AnyPasswordPreparedPersistenceMapping = PasswordPreparedPersistenceMapping<
|
|
248
|
+
Table,
|
|
249
|
+
Table,
|
|
250
|
+
Table,
|
|
251
|
+
Table,
|
|
252
|
+
Table,
|
|
253
|
+
Table,
|
|
254
|
+
Table,
|
|
255
|
+
Table,
|
|
256
|
+
Table,
|
|
257
|
+
Table,
|
|
258
|
+
unknown
|
|
259
|
+
>;
|