@yielded/auth 0.1.0-beta.1
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/LICENSE +21 -0
- package/README.md +18 -0
- package/dist/Atom.d.mts +5 -0
- package/dist/Atom.mjs +5 -0
- package/dist/Auth.d.mts +9 -0
- package/dist/Auth.mjs +7 -0
- package/dist/AuthContract.d.mts +4 -0
- package/dist/AuthContract.mjs +4 -0
- package/dist/AuthSession.d.mts +82 -0
- package/dist/AuthSession.mjs +138 -0
- package/dist/AuthSession.mjs.map +1 -0
- package/dist/AuthStore.d.mts +68 -0
- package/dist/AuthStore.mjs +194 -0
- package/dist/AuthStore.mjs.map +1 -0
- package/dist/AuthTokenCodec.d.mts +40 -0
- package/dist/AuthTokenCodec.mjs +104 -0
- package/dist/AuthTokenCodec.mjs.map +1 -0
- package/dist/Client.d.mts +2 -0
- package/dist/Client.mjs +2 -0
- package/dist/Cloudflare.d.mts +89 -0
- package/dist/Cloudflare.mjs +166 -0
- package/dist/Cloudflare.mjs.map +1 -0
- package/dist/Drizzle.d.mts +28 -0
- package/dist/Drizzle.mjs +27 -0
- package/dist/DrizzleD1.d.mts +935 -0
- package/dist/DrizzleD1.mjs +29 -0
- package/dist/DrizzleD1.mjs.map +1 -0
- package/dist/DrizzleLibsql.d.mts +2288 -0
- package/dist/DrizzleLibsql.mjs +85 -0
- package/dist/DrizzleLibsql.mjs.map +1 -0
- package/dist/DrizzleMysql2.d.mts +1809 -0
- package/dist/DrizzleMysql2.mjs +55 -0
- package/dist/DrizzleMysql2.mjs.map +1 -0
- package/dist/DrizzlePglite.d.mts +1808 -0
- package/dist/DrizzlePglite.mjs +45 -0
- package/dist/DrizzlePglite.mjs.map +1 -0
- package/dist/DrizzlePostgres.d.mts +1808 -0
- package/dist/DrizzlePostgres.mjs +45 -0
- package/dist/DrizzlePostgres.mjs.map +1 -0
- package/dist/DrizzleSqliteBun.d.mts +2287 -0
- package/dist/DrizzleSqliteBun.mjs +62 -0
- package/dist/DrizzleSqliteBun.mjs.map +1 -0
- package/dist/DrizzleSqliteDo.d.mts +2343 -0
- package/dist/DrizzleSqliteDo.mjs +105 -0
- package/dist/DrizzleSqliteDo.mjs.map +1 -0
- package/dist/DrizzleSqliteNode.d.mts +2287 -0
- package/dist/DrizzleSqliteNode.mjs +62 -0
- package/dist/DrizzleSqliteNode.mjs.map +1 -0
- package/dist/DrizzleSqliteWasm.d.mts +2287 -0
- package/dist/DrizzleSqliteWasm.mjs +62 -0
- package/dist/DrizzleSqliteWasm.mjs.map +1 -0
- package/dist/Email.d.mts +12 -0
- package/dist/Email.mjs +11 -0
- package/dist/EmailOtp.d.mts +42 -0
- package/dist/EmailOtp.mjs +120 -0
- package/dist/EmailOtp.mjs.map +1 -0
- package/dist/EmailOtpSender.d.mts +22 -0
- package/dist/EmailOtpSender.mjs +18 -0
- package/dist/EmailOtpSender.mjs.map +1 -0
- package/dist/Errors.d.mts +55 -0
- package/dist/Errors.mjs +31 -0
- package/dist/Errors.mjs.map +1 -0
- package/dist/GitHub.d.mts +5 -0
- package/dist/GitHub.mjs +4 -0
- package/dist/Hooks.d.mts +6 -0
- package/dist/Hooks.mjs +6 -0
- package/dist/Http.d.mts +12 -0
- package/dist/Http.mjs +12 -0
- package/dist/HttpServer.d.mts +103 -0
- package/dist/HttpServer.mjs +326 -0
- package/dist/HttpServer.mjs.map +1 -0
- package/dist/Identity.d.mts +9 -0
- package/dist/Identity.mjs +9 -0
- package/dist/IdentityResolver.d.mts +16 -0
- package/dist/IdentityResolver.mjs +12 -0
- package/dist/IdentityResolver.mjs.map +1 -0
- package/dist/OAuth.d.mts +36 -0
- package/dist/OAuth.mjs +35 -0
- package/dist/OpenIdClient.d.mts +3 -0
- package/dist/OpenIdClient.mjs +3 -0
- package/dist/OpenIdClientConnected.d.mts +4 -0
- package/dist/OpenIdClientConnected.mjs +3 -0
- package/dist/OperationHttp.d.mts +3 -0
- package/dist/OperationHttp.mjs +3 -0
- package/dist/OperationHttpClient.d.mts +2 -0
- package/dist/OperationHttpClient.mjs +2 -0
- package/dist/OperationHttpServer.d.mts +5 -0
- package/dist/OperationHttpServer.mjs +4 -0
- package/dist/Operations.d.mts +8 -0
- package/dist/Operations.mjs +8 -0
- package/dist/Passkey.d.mts +12 -0
- package/dist/Passkey.mjs +12 -0
- package/dist/PasskeyBrowser.d.mts +4 -0
- package/dist/PasskeyBrowser.mjs +4 -0
- package/dist/PasskeyContract.d.mts +641 -0
- package/dist/PasskeyContract.mjs +174 -0
- package/dist/PasskeyContract.mjs.map +1 -0
- package/dist/PasskeyPassword.d.mts +412 -0
- package/dist/PasskeyPassword.mjs +174 -0
- package/dist/PasskeyPassword.mjs.map +1 -0
- package/dist/PasskeySimpleWebAuthn.d.mts +3 -0
- package/dist/PasskeySimpleWebAuthn.mjs +3 -0
- package/dist/Password.d.mts +19 -0
- package/dist/Password.mjs +17 -0
- package/dist/PasswordAuth.d.mts +45 -0
- package/dist/PasswordAuth.mjs +79 -0
- package/dist/PasswordAuth.mjs.map +1 -0
- package/dist/PasswordCredentialStore.d.mts +46 -0
- package/dist/PasswordCredentialStore.mjs +62 -0
- package/dist/PasswordCredentialStore.mjs.map +1 -0
- package/dist/PasswordHasher.d.mts +31 -0
- package/dist/PasswordHasher.mjs +76 -0
- package/dist/PasswordHasher.mjs.map +1 -0
- package/dist/PhoneOtp.d.mts +11 -0
- package/dist/PhoneOtp.mjs +11 -0
- package/dist/Policy.d.mts +52 -0
- package/dist/Policy.mjs +36 -0
- package/dist/Policy.mjs.map +1 -0
- package/dist/Proofs.d.mts +14 -0
- package/dist/Proofs.mjs +13 -0
- package/dist/Rpc.d.mts +12 -0
- package/dist/Rpc.mjs +11 -0
- package/dist/Rpc.mjs.map +1 -0
- package/dist/Schema.d.mts +160 -0
- package/dist/Schema.mjs +141 -0
- package/dist/Schema.mjs.map +1 -0
- package/dist/SessionContract.d.mts +3 -0
- package/dist/SessionContract.mjs +3 -0
- package/dist/Sessions.d.mts +14 -0
- package/dist/Sessions.mjs +12 -0
- package/dist/Testing.d.mts +7 -0
- package/dist/Testing.mjs +7 -0
- package/dist/Totp.d.mts +8 -0
- package/dist/Totp.mjs +8 -0
- package/dist/TotpContract.d.mts +318 -0
- package/dist/TotpContract.mjs +119 -0
- package/dist/TotpContract.mjs.map +1 -0
- package/dist/WebCrypto.d.mts +28 -0
- package/dist/WebCrypto.mjs +42 -0
- package/dist/WebCrypto.mjs.map +1 -0
- package/dist/Workflows.d.mts +16 -0
- package/dist/Workflows.mjs +11 -0
- package/dist/Workflows.mjs.map +1 -0
- package/dist/atom/AuthAtomLifetime.d.mts +35 -0
- package/dist/atom/AuthAtomLifetime.mjs +50 -0
- package/dist/atom/AuthAtomLifetime.mjs.map +1 -0
- package/dist/atom/AuthAtomWorkflow.d.mts +17 -0
- package/dist/atom/AuthAtomWorkflow.mjs +9 -0
- package/dist/atom/AuthAtomWorkflow.mjs.map +1 -0
- package/dist/atom/client.d.mts +43 -0
- package/dist/atom/client.mjs +168 -0
- package/dist/atom/client.mjs.map +1 -0
- package/dist/atom/operations.d.mts +35 -0
- package/dist/atom/operations.mjs +58 -0
- package/dist/atom/operations.mjs.map +1 -0
- package/dist/atom/scoped-runtime.mjs +151 -0
- package/dist/atom/scoped-runtime.mjs.map +1 -0
- package/dist/auth/Auth.d.mts +7806 -0
- package/dist/auth/Auth.mjs +141 -0
- package/dist/auth/Auth.mjs.map +1 -0
- package/dist/auth/AuthConfigurationError.d.mts +10 -0
- package/dist/auth/AuthConfigurationError.mjs +14 -0
- package/dist/auth/AuthConfigurationError.mjs.map +1 -0
- package/dist/auth/AuthRequest.d.mts +21 -0
- package/dist/auth/AuthRequest.mjs +10 -0
- package/dist/auth/AuthRequest.mjs.map +1 -0
- package/dist/auth/AuthStrategy.d.mts +23 -0
- package/dist/auth/AuthStrategy.mjs +33 -0
- package/dist/auth/AuthStrategy.mjs.map +1 -0
- package/dist/auth/ConsumeDecision.d.mts +11 -0
- package/dist/auth/actions.d.mts +18 -0
- package/dist/auth/actions.mjs +70 -0
- package/dist/auth/actions.mjs.map +1 -0
- package/dist/auth/defaults.mjs +12 -0
- package/dist/auth/defaults.mjs.map +1 -0
- package/dist/auth/definition.d.mts +46 -0
- package/dist/auth/session.d.mts +27 -0
- package/dist/auth/session.mjs +56 -0
- package/dist/auth/session.mjs.map +1 -0
- package/dist/drizzle/D1BatchStatements.d.mts +11 -0
- package/dist/drizzle/D1BatchStatements.mjs +8 -0
- package/dist/drizzle/D1BatchStatements.mjs.map +1 -0
- package/dist/drizzle/PasswordPreparedPostconditions.mjs +12 -0
- package/dist/drizzle/PasswordPreparedPostconditions.mjs.map +1 -0
- package/dist/drizzle/SuppliedService.d.mts +10 -0
- package/dist/drizzle/d1-emails.d.mts +68 -0
- package/dist/drizzle/d1-emails.mjs +580 -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 +33 -0
- package/dist/drizzle/d1-identity.mjs +120 -0
- package/dist/drizzle/d1-identity.mjs.map +1 -0
- package/dist/drizzle/d1-oauth.d.mts +316 -0
- package/dist/drizzle/d1-oauth.mjs +79 -0
- package/dist/drizzle/d1-oauth.mjs.map +1 -0
- package/dist/drizzle/d1-passkey.d.mts +52 -0
- package/dist/drizzle/d1-passkey.mjs +97 -0
- package/dist/drizzle/d1-passkey.mjs.map +1 -0
- package/dist/drizzle/d1-password-prepared.d.mts +27 -0
- package/dist/drizzle/d1-password-prepared.mjs +464 -0
- package/dist/drizzle/d1-password-prepared.mjs.map +1 -0
- package/dist/drizzle/d1-passwords.d.mts +96 -0
- package/dist/drizzle/d1-passwords.mjs +1008 -0
- package/dist/drizzle/d1-passwords.mjs.map +1 -0
- package/dist/drizzle/d1-phone.d.mts +29 -0
- package/dist/drizzle/d1-phone.mjs +33 -0
- package/dist/drizzle/d1-phone.mjs.map +1 -0
- package/dist/drizzle/d1-planning.d.mts +12 -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 +88 -0
- package/dist/drizzle/d1-proofs.mjs +833 -0
- package/dist/drizzle/d1-proofs.mjs.map +1 -0
- package/dist/drizzle/d1-sessions.d.mts +77 -0
- package/dist/drizzle/d1-sessions.mjs +970 -0
- package/dist/drizzle/d1-sessions.mjs.map +1 -0
- package/dist/drizzle/d1-totp.d.mts +27 -0
- package/dist/drizzle/d1-totp.mjs +28 -0
- package/dist/drizzle/d1-totp.mjs.map +1 -0
- package/dist/drizzle/email-model.d.mts +352 -0
- package/dist/drizzle/email-model.mjs +21 -0
- package/dist/drizzle/email-model.mjs.map +1 -0
- package/dist/drizzle/email-registration.d.mts +33 -0
- package/dist/drizzle/email-registration.mjs +238 -0
- package/dist/drizzle/email-registration.mjs.map +1 -0
- package/dist/drizzle/email-sql.d.mts +18 -0
- package/dist/drizzle/email-sql.mjs +473 -0
- package/dist/drizzle/email-sql.mjs.map +1 -0
- package/dist/drizzle/email-target.d.mts +28 -0
- package/dist/drizzle/email-target.mjs +75 -0
- package/dist/drizzle/email-target.mjs.map +1 -0
- package/dist/drizzle/model.d.mts +259 -0
- package/dist/drizzle/model.mjs +81 -0
- package/dist/drizzle/model.mjs.map +1 -0
- package/dist/drizzle/mysql-emails.d.mts +82 -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 +24 -0
- package/dist/drizzle/mysql-identity.mjs +95 -0
- package/dist/drizzle/mysql-identity.mjs.map +1 -0
- package/dist/drizzle/mysql-password-prepared.d.mts +32 -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 +102 -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 +83 -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 +250 -0
- package/dist/drizzle/mysql-sessions.mjs +53 -0
- package/dist/drizzle/mysql-sessions.mjs.map +1 -0
- package/dist/drizzle/mysql.d.mts +73 -0
- package/dist/drizzle/mysql.mjs +221 -0
- package/dist/drizzle/mysql.mjs.map +1 -0
- package/dist/drizzle/oauth-accounts.mjs +361 -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 +78 -0
- package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-flow.mjs +248 -0
- package/dist/drizzle/oauth-connected-flow.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-input.mjs +105 -0
- package/dist/drizzle/oauth-connected-input.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-maintenance.mjs +215 -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 +278 -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 +17 -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 +16 -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 +114 -0
- package/dist/drizzle/oauth-connected-target.mjs +94 -0
- package/dist/drizzle/oauth-connected-target.mjs.map +1 -0
- package/dist/drizzle/oauth-drivers.mjs +53 -0
- package/dist/drizzle/oauth-drivers.mjs.map +1 -0
- package/dist/drizzle/oauth-flow.d.mts +7 -0
- package/dist/drizzle/oauth-flow.mjs +255 -0
- package/dist/drizzle/oauth-flow.mjs.map +1 -0
- package/dist/drizzle/oauth-input.mjs +130 -0
- package/dist/drizzle/oauth-input.mjs.map +1 -0
- package/dist/drizzle/oauth-model.d.mts +468 -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 +4 -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 +8 -0
- package/dist/drizzle/oauth-registration.mjs +375 -0
- package/dist/drizzle/oauth-registration.mjs.map +1 -0
- package/dist/drizzle/oauth-state.mjs +109 -0
- package/dist/drizzle/oauth-state.mjs.map +1 -0
- package/dist/drizzle/oauth-target.d.mts +125 -0
- package/dist/drizzle/oauth-target.mjs +252 -0
- package/dist/drizzle/oauth-target.mjs.map +1 -0
- package/dist/drizzle/passkey-admission.mjs +203 -0
- package/dist/drizzle/passkey-admission.mjs.map +1 -0
- package/dist/drizzle/passkey-credentials.mjs +239 -0
- package/dist/drizzle/passkey-credentials.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-enrollment.mjs +132 -0
- package/dist/drizzle/passkey-enrollment.mjs.map +1 -0
- package/dist/drizzle/passkey-flow.mjs +436 -0
- package/dist/drizzle/passkey-flow.mjs.map +1 -0
- package/dist/drizzle/passkey-management.mjs +225 -0
- package/dist/drizzle/passkey-management.mjs.map +1 -0
- package/dist/drizzle/passkey-model.d.mts +275 -0
- package/dist/drizzle/passkey-model.mjs +36 -0
- package/dist/drizzle/passkey-model.mjs.map +1 -0
- package/dist/drizzle/passkey-registration-ceremony-model.d.mts +50 -0
- package/dist/drizzle/passkey-registration-ceremony-model.mjs +18 -0
- package/dist/drizzle/passkey-registration-ceremony-model.mjs.map +1 -0
- package/dist/drizzle/passkey-registration-ceremony.mjs +124 -0
- package/dist/drizzle/passkey-registration-ceremony.mjs.map +1 -0
- package/dist/drizzle/passkey-registration-custody.mjs +51 -0
- package/dist/drizzle/passkey-registration-custody.mjs.map +1 -0
- package/dist/drizzle/passkey-registration-write.mjs +205 -0
- package/dist/drizzle/passkey-registration-write.mjs.map +1 -0
- package/dist/drizzle/passkey-state.d.mts +5 -0
- package/dist/drizzle/passkey-state.mjs +207 -0
- package/dist/drizzle/passkey-state.mjs.map +1 -0
- package/dist/drizzle/passkey-target.d.mts +16 -0
- package/dist/drizzle/passkey-target.mjs +174 -0
- package/dist/drizzle/passkey-target.mjs.map +1 -0
- package/dist/drizzle/passkey-write-drivers.mjs +33 -0
- package/dist/drizzle/passkey-write-drivers.mjs.map +1 -0
- package/dist/drizzle/passkey-write-model.d.mts +192 -0
- package/dist/drizzle/passkey-write-model.mjs +13 -0
- package/dist/drizzle/passkey-write-model.mjs.map +1 -0
- package/dist/drizzle/passkey-write-state.mjs +326 -0
- package/dist/drizzle/passkey-write-state.mjs.map +1 -0
- package/dist/drizzle/passkey-write-target.d.mts +14 -0
- package/dist/drizzle/passkey-write-target.mjs +185 -0
- package/dist/drizzle/passkey-write-target.mjs.map +1 -0
- package/dist/drizzle/password-model.d.mts +330 -0
- package/dist/drizzle/password-model.mjs +22 -0
- package/dist/drizzle/password-model.mjs.map +1 -0
- package/dist/drizzle/password-prepared-model.d.mts +93 -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 +394 -0
- package/dist/drizzle/password-prepared-sql.mjs.map +1 -0
- package/dist/drizzle/password-prepared-state.mjs +107 -0
- package/dist/drizzle/password-prepared-state.mjs.map +1 -0
- package/dist/drizzle/password-prepared-target.d.mts +12 -0
- package/dist/drizzle/password-prepared-target.mjs +57 -0
- package/dist/drizzle/password-prepared-target.mjs.map +1 -0
- package/dist/drizzle/password-registration.d.mts +23 -0
- package/dist/drizzle/password-registration.mjs +136 -0
- package/dist/drizzle/password-registration.mjs.map +1 -0
- package/dist/drizzle/password-sql.d.mts +20 -0
- package/dist/drizzle/password-sql.mjs +702 -0
- package/dist/drizzle/password-sql.mjs.map +1 -0
- package/dist/drizzle/password-target.d.mts +25 -0
- package/dist/drizzle/password-target.mjs +63 -0
- package/dist/drizzle/password-target.mjs.map +1 -0
- package/dist/drizzle/pg-emails.d.mts +83 -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 +33 -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 +103 -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 +84 -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 +251 -0
- package/dist/drizzle/pg-sessions.mjs +53 -0
- package/dist/drizzle/pg-sessions.mjs.map +1 -0
- package/dist/drizzle/pg.d.mts +88 -0
- package/dist/drizzle/pg.mjs +294 -0
- package/dist/drizzle/pg.mjs.map +1 -0
- package/dist/drizzle/phone-model.d.mts +117 -0
- package/dist/drizzle/phone-model.mjs +39 -0
- package/dist/drizzle/phone-model.mjs.map +1 -0
- package/dist/drizzle/phone-state.mjs +426 -0
- package/dist/drizzle/phone-state.mjs.map +1 -0
- package/dist/drizzle/phone-target.d.mts +19 -0
- package/dist/drizzle/phone-target.mjs +171 -0
- package/dist/drizzle/phone-target.mjs.map +1 -0
- package/dist/drizzle/proof-model.d.mts +287 -0
- package/dist/drizzle/proof-model.mjs +17 -0
- package/dist/drizzle/proof-model.mjs.map +1 -0
- package/dist/drizzle/proof-sql.d.mts +16 -0
- package/dist/drizzle/proof-sql.mjs +618 -0
- package/dist/drizzle/proof-sql.mjs.map +1 -0
- package/dist/drizzle/proof-target.d.mts +17 -0
- package/dist/drizzle/proof-target.mjs +38 -0
- package/dist/drizzle/proof-target.mjs.map +1 -0
- package/dist/drizzle/session-model.d.mts +201 -0
- package/dist/drizzle/session-model.mjs +19 -0
- package/dist/drizzle/session-model.mjs.map +1 -0
- package/dist/drizzle/session-sql.mjs +732 -0
- package/dist/drizzle/session-sql.mjs.map +1 -0
- package/dist/drizzle/session-target.d.mts +37 -0
- package/dist/drizzle/session-target.mjs +47 -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 +92 -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 +81 -0
- package/dist/drizzle/sqlite.mjs +220 -0
- package/dist/drizzle/sqlite.mjs.map +1 -0
- package/dist/drizzle/standalone-guard.mjs +19 -0
- package/dist/drizzle/standalone-guard.mjs.map +1 -0
- package/dist/drizzle/step-up-model.d.mts +65 -0
- package/dist/drizzle/step-up-model.mjs +9 -0
- package/dist/drizzle/step-up-model.mjs.map +1 -0
- package/dist/drizzle/step-up-state.mjs +34 -0
- package/dist/drizzle/step-up-state.mjs.map +1 -0
- package/dist/drizzle/totp-model.d.mts +85 -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 +39 -0
- package/dist/drizzle/totp-state.mjs +288 -0
- package/dist/drizzle/totp-state.mjs.map +1 -0
- package/dist/drizzle/totp-target.d.mts +16 -0
- package/dist/drizzle/totp-target.mjs +83 -0
- package/dist/drizzle/totp-target.mjs.map +1 -0
- package/dist/drizzle/transaction-execution.d.mts +20 -0
- package/dist/drizzle/transaction-execution.mjs +111 -0
- package/dist/drizzle/transaction-execution.mjs.map +1 -0
- package/dist/drizzle/transaction-mysql.mjs +46 -0
- package/dist/drizzle/transaction-mysql.mjs.map +1 -0
- package/dist/drizzle/transaction-owner.d.mts +6 -0
- package/dist/drizzle/transaction-owner.mjs +252 -0
- package/dist/drizzle/transaction-owner.mjs.map +1 -0
- package/dist/email/EmailActionEvidence.d.mts +33 -0
- package/dist/email/EmailActionEvidence.mjs +15 -0
- package/dist/email/EmailActionEvidence.mjs.map +1 -0
- package/dist/email/EmailAddressPersistence.d.mts +63 -0
- package/dist/email/EmailAddressPersistence.mjs +19 -0
- package/dist/email/EmailAddressPersistence.mjs.map +1 -0
- package/dist/email/EmailIdentifierNotifier.d.mts +30 -0
- package/dist/email/EmailIdentifierNotifier.mjs +31 -0
- package/dist/email/EmailIdentifierNotifier.mjs.map +1 -0
- package/dist/email/EmailReturnTargets.d.mts +19 -0
- package/dist/email/EmailReturnTargets.mjs +29 -0
- package/dist/email/EmailReturnTargets.mjs.map +1 -0
- package/dist/email/EmailSignInTargets.d.mts +20 -0
- package/dist/email/EmailSignInTargets.mjs +12 -0
- package/dist/email/EmailSignInTargets.mjs.map +1 -0
- package/dist/email/addresses.d.mts +33 -0
- package/dist/email/addresses.mjs +404 -0
- package/dist/email/addresses.mjs.map +1 -0
- package/dist/email/definition.d.mts +10153 -0
- package/dist/email/definition.mjs +111 -0
- package/dist/email/definition.mjs.map +1 -0
- package/dist/email/errors.d.mts +15 -0
- package/dist/email/errors.mjs +11 -0
- package/dist/email/errors.mjs.map +1 -0
- package/dist/email/magicLink.d.mts +33 -0
- package/dist/email/magicLink.mjs +58 -0
- package/dist/email/magicLink.mjs.map +1 -0
- package/dist/email/models.d.mts +56 -0
- package/dist/email/models.mjs +31 -0
- package/dist/email/models.mjs.map +1 -0
- package/dist/email/module.d.mts +22296 -0
- package/dist/email/module.mjs +415 -0
- package/dist/email/module.mjs.map +1 -0
- package/dist/email/registration.d.mts +28 -0
- package/dist/email/registration.mjs +243 -0
- package/dist/email/registration.mjs.map +1 -0
- package/dist/email/snapshot.mjs +37 -0
- package/dist/email/snapshot.mjs.map +1 -0
- package/dist/hooks/LifecycleHooks.d.mts +34 -0
- package/dist/hooks/LifecycleHooks.mjs +74 -0
- package/dist/hooks/LifecycleHooks.mjs.map +1 -0
- package/dist/hooks/commit.d.mts +66 -0
- package/dist/hooks/commit.mjs +136 -0
- package/dist/hooks/commit.mjs.map +1 -0
- package/dist/hooks/models.d.mts +51 -0
- package/dist/hooks/models.mjs +87 -0
- package/dist/hooks/models.mjs.map +1 -0
- package/dist/hooks/plugins.d.mts +36 -0
- package/dist/hooks/plugins.mjs +60 -0
- package/dist/hooks/plugins.mjs.map +1 -0
- package/dist/hooks/transactions.d.mts +31 -0
- package/dist/hooks/transactions.mjs +38 -0
- package/dist/hooks/transactions.mjs.map +1 -0
- package/dist/http/auth-api.d.mts +9 -0
- package/dist/http/auth-api.mjs +13 -0
- package/dist/http/auth-api.mjs.map +1 -0
- package/dist/http/auth-contract.d.mts +84 -0
- package/dist/http/auth-contract.mjs +75 -0
- package/dist/http/auth-contract.mjs.map +1 -0
- package/dist/http/auth-http.d.mts +216 -0
- package/dist/http/auth-http.mjs +184 -0
- package/dist/http/auth-http.mjs.map +1 -0
- package/dist/http/endpoints/get-session.d.mts +8 -0
- package/dist/http/endpoints/get-session.mjs +12 -0
- package/dist/http/endpoints/get-session.mjs.map +1 -0
- package/dist/http/endpoints/password-sign-in.d.mts +8 -0
- package/dist/http/endpoints/password-sign-in.mjs +18 -0
- package/dist/http/endpoints/password-sign-in.mjs.map +1 -0
- package/dist/http/endpoints/request-email-otp.d.mts +8 -0
- package/dist/http/endpoints/request-email-otp.mjs +17 -0
- package/dist/http/endpoints/request-email-otp.mjs.map +1 -0
- package/dist/http/endpoints/set-password.d.mts +9 -0
- package/dist/http/endpoints/set-password.mjs +19 -0
- package/dist/http/endpoints/set-password.mjs.map +1 -0
- package/dist/http/endpoints/sign-out.d.mts +6 -0
- package/dist/http/endpoints/sign-out.mjs +7 -0
- package/dist/http/endpoints/sign-out.mjs.map +1 -0
- package/dist/http/endpoints/verify-email-otp.d.mts +9 -0
- package/dist/http/endpoints/verify-email-otp.mjs +18 -0
- package/dist/http/endpoints/verify-email-otp.mjs.map +1 -0
- package/dist/http/models.d.mts +49 -0
- package/dist/http/models.mjs +35 -0
- package/dist/http/models.mjs.map +1 -0
- package/dist/http/security.d.mts +91 -0
- package/dist/http/security.mjs +77 -0
- package/dist/http/security.mjs.map +1 -0
- package/dist/http/session-contract.d.mts +303 -0
- package/dist/http/session-contract.mjs +38 -0
- package/dist/http/session-contract.mjs.map +1 -0
- package/dist/http-operation/OperationHttpInvocation.d.mts +16 -0
- package/dist/http-operation/OperationHttpInvocation.mjs +11 -0
- package/dist/http-operation/OperationHttpInvocation.mjs.map +1 -0
- package/dist/http-operation/OperationHttpServerConfig.d.mts +18 -0
- package/dist/http-operation/OperationHttpServerConfig.mjs +72 -0
- package/dist/http-operation/OperationHttpServerConfig.mjs.map +1 -0
- package/dist/http-operation/auth-client.d.mts +75 -0
- package/dist/http-operation/auth-client.mjs +116 -0
- package/dist/http-operation/auth-client.mjs.map +1 -0
- package/dist/http-operation/client.d.mts +50 -0
- package/dist/http-operation/client.mjs +188 -0
- package/dist/http-operation/client.mjs.map +1 -0
- package/dist/http-operation/configuration-schema.mjs +19 -0
- package/dist/http-operation/configuration-schema.mjs.map +1 -0
- package/dist/http-operation/contract.d.mts +40 -0
- package/dist/http-operation/contract.mjs +37 -0
- package/dist/http-operation/contract.mjs.map +1 -0
- package/dist/http-operation/errors.d.mts +13 -0
- package/dist/http-operation/errors.mjs +31 -0
- package/dist/http-operation/errors.mjs.map +1 -0
- package/dist/http-operation/models.d.mts +32 -0
- package/dist/http-operation/models.mjs +14 -0
- package/dist/http-operation/models.mjs.map +1 -0
- package/dist/http-operation/private.mjs +35 -0
- package/dist/http-operation/private.mjs.map +1 -0
- package/dist/http-operation/security.mjs +58 -0
- package/dist/http-operation/security.mjs.map +1 -0
- package/dist/http-operation/server.d.mts +33 -0
- package/dist/http-operation/server.mjs +268 -0
- package/dist/http-operation/server.mjs.map +1 -0
- package/dist/identity/ExternalIdentityMutation.d.mts +15 -0
- package/dist/identity/ExternalIdentityMutation.mjs +11 -0
- package/dist/identity/ExternalIdentityMutation.mjs.map +1 -0
- package/dist/identity/IdentityMutation.d.mts +22 -0
- package/dist/identity/IdentityMutation.mjs +17 -0
- package/dist/identity/IdentityMutation.mjs.map +1 -0
- package/dist/identity/IdentityRepository.d.mts +20 -0
- package/dist/identity/IdentityRepository.mjs +11 -0
- package/dist/identity/IdentityRepository.mjs.map +1 -0
- package/dist/identity/SubjectLifecycle.d.mts +58 -0
- package/dist/identity/SubjectLifecycle.mjs +43 -0
- package/dist/identity/SubjectLifecycle.mjs.map +1 -0
- package/dist/identity/SubjectProvisioner.d.mts +37 -0
- package/dist/identity/SubjectProvisioner.mjs +20 -0
- package/dist/identity/SubjectProvisioner.mjs.map +1 -0
- package/dist/identity/codecs.d.mts +34 -0
- package/dist/identity/codecs.mjs +40 -0
- package/dist/identity/codecs.mjs.map +1 -0
- package/dist/identity/models.d.mts +62 -0
- package/dist/identity/models.mjs +51 -0
- package/dist/identity/models.mjs.map +1 -0
- package/dist/identity/operations.d.mts +118 -0
- package/dist/identity/operations.mjs +124 -0
- package/dist/identity/operations.mjs.map +1 -0
- package/dist/index.d.mts +23 -0
- package/dist/index.mjs +23 -0
- package/dist/internal/AuthStoreDecisions.d.mts +22 -0
- package/dist/internal/AuthStoreDecisions.mjs +8 -0
- package/dist/internal/AuthStoreDecisions.mjs.map +1 -0
- package/dist/internal/CurrentSession.d.mts +9 -0
- package/dist/internal/CurrentSession.mjs +8 -0
- package/dist/internal/CurrentSession.mjs.map +1 -0
- package/dist/internal/diagnostics.mjs +23 -0
- package/dist/internal/diagnostics.mjs.map +1 -0
- package/dist/oauth/GithubOAuthProvider.d.mts +43 -0
- package/dist/oauth/GithubOAuthProvider.mjs +66 -0
- package/dist/oauth/GithubOAuthProvider.mjs.map +1 -0
- package/dist/oauth/OAuth.d.mts +73 -0
- package/dist/oauth/OAuth.mjs +180 -0
- package/dist/oauth/OAuth.mjs.map +1 -0
- package/dist/oauth/OAuthAccountsPersistence.d.mts +109 -0
- package/dist/oauth/OAuthAccountsPersistence.mjs +12 -0
- package/dist/oauth/OAuthAccountsPersistence.mjs.map +1 -0
- package/dist/oauth/OAuthActionEvidence.d.mts +28 -0
- package/dist/oauth/OAuthActionEvidence.mjs +15 -0
- package/dist/oauth/OAuthActionEvidence.mjs.map +1 -0
- package/dist/oauth/OAuthConnectedActionEvidence.d.mts +22 -0
- package/dist/oauth/OAuthConnectedActionEvidence.mjs +9 -0
- package/dist/oauth/OAuthConnectedActionEvidence.mjs.map +1 -0
- package/dist/oauth/OAuthConnectedPersistence.d.mts +129 -0
- package/dist/oauth/OAuthConnectedPersistence.mjs +12 -0
- package/dist/oauth/OAuthConnectedPersistence.mjs.map +1 -0
- package/dist/oauth/OAuthConnectedProtocol.d.mts +41 -0
- package/dist/oauth/OAuthConnectedProtocol.mjs +13 -0
- package/dist/oauth/OAuthConnectedProtocol.mjs.map +1 -0
- package/dist/oauth/OAuthConnectedRevocations.d.mts +167 -0
- package/dist/oauth/OAuthConnectedRevocations.mjs +21 -0
- package/dist/oauth/OAuthConnectedRevocations.mjs.map +1 -0
- package/dist/oauth/OAuthConnectedTokenProtector.d.mts +24 -0
- package/dist/oauth/OAuthConnectedTokenProtector.mjs +153 -0
- package/dist/oauth/OAuthConnectedTokenProtector.mjs.map +1 -0
- package/dist/oauth/OAuthConnectedTransactionProtector.d.mts +23 -0
- package/dist/oauth/OAuthConnectedTransactionProtector.mjs +37 -0
- package/dist/oauth/OAuthConnectedTransactionProtector.mjs.map +1 -0
- package/dist/oauth/OAuthConnectedUseAuthority.d.mts +22 -0
- package/dist/oauth/OAuthConnectedUseAuthority.mjs +10 -0
- package/dist/oauth/OAuthConnectedUseAuthority.mjs.map +1 -0
- package/dist/oauth/OAuthConnectionStore.d.mts +33 -0
- package/dist/oauth/OAuthConnectionStore.mjs +38 -0
- package/dist/oauth/OAuthConnectionStore.mjs.map +1 -0
- package/dist/oauth/OAuthLinkTransactionProtector.d.mts +25 -0
- package/dist/oauth/OAuthLinkTransactionProtector.mjs +39 -0
- package/dist/oauth/OAuthLinkTransactionProtector.mjs.map +1 -0
- package/dist/oauth/OAuthProtocol.d.mts +33 -0
- package/dist/oauth/OAuthProtocol.mjs +16 -0
- package/dist/oauth/OAuthProtocol.mjs.map +1 -0
- package/dist/oauth/OAuthProvider.d.mts +70 -0
- package/dist/oauth/OAuthProvider.mjs +39 -0
- package/dist/oauth/OAuthProvider.mjs.map +1 -0
- package/dist/oauth/OAuthProviders.d.mts +27 -0
- package/dist/oauth/OAuthProviders.mjs +33 -0
- package/dist/oauth/OAuthProviders.mjs.map +1 -0
- package/dist/oauth/OAuthRegistrationIntents.d.mts +87 -0
- package/dist/oauth/OAuthRegistrationIntents.mjs +19 -0
- package/dist/oauth/OAuthRegistrationIntents.mjs.map +1 -0
- package/dist/oauth/OAuthReturnTargets.d.mts +15 -0
- package/dist/oauth/OAuthReturnTargets.mjs +24 -0
- package/dist/oauth/OAuthReturnTargets.mjs.map +1 -0
- package/dist/oauth/OAuthSignInPersistence.d.mts +68 -0
- package/dist/oauth/OAuthSignInPersistence.mjs +12 -0
- package/dist/oauth/OAuthSignInPersistence.mjs.map +1 -0
- package/dist/oauth/OAuthStateDecisions.d.mts +14 -0
- package/dist/oauth/OAuthStateDecisions.mjs +8 -0
- package/dist/oauth/OAuthStateDecisions.mjs.map +1 -0
- package/dist/oauth/OAuthStateStore.d.mts +35 -0
- package/dist/oauth/OAuthStateStore.mjs +64 -0
- package/dist/oauth/OAuthStateStore.mjs.map +1 -0
- package/dist/oauth/OAuthTransactionProtector.d.mts +26 -0
- package/dist/oauth/OAuthTransactionProtector.mjs +78 -0
- package/dist/oauth/OAuthTransactionProtector.mjs.map +1 -0
- package/dist/oauth/accounts.d.mts +29 -0
- package/dist/oauth/accounts.mjs +515 -0
- package/dist/oauth/accounts.mjs.map +1 -0
- package/dist/oauth/accountsModels.d.mts +463 -0
- package/dist/oauth/accountsModels.mjs +155 -0
- package/dist/oauth/accountsModels.mjs.map +1 -0
- package/dist/oauth/connected.d.mts +442 -0
- package/dist/oauth/connected.mjs +526 -0
- package/dist/oauth/connected.mjs.map +1 -0
- package/dist/oauth/connectedAccess.d.mts +20 -0
- package/dist/oauth/connectedAccess.mjs +279 -0
- package/dist/oauth/connectedAccess.mjs.map +1 -0
- package/dist/oauth/connectedMaintenance.d.mts +19 -0
- package/dist/oauth/connectedMaintenance.mjs +133 -0
- package/dist/oauth/connectedMaintenance.mjs.map +1 -0
- package/dist/oauth/connectedModels.d.mts +2023 -0
- package/dist/oauth/connectedModels.mjs +375 -0
- package/dist/oauth/connectedModels.mjs.map +1 -0
- package/dist/oauth/definition.d.mts +4396 -0
- package/dist/oauth/definition.mjs +120 -0
- package/dist/oauth/definition.mjs.map +1 -0
- package/dist/oauth/errors.d.mts +49 -0
- package/dist/oauth/errors.mjs +42 -0
- package/dist/oauth/errors.mjs.map +1 -0
- package/dist/oauth/github/identity.d.mts +8 -0
- package/dist/oauth/github/identity.mjs +24 -0
- package/dist/oauth/github/identity.mjs.map +1 -0
- package/dist/oauth/github/models.d.mts +34 -0
- package/dist/oauth/github/protocol.d.mts +54 -0
- package/dist/oauth/github/protocol.mjs +204 -0
- package/dist/oauth/github/protocol.mjs.map +1 -0
- package/dist/oauth/openid-client/ProviderRevocation.d.mts +4 -0
- package/dist/oauth/openid-client/ProviderRevocation.mjs +11 -0
- package/dist/oauth/openid-client/ProviderRevocation.mjs.map +1 -0
- package/dist/oauth/openid-client/compatibility.d.mts +1 -0
- package/dist/oauth/openid-client/compatibility.mjs +6 -0
- package/dist/oauth/openid-client/compatibility.mjs.map +1 -0
- package/dist/oauth/openid-client/configuration.mjs +305 -0
- package/dist/oauth/openid-client/configuration.mjs.map +1 -0
- package/dist/oauth/openid-client/connected/configuration.mjs +338 -0
- package/dist/oauth/openid-client/connected/configuration.mjs.map +1 -0
- package/dist/oauth/openid-client/connected/models.d.mts +42 -0
- package/dist/oauth/openid-client/connected/protocol.d.mts +16 -0
- package/dist/oauth/openid-client/connected/protocol.mjs +402 -0
- package/dist/oauth/openid-client/connected/protocol.mjs.map +1 -0
- package/dist/oauth/openid-client/models.d.mts +67 -0
- package/dist/oauth/openid-client/models.mjs +16 -0
- package/dist/oauth/openid-client/models.mjs.map +1 -0
- package/dist/oauth/openid-client/protocol.d.mts +27 -0
- package/dist/oauth/openid-client/protocol.mjs +218 -0
- package/dist/oauth/openid-client/protocol.mjs.map +1 -0
- package/dist/oauth/openid-client/transport.mjs +59 -0
- package/dist/oauth/openid-client/transport.mjs.map +1 -0
- package/dist/oauth/policy.d.mts +18 -0
- package/dist/oauth/policy.mjs +16 -0
- package/dist/oauth/policy.mjs.map +1 -0
- package/dist/oauth/registration.d.mts +24 -0
- package/dist/oauth/registration.mjs +177 -0
- package/dist/oauth/registration.mjs.map +1 -0
- package/dist/oauth/registrationModels.d.mts +152 -0
- package/dist/oauth/registrationModels.mjs +93 -0
- package/dist/oauth/registrationModels.mjs.map +1 -0
- package/dist/oauth/registrationSecrets.mjs +70 -0
- package/dist/oauth/registrationSecrets.mjs.map +1 -0
- package/dist/oauth/schema.d.mts +86 -0
- package/dist/oauth/schema.mjs +81 -0
- package/dist/oauth/schema.mjs.map +1 -0
- package/dist/oauth/signInErrors.d.mts +17 -0
- package/dist/oauth/signInErrors.mjs +16 -0
- package/dist/oauth/signInErrors.mjs.map +1 -0
- package/dist/oauth/signInModels.d.mts +343 -0
- package/dist/oauth/signInModels.mjs +181 -0
- package/dist/oauth/signInModels.mjs.map +1 -0
- package/dist/oauth/signInModule.d.mts +1546 -0
- package/dist/oauth/signInModule.mjs +430 -0
- package/dist/oauth/signInModule.mjs.map +1 -0
- package/dist/oauth/signInSnapshot.mjs +29 -0
- package/dist/oauth/signInSnapshot.mjs.map +1 -0
- package/dist/oauth/transactionEncryption.d.mts +14 -0
- package/dist/oauth/transactionEncryption.mjs +129 -0
- package/dist/oauth/transactionEncryption.mjs.map +1 -0
- package/dist/operations/RequestBindingConfig.d.mts +11 -0
- package/dist/operations/RequestBindingConfig.mjs +10 -0
- package/dist/operations/RequestBindingConfig.mjs.map +1 -0
- package/dist/operations/actions.d.mts +947 -0
- package/dist/operations/actions.mjs +148 -0
- package/dist/operations/actions.mjs.map +1 -0
- package/dist/operations/context.d.mts +63 -0
- package/dist/operations/context.mjs +55 -0
- package/dist/operations/context.mjs.map +1 -0
- package/dist/operations/credentials.d.mts +39 -0
- package/dist/operations/credentials.mjs +60 -0
- package/dist/operations/credentials.mjs.map +1 -0
- package/dist/operations/errors.d.mts +24 -0
- package/dist/operations/errors.mjs +31 -0
- package/dist/operations/errors.mjs.map +1 -0
- package/dist/operations/operation.d.mts +124 -0
- package/dist/operations/operation.mjs +220 -0
- package/dist/operations/operation.mjs.map +1 -0
- package/dist/operations/requestBinding.d.mts +46 -0
- package/dist/operations/requestBinding.mjs +130 -0
- package/dist/operations/requestBinding.mjs.map +1 -0
- package/dist/operations/requestBindingModels.d.mts +13 -0
- package/dist/operations/requestBindingModels.mjs +12 -0
- package/dist/operations/requestBindingModels.mjs.map +1 -0
- package/dist/operations/reveals.d.mts +28 -0
- package/dist/operations/reveals.mjs +88 -0
- package/dist/operations/reveals.mjs.map +1 -0
- package/dist/passkey/PasskeyActionEvidence.d.mts +22 -0
- package/dist/passkey/PasskeyActionEvidence.mjs +9 -0
- package/dist/passkey/PasskeyActionEvidence.mjs.map +1 -0
- package/dist/passkey/PasskeyCredentials.d.mts +16 -0
- package/dist/passkey/PasskeyCredentials.mjs +9 -0
- package/dist/passkey/PasskeyCredentials.mjs.map +1 -0
- package/dist/passkey/PasskeyEnrollmentContext.d.mts +22 -0
- package/dist/passkey/PasskeyEnrollmentContext.mjs +9 -0
- package/dist/passkey/PasskeyEnrollmentContext.mjs.map +1 -0
- package/dist/passkey/PasskeyManagementPersistence.d.mts +106 -0
- package/dist/passkey/PasskeyManagementPersistence.mjs +9 -0
- package/dist/passkey/PasskeyManagementPersistence.mjs.map +1 -0
- package/dist/passkey/PasskeyPersistence.d.mts +63 -0
- package/dist/passkey/PasskeyPersistence.mjs +10 -0
- package/dist/passkey/PasskeyPersistence.mjs.map +1 -0
- package/dist/passkey/PasskeyProtocol.d.mts +38 -0
- package/dist/passkey/PasskeyProtocol.mjs +11 -0
- package/dist/passkey/PasskeyProtocol.mjs.map +1 -0
- package/dist/passkey/actions.d.mts +50 -0
- package/dist/passkey/actions.mjs +376 -0
- package/dist/passkey/actions.mjs.map +1 -0
- package/dist/passkey/browser/PasskeyBrowser.d.mts +18 -0
- package/dist/passkey/browser/PasskeyBrowser.mjs +9 -0
- package/dist/passkey/browser/PasskeyBrowser.mjs.map +1 -0
- package/dist/passkey/browser/models.d.mts +38 -0
- package/dist/passkey/browser/models.mjs +41 -0
- package/dist/passkey/browser/models.mjs.map +1 -0
- package/dist/passkey/browser/simplewebauthn.d.mts +17 -0
- package/dist/passkey/browser/simplewebauthn.mjs +411 -0
- package/dist/passkey/browser/simplewebauthn.mjs.map +1 -0
- package/dist/passkey/definition.d.mts +5626 -0
- package/dist/passkey/definition.mjs +114 -0
- package/dist/passkey/definition.mjs.map +1 -0
- package/dist/passkey/errors.d.mts +20 -0
- package/dist/passkey/errors.mjs +20 -0
- package/dist/passkey/errors.mjs.map +1 -0
- package/dist/passkey/management.mjs +276 -0
- package/dist/passkey/management.mjs.map +1 -0
- package/dist/passkey/models.d.mts +1245 -0
- package/dist/passkey/models.mjs +301 -0
- package/dist/passkey/models.mjs.map +1 -0
- package/dist/passkey/module.d.mts +2132 -0
- package/dist/passkey/module.mjs +174 -0
- package/dist/passkey/module.mjs.map +1 -0
- package/dist/passkey/pending.mjs +99 -0
- package/dist/passkey/pending.mjs.map +1 -0
- package/dist/passkey/policy.d.mts +48 -0
- package/dist/passkey/policy.mjs +77 -0
- package/dist/passkey/policy.mjs.map +1 -0
- package/dist/passkey/registration.mjs +107 -0
- package/dist/passkey/registration.mjs.map +1 -0
- package/dist/passkey/simplewebauthn/configuration.mjs +45 -0
- package/dist/passkey/simplewebauthn/configuration.mjs.map +1 -0
- package/dist/passkey/simplewebauthn/models.d.mts +21 -0
- package/dist/passkey/simplewebauthn/models.mjs +8 -0
- package/dist/passkey/simplewebauthn/models.mjs.map +1 -0
- package/dist/passkey/simplewebauthn/protocol.d.mts +62 -0
- package/dist/passkey/simplewebauthn/protocol.mjs +402 -0
- package/dist/passkey/simplewebauthn/protocol.mjs.map +1 -0
- package/dist/passkey/snapshot.mjs +31 -0
- package/dist/passkey/snapshot.mjs.map +1 -0
- package/dist/passkey/stepUp.mjs +101 -0
- package/dist/passkey/stepUp.mjs.map +1 -0
- package/dist/password/CompromisedPasswords.d.mts +26 -0
- package/dist/password/CompromisedPasswords.mjs +23 -0
- package/dist/password/CompromisedPasswords.mjs.map +1 -0
- package/dist/password/NewPasswordCheck.d.mts +21 -0
- package/dist/password/NewPasswordCheck.mjs +39 -0
- package/dist/password/NewPasswordCheck.mjs.map +1 -0
- package/dist/password/PasswordHashing.d.mts +24 -0
- package/dist/password/PasswordHashing.mjs +96 -0
- package/dist/password/PasswordHashing.mjs.map +1 -0
- package/dist/password/PasswordKdfAdmission.d.mts +19 -0
- package/dist/password/PasswordKdfAdmission.mjs +25 -0
- package/dist/password/PasswordKdfAdmission.mjs.map +1 -0
- package/dist/password/configuration.d.mts +43 -0
- package/dist/password/configuration.mjs +64 -0
- package/dist/password/configuration.mjs.map +1 -0
- package/dist/password/defaults.mjs +13 -0
- package/dist/password/defaults.mjs.map +1 -0
- package/dist/password/encoding.mjs +64 -0
- package/dist/password/encoding.mjs.map +1 -0
- package/dist/password/errors.d.mts +28 -0
- package/dist/password/errors.mjs +25 -0
- package/dist/password/errors.mjs.map +1 -0
- package/dist/password/methods/PasswordActionEvidence.d.mts +38 -0
- package/dist/password/methods/PasswordActionEvidence.mjs +22 -0
- package/dist/password/methods/PasswordActionEvidence.mjs.map +1 -0
- package/dist/password/methods/PasswordPersistence.d.mts +102 -0
- package/dist/password/methods/PasswordPersistence.mjs +13 -0
- package/dist/password/methods/PasswordPersistence.mjs.map +1 -0
- package/dist/password/methods/PasswordPreparedPersistence.d.mts +111 -0
- package/dist/password/methods/contracts.d.mts +43 -0
- package/dist/password/methods/contracts.mjs +33 -0
- package/dist/password/methods/contracts.mjs.map +1 -0
- package/dist/password/methods/definition.d.mts +3813 -0
- package/dist/password/methods/definition.mjs +56 -0
- package/dist/password/methods/definition.mjs.map +1 -0
- package/dist/password/methods/errors.d.mts +15 -0
- package/dist/password/methods/errors.mjs +11 -0
- package/dist/password/methods/errors.mjs.map +1 -0
- package/dist/password/methods/models.d.mts +70 -0
- package/dist/password/methods/models.mjs +44 -0
- package/dist/password/methods/models.mjs.map +1 -0
- package/dist/password/methods/module.d.mts +3567 -0
- package/dist/password/methods/module.mjs +553 -0
- package/dist/password/methods/module.mjs.map +1 -0
- package/dist/password/methods/policy.d.mts +84 -0
- package/dist/password/methods/policy.mjs +80 -0
- package/dist/password/methods/policy.mjs.map +1 -0
- package/dist/password/methods/preparation.mjs +54 -0
- package/dist/password/methods/preparation.mjs.map +1 -0
- package/dist/password/methods/prepared.d.mts +53 -0
- package/dist/password/methods/prepared.mjs +610 -0
- package/dist/password/methods/prepared.mjs.map +1 -0
- package/dist/password/methods/preparedModels.d.mts +1295 -0
- package/dist/password/methods/preparedModels.mjs +278 -0
- package/dist/password/methods/preparedModels.mjs.map +1 -0
- package/dist/password/methods/signIn.d.mts +180 -0
- package/dist/password/methods/signIn.mjs +73 -0
- package/dist/password/methods/signIn.mjs.map +1 -0
- package/dist/password/methods/snapshot.mjs +38 -0
- package/dist/password/methods/snapshot.mjs.map +1 -0
- package/dist/password/methods/verification.mjs +138 -0
- package/dist/password/methods/verification.mjs.map +1 -0
- package/dist/password/models.d.mts +13 -0
- package/dist/password/models.mjs +12 -0
- package/dist/password/models.mjs.map +1 -0
- package/dist/password/policy.d.mts +33 -0
- package/dist/password/policy.mjs +37 -0
- package/dist/password/policy.mjs.map +1 -0
- package/dist/phone/PhoneActionEvidence.d.mts +23 -0
- package/dist/phone/PhoneActionEvidence.mjs +10 -0
- package/dist/phone/PhoneActionEvidence.mjs.map +1 -0
- package/dist/phone/PhoneAdmission.d.mts +29 -0
- package/dist/phone/PhoneAdmission.mjs +10 -0
- package/dist/phone/PhoneAdmission.mjs.map +1 -0
- package/dist/phone/PhoneDeliveryEligibility.d.mts +11 -0
- package/dist/phone/PhoneDeliveryEligibility.mjs +8 -0
- package/dist/phone/PhoneDeliveryEligibility.mjs.map +1 -0
- package/dist/phone/PhonePersistence.d.mts +33 -0
- package/dist/phone/PhonePersistence.mjs +10 -0
- package/dist/phone/PhonePersistence.mjs.map +1 -0
- package/dist/phone/PhoneRequestContext.d.mts +10 -0
- package/dist/phone/PhoneRequestContext.mjs +8 -0
- package/dist/phone/PhoneRequestContext.mjs.map +1 -0
- package/dist/phone/PhoneSignInTargets.d.mts +19 -0
- package/dist/phone/PhoneSignInTargets.mjs +13 -0
- package/dist/phone/PhoneSignInTargets.mjs.map +1 -0
- package/dist/phone/definition.d.mts +7190 -0
- package/dist/phone/definition.mjs +28 -0
- package/dist/phone/definition.mjs.map +1 -0
- package/dist/phone/failure.mjs +23 -0
- package/dist/phone/failure.mjs.map +1 -0
- package/dist/phone/lifecycle.mjs +427 -0
- package/dist/phone/lifecycle.mjs.map +1 -0
- package/dist/phone/lifecycleModels.d.mts +164 -0
- package/dist/phone/lifecycleModels.mjs +91 -0
- package/dist/phone/lifecycleModels.mjs.map +1 -0
- package/dist/phone/models.d.mts +41 -0
- package/dist/phone/models.mjs +29 -0
- package/dist/phone/models.mjs.map +1 -0
- package/dist/phone/module.d.mts +6027 -0
- package/dist/phone/module.mjs +293 -0
- package/dist/phone/module.mjs.map +1 -0
- package/dist/proofs/EmailProofDelivery.d.mts +13 -0
- package/dist/proofs/EmailProofDelivery.mjs +11 -0
- package/dist/proofs/EmailProofDelivery.mjs.map +1 -0
- package/dist/proofs/HostIngressLimiter.d.mts +20 -0
- package/dist/proofs/HostIngressLimiter.mjs +13 -0
- package/dist/proofs/HostIngressLimiter.mjs.map +1 -0
- package/dist/proofs/ProofPersistence.d.mts +140 -0
- package/dist/proofs/ProofPersistence.mjs +13 -0
- package/dist/proofs/ProofPersistence.mjs.map +1 -0
- package/dist/proofs/SmsProofDelivery.d.mts +13 -0
- package/dist/proofs/SmsProofDelivery.mjs +11 -0
- package/dist/proofs/SmsProofDelivery.mjs.map +1 -0
- package/dist/proofs/abuse.d.mts +15 -0
- package/dist/proofs/abuse.mjs +12 -0
- package/dist/proofs/abuse.mjs.map +1 -0
- package/dist/proofs/completion.d.mts +22 -0
- package/dist/proofs/crypto.d.mts +196 -0
- package/dist/proofs/crypto.mjs +189 -0
- package/dist/proofs/crypto.mjs.map +1 -0
- package/dist/proofs/definition.d.mts +335 -0
- package/dist/proofs/definition.mjs +10 -0
- package/dist/proofs/definition.mjs.map +1 -0
- package/dist/proofs/delivery.d.mts +30 -0
- package/dist/proofs/delivery.mjs +26 -0
- package/dist/proofs/delivery.mjs.map +1 -0
- package/dist/proofs/dispatch.d.mts +20 -0
- package/dist/proofs/dispatch.mjs +54 -0
- package/dist/proofs/dispatch.mjs.map +1 -0
- package/dist/proofs/errors.d.mts +21 -0
- package/dist/proofs/errors.mjs +25 -0
- package/dist/proofs/errors.mjs.map +1 -0
- package/dist/proofs/models.d.mts +141 -0
- package/dist/proofs/models.mjs +93 -0
- package/dist/proofs/models.mjs.map +1 -0
- package/dist/proofs/module.d.mts +344 -0
- package/dist/proofs/module.mjs +350 -0
- package/dist/proofs/module.mjs.map +1 -0
- package/dist/proofs/policy.d.mts +152 -0
- package/dist/proofs/policy.mjs +51 -0
- package/dist/proofs/policy.mjs.map +1 -0
- package/dist/sessions/AuthenticationAuthority.d.mts +31 -0
- package/dist/sessions/AuthenticationAuthority.mjs +8 -0
- package/dist/sessions/AuthenticationAuthority.mjs.map +1 -0
- package/dist/sessions/PendingAuthentication.d.mts +108 -0
- package/dist/sessions/PendingAuthentication.mjs +40 -0
- package/dist/sessions/PendingAuthentication.mjs.map +1 -0
- package/dist/sessions/SessionStepUpPersistence.d.mts +152 -0
- package/dist/sessions/SessionStepUpPersistence.mjs +63 -0
- package/dist/sessions/SessionStepUpPersistence.mjs.map +1 -0
- package/dist/sessions/assurance.d.mts +163 -0
- package/dist/sessions/assurance.mjs +95 -0
- package/dist/sessions/assurance.mjs.map +1 -0
- package/dist/sessions/commit.d.mts +13 -0
- package/dist/sessions/configuration.d.mts +46 -0
- package/dist/sessions/configuration.mjs +55 -0
- package/dist/sessions/configuration.mjs.map +1 -0
- package/dist/sessions/contract.d.mts +663 -0
- package/dist/sessions/contract.mjs +174 -0
- package/dist/sessions/contract.mjs.map +1 -0
- package/dist/sessions/crypto.d.mts +24 -0
- package/dist/sessions/crypto.mjs +106 -0
- package/dist/sessions/crypto.mjs.map +1 -0
- package/dist/sessions/definition.d.mts +11 -0
- package/dist/sessions/definition.mjs +10 -0
- package/dist/sessions/definition.mjs.map +1 -0
- package/dist/sessions/errors.d.mts +35 -0
- package/dist/sessions/errors.mjs +34 -0
- package/dist/sessions/errors.mjs.map +1 -0
- package/dist/sessions/invalidation.d.mts +23 -0
- package/dist/sessions/invalidation.mjs +33 -0
- package/dist/sessions/invalidation.mjs.map +1 -0
- package/dist/sessions/models.d.mts +143 -0
- package/dist/sessions/models.mjs +94 -0
- package/dist/sessions/models.mjs.map +1 -0
- package/dist/sessions/module.d.mts +1091 -0
- package/dist/sessions/module.mjs +943 -0
- package/dist/sessions/module.mjs.map +1 -0
- package/dist/sessions/persistence.d.mts +93 -0
- package/dist/sessions/policy.d.mts +80 -0
- package/dist/sessions/policy.mjs +66 -0
- package/dist/sessions/policy.mjs.map +1 -0
- package/dist/testing/conformance/AuthStore.d.mts +11 -0
- package/dist/testing/conformance/AuthStore.mjs +173 -0
- package/dist/testing/conformance/AuthStore.mjs.map +1 -0
- package/dist/testing/conformance/OAuthConnectionStore.d.mts +11 -0
- package/dist/testing/conformance/OAuthConnectionStore.mjs +102 -0
- package/dist/testing/conformance/OAuthConnectionStore.mjs.map +1 -0
- package/dist/testing/conformance/OAuthStateStore.d.mts +11 -0
- package/dist/testing/conformance/OAuthStateStore.mjs +45 -0
- package/dist/testing/conformance/OAuthStateStore.mjs.map +1 -0
- package/dist/testing/conformance/PasswordCredentialStore.d.mts +20 -0
- package/dist/testing/conformance/PasswordCredentialStore.mjs +103 -0
- package/dist/testing/conformance/PasswordCredentialStore.mjs.map +1 -0
- package/dist/testing/conformance/support.mjs +17 -0
- package/dist/testing/conformance/support.mjs.map +1 -0
- package/dist/testing/crypto.d.mts +11 -0
- package/dist/testing/crypto.mjs +41 -0
- package/dist/testing/crypto.mjs.map +1 -0
- package/dist/testing/keyring.d.mts +9 -0
- package/dist/testing/keyring.mjs +17 -0
- package/dist/testing/keyring.mjs.map +1 -0
- package/dist/totp/TotpActionEvidence.d.mts +18 -0
- package/dist/totp/TotpActionEvidence.mjs +8 -0
- package/dist/totp/TotpActionEvidence.mjs.map +1 -0
- package/dist/totp/TotpPersistence.d.mts +19 -0
- package/dist/totp/TotpPersistence.mjs +8 -0
- package/dist/totp/TotpPersistence.mjs.map +1 -0
- package/dist/totp/TotpSecretKeys.d.mts +15 -0
- package/dist/totp/TotpSecretKeys.mjs +8 -0
- package/dist/totp/TotpSecretKeys.mjs.map +1 -0
- package/dist/totp/crypto.mjs +96 -0
- package/dist/totp/crypto.mjs.map +1 -0
- package/dist/totp/definition.d.mts +764 -0
- package/dist/totp/definition.mjs +24 -0
- package/dist/totp/definition.mjs.map +1 -0
- package/dist/totp/errors.d.mts +16 -0
- package/dist/totp/errors.mjs +18 -0
- package/dist/totp/errors.mjs.map +1 -0
- package/dist/totp/models.d.mts +377 -0
- package/dist/totp/models.mjs +137 -0
- package/dist/totp/models.mjs.map +1 -0
- package/dist/totp/module.d.mts +737 -0
- package/dist/totp/module.mjs +355 -0
- package/dist/totp/module.mjs.map +1 -0
- package/package.json +1 -0
- package/src/Atom.ts +4 -0
- package/src/Auth.ts +16 -0
- package/src/AuthContract.ts +17 -0
- package/src/AuthSession.ts +298 -0
- package/src/AuthStore.ts +367 -0
- package/src/AuthTokenCodec.ts +226 -0
- package/src/Client.ts +9 -0
- package/src/Cloudflare.ts +345 -0
- package/src/Drizzle.ts +378 -0
- package/src/DrizzleD1.ts +136 -0
- package/src/DrizzleLibsql.ts +288 -0
- package/src/DrizzleMysql2.ts +184 -0
- package/src/DrizzlePglite.ts +160 -0
- package/src/DrizzlePostgres.ts +160 -0
- package/src/DrizzleSqliteBun.ts +244 -0
- package/src/DrizzleSqliteDo.ts +473 -0
- package/src/DrizzleSqliteNode.ts +245 -0
- package/src/DrizzleSqliteWasm.ts +245 -0
- package/src/Email.ts +55 -0
- package/src/EmailOtp.ts +250 -0
- package/src/EmailOtpSender.ts +28 -0
- package/src/Errors.ts +103 -0
- package/src/GitHub.ts +16 -0
- package/src/Hooks.ts +50 -0
- package/src/Http.ts +47 -0
- package/src/HttpServer.ts +742 -0
- package/src/Identity.ts +53 -0
- package/src/IdentityResolver.ts +18 -0
- package/src/OAuth.ts +242 -0
- package/src/OpenIdClient.ts +13 -0
- package/src/OpenIdClientConnected.ts +18 -0
- package/src/OperationHttp.ts +14 -0
- package/src/OperationHttpClient.ts +6 -0
- package/src/OperationHttpServer.ts +15 -0
- package/src/Operations.ts +69 -0
- package/src/Passkey.ts +81 -0
- package/src/PasskeyBrowser.ts +19 -0
- package/src/PasskeyContract.ts +212 -0
- package/src/PasskeyPassword.ts +319 -0
- package/src/PasskeySimpleWebAuthn.ts +6 -0
- package/src/Password.ts +113 -0
- package/src/PasswordAuth.ts +197 -0
- package/src/PasswordCredentialStore.ts +140 -0
- package/src/PasswordHasher.ts +147 -0
- package/src/PhoneOtp.ts +32 -0
- package/src/Policy.ts +95 -0
- package/src/Proofs.ts +71 -0
- package/src/Rpc.ts +15 -0
- package/src/Schema.ts +235 -0
- package/src/SessionContract.ts +2 -0
- package/src/Sessions.ts +105 -0
- package/src/Testing.ts +24 -0
- package/src/Totp.ts +28 -0
- package/src/TotpContract.ts +147 -0
- package/src/WebCrypto.ts +61 -0
- package/src/Workflows.ts +12 -0
- package/src/atom/AuthAtomLifetime.ts +87 -0
- package/src/atom/AuthAtomWorkflow.ts +27 -0
- package/src/atom/client.ts +364 -0
- package/src/atom/operations.ts +183 -0
- package/src/atom/scoped-runtime.ts +249 -0
- package/src/auth/Auth.ts +482 -0
- package/src/auth/AuthConfigurationError.ts +9 -0
- package/src/auth/AuthRequest.ts +21 -0
- package/src/auth/AuthStrategy.ts +116 -0
- package/src/auth/ConsumeDecision.ts +4 -0
- package/src/auth/actions.ts +220 -0
- package/src/auth/defaults.ts +23 -0
- package/src/auth/definition.ts +88 -0
- package/src/auth/session.ts +146 -0
- package/src/drizzle/D1BatchStatements.ts +10 -0
- package/src/drizzle/PasswordPreparedPostconditions.ts +30 -0
- package/src/drizzle/SuppliedService.ts +10 -0
- package/src/drizzle/d1-emails.ts +1808 -0
- package/src/drizzle/d1-generated-statement.ts +129 -0
- package/src/drizzle/d1-identity.ts +374 -0
- package/src/drizzle/d1-oauth.ts +338 -0
- package/src/drizzle/d1-passkey.ts +371 -0
- package/src/drizzle/d1-password-prepared.ts +1273 -0
- package/src/drizzle/d1-passwords.ts +2661 -0
- package/src/drizzle/d1-phone.ts +94 -0
- package/src/drizzle/d1-planning.ts +105 -0
- package/src/drizzle/d1-proofs.ts +2305 -0
- package/src/drizzle/d1-sessions.ts +2867 -0
- package/src/drizzle/d1-totp.ts +79 -0
- package/src/drizzle/email-model.ts +512 -0
- package/src/drizzle/email-registration.ts +696 -0
- package/src/drizzle/email-sql.ts +1468 -0
- package/src/drizzle/email-target.ts +243 -0
- package/src/drizzle/model.ts +492 -0
- package/src/drizzle/mysql-emails.ts +323 -0
- package/src/drizzle/mysql-identity.ts +323 -0
- package/src/drizzle/mysql-password-prepared.ts +206 -0
- package/src/drizzle/mysql-passwords.ts +341 -0
- package/src/drizzle/mysql-proofs.ts +183 -0
- package/src/drizzle/mysql-sessions.ts +742 -0
- package/src/drizzle/mysql.ts +686 -0
- package/src/drizzle/oauth-accounts.ts +801 -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 +463 -0
- package/src/drizzle/oauth-connected-flow.ts +439 -0
- package/src/drizzle/oauth-connected-input.ts +128 -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 +846 -0
- package/src/drizzle/oauth-connected-target.ts +264 -0
- package/src/drizzle/oauth-drivers.ts +567 -0
- package/src/drizzle/oauth-flow.ts +461 -0
- package/src/drizzle/oauth-input.ts +205 -0
- package/src/drizzle/oauth-model.ts +610 -0
- package/src/drizzle/oauth-mysql.ts +10 -0
- package/src/drizzle/oauth-owner.ts +29 -0
- package/src/drizzle/oauth-registration.ts +638 -0
- package/src/drizzle/oauth-state.ts +213 -0
- package/src/drizzle/oauth-target.ts +751 -0
- package/src/drizzle/passkey-admission.ts +333 -0
- package/src/drizzle/passkey-credentials.ts +465 -0
- package/src/drizzle/passkey-drivers.ts +385 -0
- package/src/drizzle/passkey-enrollment.ts +280 -0
- package/src/drizzle/passkey-flow.ts +983 -0
- package/src/drizzle/passkey-management.ts +369 -0
- package/src/drizzle/passkey-model.ts +350 -0
- package/src/drizzle/passkey-registration-ceremony-model.ts +69 -0
- package/src/drizzle/passkey-registration-ceremony.ts +254 -0
- package/src/drizzle/passkey-registration-custody.ts +82 -0
- package/src/drizzle/passkey-registration-write.ts +378 -0
- package/src/drizzle/passkey-state.ts +307 -0
- package/src/drizzle/passkey-target.ts +528 -0
- package/src/drizzle/passkey-write-drivers.ts +396 -0
- package/src/drizzle/passkey-write-model.ts +265 -0
- package/src/drizzle/passkey-write-state.ts +627 -0
- package/src/drizzle/passkey-write-target.ts +406 -0
- package/src/drizzle/password-model.ts +491 -0
- package/src/drizzle/password-prepared-model.ts +259 -0
- package/src/drizzle/password-prepared-sql.ts +1198 -0
- package/src/drizzle/password-prepared-state.ts +232 -0
- package/src/drizzle/password-prepared-target.ts +158 -0
- package/src/drizzle/password-registration.ts +372 -0
- package/src/drizzle/password-sql.ts +2082 -0
- package/src/drizzle/password-target.ts +223 -0
- package/src/drizzle/pg-emails.ts +323 -0
- package/src/drizzle/pg-password-prepared.ts +207 -0
- package/src/drizzle/pg-passwords.ts +340 -0
- package/src/drizzle/pg-proofs.ts +193 -0
- package/src/drizzle/pg-sessions.ts +751 -0
- package/src/drizzle/pg.ts +982 -0
- package/src/drizzle/phone-model.ts +185 -0
- package/src/drizzle/phone-state.ts +802 -0
- package/src/drizzle/phone-target.ts +471 -0
- package/src/drizzle/proof-model.ts +398 -0
- package/src/drizzle/proof-sql.ts +1912 -0
- package/src/drizzle/proof-target.ts +120 -0
- package/src/drizzle/session-model.ts +368 -0
- package/src/drizzle/session-sql.ts +2152 -0
- package/src/drizzle/session-target.ts +335 -0
- package/src/drizzle/sqlite-emails.ts +368 -0
- package/src/drizzle/sqlite-identity.ts +343 -0
- package/src/drizzle/sqlite-password-prepared.ts +262 -0
- package/src/drizzle/sqlite-passwords.ts +499 -0
- package/src/drizzle/sqlite-proofs.ts +204 -0
- package/src/drizzle/sqlite-sessions.ts +972 -0
- package/src/drizzle/sqlite.ts +704 -0
- package/src/drizzle/standalone-guard.ts +38 -0
- package/src/drizzle/step-up-model.ts +129 -0
- package/src/drizzle/step-up-state.ts +141 -0
- package/src/drizzle/totp-model.ts +91 -0
- package/src/drizzle/totp-state.ts +520 -0
- package/src/drizzle/totp-target.ts +304 -0
- package/src/drizzle/transaction-execution.ts +290 -0
- package/src/drizzle/transaction-mysql.ts +104 -0
- package/src/drizzle/transaction-owner.ts +570 -0
- package/src/email/EmailActionEvidence.ts +37 -0
- package/src/email/EmailAddressPersistence.ts +71 -0
- package/src/email/EmailIdentifierNotifier.ts +48 -0
- package/src/email/EmailReturnTargets.ts +50 -0
- package/src/email/EmailSignInTargets.ts +20 -0
- package/src/email/addresses.ts +630 -0
- package/src/email/definition.ts +309 -0
- package/src/email/errors.ts +23 -0
- package/src/email/magicLink.ts +84 -0
- package/src/email/models.ts +50 -0
- package/src/email/module.ts +664 -0
- package/src/email/registration.ts +415 -0
- package/src/email/snapshot.ts +51 -0
- package/src/hooks/LifecycleHooks.ts +136 -0
- package/src/hooks/commit.ts +271 -0
- package/src/hooks/models.ts +111 -0
- package/src/hooks/plugins.ts +87 -0
- package/src/hooks/transactions.ts +51 -0
- package/src/http/auth-api.ts +17 -0
- package/src/http/auth-contract.ts +148 -0
- package/src/http/auth-http.ts +467 -0
- package/src/http/endpoints/get-session.ts +9 -0
- package/src/http/endpoints/password-sign-in.ts +19 -0
- package/src/http/endpoints/request-email-otp.ts +10 -0
- package/src/http/endpoints/set-password.ts +18 -0
- package/src/http/endpoints/sign-out.ts +5 -0
- package/src/http/endpoints/verify-email-otp.ts +15 -0
- package/src/http/models.ts +80 -0
- package/src/http/security.ts +102 -0
- package/src/http/session-contract.ts +92 -0
- package/src/http-operation/OperationHttpInvocation.ts +39 -0
- package/src/http-operation/OperationHttpServerConfig.ts +124 -0
- package/src/http-operation/auth-client.ts +273 -0
- package/src/http-operation/client.ts +453 -0
- package/src/http-operation/configuration-schema.ts +19 -0
- package/src/http-operation/contract.ts +116 -0
- package/src/http-operation/errors.ts +38 -0
- package/src/http-operation/models.ts +42 -0
- package/src/http-operation/private.ts +50 -0
- package/src/http-operation/security.ts +93 -0
- package/src/http-operation/server.ts +544 -0
- package/src/identity/ExternalIdentityMutation.ts +18 -0
- package/src/identity/IdentityMutation.ts +41 -0
- package/src/identity/IdentityRepository.ts +37 -0
- package/src/identity/SubjectLifecycle.ts +80 -0
- package/src/identity/SubjectProvisioner.ts +40 -0
- package/src/identity/codecs.ts +54 -0
- package/src/identity/models.ts +82 -0
- package/src/identity/operations.ts +182 -0
- package/src/index.ts +23 -0
- package/src/internal/AuthStoreDecisions.ts +23 -0
- package/src/internal/CurrentSession.ts +8 -0
- package/src/internal/diagnostics.ts +71 -0
- package/src/oauth/GithubOAuthProvider.ts +106 -0
- package/src/oauth/OAuth.ts +436 -0
- package/src/oauth/OAuthAccountsPersistence.ts +142 -0
- package/src/oauth/OAuthActionEvidence.ts +31 -0
- package/src/oauth/OAuthConnectedActionEvidence.ts +28 -0
- package/src/oauth/OAuthConnectedPersistence.ts +163 -0
- package/src/oauth/OAuthConnectedProtocol.ts +54 -0
- package/src/oauth/OAuthConnectedRevocations.ts +48 -0
- package/src/oauth/OAuthConnectedTokenProtector.ts +240 -0
- package/src/oauth/OAuthConnectedTransactionProtector.ts +56 -0
- package/src/oauth/OAuthConnectedUseAuthority.ts +26 -0
- package/src/oauth/OAuthConnectionStore.ts +59 -0
- package/src/oauth/OAuthLinkTransactionProtector.ts +58 -0
- package/src/oauth/OAuthProtocol.ts +39 -0
- package/src/oauth/OAuthProvider.ts +126 -0
- package/src/oauth/OAuthProviders.ts +53 -0
- package/src/oauth/OAuthRegistrationIntents.ts +42 -0
- package/src/oauth/OAuthReturnTargets.ts +44 -0
- package/src/oauth/OAuthSignInPersistence.ts +91 -0
- package/src/oauth/OAuthStateDecisions.ts +16 -0
- package/src/oauth/OAuthStateStore.ts +102 -0
- package/src/oauth/OAuthTransactionProtector.ts +103 -0
- package/src/oauth/accounts.ts +987 -0
- package/src/oauth/accountsModels.ts +214 -0
- package/src/oauth/connected.ts +995 -0
- package/src/oauth/connectedAccess.ts +644 -0
- package/src/oauth/connectedMaintenance.ts +248 -0
- package/src/oauth/connectedModels.ts +495 -0
- package/src/oauth/definition.ts +414 -0
- package/src/oauth/errors.ts +78 -0
- package/src/oauth/github/identity.ts +26 -0
- package/src/oauth/github/models.ts +37 -0
- package/src/oauth/github/protocol.ts +329 -0
- package/src/oauth/openid-client/ProviderRevocation.ts +22 -0
- package/src/oauth/openid-client/compatibility.ts +47 -0
- package/src/oauth/openid-client/configuration.ts +472 -0
- package/src/oauth/openid-client/connected/configuration.ts +565 -0
- package/src/oauth/openid-client/connected/models.ts +58 -0
- package/src/oauth/openid-client/connected/protocol.ts +866 -0
- package/src/oauth/openid-client/models.ts +78 -0
- package/src/oauth/openid-client/protocol.ts +437 -0
- package/src/oauth/openid-client/transport.ts +67 -0
- package/src/oauth/policy.ts +26 -0
- package/src/oauth/registration.ts +410 -0
- package/src/oauth/registrationModels.ts +115 -0
- package/src/oauth/registrationSecrets.ts +127 -0
- package/src/oauth/schema.ts +102 -0
- package/src/oauth/signInErrors.ts +23 -0
- package/src/oauth/signInModels.ts +266 -0
- package/src/oauth/signInModule.ts +875 -0
- package/src/oauth/signInSnapshot.ts +37 -0
- package/src/oauth/transactionEncryption.ts +198 -0
- package/src/operations/RequestBindingConfig.ts +12 -0
- package/src/operations/actions.ts +342 -0
- package/src/operations/context.ts +130 -0
- package/src/operations/credentials.ts +121 -0
- package/src/operations/errors.ts +53 -0
- package/src/operations/operation.ts +740 -0
- package/src/operations/requestBinding.ts +237 -0
- package/src/operations/requestBindingModels.ts +18 -0
- package/src/operations/reveals.ts +147 -0
- package/src/passkey/PasskeyActionEvidence.ts +25 -0
- package/src/passkey/PasskeyCredentials.ts +16 -0
- package/src/passkey/PasskeyEnrollmentContext.ts +26 -0
- package/src/passkey/PasskeyManagementPersistence.ts +124 -0
- package/src/passkey/PasskeyPersistence.ts +85 -0
- package/src/passkey/PasskeyProtocol.ts +48 -0
- package/src/passkey/actions.ts +905 -0
- package/src/passkey/browser/PasskeyBrowser.ts +26 -0
- package/src/passkey/browser/models.ts +67 -0
- package/src/passkey/browser/simplewebauthn.ts +621 -0
- package/src/passkey/definition.ts +386 -0
- package/src/passkey/errors.ts +39 -0
- package/src/passkey/management.ts +552 -0
- package/src/passkey/models.ts +414 -0
- package/src/passkey/module.ts +367 -0
- package/src/passkey/pending.ts +203 -0
- package/src/passkey/policy.ts +88 -0
- package/src/passkey/registration.ts +251 -0
- package/src/passkey/simplewebauthn/configuration.ts +97 -0
- package/src/passkey/simplewebauthn/models.ts +9 -0
- package/src/passkey/simplewebauthn/protocol.ts +729 -0
- package/src/passkey/snapshot.ts +48 -0
- package/src/passkey/stepUp.ts +212 -0
- package/src/password/CompromisedPasswords.ts +36 -0
- package/src/password/NewPasswordCheck.ts +89 -0
- package/src/password/PasswordHashing.ts +209 -0
- package/src/password/PasswordKdfAdmission.ts +44 -0
- package/src/password/configuration.ts +52 -0
- package/src/password/defaults.ts +15 -0
- package/src/password/encoding.ts +137 -0
- package/src/password/errors.ts +43 -0
- package/src/password/methods/PasswordActionEvidence.ts +41 -0
- package/src/password/methods/PasswordPersistence.ts +128 -0
- package/src/password/methods/PasswordPreparedPersistence.ts +123 -0
- package/src/password/methods/contracts.ts +47 -0
- package/src/password/methods/definition.ts +199 -0
- package/src/password/methods/errors.ts +26 -0
- package/src/password/methods/models.ts +80 -0
- package/src/password/methods/module.ts +986 -0
- package/src/password/methods/policy.ts +68 -0
- package/src/password/methods/preparation.ts +73 -0
- package/src/password/methods/prepared.ts +1199 -0
- package/src/password/methods/preparedModels.ts +496 -0
- package/src/password/methods/signIn.ts +136 -0
- package/src/password/methods/snapshot.ts +53 -0
- package/src/password/methods/verification.ts +266 -0
- package/src/password/models.ts +15 -0
- package/src/password/policy.ts +41 -0
- package/src/phone/PhoneActionEvidence.ts +26 -0
- package/src/phone/PhoneAdmission.ts +29 -0
- package/src/phone/PhoneDeliveryEligibility.ts +9 -0
- package/src/phone/PhonePersistence.ts +43 -0
- package/src/phone/PhoneRequestContext.ts +7 -0
- package/src/phone/PhoneSignInTargets.ts +19 -0
- package/src/phone/definition.ts +87 -0
- package/src/phone/failure.ts +40 -0
- package/src/phone/lifecycle.ts +662 -0
- package/src/phone/lifecycleModels.ts +108 -0
- package/src/phone/models.ts +41 -0
- package/src/phone/module.ts +433 -0
- package/src/proofs/EmailProofDelivery.ts +19 -0
- package/src/proofs/HostIngressLimiter.ts +20 -0
- package/src/proofs/ProofPersistence.ts +172 -0
- package/src/proofs/SmsProofDelivery.ts +19 -0
- package/src/proofs/abuse.ts +23 -0
- package/src/proofs/completion.ts +23 -0
- package/src/proofs/crypto.ts +326 -0
- package/src/proofs/definition.ts +39 -0
- package/src/proofs/delivery.ts +73 -0
- package/src/proofs/dispatch.ts +99 -0
- package/src/proofs/errors.ts +46 -0
- package/src/proofs/models.ts +131 -0
- package/src/proofs/module.ts +620 -0
- package/src/proofs/policy.ts +77 -0
- package/src/sessions/AuthenticationAuthority.ts +51 -0
- package/src/sessions/PendingAuthentication.ts +121 -0
- package/src/sessions/SessionStepUpPersistence.ts +164 -0
- package/src/sessions/assurance.ts +192 -0
- package/src/sessions/commit.ts +13 -0
- package/src/sessions/configuration.ts +133 -0
- package/src/sessions/contract.ts +203 -0
- package/src/sessions/crypto.ts +181 -0
- package/src/sessions/definition.ts +25 -0
- package/src/sessions/errors.ts +68 -0
- package/src/sessions/invalidation.ts +46 -0
- package/src/sessions/models.ts +138 -0
- package/src/sessions/module.ts +1991 -0
- package/src/sessions/persistence.ts +135 -0
- package/src/sessions/policy.ts +103 -0
- package/src/testing/conformance/AuthStore.ts +314 -0
- package/src/testing/conformance/OAuthConnectionStore.ts +167 -0
- package/src/testing/conformance/OAuthStateStore.ts +105 -0
- package/src/testing/conformance/PasswordCredentialStore.ts +205 -0
- package/src/testing/conformance/support.ts +38 -0
- package/src/testing/crypto.ts +55 -0
- package/src/testing/keyring.ts +17 -0
- package/src/totp/TotpActionEvidence.ts +18 -0
- package/src/totp/TotpPersistence.ts +26 -0
- package/src/totp/TotpSecretKeys.ts +15 -0
- package/src/totp/crypto.ts +160 -0
- package/src/totp/definition.ts +78 -0
- package/src/totp/errors.ts +25 -0
- package/src/totp/models.ts +164 -0
- package/src/totp/module.ts +717 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { SessionInvalidationWindow } from "../sessions/invalidation.mjs";
|
|
2
|
+
import { OAuthClaim, OAuthClaimId, OAuthCleanupInput, OAuthCommandId, OAuthCredentialSnapshot, OAuthInstant, OAuthModuleId, OAuthPendingFlow, OAuthSignInTransactionContext, OAuthVerifiedExternalIdentity } from "../oauth/signInModels.mjs";
|
|
3
|
+
import { OAuthAccountRevision, OAuthActionAuthorization, OAuthLinkAccess, OAuthLinkClaim, OAuthLinkOutcome, OAuthLinkPendingFlow } from "../oauth/accountsModels.mjs";
|
|
4
|
+
import { OAuthRegistrationAccess, OAuthRegistrationFingerprint, OAuthRegistrationIntent } from "../oauth/registrationModels.mjs";
|
|
5
|
+
import { snapshotOAuthSync } from "../oauth/signInSnapshot.mjs";
|
|
6
|
+
import { invariant, unavailable } from "./oauth-state.mjs";
|
|
7
|
+
import { Effect, Schema } from "effect";
|
|
8
|
+
//#region src/drizzle/oauth-input.ts
|
|
9
|
+
const fields = OAuthSignInTransactionContext.fields;
|
|
10
|
+
const claimInput = Schema.Struct({
|
|
11
|
+
moduleId: fields.moduleId,
|
|
12
|
+
generation: fields.generation,
|
|
13
|
+
flowId: fields.flowId,
|
|
14
|
+
provider: fields.provider,
|
|
15
|
+
callbackId: fields.callbackId,
|
|
16
|
+
stateDigest: fields.stateDigest,
|
|
17
|
+
requestBindingVerifier: fields.requestBindingVerifier,
|
|
18
|
+
requestBindingExpiresAtMillis: fields.requestBindingExpiresAtMillis,
|
|
19
|
+
responseIssuer: Schema.optionalKey(fields.issuer),
|
|
20
|
+
claimId: OAuthClaimId,
|
|
21
|
+
nowMillis: OAuthInstant
|
|
22
|
+
});
|
|
23
|
+
const signInOutcome = Schema.Union([
|
|
24
|
+
Schema.TaggedStruct("Verified", { identity: OAuthVerifiedExternalIdentity }),
|
|
25
|
+
Schema.TaggedStruct("Cancelled", {}),
|
|
26
|
+
Schema.TaggedStruct("Rejected", {}),
|
|
27
|
+
Schema.TaggedStruct("Ambiguous", {})
|
|
28
|
+
]);
|
|
29
|
+
const signInSettle = Schema.Struct({
|
|
30
|
+
claim: OAuthClaim,
|
|
31
|
+
outcome: signInOutcome,
|
|
32
|
+
nowMillis: OAuthInstant
|
|
33
|
+
});
|
|
34
|
+
const registrationSettle = Schema.Struct({
|
|
35
|
+
claim: OAuthClaim,
|
|
36
|
+
identity: OAuthVerifiedExternalIdentity,
|
|
37
|
+
intent: Schema.optionalKey(OAuthRegistrationIntent),
|
|
38
|
+
nowMillis: OAuthInstant
|
|
39
|
+
});
|
|
40
|
+
const registerPrivate = Schema.Struct({
|
|
41
|
+
access: OAuthRegistrationAccess,
|
|
42
|
+
intent: OAuthRegistrationIntent,
|
|
43
|
+
commandId: OAuthCommandId,
|
|
44
|
+
fingerprint: OAuthRegistrationFingerprint
|
|
45
|
+
});
|
|
46
|
+
const capture = Schema.Struct({
|
|
47
|
+
moduleId: OAuthModuleId,
|
|
48
|
+
subjectId: OAuthAccountRevision.fields.subjectId
|
|
49
|
+
});
|
|
50
|
+
const linkIssue = Schema.Struct({
|
|
51
|
+
flow: OAuthLinkPendingFlow,
|
|
52
|
+
authorization: OAuthActionAuthorization
|
|
53
|
+
});
|
|
54
|
+
const linkClaim = Schema.Struct({
|
|
55
|
+
access: OAuthLinkAccess,
|
|
56
|
+
flow: OAuthLinkPendingFlow,
|
|
57
|
+
claimId: OAuthClaimId,
|
|
58
|
+
authorization: OAuthActionAuthorization
|
|
59
|
+
});
|
|
60
|
+
const linkSettle = Schema.Struct({
|
|
61
|
+
claim: OAuthLinkClaim,
|
|
62
|
+
outcome: OAuthLinkOutcome,
|
|
63
|
+
authorization: OAuthActionAuthorization,
|
|
64
|
+
invalidation: SessionInvalidationWindow,
|
|
65
|
+
nowMillis: OAuthInstant
|
|
66
|
+
});
|
|
67
|
+
const unlinkInspect = Schema.Struct({
|
|
68
|
+
moduleId: OAuthModuleId,
|
|
69
|
+
subjectId: OAuthAccountRevision.fields.subjectId,
|
|
70
|
+
commandId: OAuthCommandId,
|
|
71
|
+
credentialId: OAuthCredentialSnapshot.fields.credentialId
|
|
72
|
+
});
|
|
73
|
+
const unlink = Schema.Struct({
|
|
74
|
+
moduleId: OAuthModuleId,
|
|
75
|
+
commandId: OAuthCommandId,
|
|
76
|
+
credential: OAuthCredentialSnapshot,
|
|
77
|
+
authorization: OAuthActionAuthorization,
|
|
78
|
+
invalidation: SessionInvalidationWindow,
|
|
79
|
+
nowMillis: OAuthInstant,
|
|
80
|
+
retentionUntilMillis: OAuthInstant
|
|
81
|
+
});
|
|
82
|
+
const snapshot = (schema) => (input) => snapshotOAuthSync(schema, input);
|
|
83
|
+
const signInInputs = {
|
|
84
|
+
issue: snapshot(OAuthPendingFlow),
|
|
85
|
+
claim: snapshot(claimInput),
|
|
86
|
+
settle: snapshot(signInSettle),
|
|
87
|
+
cleanup: snapshot(OAuthCleanupInput)
|
|
88
|
+
};
|
|
89
|
+
const registrationIntentInputs = { settle: snapshot(registrationSettle) };
|
|
90
|
+
const capturedApplication = (application, data) => {
|
|
91
|
+
const encoded = application.encode(data);
|
|
92
|
+
invariant(typeof encoded === "string" && new TextEncoder().encode(encoded).length <= 1048576);
|
|
93
|
+
const retained = application.decode(encoded);
|
|
94
|
+
invariant(application.encode(retained) === encoded);
|
|
95
|
+
return retained;
|
|
96
|
+
};
|
|
97
|
+
const registrationInputs = (application) => ({
|
|
98
|
+
read: snapshot(OAuthRegistrationAccess),
|
|
99
|
+
inspect: (input) => ({
|
|
100
|
+
intent: snapshotOAuthSync(OAuthRegistrationIntent, input.intent),
|
|
101
|
+
registration: capturedApplication(application, input.registration)
|
|
102
|
+
}),
|
|
103
|
+
register: (input) => ({
|
|
104
|
+
...snapshotOAuthSync(registerPrivate, input),
|
|
105
|
+
registration: capturedApplication(application, input.registration)
|
|
106
|
+
}),
|
|
107
|
+
cleanup: snapshot(OAuthCleanupInput)
|
|
108
|
+
});
|
|
109
|
+
const accountsInputs = {
|
|
110
|
+
capture: snapshot(capture),
|
|
111
|
+
issue: snapshot(linkIssue),
|
|
112
|
+
preflight: snapshot(OAuthLinkAccess),
|
|
113
|
+
claim: snapshot(linkClaim),
|
|
114
|
+
settle: snapshot(linkSettle),
|
|
115
|
+
inspectUnlink: snapshot(unlinkInspect),
|
|
116
|
+
unlink: snapshot(unlink),
|
|
117
|
+
cleanup: snapshot(OAuthCleanupInput)
|
|
118
|
+
};
|
|
119
|
+
/** Snapshot before the first asynchronous owner/allocator step; closed bound
|
|
120
|
+
* authorities reject before running even an application codec or inspector. */
|
|
121
|
+
const capturedOAuthService = (service, inputs, active, poison) => Object.freeze(Object.fromEntries(Object.entries(service).map(([key, method]) => [key, (input, prepare) => Effect.suspend(() => {
|
|
122
|
+
if (!active()) return Effect.fail(unavailable());
|
|
123
|
+
return method(inputs[key](input), prepare);
|
|
124
|
+
}).pipe(Effect.onExit((exit) => Effect.sync(() => {
|
|
125
|
+
if (exit._tag === "Failure") poison();
|
|
126
|
+
})), Effect.catchDefect(() => Effect.fail(unavailable())))])));
|
|
127
|
+
//#endregion
|
|
128
|
+
export { accountsInputs, capturedOAuthService, registrationInputs, registrationIntentInputs, signInInputs };
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=oauth-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-input.mjs","names":[],"sources":["../../src/drizzle/oauth-input.ts"],"sourcesContent":["/* oxlint-disable no-explicit-any -- private adapter wraps only the Effect-valued semantic ports. */\nimport { Effect, Schema } from \"effect\";\n\nimport {\n OAuthAccountRevision,\n OAuthActionAuthorization,\n OAuthLinkAccess,\n OAuthLinkClaim,\n OAuthLinkOutcome,\n OAuthLinkPendingFlow,\n} from \"../oauth/accountsModels\";\nimport {\n OAuthRegistrationAccess,\n OAuthRegistrationFingerprint,\n OAuthRegistrationIntent,\n} from \"../oauth/registrationModels\";\nimport type { OAuthUnavailable } from \"../oauth/signInErrors\";\nimport {\n OAuthClaim,\n OAuthClaimId,\n OAuthCleanupInput,\n OAuthCommandId,\n OAuthCredentialSnapshot,\n OAuthInstant,\n OAuthModuleId,\n OAuthPendingFlow,\n OAuthSignInTransactionContext,\n OAuthVerifiedExternalIdentity,\n} from \"../oauth/signInModels\";\nimport { snapshotOAuthSync } from \"../oauth/signInSnapshot\";\nimport { SessionInvalidationWindow } from \"../sessions/invalidation\";\nimport { invariant, unavailable } from \"./oauth-state\";\n\nconst fields = OAuthSignInTransactionContext.fields;\n\nconst claimInput = Schema.Struct({\n moduleId: fields.moduleId,\n generation: fields.generation,\n flowId: fields.flowId,\n provider: fields.provider,\n callbackId: fields.callbackId,\n stateDigest: fields.stateDigest,\n requestBindingVerifier: fields.requestBindingVerifier,\n requestBindingExpiresAtMillis: fields.requestBindingExpiresAtMillis,\n responseIssuer: Schema.optionalKey(fields.issuer),\n claimId: OAuthClaimId,\n nowMillis: OAuthInstant,\n});\n\nconst signInOutcome = Schema.Union([\n Schema.TaggedStruct(\"Verified\", { identity: OAuthVerifiedExternalIdentity }),\n Schema.TaggedStruct(\"Cancelled\", {}),\n Schema.TaggedStruct(\"Rejected\", {}),\n Schema.TaggedStruct(\"Ambiguous\", {}),\n]);\n\nconst signInSettle = Schema.Struct({\n claim: OAuthClaim,\n outcome: signInOutcome,\n nowMillis: OAuthInstant,\n});\n\nconst registrationSettle = Schema.Struct({\n claim: OAuthClaim,\n identity: OAuthVerifiedExternalIdentity,\n intent: Schema.optionalKey(OAuthRegistrationIntent),\n nowMillis: OAuthInstant,\n});\n\nconst registerPrivate = Schema.Struct({\n access: OAuthRegistrationAccess,\n intent: OAuthRegistrationIntent,\n commandId: OAuthCommandId,\n fingerprint: OAuthRegistrationFingerprint,\n});\n\nconst capture = Schema.Struct({\n moduleId: OAuthModuleId,\n subjectId: OAuthAccountRevision.fields.subjectId,\n});\n\nconst linkIssue = Schema.Struct({\n flow: OAuthLinkPendingFlow,\n authorization: OAuthActionAuthorization,\n});\n\nconst linkClaim = Schema.Struct({\n access: OAuthLinkAccess,\n flow: OAuthLinkPendingFlow,\n claimId: OAuthClaimId,\n authorization: OAuthActionAuthorization,\n});\n\nconst linkSettle = Schema.Struct({\n claim: OAuthLinkClaim,\n outcome: OAuthLinkOutcome,\n authorization: OAuthActionAuthorization,\n invalidation: SessionInvalidationWindow,\n nowMillis: OAuthInstant,\n});\n\nconst unlinkInspect = Schema.Struct({\n moduleId: OAuthModuleId,\n subjectId: OAuthAccountRevision.fields.subjectId,\n commandId: OAuthCommandId,\n credentialId: OAuthCredentialSnapshot.fields.credentialId,\n});\n\nconst unlink = Schema.Struct({\n moduleId: OAuthModuleId,\n commandId: OAuthCommandId,\n credential: OAuthCredentialSnapshot,\n authorization: OAuthActionAuthorization,\n invalidation: SessionInvalidationWindow,\n nowMillis: OAuthInstant,\n retentionUntilMillis: OAuthInstant,\n});\n\nconst snapshot = (schema: Schema.Codec<any, any, never, never>) => (input: any) =>\n snapshotOAuthSync(schema, input);\n\nexport const signInInputs = {\n issue: snapshot(OAuthPendingFlow),\n claim: snapshot(claimInput),\n settle: snapshot(signInSettle),\n cleanup: snapshot(OAuthCleanupInput),\n};\n\nexport const registrationIntentInputs = { settle: snapshot(registrationSettle) };\n\nconst capturedApplication = (\n application: { readonly encode: (data: any) => string; readonly decode: (stored: string) => any },\n data: any,\n) => {\n const encoded = application.encode(data);\n\n invariant(typeof encoded === \"string\" && new TextEncoder().encode(encoded).length <= 1048576);\n const retained = application.decode(encoded);\n\n invariant(application.encode(retained) === encoded);\n\n return retained;\n};\n\nexport const registrationInputs = (application: {\n readonly encode: (data: any) => string;\n readonly decode: (stored: string) => any;\n}) => ({\n read: snapshot(OAuthRegistrationAccess),\n inspect: (input: any) => ({\n intent: snapshotOAuthSync(OAuthRegistrationIntent, input.intent),\n registration: capturedApplication(application, input.registration),\n }),\n register: (input: any) => ({\n ...snapshotOAuthSync(registerPrivate, input),\n registration: capturedApplication(application, input.registration),\n }),\n cleanup: snapshot(OAuthCleanupInput),\n});\n\nexport const accountsInputs = {\n capture: snapshot(capture),\n issue: snapshot(linkIssue),\n preflight: snapshot(OAuthLinkAccess),\n claim: snapshot(linkClaim),\n settle: snapshot(linkSettle),\n inspectUnlink: snapshot(unlinkInspect),\n unlink: snapshot(unlink),\n cleanup: snapshot(OAuthCleanupInput),\n};\n\n/** Snapshot before the first asynchronous owner/allocator step; closed bound\n * authorities reject before running even an application codec or inspector. */\nexport const capturedOAuthService = <\n S extends { [K in keyof S]: (...args: any[]) => Effect.Effect<any, OAuthUnavailable> },\n>(\n service: S,\n inputs: { readonly [K in keyof S]: (input: any) => any },\n active: () => boolean,\n poison: () => void,\n): S =>\n Object.freeze(\n Object.fromEntries(\n Object.entries(service).map(([key, method]) => [\n key,\n (input: any, prepare?: any) =>\n Effect.suspend(() => {\n if (!active()) return Effect.fail(unavailable());\n const retained = inputs[key as keyof S](input);\n\n return (method as (...args: any[]) => Effect.Effect<any, OAuthUnavailable>)(\n retained,\n prepare,\n );\n }).pipe(\n Effect.onExit((exit) =>\n Effect.sync(() => {\n if (exit._tag === \"Failure\") poison();\n }),\n ),\n Effect.catchDefect(() => Effect.fail(unavailable())),\n ),\n ]),\n ),\n ) as S;\n"],"mappings":";;;;;;;;AAiCA,MAAM,SAAS,8BAA8B;AAE7C,MAAM,aAAa,OAAO,OAAO;CAC/B,UAAU,OAAO;CACjB,YAAY,OAAO;CACnB,QAAQ,OAAO;CACf,UAAU,OAAO;CACjB,YAAY,OAAO;CACnB,aAAa,OAAO;CACpB,wBAAwB,OAAO;CAC/B,+BAA+B,OAAO;CACtC,gBAAgB,OAAO,YAAY,OAAO,MAAM;CAChD,SAAS;CACT,WAAW;AACb,CAAC;AAED,MAAM,gBAAgB,OAAO,MAAM;CACjC,OAAO,aAAa,YAAY,EAAE,UAAU,8BAA8B,CAAC;CAC3E,OAAO,aAAa,aAAa,CAAC,CAAC;CACnC,OAAO,aAAa,YAAY,CAAC,CAAC;CAClC,OAAO,aAAa,aAAa,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,eAAe,OAAO,OAAO;CACjC,OAAO;CACP,SAAS;CACT,WAAW;AACb,CAAC;AAED,MAAM,qBAAqB,OAAO,OAAO;CACvC,OAAO;CACP,UAAU;CACV,QAAQ,OAAO,YAAY,uBAAuB;CAClD,WAAW;AACb,CAAC;AAED,MAAM,kBAAkB,OAAO,OAAO;CACpC,QAAQ;CACR,QAAQ;CACR,WAAW;CACX,aAAa;AACf,CAAC;AAED,MAAM,UAAU,OAAO,OAAO;CAC5B,UAAU;CACV,WAAW,qBAAqB,OAAO;AACzC,CAAC;AAED,MAAM,YAAY,OAAO,OAAO;CAC9B,MAAM;CACN,eAAe;AACjB,CAAC;AAED,MAAM,YAAY,OAAO,OAAO;CAC9B,QAAQ;CACR,MAAM;CACN,SAAS;CACT,eAAe;AACjB,CAAC;AAED,MAAM,aAAa,OAAO,OAAO;CAC/B,OAAO;CACP,SAAS;CACT,eAAe;CACf,cAAc;CACd,WAAW;AACb,CAAC;AAED,MAAM,gBAAgB,OAAO,OAAO;CAClC,UAAU;CACV,WAAW,qBAAqB,OAAO;CACvC,WAAW;CACX,cAAc,wBAAwB,OAAO;AAC/C,CAAC;AAED,MAAM,SAAS,OAAO,OAAO;CAC3B,UAAU;CACV,WAAW;CACX,YAAY;CACZ,eAAe;CACf,cAAc;CACd,WAAW;CACX,sBAAsB;AACxB,CAAC;AAED,MAAM,YAAY,YAAkD,UAClE,kBAAkB,QAAQ,KAAK;AAEjC,MAAa,eAAe;CAC1B,OAAO,SAAS,gBAAgB;CAChC,OAAO,SAAS,UAAU;CAC1B,QAAQ,SAAS,YAAY;CAC7B,SAAS,SAAS,iBAAiB;AACrC;AAEA,MAAa,2BAA2B,EAAE,QAAQ,SAAS,kBAAkB,EAAE;AAE/E,MAAM,uBACJ,aACA,SACG;CACH,MAAM,UAAU,YAAY,OAAO,IAAI;CAEvC,UAAU,OAAO,YAAY,YAAY,IAAI,YAAY,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,UAAU,OAAO;CAC5F,MAAM,WAAW,YAAY,OAAO,OAAO;CAE3C,UAAU,YAAY,OAAO,QAAQ,MAAM,OAAO;CAElD,OAAO;AACT;AAEA,MAAa,sBAAsB,iBAG5B;CACL,MAAM,SAAS,uBAAuB;CACtC,UAAU,WAAgB;EACxB,QAAQ,kBAAkB,yBAAyB,MAAM,MAAM;EAC/D,cAAc,oBAAoB,aAAa,MAAM,YAAY;CACnE;CACA,WAAW,WAAgB;EACzB,GAAG,kBAAkB,iBAAiB,KAAK;EAC3C,cAAc,oBAAoB,aAAa,MAAM,YAAY;CACnE;CACA,SAAS,SAAS,iBAAiB;AACrC;AAEA,MAAa,iBAAiB;CAC5B,SAAS,SAAS,OAAO;CACzB,OAAO,SAAS,SAAS;CACzB,WAAW,SAAS,eAAe;CACnC,OAAO,SAAS,SAAS;CACzB,QAAQ,SAAS,UAAU;CAC3B,eAAe,SAAS,aAAa;CACrC,QAAQ,SAAS,MAAM;CACvB,SAAS,SAAS,iBAAiB;AACrC;;;AAIA,MAAa,wBAGX,SACA,QACA,QACA,WAEA,OAAO,OACL,OAAO,YACL,OAAO,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,CAC7C,MACC,OAAY,YACX,OAAO,cAAc;CACnB,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,YAAY,CAAC;CAG/C,OAAQ,OAFS,OAAO,IAAe,CAAC,KAG/B,GACP,OACF;AACF,CAAC,CAAC,CAAC,KACD,OAAO,QAAQ,SACb,OAAO,WAAW;CAChB,IAAI,KAAK,SAAS,WAAW,OAAO;AACtC,CAAC,CACH,GACA,OAAO,kBAAkB,OAAO,KAAK,YAAY,CAAC,CAAC,CACrD,CACJ,CAAC,CACH,CACF"}
|
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
import { TokenDigest } from "../Schema.mjs";
|
|
2
|
+
import { AuthenticationFactor } from "../operations/context.mjs";
|
|
3
|
+
import { AuthenticationRequirement, SecurityRevision } from "../sessions/models.mjs";
|
|
4
|
+
import { PreparedCommit } from "../hooks/commit.mjs";
|
|
5
|
+
import { DrizzleMappingError, SubjectIdCodec } from "./model.mjs";
|
|
6
|
+
import { OAuthRegistrationAccess, OAuthRegistrationDecision, OAuthRegistrationInspection, OAuthRegistrationIntent } from "../oauth/registrationModels.mjs";
|
|
7
|
+
import { OAuthUnavailable } from "../oauth/signInErrors.mjs";
|
|
8
|
+
import { OAuthCleanupInput, OAuthCommandId, OAuthCredentialSnapshot, OAuthExternalIdentity } from "../oauth/signInModels.mjs";
|
|
9
|
+
import { PrepareOAuthCommit } from "../oauth/OAuthSignInPersistence.mjs";
|
|
10
|
+
import { OAuthAccountRevision, OAuthActionAuthorization } from "../oauth/accountsModels.mjs";
|
|
11
|
+
import { Effect } from "effect";
|
|
12
|
+
import { InferInsertModel, InferSelectModel, SQL, Table } from "drizzle-orm";
|
|
13
|
+
//#region src/drizzle/oauth-model.d.ts
|
|
14
|
+
type Column<T extends Table> = Extract<keyof T["_"]["columns"], string>;
|
|
15
|
+
type OAuthFlowState = "Pending" | "Claimed" | "Verified" | "RegistrationIssued" | "Linked" | "Cancelled" | "Rejected" | "Ambiguous" | "Conflict";
|
|
16
|
+
type OAuthTupleState = "Unowned" | "Reserved" | "Owned";
|
|
17
|
+
type OAuthRegistrationState = "Unbound" | "Registered" | "ProvisioningPending" | "Rejected";
|
|
18
|
+
type OAuthAction = OAuthActionAuthorization["challenge"]["action"];
|
|
19
|
+
/** The engine writes every critical column explicitly after applying the pure
|
|
20
|
+
* consumer encoder. Native instant values must roundtrip without precision loss. */
|
|
21
|
+
interface OAuthClock {
|
|
22
|
+
readonly encodeInstant: (millis: number) => unknown;
|
|
23
|
+
readonly decodeInstant: (value: unknown) => number;
|
|
24
|
+
/** Actual engine wall clock sampled after locks, not transaction-start time.
|
|
25
|
+
* PostgreSQL uses clock_timestamp(), never now()/CURRENT_TIMESTAMP. D1 repeats
|
|
26
|
+
* its primary-engine sample bounds in final guards. Return integer milliseconds. */
|
|
27
|
+
readonly engineNowMillis: SQL;
|
|
28
|
+
}
|
|
29
|
+
interface OAuthSubjectReadTable<S extends Table> {
|
|
30
|
+
readonly table: S;
|
|
31
|
+
readonly id: Column<S>;
|
|
32
|
+
readonly status: Column<S>;
|
|
33
|
+
readonly securityRevision: Column<S>;
|
|
34
|
+
readonly isActiveStatus: (value: unknown) => boolean;
|
|
35
|
+
readonly activeCondition: SQL;
|
|
36
|
+
}
|
|
37
|
+
interface OAuthSubjectTable<S extends Table> extends OAuthSubjectReadTable<S> {
|
|
38
|
+
readonly decodeActionRequirement: (row: InferSelectModel<S>, action: OAuthAction) => AuthenticationRequirement;
|
|
39
|
+
readonly decodeAuthenticationRequirement: (row: InferSelectModel<S>) => AuthenticationRequirement;
|
|
40
|
+
readonly nextSecurityRevision: (current: SecurityRevision) => SecurityRevision;
|
|
41
|
+
}
|
|
42
|
+
interface OAuthOwnershipReadTable<O extends Table, N> {
|
|
43
|
+
readonly table: O;
|
|
44
|
+
readonly identityKey: Column<O>;
|
|
45
|
+
readonly provider: Column<O>;
|
|
46
|
+
readonly issuer: Column<O>;
|
|
47
|
+
readonly externalSubject: Column<O>;
|
|
48
|
+
readonly subjectId: Column<O>;
|
|
49
|
+
/** Includes Owned state when authority and ownership share a physical table. */
|
|
50
|
+
readonly ownedCondition: SQL;
|
|
51
|
+
readonly decodeSubjectId: (row: InferSelectModel<O>) => N;
|
|
52
|
+
}
|
|
53
|
+
interface OAuthOwnershipTable<O extends Table, N> extends OAuthOwnershipReadTable<O, N> {
|
|
54
|
+
readonly encodeInsert: (input: {
|
|
55
|
+
readonly identity: typeof OAuthExternalIdentity.Type;
|
|
56
|
+
readonly identityKey: string;
|
|
57
|
+
readonly subjectId: N;
|
|
58
|
+
}) => InferInsertModel<O>;
|
|
59
|
+
}
|
|
60
|
+
interface OAuthCredentialReadTable<C extends Table> {
|
|
61
|
+
readonly table: C;
|
|
62
|
+
readonly moduleId: Column<C>;
|
|
63
|
+
readonly credentialId: Column<C>;
|
|
64
|
+
readonly subjectId: Column<C>;
|
|
65
|
+
readonly identityKey: Column<C>;
|
|
66
|
+
readonly credentialRevision: Column<C>;
|
|
67
|
+
readonly status: Column<C>;
|
|
68
|
+
readonly isActiveStatus: (value: unknown) => boolean;
|
|
69
|
+
readonly activeCondition: SQL;
|
|
70
|
+
}
|
|
71
|
+
interface OAuthCredentialTable<C extends Table, N> extends OAuthCredentialReadTable<C> {
|
|
72
|
+
readonly encodeInsert: (input: {
|
|
73
|
+
readonly moduleId: string;
|
|
74
|
+
readonly subjectId: N;
|
|
75
|
+
readonly identityKey: string;
|
|
76
|
+
readonly credentialId: string;
|
|
77
|
+
readonly credentialRevision: SecurityRevision;
|
|
78
|
+
}) => InferInsertModel<C>;
|
|
79
|
+
/** This slice removes login rows. Historical records belong in separate audit storage. */
|
|
80
|
+
readonly removal: "delete";
|
|
81
|
+
}
|
|
82
|
+
interface OAuthAuthorityReadTable<C extends Table> {
|
|
83
|
+
readonly table: C;
|
|
84
|
+
readonly subjectId: Column<C>;
|
|
85
|
+
readonly credentialId: Column<C>;
|
|
86
|
+
readonly revision: Column<C>;
|
|
87
|
+
readonly status: Column<C>;
|
|
88
|
+
readonly isActiveStatus: (value: unknown) => boolean;
|
|
89
|
+
readonly activeCondition: SQL;
|
|
90
|
+
}
|
|
91
|
+
interface OAuthAuthorityTable<C extends Table, N> extends OAuthAuthorityReadTable<C> {
|
|
92
|
+
readonly encodeInsert: (input: {
|
|
93
|
+
readonly subjectId: N;
|
|
94
|
+
readonly credentialId: string;
|
|
95
|
+
readonly revision: SecurityRevision;
|
|
96
|
+
}) => InferInsertModel<C>;
|
|
97
|
+
}
|
|
98
|
+
/** Both purposes may use the same physical table. Shared tables share module/flow
|
|
99
|
+
* and module/command uniqueness. The snapshot has the exact purpose-specific core
|
|
100
|
+
* codec; terminal writes erase it, while identity, claim and retention columns remain. */
|
|
101
|
+
interface OAuthFlowTable<F extends Table> {
|
|
102
|
+
readonly table: F;
|
|
103
|
+
readonly moduleId: Column<F>;
|
|
104
|
+
readonly flowId: Column<F>;
|
|
105
|
+
readonly commandId: Column<F>;
|
|
106
|
+
readonly purpose: Column<F>;
|
|
107
|
+
readonly generation: Column<F>;
|
|
108
|
+
readonly state: Column<F>;
|
|
109
|
+
readonly version: Column<F>;
|
|
110
|
+
readonly stateDigest: Column<F>;
|
|
111
|
+
readonly binderVerifier: Column<F>;
|
|
112
|
+
readonly binderExpiresAt: Column<F>;
|
|
113
|
+
readonly snapshot: Column<F>;
|
|
114
|
+
readonly issuedAt: Column<F>;
|
|
115
|
+
readonly expiresAt: Column<F>;
|
|
116
|
+
readonly claimId: Column<F>;
|
|
117
|
+
readonly claimedAt: Column<F>;
|
|
118
|
+
readonly claimExpiresAt: Column<F>;
|
|
119
|
+
readonly retentionUntil: Column<F>;
|
|
120
|
+
readonly encodeInsert: (input: {
|
|
121
|
+
readonly moduleId: string;
|
|
122
|
+
readonly flowId: string;
|
|
123
|
+
readonly purpose: "sign-in" | "link";
|
|
124
|
+
}) => InferInsertModel<F>;
|
|
125
|
+
}
|
|
126
|
+
interface OAuthTupleAuthorityTable<T extends Table, N> {
|
|
127
|
+
readonly table: T;
|
|
128
|
+
readonly identityKey: Column<T>;
|
|
129
|
+
readonly provider: Column<T>;
|
|
130
|
+
readonly issuer: Column<T>;
|
|
131
|
+
readonly externalSubject: Column<T>;
|
|
132
|
+
readonly state: Column<T>;
|
|
133
|
+
readonly version: Column<T>;
|
|
134
|
+
readonly subjectId: Column<T>;
|
|
135
|
+
/** Exact reservation identity; no application payload or bearer. */
|
|
136
|
+
readonly reservation: Column<T>;
|
|
137
|
+
readonly encodeInsert: (input: {
|
|
138
|
+
readonly identityKey: string;
|
|
139
|
+
readonly identity: typeof OAuthExternalIdentity.Type;
|
|
140
|
+
readonly subjectId?: N;
|
|
141
|
+
}) => InferInsertModel<T>;
|
|
142
|
+
}
|
|
143
|
+
interface OAuthRegistrationIntentTable<I extends Table> {
|
|
144
|
+
readonly table: I;
|
|
145
|
+
readonly moduleId: Column<I>;
|
|
146
|
+
readonly reference: Column<I>;
|
|
147
|
+
readonly flowId: Column<I>;
|
|
148
|
+
readonly claimId: Column<I>;
|
|
149
|
+
readonly identityKey: Column<I>;
|
|
150
|
+
readonly version: Column<I>;
|
|
151
|
+
readonly state: Column<I>;
|
|
152
|
+
readonly snapshot: Column<I>;
|
|
153
|
+
readonly commandId: Column<I>;
|
|
154
|
+
readonly fingerprint: Column<I>;
|
|
155
|
+
readonly pendingReference: Column<I>;
|
|
156
|
+
readonly expiresAt: Column<I>;
|
|
157
|
+
readonly retentionUntil: Column<I>;
|
|
158
|
+
readonly encodeInsert: (intent: OAuthRegistrationIntent) => InferInsertModel<I>;
|
|
159
|
+
}
|
|
160
|
+
interface OAuthRegistrationCommandTable<R extends Table, Registration> {
|
|
161
|
+
readonly table: R;
|
|
162
|
+
readonly moduleId: Column<R>;
|
|
163
|
+
readonly commandId: Column<R>;
|
|
164
|
+
readonly reference: Column<R>;
|
|
165
|
+
readonly identityKey: Column<R>;
|
|
166
|
+
readonly fingerprint: Column<R>;
|
|
167
|
+
readonly intentSnapshot: Column<R>;
|
|
168
|
+
readonly applicationSnapshot: Column<R>;
|
|
169
|
+
readonly provisioningIdentity: Column<R>;
|
|
170
|
+
readonly decision: Column<R>;
|
|
171
|
+
readonly retentionUntil: Column<R>;
|
|
172
|
+
/** Persists exact detached Type before protected pending work can start. */
|
|
173
|
+
readonly encodeInsert: (input: {
|
|
174
|
+
readonly intent: OAuthRegistrationIntent;
|
|
175
|
+
readonly commandId: string;
|
|
176
|
+
readonly fingerprint: string;
|
|
177
|
+
readonly registration: Registration;
|
|
178
|
+
readonly provisioningIdentity: string;
|
|
179
|
+
}) => InferInsertModel<R>;
|
|
180
|
+
}
|
|
181
|
+
interface OAuthUnlinkCommandTable<U extends Table> {
|
|
182
|
+
readonly table: U;
|
|
183
|
+
readonly moduleId: Column<U>;
|
|
184
|
+
readonly commandId: Column<U>;
|
|
185
|
+
readonly subjectId: Column<U>;
|
|
186
|
+
readonly credentialId: Column<U>;
|
|
187
|
+
readonly intentSnapshot: Column<U>;
|
|
188
|
+
readonly decision: Column<U>;
|
|
189
|
+
readonly retentionUntil: Column<U>;
|
|
190
|
+
readonly encodeInsert: (input: {
|
|
191
|
+
readonly moduleId: string;
|
|
192
|
+
readonly commandId: string;
|
|
193
|
+
readonly credential: OAuthCredentialSnapshot;
|
|
194
|
+
}) => InferInsertModel<U>;
|
|
195
|
+
}
|
|
196
|
+
interface OAuthEligibilityFact {
|
|
197
|
+
readonly credentialId: string;
|
|
198
|
+
readonly revision: SecurityRevision;
|
|
199
|
+
readonly usablePrimary: boolean;
|
|
200
|
+
readonly factors: ReadonlyArray<AuthenticationFactor>;
|
|
201
|
+
readonly userVerified: boolean;
|
|
202
|
+
readonly phishingResistant: boolean;
|
|
203
|
+
}
|
|
204
|
+
/** Each descriptor reads only its own subject-scoped method rows. The native row
|
|
205
|
+
* projector and SQL condition must express the same installed method eligibility.
|
|
206
|
+
* All source/identifier/policy mutations advance subject securityRevision. D1 also
|
|
207
|
+
* guards exact selected IDs/versions and absence/count assumptions, never just a
|
|
208
|
+
* stale boolean. An over-limit graph fails closed rather than truncating. */
|
|
209
|
+
interface OAuthEligibilityTable<T extends Table, N> {
|
|
210
|
+
readonly table: T;
|
|
211
|
+
readonly subjectId: Column<T>;
|
|
212
|
+
readonly credentialId: Column<T>;
|
|
213
|
+
readonly revision: Column<T>;
|
|
214
|
+
readonly scope: string;
|
|
215
|
+
readonly condition: (subjectId: N) => SQL;
|
|
216
|
+
readonly decode: (row: InferSelectModel<T>) => OAuthEligibilityFact | undefined;
|
|
217
|
+
}
|
|
218
|
+
/** Authenticated command replay uses current subject status and this additional
|
|
219
|
+
* nonconsuming SQL policy. It never consumes a fresh action factor. */
|
|
220
|
+
interface OAuthMetadataPolicy<N> {
|
|
221
|
+
readonly condition: (subjectId: N) => SQL;
|
|
222
|
+
}
|
|
223
|
+
interface OAuthCleanupTable<T extends Table, N> {
|
|
224
|
+
readonly table: T;
|
|
225
|
+
readonly subjectId: Column<T>;
|
|
226
|
+
/** Bound to this subject's old revision; no opaque independently committing service. */
|
|
227
|
+
readonly condition: (input: {
|
|
228
|
+
readonly subjectId: N;
|
|
229
|
+
readonly revision: OAuthAccountRevision;
|
|
230
|
+
readonly removedCredentialId?: string;
|
|
231
|
+
}) => SQL;
|
|
232
|
+
readonly disposition: "delete";
|
|
233
|
+
}
|
|
234
|
+
interface OAuthRegistrationEligibility<N> {
|
|
235
|
+
/** Pure SQL guards for mutable app policy; evaluated again after app writes. */
|
|
236
|
+
readonly condition: (input: {
|
|
237
|
+
readonly intent: OAuthRegistrationIntent;
|
|
238
|
+
readonly nativeSubjectId?: N;
|
|
239
|
+
}) => SQL;
|
|
240
|
+
}
|
|
241
|
+
interface OAuthD1Mapping {
|
|
242
|
+
readonly d1: {
|
|
243
|
+
readonly primary: true;
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
declare const requiredOAuthSignInConstraints: {
|
|
247
|
+
readonly flow: "unique(flow.moduleId,flow.flowId)";
|
|
248
|
+
readonly command: "unique(flow.moduleId,flow.commandId)";
|
|
249
|
+
readonly stateDigest: "unique(flow.stateDigest)";
|
|
250
|
+
readonly ownership: "unique(ownership.identityKey)";
|
|
251
|
+
readonly credentialId: "unique(credential.credentialId)";
|
|
252
|
+
readonly credentialIdentity: "unique(credential.identityKey)";
|
|
253
|
+
readonly authorityCredential: "unique(authority.subjectId,authority.credentialId)";
|
|
254
|
+
};
|
|
255
|
+
declare const requiredOAuthTupleConstraints: {
|
|
256
|
+
readonly identityKey: "unique(tuple.identityKey)";
|
|
257
|
+
};
|
|
258
|
+
declare const requiredOAuthRegistrationConstraints: {
|
|
259
|
+
readonly intentReference: "unique(intent.moduleId,intent.reference)";
|
|
260
|
+
readonly intentFlow: "unique(intent.moduleId,intent.flowId)";
|
|
261
|
+
readonly command: "unique(registrationCommand.moduleId,registrationCommand.commandId)";
|
|
262
|
+
};
|
|
263
|
+
declare const requiredOAuthAccountsConstraints: {
|
|
264
|
+
readonly unlinkCommand: "unique(unlinkCommand.moduleId,unlinkCommand.commandId)";
|
|
265
|
+
};
|
|
266
|
+
interface OAuthSignInMapping<S extends Table, O extends Table, C extends Table, AC extends Table, F extends Table, N> {
|
|
267
|
+
readonly subject: OAuthSubjectReadTable<S>;
|
|
268
|
+
readonly ownership: OAuthOwnershipReadTable<O, N>;
|
|
269
|
+
readonly credential: OAuthCredentialReadTable<C>;
|
|
270
|
+
readonly authority: OAuthAuthorityReadTable<AC>;
|
|
271
|
+
readonly flow: OAuthFlowTable<F>;
|
|
272
|
+
readonly subjectId: SubjectIdCodec<N>;
|
|
273
|
+
readonly clock: OAuthClock;
|
|
274
|
+
readonly constraints: typeof requiredOAuthSignInConstraints;
|
|
275
|
+
}
|
|
276
|
+
type OAuthOwnershipMutation<T extends Table, O extends Table, N> = {
|
|
277
|
+
readonly mode: "integrated";
|
|
278
|
+
readonly tuple: OAuthTupleAuthorityTable<T, N>;
|
|
279
|
+
} | {
|
|
280
|
+
readonly mode: "separate";
|
|
281
|
+
readonly tuple: OAuthTupleAuthorityTable<T, N>;
|
|
282
|
+
readonly external: OAuthOwnershipTable<O, N>;
|
|
283
|
+
};
|
|
284
|
+
interface OAuthRegistrationIntentMapping<S extends Table, O extends Table, C extends Table, AC extends Table, F extends Table, T extends Table, I extends Table, N> {
|
|
285
|
+
readonly signIn: OAuthSignInMapping<S, O, C, AC, F, N>;
|
|
286
|
+
readonly ownership: OAuthOwnershipMutation<T, O, N>;
|
|
287
|
+
readonly intent: OAuthRegistrationIntentTable<I>;
|
|
288
|
+
readonly tupleConstraints: typeof requiredOAuthTupleConstraints;
|
|
289
|
+
readonly registrationConstraints: Pick<typeof requiredOAuthRegistrationConstraints, "intentReference" | "intentFlow">;
|
|
290
|
+
readonly eligibility: OAuthRegistrationEligibility<N>;
|
|
291
|
+
}
|
|
292
|
+
interface OAuthRegistrationBase<Registration, T extends Table, O extends Table, I extends Table, R extends Table, N> {
|
|
293
|
+
readonly ownership: OAuthOwnershipMutation<T, O, N>;
|
|
294
|
+
readonly intent: OAuthRegistrationIntentTable<I>;
|
|
295
|
+
readonly command: OAuthRegistrationCommandTable<R, Registration>;
|
|
296
|
+
readonly clock: OAuthClock;
|
|
297
|
+
readonly tupleConstraints: typeof requiredOAuthTupleConstraints;
|
|
298
|
+
readonly constraints: typeof requiredOAuthRegistrationConstraints;
|
|
299
|
+
readonly inspect: (input: {
|
|
300
|
+
readonly intent: OAuthRegistrationIntent;
|
|
301
|
+
readonly registration: Registration;
|
|
302
|
+
}) => Effect.Effect<{
|
|
303
|
+
readonly fingerprint: string;
|
|
304
|
+
readonly eligible: boolean;
|
|
305
|
+
}, DrizzleMappingError>;
|
|
306
|
+
/** Required for an explicitly bound native/DO command: no asynchronous callback
|
|
307
|
+
* is evaluated inside the physical owner. Standalone inspection is pre-owner. */
|
|
308
|
+
readonly inspectSync?: (input: {
|
|
309
|
+
readonly intent: OAuthRegistrationIntent;
|
|
310
|
+
readonly registration: Registration;
|
|
311
|
+
}) => {
|
|
312
|
+
readonly fingerprint: string;
|
|
313
|
+
readonly eligible: boolean;
|
|
314
|
+
};
|
|
315
|
+
/** Type projection, never the original wire transformation. */
|
|
316
|
+
readonly snapshot: (registration: Registration) => Effect.Effect<Registration, DrizzleMappingError>;
|
|
317
|
+
readonly snapshotSync?: (registration: Registration) => Registration;
|
|
318
|
+
/** Canonical bounded storage of Registration.Type. These are Type codecs, not
|
|
319
|
+
* the original wire decoder/encoder; decode(encode(value)) must encode identically.
|
|
320
|
+
* The engine writes and roundtrip-checks this exact string (maximum 1 MiB). */
|
|
321
|
+
readonly application: {
|
|
322
|
+
readonly encode: (registration: Registration) => string;
|
|
323
|
+
readonly decode: (stored: string) => Registration;
|
|
324
|
+
};
|
|
325
|
+
readonly eligibility: {
|
|
326
|
+
/** Stable application authority anchors, in one configured global order.
|
|
327
|
+
* Omit only for immutable/tuple-local policy or an equivalent explicit outer
|
|
328
|
+
* owner lock. Each scope must match 1..64 rows, never an absent quota row.
|
|
329
|
+
* Locks precede tuple/intent/command locks; postcondition owns changed state. */
|
|
330
|
+
readonly guards?: ReadonlyArray<OAuthRegistrationGuardDescriptor<Registration, N>>;
|
|
331
|
+
readonly admission: (input: {
|
|
332
|
+
readonly intent: OAuthRegistrationIntent;
|
|
333
|
+
readonly registration: Registration;
|
|
334
|
+
readonly nativeSubjectId?: N;
|
|
335
|
+
}) => SQL;
|
|
336
|
+
/** Evaluated after subject/application writes, including appended coordinator
|
|
337
|
+
* writes. May assert consumption of the admission invitation/quota. */
|
|
338
|
+
readonly postcondition: (input: {
|
|
339
|
+
readonly intent: OAuthRegistrationIntent;
|
|
340
|
+
readonly registration: Registration;
|
|
341
|
+
readonly nativeSubjectId?: N;
|
|
342
|
+
}) => SQL;
|
|
343
|
+
};
|
|
344
|
+
readonly allocateProvisioningIdentity: Effect.Effect<string, DrizzleMappingError>;
|
|
345
|
+
readonly retentionMillis: number;
|
|
346
|
+
}
|
|
347
|
+
interface OAuthRegistrationGuardTable<T extends Table, Registration, N> {
|
|
348
|
+
readonly table: T;
|
|
349
|
+
readonly orderBy: Column<T>;
|
|
350
|
+
readonly condition: (input: {
|
|
351
|
+
readonly intent: OAuthRegistrationIntent;
|
|
352
|
+
readonly registration: Registration;
|
|
353
|
+
readonly nativeSubjectId?: N;
|
|
354
|
+
}) => SQL;
|
|
355
|
+
}
|
|
356
|
+
interface OAuthRegistrationGuardDescriptor<Registration, N> {
|
|
357
|
+
readonly table: Table;
|
|
358
|
+
readonly orderBy: string;
|
|
359
|
+
readonly condition: OAuthRegistrationGuardTable<Table, Registration, N>["condition"];
|
|
360
|
+
}
|
|
361
|
+
declare const oauthRegistrationGuardTable: <T extends Table, Registration, N>(input: OAuthRegistrationGuardTable<T, Registration, N>) => OAuthRegistrationGuardDescriptor<Registration, N>;
|
|
362
|
+
type OAuthRegistrationMapping<Registration, S extends Table, O extends Table, C extends Table, AC extends Table, T extends Table, I extends Table, R extends Table, N> = OAuthRegistrationBase<Registration, T, O, I, R, N> & ({
|
|
363
|
+
readonly mode: "pending";
|
|
364
|
+
readonly allocatePendingReference: Effect.Effect<string, DrizzleMappingError>;
|
|
365
|
+
} | {
|
|
366
|
+
readonly mode: "atomic";
|
|
367
|
+
readonly subjectId: SubjectIdCodec<N>;
|
|
368
|
+
readonly subject: OAuthSubjectReadTable<S>;
|
|
369
|
+
readonly credential: OAuthCredentialTable<C, N>;
|
|
370
|
+
readonly authority: OAuthAuthorityTable<AC, N>;
|
|
371
|
+
readonly allocateSubjectId: Effect.Effect<N, DrizzleMappingError>;
|
|
372
|
+
readonly allocateCredentialId: Effect.Effect<string, DrizzleMappingError>;
|
|
373
|
+
readonly allocateRevision: Effect.Effect<SecurityRevision, DrizzleMappingError>;
|
|
374
|
+
readonly encodeSubjectInsert: (input: {
|
|
375
|
+
readonly intent: OAuthRegistrationIntent;
|
|
376
|
+
readonly registration: Registration;
|
|
377
|
+
}, ids: {
|
|
378
|
+
readonly subjectId: N;
|
|
379
|
+
readonly securityRevision: SecurityRevision;
|
|
380
|
+
}) => InferInsertModel<S>;
|
|
381
|
+
});
|
|
382
|
+
/** Heterogeneous descriptors are made by typed factories and projected privately. */
|
|
383
|
+
interface OAuthEligibilityDescriptor<N> {
|
|
384
|
+
readonly _tag: "OAuthEligibilityDescriptor";
|
|
385
|
+
readonly scope: string;
|
|
386
|
+
readonly table: Table;
|
|
387
|
+
readonly subjectId: string;
|
|
388
|
+
readonly credentialId: string;
|
|
389
|
+
readonly revision: string;
|
|
390
|
+
readonly condition: (subjectId: N) => SQL;
|
|
391
|
+
readonly decode: (row: unknown) => OAuthEligibilityFact | undefined;
|
|
392
|
+
}
|
|
393
|
+
declare const oauthEligibilityTable: <T extends Table, N>(input: OAuthEligibilityTable<T, N>) => OAuthEligibilityDescriptor<N>;
|
|
394
|
+
interface OAuthCleanupDescriptor<N> {
|
|
395
|
+
readonly table: Table;
|
|
396
|
+
readonly subjectId: string;
|
|
397
|
+
readonly condition: OAuthCleanupTable<Table, N>["condition"];
|
|
398
|
+
}
|
|
399
|
+
declare const oauthCleanupTable: <T extends Table, N>(input: OAuthCleanupTable<T, N>) => OAuthCleanupDescriptor<N>;
|
|
400
|
+
/** A stable application/reference lock acquired before an ownership target.
|
|
401
|
+
* Missing rows retain ownership. Conditions are synchronous and use detached
|
|
402
|
+
* native IDs; every writer of the guarded reference follows the same order. */
|
|
403
|
+
interface OAuthReferenceGuardTable<T extends Table, N> {
|
|
404
|
+
readonly table: T;
|
|
405
|
+
readonly orderBy: Column<T>;
|
|
406
|
+
readonly condition: (input: {
|
|
407
|
+
readonly identity: typeof OAuthExternalIdentity.Type;
|
|
408
|
+
readonly identityKey: string;
|
|
409
|
+
readonly subjectId: N;
|
|
410
|
+
}) => SQL;
|
|
411
|
+
}
|
|
412
|
+
interface OAuthReferenceGuardDescriptor<N> {
|
|
413
|
+
readonly table: Table;
|
|
414
|
+
readonly orderBy: string;
|
|
415
|
+
readonly condition: OAuthReferenceGuardTable<Table, N>["condition"];
|
|
416
|
+
}
|
|
417
|
+
declare const oauthReferenceGuardTable: <T extends Table, N>(input: OAuthReferenceGuardTable<T, N>) => OAuthReferenceGuardDescriptor<N>;
|
|
418
|
+
interface OAuthAccountsMapping<S extends Table, O extends Table, C extends Table, AC extends Table, F extends Table, T extends Table, U extends Table, N> {
|
|
419
|
+
readonly subject: OAuthSubjectTable<S>;
|
|
420
|
+
readonly ownership: OAuthOwnershipMutation<T, O, N>;
|
|
421
|
+
readonly credential: OAuthCredentialTable<C, N>;
|
|
422
|
+
readonly authority: OAuthAuthorityTable<AC, N>;
|
|
423
|
+
readonly flow: OAuthFlowTable<F>;
|
|
424
|
+
readonly command: OAuthUnlinkCommandTable<U>;
|
|
425
|
+
readonly subjectId: SubjectIdCodec<N>;
|
|
426
|
+
readonly clock: OAuthClock;
|
|
427
|
+
readonly constraints: typeof requiredOAuthSignInConstraints & typeof requiredOAuthAccountsConstraints;
|
|
428
|
+
readonly tupleConstraints: typeof requiredOAuthTupleConstraints;
|
|
429
|
+
readonly eligibility: ReadonlyArray<OAuthEligibilityDescriptor<N>>;
|
|
430
|
+
readonly cleanup: ReadonlyArray<OAuthCleanupDescriptor<N>>;
|
|
431
|
+
readonly metadata: OAuthMetadataPolicy<N>;
|
|
432
|
+
readonly sessionInvalidation: "same-authority-immediate" | "original-absolute-expiry";
|
|
433
|
+
/** Omit only when connected access is absent. A predicate alone conservatively
|
|
434
|
+
* retains ownership; release also needs all configured guard rows below. */
|
|
435
|
+
readonly connectedReference?: (input: {
|
|
436
|
+
readonly identityKey: string;
|
|
437
|
+
readonly subjectId: N;
|
|
438
|
+
}) => SQL;
|
|
439
|
+
/** At most 32 descriptors, each locking 1..64 stable rows in supplied order.
|
|
440
|
+
* Missing/empty guards retain Owned, even when the reference predicate is false. */
|
|
441
|
+
readonly connectedReferenceGuards?: ReadonlyArray<OAuthReferenceGuardDescriptor<N>>;
|
|
442
|
+
readonly allocateCredentialId: Effect.Effect<string, DrizzleMappingError>;
|
|
443
|
+
readonly allocateRevision: Effect.Effect<SecurityRevision, DrizzleMappingError>;
|
|
444
|
+
}
|
|
445
|
+
interface OAuthRegistrationAuthority<Registration> {
|
|
446
|
+
readonly read: (access: OAuthRegistrationAccess) => Effect.Effect<OAuthRegistrationInspection | undefined, OAuthUnavailable>;
|
|
447
|
+
readonly inspect: (input: {
|
|
448
|
+
readonly intent: OAuthRegistrationIntent;
|
|
449
|
+
readonly registration: Registration;
|
|
450
|
+
}) => Effect.Effect<{
|
|
451
|
+
readonly fingerprint: TokenDigest;
|
|
452
|
+
readonly eligible: boolean;
|
|
453
|
+
}, OAuthUnavailable>;
|
|
454
|
+
readonly register: <A>(input: {
|
|
455
|
+
readonly access: OAuthRegistrationAccess;
|
|
456
|
+
readonly intent: OAuthRegistrationIntent;
|
|
457
|
+
readonly commandId: typeof OAuthCommandId.Type;
|
|
458
|
+
readonly registration: Registration;
|
|
459
|
+
readonly fingerprint: TokenDigest;
|
|
460
|
+
}, prepare: PrepareOAuthCommit<OAuthRegistrationDecision, A>) => Effect.Effect<PreparedCommit<A>, OAuthUnavailable>;
|
|
461
|
+
readonly cleanup: <A>(input: OAuthCleanupInput, prepare: PrepareOAuthCommit<{
|
|
462
|
+
readonly removed: number;
|
|
463
|
+
readonly hasMore: boolean;
|
|
464
|
+
}, A>) => Effect.Effect<PreparedCommit<A>, OAuthUnavailable>;
|
|
465
|
+
}
|
|
466
|
+
//#endregion
|
|
467
|
+
export { 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 };
|
|
468
|
+
//# sourceMappingURL=oauth-model.d.mts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/drizzle/oauth-model.ts
|
|
2
|
+
const requiredOAuthSignInConstraints = {
|
|
3
|
+
flow: "unique(flow.moduleId,flow.flowId)",
|
|
4
|
+
command: "unique(flow.moduleId,flow.commandId)",
|
|
5
|
+
stateDigest: "unique(flow.stateDigest)",
|
|
6
|
+
ownership: "unique(ownership.identityKey)",
|
|
7
|
+
credentialId: "unique(credential.credentialId)",
|
|
8
|
+
credentialIdentity: "unique(credential.identityKey)",
|
|
9
|
+
authorityCredential: "unique(authority.subjectId,authority.credentialId)"
|
|
10
|
+
};
|
|
11
|
+
const requiredOAuthTupleConstraints = { identityKey: "unique(tuple.identityKey)" };
|
|
12
|
+
const requiredOAuthRegistrationConstraints = {
|
|
13
|
+
intentReference: "unique(intent.moduleId,intent.reference)",
|
|
14
|
+
intentFlow: "unique(intent.moduleId,intent.flowId)",
|
|
15
|
+
command: "unique(registrationCommand.moduleId,registrationCommand.commandId)"
|
|
16
|
+
};
|
|
17
|
+
const requiredOAuthAccountsConstraints = { unlinkCommand: "unique(unlinkCommand.moduleId,unlinkCommand.commandId)" };
|
|
18
|
+
const oauthRegistrationGuardTable = (input) => Object.freeze({
|
|
19
|
+
table: input.table,
|
|
20
|
+
orderBy: input.orderBy,
|
|
21
|
+
condition: input.condition
|
|
22
|
+
});
|
|
23
|
+
const oauthEligibilityTable = (input) => {
|
|
24
|
+
const { table, subjectId, credentialId, revision, scope, condition, decode } = input;
|
|
25
|
+
return Object.freeze({
|
|
26
|
+
_tag: "OAuthEligibilityDescriptor",
|
|
27
|
+
table,
|
|
28
|
+
subjectId,
|
|
29
|
+
credentialId,
|
|
30
|
+
revision,
|
|
31
|
+
scope,
|
|
32
|
+
condition,
|
|
33
|
+
decode: (row) => decode(row)
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const oauthCleanupTable = (input) => Object.freeze({
|
|
37
|
+
table: input.table,
|
|
38
|
+
subjectId: input.subjectId,
|
|
39
|
+
condition: input.condition
|
|
40
|
+
});
|
|
41
|
+
const oauthReferenceGuardTable = (input) => Object.freeze({
|
|
42
|
+
table: input.table,
|
|
43
|
+
orderBy: input.orderBy,
|
|
44
|
+
condition: input.condition
|
|
45
|
+
});
|
|
46
|
+
//#endregion
|
|
47
|
+
export { oauthCleanupTable, oauthEligibilityTable, oauthReferenceGuardTable, oauthRegistrationGuardTable, requiredOAuthAccountsConstraints, requiredOAuthRegistrationConstraints, requiredOAuthSignInConstraints, requiredOAuthTupleConstraints };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=oauth-model.mjs.map
|