@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 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-execution.mjs","names":[],"sources":["../../src/drizzle/transaction-execution.ts"],"sourcesContent":["import { makeTransactionExecutionKernel } from \"@yielded/auth-persistence/Adapter\";\n\nimport { makeTransactionOwner, reportTransactionFailure } from \"./transaction-owner\";\nexport type { TransactionTargetConfiguration } from \"@yielded/auth-persistence/Adapter\";\nexport type { TransactionCoordinatorError } from \"@yielded/auth-persistence/Adapter\";\nexport type { TransactionBound } from \"@yielded/auth-persistence/Adapter\";\nexport type { TransactionExecution } from \"@yielded/auth-persistence/Adapter\";\n\nexport const {\n sqlClientTransactionStandaloneGuard,\n makeTransactionExecution,\n coordinateTransactionOwner,\n} = makeTransactionExecutionKernel({ makeTransactionOwner, reportTransactionFailure });\n"],"mappings":";;;AAQA,MAAa,EACX,qCACA,0BACA,+BACE,+BAA+B;CAAE;CAAsB;AAAyB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { EffectMysql2Transaction } from "drizzle-orm/effect-mysql2";
|
|
3
|
+
import { makeWithTransaction } from "effect/unstable/sql/SqlClient";
|
|
4
|
+
//#region src/drizzle/transaction-mysql.ts
|
|
5
|
+
/** Locking discovery and later SQL policy predicates must see the same current
|
|
6
|
+
* authority. MySQL's default repeatable-read snapshot is unsuitable after a
|
|
7
|
+
* contended authority lock. Own one connection and one-shot transaction mode;
|
|
8
|
+
* the pooled connection's session default is never changed. */
|
|
9
|
+
const mysqlTransaction = (unavailable, database, body) => Effect.scoped(Effect.gen(function* () {
|
|
10
|
+
const client = database.$client;
|
|
11
|
+
const connection = yield* client.reserve;
|
|
12
|
+
const nativeConnection = connection.conn;
|
|
13
|
+
if (typeof nativeConnection?.destroy !== "function" || typeof nativeConnection.release !== "function") return yield* Effect.fail(unavailable());
|
|
14
|
+
const destroy = nativeConnection.destroy.bind(nativeConnection);
|
|
15
|
+
const defaults = yield* connection.executeUnprepared("select @@session.transaction_isolation as isolation", [], void 0);
|
|
16
|
+
const isolation = String(defaults[0]?.isolation).replaceAll("-", " ").toUpperCase();
|
|
17
|
+
if (![
|
|
18
|
+
"READ UNCOMMITTED",
|
|
19
|
+
"READ COMMITTED",
|
|
20
|
+
"REPEATABLE READ",
|
|
21
|
+
"SERIALIZABLE"
|
|
22
|
+
].includes(isolation)) return yield* Effect.fail(unavailable());
|
|
23
|
+
const statement = (source) => Effect.asVoid(connection.executeUnprepared(source, [], void 0));
|
|
24
|
+
const transaction = makeWithTransaction({
|
|
25
|
+
transactionService: client.transactionService,
|
|
26
|
+
spanAttributes: [["db.system", "mysql"], ["effect_auth.owner", "oauth"]],
|
|
27
|
+
acquireConnection: Effect.succeed([void 0, connection]),
|
|
28
|
+
begin: () => statement("SET TRANSACTION ISOLATION LEVEL READ COMMITTED").pipe(Effect.andThen(statement("BEGIN"))),
|
|
29
|
+
commit: () => statement("COMMIT"),
|
|
30
|
+
rollback: () => statement("ROLLBACK"),
|
|
31
|
+
savepoint: (_connection, id) => statement(`SAVEPOINT effect_auth_oauth_${id}`),
|
|
32
|
+
releaseSavepoint: (_connection, id) => statement(`RELEASE SAVEPOINT effect_auth_oauth_${id}`),
|
|
33
|
+
rollbackSavepoint: (_connection, id) => statement(`ROLLBACK TO SAVEPOINT effect_auth_oauth_${id}`)
|
|
34
|
+
});
|
|
35
|
+
class NativeTransaction extends EffectMysql2Transaction {
|
|
36
|
+
transaction(nested) {
|
|
37
|
+
return transaction(Effect.suspend(() => nested(new NativeTransaction(database.dialect, database._.session, database._.relations))));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const native = new NativeTransaction(database.dialect, database._.session, database._.relations);
|
|
41
|
+
const cleanup = statement("ROLLBACK").pipe(Effect.andThen(statement(`SET TRANSACTION ISOLATION LEVEL ${isolation}`)), Effect.onExit((exit) => exit._tag === "Failure" ? Effect.sync(destroy) : Effect.void), Effect.orDie);
|
|
42
|
+
return yield* transaction(Effect.suspend(() => body(native))).pipe(Effect.ensuring(cleanup));
|
|
43
|
+
}));
|
|
44
|
+
//#endregion
|
|
45
|
+
export { mysqlTransaction };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=transaction-mysql.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-mysql.mjs","names":[],"sources":["../../src/drizzle/transaction-mysql.ts"],"sourcesContent":["/* oxlint-disable no-explicit-any -- this private acquisition preserves the installed native transaction; public wrappers retain its exact type. */\nimport { EffectMysql2Transaction } from \"drizzle-orm/effect-mysql2\";\nimport { Effect } from \"effect\";\nimport { makeWithTransaction, type SqlClient } from \"effect/unstable/sql/SqlClient\";\n\n/** Locking discovery and later SQL policy predicates must see the same current\n * authority. MySQL's default repeatable-read snapshot is unsuitable after a\n * contended authority lock. Own one connection and one-shot transaction mode;\n * the pooled connection's session default is never changed. */\nexport const mysqlTransaction = <A, E, R, Failure>(\n unavailable: () => Failure,\n database: any,\n body: (transaction: any) => Effect.Effect<A, E, R>,\n) =>\n Effect.scoped(\n Effect.gen(function* () {\n const client: SqlClient = database.$client;\n const connection = yield* client.reserve;\n\n // Installed @effect/sql-mysql2 ConnectionImpl exposes its reserved native\n // PoolConnection as `conn`. Capture only its public disposal method; fail\n // before transaction work if an installed driver no longer provides it.\n const nativeConnection = (\n connection as {\n readonly conn?: { readonly destroy?: () => void; readonly release?: () => void };\n }\n ).conn;\n\n if (\n typeof nativeConnection?.destroy !== \"function\" ||\n typeof nativeConnection.release !== \"function\"\n )\n return yield* Effect.fail(unavailable());\n const destroy = nativeConnection.destroy.bind(nativeConnection);\n\n const defaults = yield* connection.executeUnprepared(\n \"select @@session.transaction_isolation as isolation\",\n [],\n undefined,\n );\n\n const isolation = String(defaults[0]?.isolation).replaceAll(\"-\", \" \").toUpperCase();\n\n if (\n ![\"READ UNCOMMITTED\", \"READ COMMITTED\", \"REPEATABLE READ\", \"SERIALIZABLE\"].includes(\n isolation,\n )\n )\n return yield* Effect.fail(unavailable());\n\n const statement = (source: string) =>\n Effect.asVoid(connection.executeUnprepared(source, [], undefined));\n\n const transaction = makeWithTransaction({\n transactionService: client.transactionService,\n spanAttributes: [\n [\"db.system\", \"mysql\"],\n [\"effect_auth.owner\", \"oauth\"],\n ],\n acquireConnection: Effect.succeed([undefined, connection] as const),\n begin: () =>\n statement(\"SET TRANSACTION ISOLATION LEVEL READ COMMITTED\").pipe(\n Effect.andThen(statement(\"BEGIN\")),\n ),\n commit: () => statement(\"COMMIT\"),\n rollback: () => statement(\"ROLLBACK\"),\n savepoint: (_connection, id) => statement(`SAVEPOINT effect_auth_oauth_${id}`),\n releaseSavepoint: (_connection, id) =>\n statement(`RELEASE SAVEPOINT effect_auth_oauth_${id}`),\n rollbackSavepoint: (_connection, id) =>\n statement(`ROLLBACK TO SAVEPOINT effect_auth_oauth_${id}`),\n });\n\n class NativeTransaction extends EffectMysql2Transaction<any, any> {\n override transaction<A2, E2, R2>(nested: (tx: any) => Effect.Effect<A2, E2, R2>) {\n return transaction(\n Effect.suspend(() =>\n nested(\n new NativeTransaction(database.dialect, database._.session, database._.relations),\n ),\n ),\n );\n }\n }\n\n const native = new NativeTransaction(\n database.dialect,\n database._.session,\n database._.relations,\n );\n\n const cleanup = statement(\"ROLLBACK\").pipe(\n Effect.andThen(statement(`SET TRANSACTION ISOLATION LEVEL ${isolation}`)),\n Effect.onExit((exit) => (exit._tag === \"Failure\" ? Effect.sync(destroy) : Effect.void)),\n Effect.orDie,\n );\n\n return yield* transaction(Effect.suspend(() => body(native))).pipe(\n // BEGIN/COMMIT acknowledgments can be lost after the server acted.\n // Roll back any surviving transaction before resetting one-shot mode.\n // Failed cleanup destroys the connection before its reserve is released;\n // the unknown owner result cannot release a prepared receipt.\n Effect.ensuring(cleanup),\n );\n }),\n );\n"],"mappings":";;;;;;;;AASA,MAAa,oBACX,aACA,UACA,SAEA,OAAO,OACL,OAAO,IAAI,aAAa;CACtB,MAAM,SAAoB,SAAS;CACnC,MAAM,aAAa,OAAO,OAAO;CAKjC,MAAM,mBACJ,WAGA;CAEF,IACE,OAAO,kBAAkB,YAAY,cACrC,OAAO,iBAAiB,YAAY,YAEpC,OAAO,OAAO,OAAO,KAAK,YAAY,CAAC;CACzC,MAAM,UAAU,iBAAiB,QAAQ,KAAK,gBAAgB;CAE9D,MAAM,WAAW,OAAO,WAAW,kBACjC,uDACA,CAAC,GACD,KAAA,CACF;CAEA,MAAM,YAAY,OAAO,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC,YAAY;CAElF,IACE,CAAC;EAAC;EAAoB;EAAkB;EAAmB;CAAc,CAAC,CAAC,SACzE,SACF,GAEA,OAAO,OAAO,OAAO,KAAK,YAAY,CAAC;CAEzC,MAAM,aAAa,WACjB,OAAO,OAAO,WAAW,kBAAkB,QAAQ,CAAC,GAAG,KAAA,CAAS,CAAC;CAEnE,MAAM,cAAc,oBAAoB;EACtC,oBAAoB,OAAO;EAC3B,gBAAgB,CACd,CAAC,aAAa,OAAO,GACrB,CAAC,qBAAqB,OAAO,CAC/B;EACA,mBAAmB,OAAO,QAAQ,CAAC,KAAA,GAAW,UAAU,CAAU;EAClE,aACE,UAAU,gDAAgD,CAAC,CAAC,KAC1D,OAAO,QAAQ,UAAU,OAAO,CAAC,CACnC;EACF,cAAc,UAAU,QAAQ;EAChC,gBAAgB,UAAU,UAAU;EACpC,YAAY,aAAa,OAAO,UAAU,+BAA+B,IAAI;EAC7E,mBAAmB,aAAa,OAC9B,UAAU,uCAAuC,IAAI;EACvD,oBAAoB,aAAa,OAC/B,UAAU,2CAA2C,IAAI;CAC7D,CAAC;CAED,MAAM,0BAA0B,wBAAkC;EAChE,YAAiC,QAAgD;GAC/E,OAAO,YACL,OAAO,cACL,OACE,IAAI,kBAAkB,SAAS,SAAS,SAAS,EAAE,SAAS,SAAS,EAAE,SAAS,CAClF,CACF,CACF;EACF;CACF;CAEA,MAAM,SAAS,IAAI,kBACjB,SAAS,SACT,SAAS,EAAE,SACX,SAAS,EAAE,SACb;CAEA,MAAM,UAAU,UAAU,UAAU,CAAC,CAAC,KACpC,OAAO,QAAQ,UAAU,mCAAmC,WAAW,CAAC,GACxE,OAAO,QAAQ,SAAU,KAAK,SAAS,YAAY,OAAO,KAAK,OAAO,IAAI,OAAO,IAAK,GACtF,OAAO,KACT;CAEA,OAAO,OAAO,YAAY,OAAO,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAK5D,OAAO,SAAS,OAAO,CACzB;AACF,CAAC,CACH"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { drizzleQueryOperations } from "./query-operations.mjs";
|
|
2
|
+
import { makeTransactionKernel } from "@yielded/auth-persistence/Adapter";
|
|
3
|
+
//#region src/drizzle/transaction-owner.ts
|
|
4
|
+
const { reportTransactionFailure, both, makeTransactionRows, makeTransactionOwner } = makeTransactionKernel(drizzleQueryOperations);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { both, makeTransactionOwner, makeTransactionRows, reportTransactionFailure };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=transaction-owner.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-owner.mjs","names":[],"sources":["../../src/drizzle/transaction-owner.ts"],"sourcesContent":["import { makeTransactionKernel } from \"@yielded/auth-persistence/Adapter\";\n\nimport { drizzleQueryOperations } from \"./query-operations\";\nexport type { Row } from \"@yielded/auth-persistence/Adapter\";\nexport type { TransactionNativeDatabase } from \"@yielded/auth-persistence/Adapter\";\nexport type { Observation } from \"@yielded/auth-persistence/Adapter\";\nexport type { GuardedUpdate } from \"@yielded/auth-persistence/Adapter\";\nexport type { TransactionOwner } from \"@yielded/auth-persistence/Adapter\";\n\nexport const { reportTransactionFailure, both, makeTransactionRows, makeTransactionOwner } =\n makeTransactionKernel(drizzleQueryOperations);\n"],"mappings":";;;AASA,MAAa,EAAE,0BAA0B,MAAM,qBAAqB,yBAClE,sBAAsB,sBAAsB"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AnyEmailAddressMapping, AnyEmailRegistrationMapping, AnyEmailSignInMapping, D1EmailAddressMapping, D1EmailRegistrationMapping, EmailAddressMapping, EmailAuthorityCredentialTable, EmailCommandTable, EmailCredentialReadTable, EmailCredentialTable, EmailD1Clock, EmailIdentifierReadTable, EmailIdentifierTable, EmailRegistrationAuthorityCredentialTable, EmailRegistrationCredentialTable, EmailRegistrationIdentifierTable, EmailRegistrationIntent, EmailRegistrationMapping, EmailRegistrationProvisioning, EmailRegistrationState, EmailRegistrationTable, EmailSignInMapping, EmailSubjectReadTable, EmailSubjectTable, RequiredEmailAddressConstraints, RequiredEmailRegistrationConstraints, RequiredEmailSignInConstraints, requiredEmailAddressConstraints, requiredEmailRegistrationConstraints, requiredEmailSignInConstraints } from "./drizzle/email-model.mjs";
|
|
2
|
+
import { AnyPasswordPersistenceMapping, AnyPasswordRegistrationMapping, D1PasswordPersistenceMapping, PasswordAttemptAction, PasswordAttemptRecord, PasswordAttemptState, PasswordAttemptTable, PasswordAuthorityCredentialTable, PasswordChargeTable, PasswordCommandTable, PasswordConstraintClassifier, PasswordCredentialTable, PasswordD1Clock, PasswordIdentifierTable, PasswordPersistenceMapping, PasswordRateScopeKind, PasswordRateScopeTable, PasswordRegistrationConstraintClassifier, PasswordRegistrationIntent, PasswordRegistrationMapping, PasswordRegistrationProvisioning, PasswordRegistrationState, PasswordRegistrationTable, PasswordScopeKeys, PasswordSubjectTable, RequiredPasswordConstraints, RequiredPasswordRegistrationConstraints, requiredPasswordConstraints, requiredPasswordRegistrationConstraints } from "./drizzle/password-model.mjs";
|
|
3
|
+
import { AuthStoreTables, AuthTables, ChallengeColumns, ChallengeConsumeDecision, ChallengeInput, ChallengeRecord, ChallengeTableMapping, CommitMode, ConsumeDecision, D1ExternalIdentityMapping, D1GeneratedIdentityMapping, D1SubjectProvisioningMapping, ExternalIdentityTables, IdentityTables, InstantCodec, OAuthStateColumns, OAuthStateTableMapping, OAuthStateTables, PersistenceMappingError, RegistrationColumns, RegistrationRecord, RegistrationTableMapping, RequiredAuthConstraints, RequiredAuthStoreConstraints, RequiredExternalIdentityConstraints, RequiredIdentityConstraints, RequiredOAuthStateConstraints, RequiredSubjectProvisioningConstraints, SubjectIdCodec, SubjectProvisioningTables, authServicesLayer, column, identityServicesLayer, isMappedConstraintConflict, provisioningFingerprint, requireStandaloneConsume, requiredAuthConstraints, requiredAuthStoreConstraints, requiredExternalIdentityConstraints, requiredIdentityConstraints, requiredOAuthStateConstraints, requiredSubjectProvisioningConstraints, updateValues } from "./drizzle/model.mjs";
|
|
4
|
+
import { AnyProofPersistenceMapping, D1ProofPersistenceMapping, ProofAbuseEventTable, ProofAction, ProofAuthorityInput, ProofAuthorityTables, ProofCommandDecision, ProofCommandKind, ProofCommandTable, ProofConstraintClassifier, ProofContinuationRecord, ProofContinuationTable, ProofD1Clock, ProofDeliveryState, ProofFailureEventTable, ProofGenerationState, ProofGenerationTable, ProofPersistenceMapping, ProofRateScopeTable, ProofRequestTable, ProofScopeKeys, ProofScopeKind, ProofSeriesTable, RequiredProofConstraints, requiredProofConstraints } from "./drizzle/proof-model.mjs";
|
|
5
|
+
import { AnyPasswordPreparedPersistenceMapping, D1PasswordPreparedPersistenceMapping, D1PasswordPreparedProofMapping, PasswordPreparedAdmissionTable, PasswordPreparedIntentTable, PasswordPreparedPersistenceMapping, PasswordPreparedProofMapping, PasswordPreparedState, RequiredPasswordPreparedConstraints, requiredPasswordPreparedConstraints } from "./drizzle/password-prepared-model.mjs";
|
|
6
|
+
import { AuthenticationAuthorityMapping, D1AuthenticationAuthorityMapping, D1PendingAuthenticationMapping, D1SessionClockMapping, D1SignedSessionValidityMapping, D1StatefulSessionMapping, PendingAuthenticationMapping, PendingAuthenticationTables, RequiredPendingAuthenticationConstraints, RequiredSessionConstraints, RequiredSignedValidityConstraints, RequiredStatefulPendingConstraints, SessionAuthorityTables, SessionConstraintClassifier, SessionFlowTables, SessionIdCodec, SessionSubjectTables, SignedSessionValidityMapping, SignedSessionValidityTables, StatefulSessionMapping, StatefulSessionTables, requiredPendingAuthenticationConstraints, requiredSessionConstraints, requiredSignedValidityConstraints, requiredStatefulPendingConstraints } from "./drizzle/session-model.mjs";
|
|
7
|
+
import { D1PasskeyMapping, PasskeyAdmissionTable, PasskeyCeremonyMapping, PasskeyChargeInsert, PasskeyChargeKind, PasskeyChargeTable, PasskeyClock, PasskeyColumn, PasskeyCredentialMapping, PasskeyCredentialOwnershipTable, PasskeyCredentialReadTable, PasskeyCredentialServices, PasskeyEnrollmentContextMapping, PasskeyEnrollmentContextServices, PasskeyFactorReadTable, PasskeyFlowInsert, PasskeyFlowState, PasskeyFlowTable, PasskeyHandleOwnershipTable, PasskeyHandleReadTable, PasskeyHandleReservationTable, PasskeyMappingSource, PasskeyModuleTable, PasskeyPersistenceMapping, PasskeyPersistenceServices, PasskeyPolicyGuard, PasskeySubjectIdCodec, PasskeySubjectReadTable, passkeyCredentialsLayer, passkeyEnrollmentContextLayer, passkeyPersistenceLayer, passkeyPolicyGuard, requiredPasskeyCredentialConstraints, requiredPasskeyPersistenceConstraints } from "./drizzle/passkey-model.mjs";
|
|
8
|
+
import { D1SessionStepUpMapping, RequiredSessionStepUpConstraints, SessionStepUpIntentTables, SessionStepUpMapping, SessionStepUpSourceTables, requiredSessionStepUpConstraints } from "./drizzle/step-up-model.mjs";
|
|
9
|
+
import { OAuthAccountsMapping, OAuthAction, OAuthAuthorityReadTable, OAuthAuthorityTable, OAuthCleanupDescriptor, OAuthCleanupTable, OAuthClock, OAuthCredentialReadTable, OAuthCredentialTable, OAuthD1Mapping, OAuthEligibilityDescriptor, OAuthEligibilityFact, OAuthEligibilityTable, OAuthFlowState, OAuthFlowTable, OAuthMetadataPolicy, OAuthOwnershipMutation, OAuthOwnershipReadTable, OAuthOwnershipTable, OAuthReferenceGuardDescriptor, OAuthReferenceGuardTable, OAuthRegistrationAuthority, OAuthRegistrationBase, OAuthRegistrationCommandTable, OAuthRegistrationEligibility, OAuthRegistrationGuardDescriptor, OAuthRegistrationGuardTable, OAuthRegistrationIntentMapping, OAuthRegistrationIntentTable, OAuthRegistrationMapping, OAuthRegistrationState, OAuthSignInMapping, OAuthSubjectReadTable, OAuthSubjectTable, OAuthTupleAuthorityTable, OAuthTupleState, OAuthUnlinkCommandTable, oauthCleanupTable, oauthEligibilityTable, oauthReferenceGuardTable, oauthRegistrationGuardTable, requiredOAuthAccountsConstraints, requiredOAuthRegistrationConstraints, requiredOAuthSignInConstraints, requiredOAuthTupleConstraints } from "./drizzle/oauth-model.mjs";
|
|
10
|
+
import { OAuthConnectedAction, OAuthConnectedAdmissionTable, OAuthConnectedAuthorityMapping, OAuthConnectedClientRegistrationTable, OAuthConnectedCohortTable, OAuthConnectedCommandTable, OAuthConnectedFlowTable, OAuthConnectedGrantTable, OAuthConnectedMapping, OAuthConnectedOrderCodec, OAuthConnectedOwnershipRead, OAuthConnectedPolicyGuard, OAuthConnectedPolicyGuardTable, OAuthConnectedPolicyInput, OAuthConnectedRevocationJobTable, OAuthConnectedRevocationMapping, OAuthConnectedSqlPolicy, OAuthConnectedSubjectTable, oauthConnectedPolicyGuard, requiredOAuthConnectedConstraints, requiredOAuthConnectedRevocationConstraints } from "./drizzle/oauth-connected-model.mjs";
|
|
11
|
+
import { PasskeyRegistrationCeremonyCapabilities, PasskeyRegistrationCeremonyMapping, PasskeyRegistrationCeremonyServices, PasskeyRegistrationIntentReadTable, requiredPasskeyRegistrationCeremonyConstraints } from "./drizzle/passkey-registration-ceremony-model.mjs";
|
|
12
|
+
import { authenticationAuthorityLayer, pendingAuthenticationLayer, signedSessionValidityLayer, statefulSessionLayers } from "./drizzle/session-target.mjs";
|
|
13
|
+
import { proofPersistenceLayer } from "./drizzle/proof-target.mjs";
|
|
14
|
+
import { emailAddressPersistenceLayer, emailRegistrationLayer, emailSignInTargetsLayer } from "./drizzle/email-target.mjs";
|
|
15
|
+
import { oauthAccountsPersistenceLayer, oauthRegistrationAuthorityLayer, oauthRegistrationIntentsLayer, oauthSignInPersistenceLayer } from "./drizzle/oauth-target.mjs";
|
|
16
|
+
import { oauthConnectedOwnershipReferences } from "./drizzle/oauth-connected-reference.mjs";
|
|
17
|
+
import { oauthConnectedPersistenceLayer, oauthConnectedRevocationsLayer } from "./drizzle/oauth-connected-target.mjs";
|
|
18
|
+
import { passwordPersistenceLayer, passwordRegistrationLayer } from "./drizzle/password-target.mjs";
|
|
19
|
+
import { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target.mjs";
|
|
20
|
+
import { D1TotpMapping, TotpMapping, TotpMappingSource, TotpPersistenceServices, requiredTotpConstraints, totpPersistenceLayer } from "./drizzle/totp-model.mjs";
|
|
21
|
+
import { decodeTotpRecord, encodeTotpRecord } from "./drizzle/totp-state.mjs";
|
|
22
|
+
import { PasskeyCommandTable, PasskeyCredentialInsert, PasskeyInvalidationInput, PasskeyInvalidationMutation, PasskeyManagementMapping, PasskeyManagementServices, PasskeyRegistrationMapping, PasskeyRegistrationServices, PasskeyRegistrationWriter, PasskeyWriteTables, passkeyInvalidationMutation, requiredPasskeyManagementConstraints, requiredPasskeyRegistrationWriteConstraints } from "./drizzle/passkey-write-model.mjs";
|
|
23
|
+
import { passkeyManagementPersistenceLayer } from "./drizzle/passkey-write-target.mjs";
|
|
24
|
+
import { D1PhoneMapping, PhoneMapping, PhoneMappingSource, PhonePersistenceServices, PhoneProofCompletionMapping, phonePersistenceLayer, phoneProofCompletionMapping, requiredPhoneConstraints } from "./drizzle/phone-model.mjs";
|
|
25
|
+
import { OAuthStateDecisions } from "@yielded/auth/OAuth";
|
|
26
|
+
import { AuthStoreDecisions } from "@yielded/auth/Persistence";
|
|
27
|
+
export { type AnyEmailAddressMapping, type AnyEmailRegistrationMapping, type AnyEmailSignInMapping, type AnyPasswordPersistenceMapping, type AnyPasswordPreparedPersistenceMapping, type AnyPasswordRegistrationMapping, type AnyProofPersistenceMapping, AuthStoreDecisions, type AuthStoreTables, type AuthTables, type AuthenticationAuthorityMapping, type ChallengeColumns, type ChallengeConsumeDecision, type ChallengeInput, type ChallengeRecord, type ChallengeTableMapping, type CommitMode, type ConsumeDecision, type D1AuthenticationAuthorityMapping, type D1EmailAddressMapping, type D1EmailRegistrationMapping, type D1ExternalIdentityMapping, type D1GeneratedIdentityMapping, type D1PasskeyMapping, type D1PasswordPersistenceMapping, type D1PasswordPreparedPersistenceMapping, type D1PasswordPreparedProofMapping, type D1PendingAuthenticationMapping, type D1PhoneMapping, type D1ProofPersistenceMapping, type D1SessionClockMapping, type D1SessionStepUpMapping, type D1SignedSessionValidityMapping, type D1StatefulSessionMapping, type D1SubjectProvisioningMapping, type D1TotpMapping, type EmailAddressMapping, type EmailAuthorityCredentialTable, type EmailCommandTable, type EmailCredentialReadTable, type EmailCredentialTable, type EmailD1Clock, type EmailIdentifierReadTable, type EmailIdentifierTable, type EmailRegistrationAuthorityCredentialTable, type EmailRegistrationCredentialTable, type EmailRegistrationIdentifierTable, type EmailRegistrationIntent, type EmailRegistrationMapping, type EmailRegistrationProvisioning, type EmailRegistrationState, type EmailRegistrationTable, type EmailSignInMapping, type EmailSubjectReadTable, type EmailSubjectTable, type ExternalIdentityTables, type IdentityTables, type InstantCodec, type OAuthAccountsMapping, type OAuthAction, type OAuthAuthorityReadTable, type OAuthAuthorityTable, type OAuthCleanupDescriptor, type OAuthCleanupTable, type OAuthClock, type OAuthConnectedAction, type OAuthConnectedAdmissionTable, type OAuthConnectedAuthorityMapping, type OAuthConnectedClientRegistrationTable, type OAuthConnectedCohortTable, type OAuthConnectedCommandTable, type OAuthConnectedFlowTable, type OAuthConnectedGrantTable, type OAuthConnectedMapping, type OAuthConnectedOrderCodec, type OAuthConnectedOwnershipRead, type OAuthConnectedPolicyGuard, type OAuthConnectedPolicyGuardTable, type OAuthConnectedPolicyInput, type OAuthConnectedRevocationJobTable, type OAuthConnectedRevocationMapping, type OAuthConnectedSqlPolicy, type OAuthConnectedSubjectTable, type OAuthCredentialReadTable, type OAuthCredentialTable, type OAuthD1Mapping, type OAuthEligibilityDescriptor, type OAuthEligibilityFact, type OAuthEligibilityTable, type OAuthFlowState, type OAuthFlowTable, type OAuthMetadataPolicy, type OAuthOwnershipMutation, type OAuthOwnershipReadTable, type OAuthOwnershipTable, type OAuthReferenceGuardDescriptor, type OAuthReferenceGuardTable, type OAuthRegistrationAuthority, type OAuthRegistrationBase, type OAuthRegistrationCommandTable, type OAuthRegistrationEligibility, type OAuthRegistrationGuardDescriptor, type OAuthRegistrationGuardTable, type OAuthRegistrationIntentMapping, type OAuthRegistrationIntentTable, type OAuthRegistrationMapping, type OAuthRegistrationState, type OAuthSignInMapping, type OAuthStateColumns, OAuthStateDecisions, type OAuthStateTableMapping, type OAuthStateTables, type OAuthSubjectReadTable, type OAuthSubjectTable, type OAuthTupleAuthorityTable, type OAuthTupleState, type OAuthUnlinkCommandTable, type PasskeyAdmissionTable, type PasskeyCeremonyMapping, type PasskeyChargeInsert, type PasskeyChargeKind, type PasskeyChargeTable, type PasskeyClock, type PasskeyColumn, type PasskeyCommandTable, type PasskeyCredentialInsert, type PasskeyCredentialMapping, type PasskeyCredentialOwnershipTable, type PasskeyCredentialReadTable, type PasskeyCredentialServices, type PasskeyEnrollmentContextMapping, type PasskeyEnrollmentContextServices, type PasskeyFactorReadTable, type PasskeyFlowInsert, type PasskeyFlowState, type PasskeyFlowTable, type PasskeyHandleOwnershipTable, type PasskeyHandleReadTable, type PasskeyHandleReservationTable, type PasskeyInvalidationInput, type PasskeyInvalidationMutation, type PasskeyManagementMapping, type PasskeyManagementServices, type PasskeyMappingSource, type PasskeyModuleTable, type PasskeyPersistenceMapping, type PasskeyPersistenceServices, type PasskeyPolicyGuard, type PasskeyRegistrationCeremonyCapabilities, type PasskeyRegistrationCeremonyMapping, type PasskeyRegistrationCeremonyServices, type PasskeyRegistrationIntentReadTable, type PasskeyRegistrationMapping, type PasskeyRegistrationServices, type PasskeyRegistrationWriter, type PasskeySubjectIdCodec, type PasskeySubjectReadTable, type PasskeyWriteTables, type PasswordAttemptAction, type PasswordAttemptRecord, type PasswordAttemptState, type PasswordAttemptTable, type PasswordAuthorityCredentialTable, type PasswordChargeTable, type PasswordCommandTable, type PasswordConstraintClassifier, type PasswordCredentialTable, type PasswordD1Clock, type PasswordIdentifierTable, type PasswordPersistenceMapping, type PasswordPreparedAdmissionTable, type PasswordPreparedIntentTable, type PasswordPreparedPersistenceMapping, type PasswordPreparedProofMapping, type PasswordPreparedState, type PasswordRateScopeKind, type PasswordRateScopeTable, type PasswordRegistrationConstraintClassifier, type PasswordRegistrationIntent, type PasswordRegistrationMapping, type PasswordRegistrationProvisioning, type PasswordRegistrationState, type PasswordRegistrationTable, type PasswordScopeKeys, type PasswordSubjectTable, type PendingAuthenticationMapping, type PendingAuthenticationTables, type PersistenceMappingError, type PhoneMapping, type PhoneMappingSource, type PhonePersistenceServices, type PhoneProofCompletionMapping, type ProofAbuseEventTable, type ProofAction, type ProofAuthorityInput, type ProofAuthorityTables, type ProofCommandDecision, type ProofCommandKind, type ProofCommandTable, type ProofConstraintClassifier, type ProofContinuationRecord, type ProofContinuationTable, type ProofD1Clock, type ProofDeliveryState, type ProofFailureEventTable, type ProofGenerationState, type ProofGenerationTable, type ProofPersistenceMapping, type ProofRateScopeTable, type ProofRequestTable, type ProofScopeKeys, type ProofScopeKind, type ProofSeriesTable, type RegistrationColumns, type RegistrationRecord, type RegistrationTableMapping, type RequiredAuthConstraints, type RequiredAuthStoreConstraints, type RequiredEmailAddressConstraints, type RequiredEmailRegistrationConstraints, type RequiredEmailSignInConstraints, type RequiredExternalIdentityConstraints, type RequiredIdentityConstraints, type RequiredOAuthStateConstraints, type RequiredPasswordConstraints, type RequiredPasswordPreparedConstraints, type RequiredPasswordRegistrationConstraints, type RequiredPendingAuthenticationConstraints, type RequiredProofConstraints, type RequiredSessionConstraints, type RequiredSessionStepUpConstraints, type RequiredSignedValidityConstraints, type RequiredStatefulPendingConstraints, type RequiredSubjectProvisioningConstraints, type SessionAuthorityTables, type SessionConstraintClassifier, type SessionFlowTables, type SessionIdCodec, type SessionStepUpIntentTables, type SessionStepUpMapping, type SessionStepUpSourceTables, type SessionSubjectTables, type SignedSessionValidityMapping, type SignedSessionValidityTables, type StatefulSessionMapping, type StatefulSessionTables, type SubjectIdCodec, type SubjectProvisioningTables, type TotpMapping, type TotpMappingSource, type TotpPersistenceServices, authServicesLayer, authenticationAuthorityLayer, column, decodeTotpRecord, emailAddressPersistenceLayer, emailRegistrationLayer, emailSignInTargetsLayer, encodeTotpRecord, identityServicesLayer, isMappedConstraintConflict, oauthAccountsPersistenceLayer, oauthCleanupTable, oauthConnectedOwnershipReferences, oauthConnectedPersistenceLayer, oauthConnectedPolicyGuard, oauthConnectedRevocationsLayer, oauthEligibilityTable, oauthReferenceGuardTable, oauthRegistrationAuthorityLayer, oauthRegistrationGuardTable, oauthRegistrationIntentsLayer, oauthSignInPersistenceLayer, passkeyCredentialsLayer, passkeyEnrollmentContextLayer, passkeyInvalidationMutation, passkeyManagementPersistenceLayer, passkeyPersistenceLayer, passkeyPolicyGuard, passwordPersistenceLayer, passwordPreparedPersistenceLayer, passwordRegistrationLayer, pendingAuthenticationLayer, phonePersistenceLayer, phoneProofCompletionMapping, proofPersistenceLayer, provisioningFingerprint, requireStandaloneConsume, requiredAuthConstraints, requiredAuthStoreConstraints, requiredEmailAddressConstraints, requiredEmailRegistrationConstraints, requiredEmailSignInConstraints, requiredExternalIdentityConstraints, requiredIdentityConstraints, requiredOAuthAccountsConstraints, requiredOAuthConnectedConstraints, requiredOAuthConnectedRevocationConstraints, requiredOAuthRegistrationConstraints, requiredOAuthSignInConstraints, requiredOAuthStateConstraints, requiredOAuthTupleConstraints, requiredPasskeyCredentialConstraints, requiredPasskeyManagementConstraints, requiredPasskeyPersistenceConstraints, requiredPasskeyRegistrationCeremonyConstraints, requiredPasskeyRegistrationWriteConstraints, requiredPasswordConstraints, requiredPasswordPreparedConstraints, requiredPasswordRegistrationConstraints, requiredPendingAuthenticationConstraints, requiredPhoneConstraints, requiredProofConstraints, requiredSessionConstraints, requiredSessionStepUpConstraints, requiredSignedValidityConstraints, requiredStatefulPendingConstraints, requiredSubjectProvisioningConstraints, requiredTotpConstraints, signedSessionValidityLayer, statefulSessionLayers, totpPersistenceLayer, updateValues };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { requiredEmailAddressConstraints, requiredEmailRegistrationConstraints, requiredEmailSignInConstraints } from "./drizzle/email-model.mjs";
|
|
2
|
+
import { requiredPasswordConstraints, requiredPasswordRegistrationConstraints } from "./drizzle/password-model.mjs";
|
|
3
|
+
import { requiredPasswordPreparedConstraints } from "./drizzle/password-prepared-model.mjs";
|
|
4
|
+
import { requiredProofConstraints } from "./drizzle/proof-model.mjs";
|
|
5
|
+
import { PersistenceMappingError, authServicesLayer, column, identityServicesLayer, isMappedConstraintConflict, provisioningFingerprint, requireStandaloneConsume, requiredAuthConstraints, requiredAuthStoreConstraints, requiredExternalIdentityConstraints, requiredIdentityConstraints, requiredOAuthStateConstraints, requiredSubjectProvisioningConstraints, updateValues } from "./drizzle/model.mjs";
|
|
6
|
+
import { requiredPendingAuthenticationConstraints, requiredSessionConstraints, requiredSignedValidityConstraints, requiredStatefulPendingConstraints } from "./drizzle/session-model.mjs";
|
|
7
|
+
import { passkeyCredentialsLayer, passkeyEnrollmentContextLayer, passkeyPersistenceLayer, passkeyPolicyGuard, requiredPasskeyCredentialConstraints, requiredPasskeyPersistenceConstraints } from "./drizzle/passkey-model.mjs";
|
|
8
|
+
import { requiredSessionStepUpConstraints } from "./drizzle/step-up-model.mjs";
|
|
9
|
+
import { oauthCleanupTable, oauthEligibilityTable, oauthReferenceGuardTable, oauthRegistrationGuardTable, requiredOAuthAccountsConstraints, requiredOAuthRegistrationConstraints, requiredOAuthSignInConstraints, requiredOAuthTupleConstraints } from "./drizzle/oauth-model.mjs";
|
|
10
|
+
import { oauthConnectedPolicyGuard, requiredOAuthConnectedConstraints, requiredOAuthConnectedRevocationConstraints } from "./drizzle/oauth-connected-model.mjs";
|
|
11
|
+
import { requiredPasskeyRegistrationCeremonyConstraints } from "./drizzle/passkey-registration-ceremony-model.mjs";
|
|
12
|
+
import { authenticationAuthorityLayer, pendingAuthenticationLayer, signedSessionValidityLayer, statefulSessionLayers } from "./drizzle/session-target.mjs";
|
|
13
|
+
import { emailAddressPersistenceLayer, emailRegistrationLayer, emailSignInTargetsLayer } from "./drizzle/email-target.mjs";
|
|
14
|
+
import { oauthAccountsPersistenceLayer, oauthRegistrationAuthorityLayer, oauthRegistrationIntentsLayer, oauthSignInPersistenceLayer } from "./drizzle/oauth-target.mjs";
|
|
15
|
+
import { oauthConnectedOwnershipReferences } from "./drizzle/oauth-connected-reference.mjs";
|
|
16
|
+
import { oauthConnectedPersistenceLayer, oauthConnectedRevocationsLayer } from "./drizzle/oauth-connected-target.mjs";
|
|
17
|
+
import { passwordPersistenceLayer, passwordRegistrationLayer } from "./drizzle/password-target.mjs";
|
|
18
|
+
import { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target.mjs";
|
|
19
|
+
import { proofPersistenceLayer } from "./drizzle/proof-target.mjs";
|
|
20
|
+
import { requiredTotpConstraints, totpPersistenceLayer } from "./drizzle/totp-model.mjs";
|
|
21
|
+
import { decodeTotpRecord, encodeTotpRecord } from "./drizzle/totp-state.mjs";
|
|
22
|
+
import { passkeyInvalidationMutation, requiredPasskeyManagementConstraints, requiredPasskeyRegistrationWriteConstraints } from "./drizzle/passkey-write-model.mjs";
|
|
23
|
+
import { passkeyManagementPersistenceLayer } from "./drizzle/passkey-write-target.mjs";
|
|
24
|
+
import { phonePersistenceLayer, phoneProofCompletionMapping, requiredPhoneConstraints } from "./drizzle/phone-model.mjs";
|
|
25
|
+
import { OAuthStateDecisions } from "@yielded/auth/OAuth";
|
|
26
|
+
import { AuthStoreDecisions } from "@yielded/auth/Persistence";
|
|
27
|
+
export { AuthStoreDecisions, OAuthStateDecisions, PersistenceMappingError, authServicesLayer, authenticationAuthorityLayer, column, decodeTotpRecord, emailAddressPersistenceLayer, emailRegistrationLayer, emailSignInTargetsLayer, encodeTotpRecord, identityServicesLayer, isMappedConstraintConflict, oauthAccountsPersistenceLayer, oauthCleanupTable, oauthConnectedOwnershipReferences, oauthConnectedPersistenceLayer, oauthConnectedPolicyGuard, oauthConnectedRevocationsLayer, oauthEligibilityTable, oauthReferenceGuardTable, oauthRegistrationAuthorityLayer, oauthRegistrationGuardTable, oauthRegistrationIntentsLayer, oauthSignInPersistenceLayer, passkeyCredentialsLayer, passkeyEnrollmentContextLayer, passkeyInvalidationMutation, passkeyManagementPersistenceLayer, passkeyPersistenceLayer, passkeyPolicyGuard, passwordPersistenceLayer, passwordPreparedPersistenceLayer, passwordRegistrationLayer, pendingAuthenticationLayer, phonePersistenceLayer, phoneProofCompletionMapping, proofPersistenceLayer, provisioningFingerprint, requireStandaloneConsume, requiredAuthConstraints, requiredAuthStoreConstraints, requiredEmailAddressConstraints, requiredEmailRegistrationConstraints, requiredEmailSignInConstraints, requiredExternalIdentityConstraints, requiredIdentityConstraints, requiredOAuthAccountsConstraints, requiredOAuthConnectedConstraints, requiredOAuthConnectedRevocationConstraints, requiredOAuthRegistrationConstraints, requiredOAuthSignInConstraints, requiredOAuthStateConstraints, requiredOAuthTupleConstraints, requiredPasskeyCredentialConstraints, requiredPasskeyManagementConstraints, requiredPasskeyPersistenceConstraints, requiredPasskeyRegistrationCeremonyConstraints, requiredPasskeyRegistrationWriteConstraints, requiredPasswordConstraints, requiredPasswordPreparedConstraints, requiredPasswordRegistrationConstraints, requiredPendingAuthenticationConstraints, requiredPhoneConstraints, requiredProofConstraints, requiredSessionConstraints, requiredSessionStepUpConstraints, requiredSignedValidityConstraints, requiredStatefulPendingConstraints, requiredSubjectProvisioningConstraints, requiredTotpConstraints, signedSessionValidityLayer, statefulSessionLayers, totpPersistenceLayer, updateValues };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PersistenceConfigurationError } from "@yielded/auth-persistence/Adapter";
|
|
2
|
+
import { Effect, Layer } from "effect";
|
|
3
|
+
//#region src/internal/drizzle-migrations.ts
|
|
4
|
+
/** Run Drizzle Kit output through the matching Drizzle driver. Loading files and
|
|
5
|
+
* acquiring the database are deferred until the Layer is built. Drizzle owns the
|
|
6
|
+
* migration journal and transaction; failed migrations prevent auth startup.
|
|
7
|
+
*/
|
|
8
|
+
const drizzleMigrationsLayer = (acquire, migrator) => (options) => Layer.effectDiscard(Effect.gen(function* () {
|
|
9
|
+
const database = yield* acquire;
|
|
10
|
+
const migrate = yield* migrator;
|
|
11
|
+
yield* yield* Effect.try({
|
|
12
|
+
try: () => migrate(database, options),
|
|
13
|
+
catch: () => PersistenceConfigurationError.make({ reason: "Could not read Drizzle migrations; check the migration source and format" })
|
|
14
|
+
});
|
|
15
|
+
}));
|
|
16
|
+
//#endregion
|
|
17
|
+
export { drizzleMigrationsLayer };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=drizzle-migrations.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-migrations.mjs","names":[],"sources":["../../src/internal/drizzle-migrations.ts"],"sourcesContent":["import { PersistenceConfigurationError } from \"@yielded/auth-persistence/Adapter\";\nimport { Effect, Layer } from \"effect\";\n\n/** Run Drizzle Kit output through the matching Drizzle driver. Loading files and\n * acquiring the database are deferred until the Layer is built. Drizzle owns the\n * migration journal and transaction; failed migrations prevent auth startup.\n */\nexport const drizzleMigrationsLayer =\n <Database, Options, E, R>(\n acquire: Effect.Effect<Database, never, R>,\n migrator: Effect.Effect<(database: Database, options: Options) => Effect.Effect<void, E>>,\n ) =>\n (options: Options) =>\n Layer.effectDiscard(\n Effect.gen(function* () {\n const database = yield* acquire;\n const migrate = yield* migrator;\n\n const migration = yield* Effect.try({\n try: () => migrate(database, options),\n catch: () =>\n PersistenceConfigurationError.make({\n reason: \"Could not read Drizzle migrations; check the migration source and format\",\n }),\n });\n\n yield* migration;\n }),\n );\n"],"mappings":";;;;;;;AAOA,MAAa,0BAET,SACA,cAED,YACC,MAAM,cACJ,OAAO,IAAI,aAAa;CACtB,MAAM,WAAW,OAAO;CACxB,MAAM,UAAU,OAAO;CAUvB,OAAO,OARkB,OAAO,IAAI;EAClC,WAAW,QAAQ,UAAU,OAAO;EACpC,aACE,8BAA8B,KAAK,EACjC,QAAQ,2EACV,CAAC;CACL,CAAC;AAGH,CAAC,CACH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { drizzleQueryOperations } from "../drizzle/query-operations.mjs";
|
|
2
|
+
import { PersistenceConfigurationError, createPersistence, makeComposedPasskeys } from "@yielded/auth-persistence/Adapter";
|
|
3
|
+
import { getTableColumns } from "drizzle-orm";
|
|
4
|
+
import { bigint, boolean, getTableConfig, pgTable, text, uniqueIndex } from "drizzle-orm/pg-core";
|
|
5
|
+
//#region src/internal/drizzle-postgres.ts
|
|
6
|
+
const makeTable = (definition) => pgTable(definition.name, Object.fromEntries(Object.entries(definition.columns).map(([key, column]) => {
|
|
7
|
+
const builder = column.type === "text" ? text(column.name) : column.type === "boolean" ? boolean(column.name) : bigint(column.name, { mode: "number" });
|
|
8
|
+
return [key, column.nullable ? builder : builder.notNull()];
|
|
9
|
+
})), (columns) => definition.unique.map((keys, i) => {
|
|
10
|
+
const [first, ...rest] = keys;
|
|
11
|
+
if (first === void 0) throw PersistenceConfigurationError.make({ reason: "An empty unique key is invalid" });
|
|
12
|
+
return uniqueIndex(`${definition.name}_key_${i}`).on(columns[first], ...rest.map((key) => columns[key]));
|
|
13
|
+
}));
|
|
14
|
+
const describe = (table) => {
|
|
15
|
+
const config = getTableConfig(table);
|
|
16
|
+
return {
|
|
17
|
+
name: config.name,
|
|
18
|
+
...config.schema === void 0 ? {} : { schema: config.schema },
|
|
19
|
+
columns: Object.fromEntries(Object.entries(getTableColumns(table)).map(([key, column]) => [key, {
|
|
20
|
+
name: column.name,
|
|
21
|
+
type: column.dataType === "boolean" ? "boolean" : column.dataType === "number" ? "integer" : "text",
|
|
22
|
+
nullable: !column.notNull
|
|
23
|
+
}])),
|
|
24
|
+
unique: []
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
const postgresPersistence = (acquire) => createPersistence({
|
|
28
|
+
makeTable,
|
|
29
|
+
describe,
|
|
30
|
+
operations: drizzleQueryOperations,
|
|
31
|
+
acquire,
|
|
32
|
+
passkeys: makeComposedPasskeys(drizzleQueryOperations)
|
|
33
|
+
});
|
|
34
|
+
//#endregion
|
|
35
|
+
export { postgresPersistence };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=drizzle-postgres.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-postgres.mjs","names":[],"sources":["../../src/internal/drizzle-postgres.ts"],"sourcesContent":["import {\n PersistenceConfigurationError,\n makeComposedPasskeys,\n createPersistence,\n} from \"@yielded/auth-persistence/Adapter\";\nimport type { StorageTable } from \"@yielded/auth-persistence/Adapter\";\nimport { getTableColumns } from \"drizzle-orm\";\nimport {\n getTableConfig,\n bigint,\n boolean,\n pgTable,\n text,\n uniqueIndex,\n type PgTable,\n} from \"drizzle-orm/pg-core\";\nimport type { Effect } from \"effect\";\nimport type { SqlClient } from \"effect/unstable/sql/SqlClient\";\n\nimport { drizzleQueryOperations } from \"../drizzle/query-operations\";\n\nconst makeTable = (definition: StorageTable) =>\n pgTable(\n definition.name,\n Object.fromEntries(\n Object.entries(definition.columns).map(([key, column]) => {\n const builder =\n column.type === \"text\"\n ? text(column.name)\n : column.type === \"boolean\"\n ? boolean(column.name)\n : bigint(column.name, { mode: \"number\" });\n\n return [key, column.nullable ? builder : builder.notNull()];\n }),\n ),\n (columns) =>\n definition.unique.map((keys, i) => {\n const [first, ...rest] = keys;\n\n if (first === undefined)\n throw PersistenceConfigurationError.make({ reason: \"An empty unique key is invalid\" });\n\n return uniqueIndex(`${definition.name}_key_${i}`).on(\n columns[first],\n ...rest.map((key) => columns[key]),\n );\n }),\n );\n\nconst describe = (table: PgTable): StorageTable => {\n const config = getTableConfig(table);\n\n return {\n name: config.name,\n ...(config.schema === undefined ? {} : { schema: config.schema }),\n columns: Object.fromEntries(\n Object.entries(getTableColumns(table)).map(([key, column]) => [\n key,\n {\n name: column.name,\n type:\n column.dataType === \"boolean\"\n ? \"boolean\"\n : column.dataType === \"number\"\n ? \"integer\"\n : \"text\",\n nullable: !column.notNull,\n },\n ]),\n ),\n unique: [],\n };\n};\n\nexport const postgresPersistence = <R>(acquire: Effect.Effect<object, never, R | SqlClient>) =>\n createPersistence<PgTable, R>({\n makeTable,\n describe,\n operations: drizzleQueryOperations,\n acquire,\n passkeys: makeComposedPasskeys(drizzleQueryOperations),\n });\n"],"mappings":";;;;;AAqBA,MAAM,aAAa,eACjB,QACE,WAAW,MACX,OAAO,YACL,OAAO,QAAQ,WAAW,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY;CACxD,MAAM,UACJ,OAAO,SAAS,SACZ,KAAK,OAAO,IAAI,IAChB,OAAO,SAAS,YACd,QAAQ,OAAO,IAAI,IACnB,OAAO,OAAO,MAAM,EAAE,MAAM,SAAS,CAAC;CAE9C,OAAO,CAAC,KAAK,OAAO,WAAW,UAAU,QAAQ,QAAQ,CAAC;AAC5D,CAAC,CACH,IACC,YACC,WAAW,OAAO,KAAK,MAAM,MAAM;CACjC,MAAM,CAAC,OAAO,GAAG,QAAQ;CAEzB,IAAI,UAAU,KAAA,GACZ,MAAM,8BAA8B,KAAK,EAAE,QAAQ,iCAAiC,CAAC;CAEvF,OAAO,YAAY,GAAG,WAAW,KAAK,OAAO,GAAG,CAAC,CAAC,GAChD,QAAQ,QACR,GAAG,KAAK,KAAK,QAAQ,QAAQ,IAAI,CACnC;AACF,CAAC,CACL;AAEF,MAAM,YAAY,UAAiC;CACjD,MAAM,SAAS,eAAe,KAAK;CAEnC,OAAO;EACL,MAAM,OAAO;EACb,GAAI,OAAO,WAAW,KAAA,IAAY,CAAC,IAAI,EAAE,QAAQ,OAAO,OAAO;EAC/D,SAAS,OAAO,YACd,OAAO,QAAQ,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,CAC5D,KACA;GACE,MAAM,OAAO;GACb,MACE,OAAO,aAAa,YAChB,YACA,OAAO,aAAa,WAClB,YACA;GACR,UAAU,CAAC,OAAO;EACpB,CACF,CAAC,CACH;EACA,QAAQ,CAAC;CACX;AACF;AAEA,MAAa,uBAA0B,YACrC,kBAA8B;CAC5B;CACA;CACA,YAAY;CACZ;CACA,UAAU,qBAAqB,sBAAsB;AACvD,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { drizzleQueryOperations } from "../drizzle/query-operations.mjs";
|
|
2
|
+
import { PersistenceConfigurationError, createPersistence, makeComposedPasskeys } from "@yielded/auth-persistence/Adapter";
|
|
3
|
+
import { getTableColumns } from "drizzle-orm";
|
|
4
|
+
import { getTableConfig, integer, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
|
|
5
|
+
//#region src/internal/drizzle-sqlite.ts
|
|
6
|
+
const makeTable = (definition) => sqliteTable(definition.name, Object.fromEntries(Object.entries(definition.columns).map(([key, column]) => {
|
|
7
|
+
const builder = column.type === "text" ? text(column.name) : column.type === "boolean" ? integer(column.name, { mode: "boolean" }) : integer(column.name);
|
|
8
|
+
return [key, column.nullable ? builder : builder.notNull()];
|
|
9
|
+
})), (columns) => definition.unique.map((keys, i) => {
|
|
10
|
+
const [first, ...rest] = keys;
|
|
11
|
+
if (first === void 0) throw PersistenceConfigurationError.make({ reason: "An empty unique key is invalid" });
|
|
12
|
+
return uniqueIndex(`${definition.name}_key_${i}`).on(columns[first], ...rest.map((key) => columns[key]));
|
|
13
|
+
}));
|
|
14
|
+
const describe = (table) => {
|
|
15
|
+
return {
|
|
16
|
+
name: getTableConfig(table).name,
|
|
17
|
+
columns: Object.fromEntries(Object.entries(getTableColumns(table)).map(([key, column]) => [key, {
|
|
18
|
+
name: column.name,
|
|
19
|
+
type: column.dataType === "boolean" ? "boolean" : column.dataType === "number" ? "integer" : "text",
|
|
20
|
+
nullable: !column.notNull
|
|
21
|
+
}])),
|
|
22
|
+
unique: []
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
const sqlitePersistence = (acquire) => createPersistence({
|
|
26
|
+
makeTable,
|
|
27
|
+
describe,
|
|
28
|
+
operations: drizzleQueryOperations,
|
|
29
|
+
acquire,
|
|
30
|
+
passkeys: makeComposedPasskeys(drizzleQueryOperations)
|
|
31
|
+
});
|
|
32
|
+
//#endregion
|
|
33
|
+
export { sqlitePersistence };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=drizzle-sqlite.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-sqlite.mjs","names":[],"sources":["../../src/internal/drizzle-sqlite.ts"],"sourcesContent":["import {\n PersistenceConfigurationError,\n makeComposedPasskeys,\n createPersistence,\n} from \"@yielded/auth-persistence/Adapter\";\nimport type { StorageTable } from \"@yielded/auth-persistence/Adapter\";\nimport { getTableColumns } from \"drizzle-orm\";\nimport {\n getTableConfig,\n integer,\n sqliteTable,\n text,\n uniqueIndex,\n type SQLiteTable,\n} from \"drizzle-orm/sqlite-core\";\nimport type { Effect } from \"effect\";\nimport type { SqlClient } from \"effect/unstable/sql/SqlClient\";\n\nimport { drizzleQueryOperations } from \"../drizzle/query-operations\";\n\nconst makeTable = (definition: StorageTable) =>\n sqliteTable(\n definition.name,\n Object.fromEntries(\n Object.entries(definition.columns).map(([key, column]) => {\n const builder =\n column.type === \"text\"\n ? text(column.name)\n : column.type === \"boolean\"\n ? integer(column.name, { mode: \"boolean\" })\n : integer(column.name);\n\n return [key, column.nullable ? builder : builder.notNull()];\n }),\n ),\n (columns) =>\n definition.unique.map((keys, i) => {\n const [first, ...rest] = keys;\n\n if (first === undefined)\n throw PersistenceConfigurationError.make({ reason: \"An empty unique key is invalid\" });\n\n return uniqueIndex(`${definition.name}_key_${i}`).on(\n columns[first],\n ...rest.map((key) => columns[key]),\n );\n }),\n );\n\nconst describe = (table: SQLiteTable): StorageTable => {\n const config = getTableConfig(table);\n\n return {\n name: config.name,\n columns: Object.fromEntries(\n Object.entries(getTableColumns(table)).map(([key, column]) => [\n key,\n {\n name: column.name,\n type:\n column.dataType === \"boolean\"\n ? \"boolean\"\n : column.dataType === \"number\"\n ? \"integer\"\n : \"text\",\n nullable: !column.notNull,\n },\n ]),\n ),\n unique: [],\n };\n};\n\nexport const sqlitePersistence = <R>(acquire: Effect.Effect<object, never, R | SqlClient>) =>\n createPersistence<SQLiteTable, R>({\n makeTable,\n describe,\n operations: drizzleQueryOperations,\n acquire,\n passkeys: makeComposedPasskeys(drizzleQueryOperations),\n });\n"],"mappings":";;;;;AAoBA,MAAM,aAAa,eACjB,YACE,WAAW,MACX,OAAO,YACL,OAAO,QAAQ,WAAW,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY;CACxD,MAAM,UACJ,OAAO,SAAS,SACZ,KAAK,OAAO,IAAI,IAChB,OAAO,SAAS,YACd,QAAQ,OAAO,MAAM,EAAE,MAAM,UAAU,CAAC,IACxC,QAAQ,OAAO,IAAI;CAE3B,OAAO,CAAC,KAAK,OAAO,WAAW,UAAU,QAAQ,QAAQ,CAAC;AAC5D,CAAC,CACH,IACC,YACC,WAAW,OAAO,KAAK,MAAM,MAAM;CACjC,MAAM,CAAC,OAAO,GAAG,QAAQ;CAEzB,IAAI,UAAU,KAAA,GACZ,MAAM,8BAA8B,KAAK,EAAE,QAAQ,iCAAiC,CAAC;CAEvF,OAAO,YAAY,GAAG,WAAW,KAAK,OAAO,GAAG,CAAC,CAAC,GAChD,QAAQ,QACR,GAAG,KAAK,KAAK,QAAQ,QAAQ,IAAI,CACnC;AACF,CAAC,CACL;AAEF,MAAM,YAAY,UAAqC;CAGrD,OAAO;EACL,MAHa,eAAe,KAGjB,CAAC,CAAC;EACb,SAAS,OAAO,YACd,OAAO,QAAQ,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,CAC5D,KACA;GACE,MAAM,OAAO;GACb,MACE,OAAO,aAAa,YAChB,YACA,OAAO,aAAa,WAClB,YACA;GACR,UAAU,CAAC,OAAO;EACpB,CACF,CAAC,CACH;EACA,QAAQ,CAAC;CACX;AACF;AAEA,MAAa,qBAAwB,YACnC,kBAAkC;CAChC;CACA;CACA,YAAY;CACZ;CACA,UAAU,qBAAqB,sBAAsB;AACvD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"@yielded/auth-persistence-drizzle","version":"0.1.0-beta.0","dependencies":{"@noble/hashes":"2.3.0","@yielded/auth":"0.1.0-beta.10","@yielded/auth-crypto":"0.1.0-beta.0","@yielded/auth-persistence":"0.1.0-beta.10"},"devDependencies":{"@effect/platform-bun":"4.0.0-rc.117","@effect/platform-node":"4.0.0-rc.117","@effect/sql-d1":"4.0.0-rc.117","@effect/sql-libsql":"4.0.0-rc.117","@effect/sql-mysql2":"4.0.0-rc.117","@effect/sql-pg":"4.0.0-rc.117","@effect/sql-pglite":"4.0.0-rc.117","@effect/sql-sqlite-bun":"4.0.0-rc.117","@effect/sql-sqlite-do":"4.0.0-rc.117","@effect/sql-sqlite-node":"4.0.0-rc.117","@effect/sql-sqlite-wasm":"4.0.0-rc.117","@effect/vitest":"4.0.0-rc.117","drizzle-orm":"1.0.0-rc.5-ab785fc","effect":"4.0.0-rc.117","typescript":"7.0.2","vite-plus":"1.0.0-rc.0"},"peerDependencies":{"@effect/sql-d1":">=4.0.0-rc.117","@effect/sql-libsql":">=4.0.0-rc.117","@effect/sql-mysql2":">=4.0.0-rc.117","@effect/sql-pg":">=4.0.0-rc.117","@effect/sql-pglite":">=4.0.0-rc.117","@effect/sql-sqlite-bun":">=4.0.0-rc.117","@effect/sql-sqlite-do":">=4.0.0-rc.117","@effect/sql-sqlite-node":">=4.0.0-rc.117","@effect/sql-sqlite-wasm":">=4.0.0-rc.117","drizzle-orm":">=1.0.0-rc.5-ab785fc","effect":"^4.0.0-rc.117"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./D1":{"types":"./dist/D1.d.mts","default":"./dist/D1.mjs"},"./Libsql":{"types":"./dist/Libsql.d.mts","default":"./dist/Libsql.mjs"},"./Mysql2":{"types":"./dist/Mysql2.d.mts","default":"./dist/Mysql2.mjs"},"./Pglite":{"types":"./dist/Pglite.d.mts","default":"./dist/Pglite.mjs"},"./Postgres":{"types":"./dist/Postgres.d.mts","default":"./dist/Postgres.mjs"},"./SqliteBun":{"types":"./dist/SqliteBun.d.mts","default":"./dist/SqliteBun.mjs"},"./SqliteDo":{"types":"./dist/SqliteDo.d.mts","default":"./dist/SqliteDo.mjs"},"./SqliteNode":{"types":"./dist/SqliteNode.d.mts","default":"./dist/SqliteNode.mjs"},"./SqliteWasm":{"types":"./dist/SqliteWasm.d.mts","default":"./dist/SqliteWasm.mjs"}},"description":"Drizzle persistence, table mappings, and migration adapters for Yielded Auth.","homepage":"https://yielded.dev/auth/","bugs":{"url":"https://github.com/yielded-dev/auth/issues"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/yielded-dev/auth.git","directory":"packages/auth-persistence-drizzle"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests","example:totp":"bun test/fixtures/totp-sqlite-bun.ts"},"peerDependenciesMeta":{"@effect/sql-d1":{"optional":true},"@effect/sql-libsql":{"optional":true},"@effect/sql-mysql2":{"optional":true},"@effect/sql-pg":{"optional":true},"@effect/sql-pglite":{"optional":true},"@effect/sql-sqlite-bun":{"optional":true},"@effect/sql-sqlite-do":{"optional":true},"@effect/sql-sqlite-node":{"optional":true},"@effect/sql-sqlite-wasm":{"optional":true}}}
|
package/src/D1.ts
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { D1Client } from "@effect/sql-d1/D1Client";
|
|
2
|
+
export { makeTotpPersistenceServices, coordinateTotpPersistence } from "./drizzle/d1-totp";
|
|
3
|
+
import type { AnyRelations } from "drizzle-orm";
|
|
4
|
+
import type { EffectSQLiteD1Database } from "drizzle-orm/effect-d1";
|
|
5
|
+
import type { AnySQLiteTable } from "drizzle-orm/sqlite-core";
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
makeD1OAuthAccountsServices as makeOAuthAccountsServices,
|
|
9
|
+
makeD1OAuthSignInServices as makeOAuthSignInServices,
|
|
10
|
+
makeD1OAuthRegistrationIntentServices as makeOAuthRegistrationIntentServices,
|
|
11
|
+
makeD1OAuthRegistrationServices as makeOAuthRegistrationServices,
|
|
12
|
+
coordinateD1OAuthRegistration as coordinateOAuthRegistration,
|
|
13
|
+
coordinateD1OAuthSignIn as coordinateOAuthSignIn,
|
|
14
|
+
coordinateD1OAuthRegistrationIntents as coordinateOAuthRegistrationIntents,
|
|
15
|
+
coordinateD1OAuthAccounts as coordinateOAuthAccounts,
|
|
16
|
+
} from "./drizzle/d1-oauth";
|
|
17
|
+
|
|
18
|
+
import {
|
|
19
|
+
makeD1ExternalIdentityServices,
|
|
20
|
+
makeD1IdentityServices,
|
|
21
|
+
makeD1SubjectProvisioningServices,
|
|
22
|
+
} from "./drizzle/d1-identity";
|
|
23
|
+
|
|
24
|
+
export {
|
|
25
|
+
coordinateD1AuthenticationAuthority as coordinateAuthenticationAuthority,
|
|
26
|
+
coordinateD1PendingAuthentication as coordinatePendingAuthentication,
|
|
27
|
+
coordinateD1SignedSessionValidity as coordinateSignedSessionValidity,
|
|
28
|
+
coordinateD1StatefulSessions as coordinateStatefulSessions,
|
|
29
|
+
makeD1AuthenticationAuthorityServices as makeAuthenticationAuthorityServices,
|
|
30
|
+
makeD1PendingAuthenticationServices as makePendingAuthenticationServices,
|
|
31
|
+
makeD1SignedSessionValidityServices as makeSignedSessionValidityServices,
|
|
32
|
+
makeD1StatefulSessionServices as makeStatefulSessionServices,
|
|
33
|
+
} from "./drizzle/d1-sessions";
|
|
34
|
+
|
|
35
|
+
export {
|
|
36
|
+
coordinateD1ProofPersistence as coordinateProofPersistence,
|
|
37
|
+
makeD1ProofPersistenceServices as makeProofPersistenceServices,
|
|
38
|
+
} from "./drizzle/d1-proofs";
|
|
39
|
+
|
|
40
|
+
export {
|
|
41
|
+
coordinateD1PasswordPersistence as coordinatePasswordPersistence,
|
|
42
|
+
coordinateD1PasswordRegistration as coordinatePasswordRegistration,
|
|
43
|
+
makeD1PasswordPersistenceServices as makePasswordPersistenceServices,
|
|
44
|
+
makeD1PasswordRegistrationServices as makePasswordRegistrationServices,
|
|
45
|
+
} from "./drizzle/d1-passwords";
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
coordinateD1EmailAddress as coordinateEmailAddress,
|
|
49
|
+
coordinateD1EmailRegistration as coordinateEmailRegistration,
|
|
50
|
+
makeD1EmailAddressServices as makeEmailAddressServices,
|
|
51
|
+
makeD1EmailRegistrationServices as makeEmailRegistrationServices,
|
|
52
|
+
makeD1EmailSignInServices as makeEmailSignInServices,
|
|
53
|
+
} from "./drizzle/d1-emails";
|
|
54
|
+
|
|
55
|
+
import { type AuthTables, type D1GeneratedIdentityMapping } from "./drizzle/model";
|
|
56
|
+
import {
|
|
57
|
+
makeSqliteAuthServices,
|
|
58
|
+
makeSqliteAuthStoreServices,
|
|
59
|
+
makeSqliteOAuthStateServices,
|
|
60
|
+
} from "./drizzle/sqlite";
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
makeD1ExternalIdentityServices as makeExternalIdentityServices,
|
|
64
|
+
makeD1SubjectProvisioningServices as makeSubjectProvisioningServices,
|
|
65
|
+
makeSqliteAuthStoreServices as makeAuthStoreServices,
|
|
66
|
+
makeSqliteOAuthStateServices as makeOAuthStateServices,
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export const commitMode = "batch" as const;
|
|
70
|
+
|
|
71
|
+
export const makeAuthServices = <
|
|
72
|
+
C extends AnySQLiteTable,
|
|
73
|
+
R extends AnySQLiteTable,
|
|
74
|
+
S extends AnySQLiteTable,
|
|
75
|
+
>(
|
|
76
|
+
database: EffectSQLiteD1Database<AnyRelations>,
|
|
77
|
+
mapping: AuthTables<C, R, S>,
|
|
78
|
+
) => makeSqliteAuthServices(database, mapping);
|
|
79
|
+
|
|
80
|
+
export const makeIdentityServices = <
|
|
81
|
+
Subject extends AnySQLiteTable,
|
|
82
|
+
Identifier extends AnySQLiteTable,
|
|
83
|
+
External extends AnySQLiteTable,
|
|
84
|
+
Request extends AnySQLiteTable,
|
|
85
|
+
NativeId,
|
|
86
|
+
>(
|
|
87
|
+
database: EffectSQLiteD1Database<AnyRelations> & { readonly $client: D1Client },
|
|
88
|
+
mapping: D1GeneratedIdentityMapping<Subject, Identifier, External, Request, NativeId>,
|
|
89
|
+
) => makeD1IdentityServices(database, mapping);
|
|
90
|
+
|
|
91
|
+
export {
|
|
92
|
+
makeD1SessionStepUpServices as makeSessionStepUpServices,
|
|
93
|
+
coordinateD1SessionStepUp as coordinateSessionStepUp,
|
|
94
|
+
} from "./drizzle/d1-sessions";
|
|
95
|
+
|
|
96
|
+
export {
|
|
97
|
+
makeD1PasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices,
|
|
98
|
+
coordinateD1PasswordPreparedPersistence as coordinatePasswordPreparedPersistence,
|
|
99
|
+
} from "./drizzle/d1-password-prepared";
|
|
100
|
+
|
|
101
|
+
export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-target";
|
|
102
|
+
|
|
103
|
+
import { Effect } from "effect";
|
|
104
|
+
|
|
105
|
+
import { makeD1OAuthConnectedTarget } from "./drizzle/oauth-connected-drivers";
|
|
106
|
+
import type { OAuthD1Mapping } from "./drizzle/oauth-model";
|
|
107
|
+
|
|
108
|
+
const connectedTarget = makeD1OAuthConnectedTarget<
|
|
109
|
+
EffectSQLiteD1Database<AnyRelations> & { readonly $client: D1Client },
|
|
110
|
+
AnySQLiteTable<{ dialect: "sqlite" }>,
|
|
111
|
+
OAuthD1Mapping
|
|
112
|
+
>({ mode: "batch", dialect: "sqlite", locking: false, standaloneGuard: () => Effect.void });
|
|
113
|
+
|
|
114
|
+
export const {
|
|
115
|
+
makeOAuthConnectedServices,
|
|
116
|
+
makeOAuthConnectedRevocationServices,
|
|
117
|
+
coordinateOAuthConnected,
|
|
118
|
+
coordinateOAuthConnectedRevocations,
|
|
119
|
+
} = connectedTarget;
|
|
120
|
+
|
|
121
|
+
export {
|
|
122
|
+
makePasskeyCredentialServices,
|
|
123
|
+
makePasskeyPersistenceServices,
|
|
124
|
+
makePasskeyEnrollmentContextServices,
|
|
125
|
+
makePasskeyRegistrationCeremonyServices,
|
|
126
|
+
coordinatePasskeyPersistence,
|
|
127
|
+
coordinatePasskeyRegistrationCeremony,
|
|
128
|
+
makePasskeyManagementServices,
|
|
129
|
+
makePasskeyRegistrationServices,
|
|
130
|
+
coordinatePasskeyManagement,
|
|
131
|
+
coordinatePasskeyRegistration,
|
|
132
|
+
} from "./drizzle/d1-passkey";
|
|
133
|
+
|
|
134
|
+
export { D1BatchStatements } from "./drizzle/D1BatchStatements";
|
|
135
|
+
|
|
136
|
+
export { makePhonePersistenceServices, coordinatePhonePersistence } from "./drizzle/d1-phone";
|