@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,152 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
//#region src/oauth/registrationModels.d.ts
|
|
3
|
+
declare const OAuthRegistrationFingerprint: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
4
|
+
declare const OAuthRegistrationBearerDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
5
|
+
declare const OAuthRegistrationReference: Schema.brand<Schema.String, "effect-auth/OAuthRegistrationReference">;
|
|
6
|
+
type OAuthRegistrationReference = typeof OAuthRegistrationReference.Type;
|
|
7
|
+
declare const OAuthRegistrationCredential: Schema.RedactedFromValue<Schema.String>;
|
|
8
|
+
declare const OAuthRegistrationPolicy: Schema.Struct<{
|
|
9
|
+
readonly lifetimeMillis: Schema.Int;
|
|
10
|
+
readonly maximumVerificationAgeMillis: Schema.Int;
|
|
11
|
+
readonly retentionMillis: Schema.Int;
|
|
12
|
+
}>;
|
|
13
|
+
type OAuthRegistrationPolicy = typeof OAuthRegistrationPolicy.Type;
|
|
14
|
+
/** Immutable restricted capability. Application data is first bound by register,
|
|
15
|
+
* never by the OAuth callback; this record contains no plaintext bearer or tokens. */
|
|
16
|
+
declare const OAuthRegistrationIntent: Schema.Struct<{
|
|
17
|
+
readonly namespace: Schema.Literal<"effect-auth/oauth-registration-intent/v1">;
|
|
18
|
+
readonly reference: Schema.brand<Schema.String, "effect-auth/OAuthRegistrationReference">;
|
|
19
|
+
readonly context: Schema.Struct<{
|
|
20
|
+
readonly provider: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
21
|
+
readonly protocol: Schema.Literals<readonly ["oidc", "oauth"]>;
|
|
22
|
+
readonly configurationGeneration: Schema.Int;
|
|
23
|
+
readonly issuer: Schema.brand<Schema.String, "effect-auth/OAuthIssuer">;
|
|
24
|
+
readonly responseIssuerMode: Schema.Literals<readonly ["required", "unsupported"]>;
|
|
25
|
+
readonly callbackId: Schema.brand<Schema.String, "effect-auth/OAuthCallbackId">;
|
|
26
|
+
readonly redirectUri: Schema.brand<Schema.String, "effect-auth/OAuthRedirectUri">;
|
|
27
|
+
readonly namespace: Schema.Literal<"effect-auth/oauth-sign-in-context/v1">;
|
|
28
|
+
readonly moduleId: Schema.brand<Schema.String, "effect-auth/OAuthModuleId">;
|
|
29
|
+
readonly generation: Schema.Int;
|
|
30
|
+
readonly flowId: Schema.brand<Schema.String, "effect-auth/RequestBindingFlowId">;
|
|
31
|
+
readonly commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
32
|
+
readonly returnTarget: Schema.brand<Schema.String, "effect-auth/OAuthReturnTarget">;
|
|
33
|
+
readonly stateDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
34
|
+
readonly requestBindingVerifier: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
35
|
+
readonly requestBindingExpiresAtMillis: Schema.Int;
|
|
36
|
+
readonly issuedAtMillis: Schema.Int;
|
|
37
|
+
readonly expiresAtMillis: Schema.Int;
|
|
38
|
+
readonly claimLifetimeMillis: Schema.Int;
|
|
39
|
+
}>;
|
|
40
|
+
readonly claimId: Schema.brand<Schema.String, "effect-auth/OAuthClaimId">;
|
|
41
|
+
readonly claimedAtMillis: Schema.Int;
|
|
42
|
+
readonly identity: Schema.Struct<{
|
|
43
|
+
readonly provider: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
44
|
+
readonly issuer: Schema.brand<Schema.String, "effect-auth/OAuthIssuer">;
|
|
45
|
+
readonly subject: Schema.NonEmptyString;
|
|
46
|
+
}>;
|
|
47
|
+
readonly verifiedAtMillis: Schema.Int;
|
|
48
|
+
readonly credentialDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
49
|
+
readonly issuedAtMillis: Schema.Int;
|
|
50
|
+
readonly expiresAtMillis: Schema.Int;
|
|
51
|
+
readonly retentionUntilMillis: Schema.Int;
|
|
52
|
+
}>;
|
|
53
|
+
type OAuthRegistrationIntent = typeof OAuthRegistrationIntent.Type;
|
|
54
|
+
declare const OAuthRegistrationRequired: Schema.TaggedStruct<"RegistrationRequired", {
|
|
55
|
+
readonly reference: Schema.brand<Schema.String, "effect-auth/OAuthRegistrationReference">;
|
|
56
|
+
readonly expiresAtMillis: Schema.Int;
|
|
57
|
+
readonly returnTarget: Schema.brand<Schema.String, "effect-auth/OAuthReturnTarget">;
|
|
58
|
+
}>;
|
|
59
|
+
declare const OAuthRegistrationAccess: Schema.Struct<{
|
|
60
|
+
readonly moduleId: Schema.brand<Schema.String, "effect-auth/OAuthModuleId">;
|
|
61
|
+
readonly reference: Schema.brand<Schema.String, "effect-auth/OAuthRegistrationReference">;
|
|
62
|
+
readonly flowId: Schema.brand<Schema.String, "effect-auth/RequestBindingFlowId">;
|
|
63
|
+
readonly requestBindingVerifier: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
64
|
+
readonly requestBindingExpiresAtMillis: Schema.Int;
|
|
65
|
+
readonly credentialDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
66
|
+
readonly nowMillis: Schema.Int;
|
|
67
|
+
}>;
|
|
68
|
+
type OAuthRegistrationAccess = typeof OAuthRegistrationAccess.Type;
|
|
69
|
+
declare const OAuthRegistrationPrivateInput: Schema.Struct<{
|
|
70
|
+
readonly reference: Schema.brand<Schema.String, "effect-auth/OAuthRegistrationReference">;
|
|
71
|
+
readonly flowId: Schema.brand<Schema.String, "effect-auth/RequestBindingFlowId">;
|
|
72
|
+
readonly requestBinding: Schema.RedactedFromValue<Schema.String>;
|
|
73
|
+
readonly credential: Schema.RedactedFromValue<Schema.String>;
|
|
74
|
+
readonly commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
75
|
+
}>;
|
|
76
|
+
/** A first accepted command atomically reaches one bound outcome. There is no
|
|
77
|
+
* resettable intermediate state that permits a second provisioning attempt. */
|
|
78
|
+
declare const OAuthRegistrationApplication: Schema.Union<readonly [Schema.TaggedStruct<"Unbound", {}>, Schema.TaggedStruct<"Registered", {
|
|
79
|
+
commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
80
|
+
fingerprint: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
81
|
+
}>, Schema.TaggedStruct<"ProvisioningPending", {
|
|
82
|
+
readonly commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
83
|
+
readonly fingerprint: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
84
|
+
readonly reference: Schema.String;
|
|
85
|
+
}>, Schema.TaggedStruct<"Rejected", {
|
|
86
|
+
commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
87
|
+
fingerprint: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
88
|
+
}>]>;
|
|
89
|
+
declare const OAuthRegistrationInspection: Schema.Struct<{
|
|
90
|
+
readonly intent: Schema.Struct<{
|
|
91
|
+
readonly namespace: Schema.Literal<"effect-auth/oauth-registration-intent/v1">;
|
|
92
|
+
readonly reference: Schema.brand<Schema.String, "effect-auth/OAuthRegistrationReference">;
|
|
93
|
+
readonly context: Schema.Struct<{
|
|
94
|
+
readonly provider: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
95
|
+
readonly protocol: Schema.Literals<readonly ["oidc", "oauth"]>;
|
|
96
|
+
readonly configurationGeneration: Schema.Int;
|
|
97
|
+
readonly issuer: Schema.brand<Schema.String, "effect-auth/OAuthIssuer">;
|
|
98
|
+
readonly responseIssuerMode: Schema.Literals<readonly ["required", "unsupported"]>;
|
|
99
|
+
readonly callbackId: Schema.brand<Schema.String, "effect-auth/OAuthCallbackId">;
|
|
100
|
+
readonly redirectUri: Schema.brand<Schema.String, "effect-auth/OAuthRedirectUri">;
|
|
101
|
+
readonly namespace: Schema.Literal<"effect-auth/oauth-sign-in-context/v1">;
|
|
102
|
+
readonly moduleId: Schema.brand<Schema.String, "effect-auth/OAuthModuleId">;
|
|
103
|
+
readonly generation: Schema.Int;
|
|
104
|
+
readonly flowId: Schema.brand<Schema.String, "effect-auth/RequestBindingFlowId">;
|
|
105
|
+
readonly commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
106
|
+
readonly returnTarget: Schema.brand<Schema.String, "effect-auth/OAuthReturnTarget">;
|
|
107
|
+
readonly stateDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
108
|
+
readonly requestBindingVerifier: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
109
|
+
readonly requestBindingExpiresAtMillis: Schema.Int;
|
|
110
|
+
readonly issuedAtMillis: Schema.Int;
|
|
111
|
+
readonly expiresAtMillis: Schema.Int;
|
|
112
|
+
readonly claimLifetimeMillis: Schema.Int;
|
|
113
|
+
}>;
|
|
114
|
+
readonly claimId: Schema.brand<Schema.String, "effect-auth/OAuthClaimId">;
|
|
115
|
+
readonly claimedAtMillis: Schema.Int;
|
|
116
|
+
readonly identity: Schema.Struct<{
|
|
117
|
+
readonly provider: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
118
|
+
readonly issuer: Schema.brand<Schema.String, "effect-auth/OAuthIssuer">;
|
|
119
|
+
readonly subject: Schema.NonEmptyString;
|
|
120
|
+
}>;
|
|
121
|
+
readonly verifiedAtMillis: Schema.Int;
|
|
122
|
+
readonly credentialDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
123
|
+
readonly issuedAtMillis: Schema.Int;
|
|
124
|
+
readonly expiresAtMillis: Schema.Int;
|
|
125
|
+
readonly retentionUntilMillis: Schema.Int;
|
|
126
|
+
}>;
|
|
127
|
+
readonly application: Schema.Union<readonly [Schema.TaggedStruct<"Unbound", {}>, Schema.TaggedStruct<"Registered", {
|
|
128
|
+
commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
129
|
+
fingerprint: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
130
|
+
}>, Schema.TaggedStruct<"ProvisioningPending", {
|
|
131
|
+
readonly commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
132
|
+
readonly fingerprint: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
133
|
+
readonly reference: Schema.String;
|
|
134
|
+
}>, Schema.TaggedStruct<"Rejected", {
|
|
135
|
+
commandId: Schema.brand<Schema.String, "effect-auth/OAuthCommandId">;
|
|
136
|
+
fingerprint: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
137
|
+
}>]>;
|
|
138
|
+
}>;
|
|
139
|
+
type OAuthRegistrationInspection = typeof OAuthRegistrationInspection.Type;
|
|
140
|
+
declare const OAuthRegistrationDecision: Schema.Union<readonly [Schema.TaggedStruct<"Registered", {
|
|
141
|
+
readonly replayed: Schema.Boolean;
|
|
142
|
+
}>, Schema.TaggedStruct<"ProvisioningPending", {
|
|
143
|
+
readonly reference: Schema.String;
|
|
144
|
+
readonly replayed: Schema.Boolean;
|
|
145
|
+
}>, Schema.TaggedStruct<"Rejected", {}>, Schema.TaggedStruct<"Conflict", {}>]>;
|
|
146
|
+
type OAuthRegistrationDecision = typeof OAuthRegistrationDecision.Type;
|
|
147
|
+
declare const OAuthRegistrationResult: Schema.Union<readonly [Schema.TaggedStruct<"RegistrationAccepted", {}>, Schema.TaggedStruct<"ProvisioningPending", {
|
|
148
|
+
readonly reference: Schema.String;
|
|
149
|
+
}>]>;
|
|
150
|
+
//#endregion
|
|
151
|
+
export { OAuthRegistrationAccess, OAuthRegistrationApplication, OAuthRegistrationBearerDigest, OAuthRegistrationCredential, OAuthRegistrationDecision, OAuthRegistrationFingerprint, OAuthRegistrationInspection, OAuthRegistrationIntent, OAuthRegistrationPolicy, OAuthRegistrationPrivateInput, OAuthRegistrationReference, OAuthRegistrationRequired, OAuthRegistrationResult };
|
|
152
|
+
//# sourceMappingURL=registrationModels.d.mts.map
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { TokenDigest } from "../Schema.mjs";
|
|
2
|
+
import { RequestBindingCredential, RequestBindingFlowId } from "../operations/requestBindingModels.mjs";
|
|
3
|
+
import { OAuthClaimId, OAuthCommandId, OAuthExternalIdentity, OAuthInstant, OAuthModuleId, OAuthSignInTransactionContext } from "./signInModels.mjs";
|
|
4
|
+
import { Schema } from "effect";
|
|
5
|
+
//#region src/oauth/registrationModels.ts
|
|
6
|
+
const OAuthRegistrationFingerprint = TokenDigest.check(Schema.isMaxLength(256));
|
|
7
|
+
const OAuthRegistrationBearerDigest = TokenDigest.check(Schema.isPattern(/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/));
|
|
8
|
+
const OAuthRegistrationReference = Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_-]{43}$/)).pipe(Schema.brand("effect-auth/OAuthRegistrationReference"));
|
|
9
|
+
const OAuthRegistrationCredential = Schema.RedactedFromValue(Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_-]{43}$/)));
|
|
10
|
+
const OAuthRegistrationPolicy = Schema.Struct({
|
|
11
|
+
lifetimeMillis: Schema.Int.check(Schema.isBetween({
|
|
12
|
+
minimum: 1e3,
|
|
13
|
+
maximum: 18e5
|
|
14
|
+
})),
|
|
15
|
+
maximumVerificationAgeMillis: Schema.Int.check(Schema.isBetween({
|
|
16
|
+
minimum: 1e3,
|
|
17
|
+
maximum: 18e5
|
|
18
|
+
})),
|
|
19
|
+
retentionMillis: Schema.Int.check(Schema.isBetween({
|
|
20
|
+
minimum: 12e4,
|
|
21
|
+
maximum: 2592e6
|
|
22
|
+
}))
|
|
23
|
+
});
|
|
24
|
+
/** Immutable restricted capability. Application data is first bound by register,
|
|
25
|
+
* never by the OAuth callback; this record contains no plaintext bearer or tokens. */
|
|
26
|
+
const OAuthRegistrationIntent = Schema.Struct({
|
|
27
|
+
namespace: Schema.Literal("effect-auth/oauth-registration-intent/v1"),
|
|
28
|
+
reference: OAuthRegistrationReference,
|
|
29
|
+
context: OAuthSignInTransactionContext,
|
|
30
|
+
claimId: OAuthClaimId,
|
|
31
|
+
claimedAtMillis: OAuthInstant,
|
|
32
|
+
identity: OAuthExternalIdentity,
|
|
33
|
+
verifiedAtMillis: OAuthInstant,
|
|
34
|
+
credentialDigest: OAuthRegistrationBearerDigest,
|
|
35
|
+
issuedAtMillis: OAuthInstant,
|
|
36
|
+
expiresAtMillis: OAuthInstant,
|
|
37
|
+
retentionUntilMillis: OAuthInstant
|
|
38
|
+
});
|
|
39
|
+
const OAuthRegistrationRequired = Schema.TaggedStruct("RegistrationRequired", {
|
|
40
|
+
reference: OAuthRegistrationReference,
|
|
41
|
+
expiresAtMillis: OAuthInstant,
|
|
42
|
+
returnTarget: OAuthSignInTransactionContext.fields.returnTarget
|
|
43
|
+
});
|
|
44
|
+
const OAuthRegistrationAccess = Schema.Struct({
|
|
45
|
+
moduleId: OAuthModuleId,
|
|
46
|
+
reference: OAuthRegistrationReference,
|
|
47
|
+
flowId: RequestBindingFlowId,
|
|
48
|
+
requestBindingVerifier: OAuthSignInTransactionContext.fields.requestBindingVerifier,
|
|
49
|
+
requestBindingExpiresAtMillis: OAuthInstant,
|
|
50
|
+
credentialDigest: OAuthRegistrationBearerDigest,
|
|
51
|
+
nowMillis: OAuthInstant
|
|
52
|
+
});
|
|
53
|
+
const OAuthRegistrationPrivateInput = Schema.Struct({
|
|
54
|
+
reference: OAuthRegistrationReference,
|
|
55
|
+
flowId: RequestBindingFlowId,
|
|
56
|
+
requestBinding: RequestBindingCredential,
|
|
57
|
+
credential: OAuthRegistrationCredential,
|
|
58
|
+
commandId: OAuthCommandId
|
|
59
|
+
});
|
|
60
|
+
const applicationBinding = {
|
|
61
|
+
commandId: OAuthCommandId,
|
|
62
|
+
fingerprint: OAuthRegistrationFingerprint
|
|
63
|
+
};
|
|
64
|
+
const recovery = Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(256));
|
|
65
|
+
/** A first accepted command atomically reaches one bound outcome. There is no
|
|
66
|
+
* resettable intermediate state that permits a second provisioning attempt. */
|
|
67
|
+
const OAuthRegistrationApplication = Schema.Union([
|
|
68
|
+
Schema.TaggedStruct("Unbound", {}),
|
|
69
|
+
Schema.TaggedStruct("Registered", applicationBinding),
|
|
70
|
+
Schema.TaggedStruct("ProvisioningPending", {
|
|
71
|
+
...applicationBinding,
|
|
72
|
+
reference: recovery
|
|
73
|
+
}),
|
|
74
|
+
Schema.TaggedStruct("Rejected", applicationBinding)
|
|
75
|
+
]);
|
|
76
|
+
const OAuthRegistrationInspection = Schema.Struct({
|
|
77
|
+
intent: OAuthRegistrationIntent,
|
|
78
|
+
application: OAuthRegistrationApplication
|
|
79
|
+
});
|
|
80
|
+
const OAuthRegistrationDecision = Schema.Union([
|
|
81
|
+
Schema.TaggedStruct("Registered", { replayed: Schema.Boolean }),
|
|
82
|
+
Schema.TaggedStruct("ProvisioningPending", {
|
|
83
|
+
reference: recovery,
|
|
84
|
+
replayed: Schema.Boolean
|
|
85
|
+
}),
|
|
86
|
+
Schema.TaggedStruct("Rejected", {}),
|
|
87
|
+
Schema.TaggedStruct("Conflict", {})
|
|
88
|
+
]);
|
|
89
|
+
const OAuthRegistrationResult = Schema.Union([Schema.TaggedStruct("RegistrationAccepted", {}), Schema.TaggedStruct("ProvisioningPending", { reference: recovery })]);
|
|
90
|
+
//#endregion
|
|
91
|
+
export { OAuthRegistrationAccess, OAuthRegistrationApplication, OAuthRegistrationBearerDigest, OAuthRegistrationCredential, OAuthRegistrationDecision, OAuthRegistrationFingerprint, OAuthRegistrationInspection, OAuthRegistrationIntent, OAuthRegistrationPolicy, OAuthRegistrationPrivateInput, OAuthRegistrationReference, OAuthRegistrationRequired, OAuthRegistrationResult };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=registrationModels.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registrationModels.mjs","names":[],"sources":["../../src/oauth/registrationModels.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nimport { RequestBindingCredential, RequestBindingFlowId } from \"../operations/requestBinding\";\nimport { TokenDigest } from \"../Schema\";\nimport {\n OAuthClaimId,\n OAuthCommandId,\n OAuthExternalIdentity,\n OAuthInstant,\n OAuthModuleId,\n OAuthSignInTransactionContext,\n} from \"./signInModels\";\n\nexport const OAuthRegistrationFingerprint = TokenDigest.check(Schema.isMaxLength(256));\n\nexport const OAuthRegistrationBearerDigest = TokenDigest.check(\n Schema.isPattern(/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/),\n);\n\nexport const OAuthRegistrationReference = Schema.String.check(\n Schema.isPattern(/^[A-Za-z0-9_-]{43}$/),\n).pipe(Schema.brand(\"effect-auth/OAuthRegistrationReference\"));\n\nexport type OAuthRegistrationReference = typeof OAuthRegistrationReference.Type;\n\nexport const OAuthRegistrationCredential = Schema.RedactedFromValue(\n Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_-]{43}$/)),\n);\n\nexport const OAuthRegistrationPolicy = Schema.Struct({\n lifetimeMillis: Schema.Int.check(Schema.isBetween({ minimum: 1000, maximum: 1800000 })),\n maximumVerificationAgeMillis: Schema.Int.check(\n Schema.isBetween({ minimum: 1000, maximum: 1800000 }),\n ),\n retentionMillis: Schema.Int.check(Schema.isBetween({ minimum: 120000, maximum: 2592000000 })),\n});\n\nexport type OAuthRegistrationPolicy = typeof OAuthRegistrationPolicy.Type;\n\n/** Immutable restricted capability. Application data is first bound by register,\n * never by the OAuth callback; this record contains no plaintext bearer or tokens. */\nexport const OAuthRegistrationIntent = Schema.Struct({\n namespace: Schema.Literal(\"effect-auth/oauth-registration-intent/v1\"),\n reference: OAuthRegistrationReference,\n context: OAuthSignInTransactionContext,\n claimId: OAuthClaimId,\n claimedAtMillis: OAuthInstant,\n identity: OAuthExternalIdentity,\n verifiedAtMillis: OAuthInstant,\n credentialDigest: OAuthRegistrationBearerDigest,\n issuedAtMillis: OAuthInstant,\n expiresAtMillis: OAuthInstant,\n retentionUntilMillis: OAuthInstant,\n});\n\nexport type OAuthRegistrationIntent = typeof OAuthRegistrationIntent.Type;\n\nexport const OAuthRegistrationRequired = Schema.TaggedStruct(\"RegistrationRequired\", {\n reference: OAuthRegistrationReference,\n expiresAtMillis: OAuthInstant,\n returnTarget: OAuthSignInTransactionContext.fields.returnTarget,\n});\n\nexport const OAuthRegistrationAccess = Schema.Struct({\n moduleId: OAuthModuleId,\n reference: OAuthRegistrationReference,\n flowId: RequestBindingFlowId,\n requestBindingVerifier: OAuthSignInTransactionContext.fields.requestBindingVerifier,\n requestBindingExpiresAtMillis: OAuthInstant,\n credentialDigest: OAuthRegistrationBearerDigest,\n nowMillis: OAuthInstant,\n});\n\nexport type OAuthRegistrationAccess = typeof OAuthRegistrationAccess.Type;\n\nexport const OAuthRegistrationPrivateInput = Schema.Struct({\n reference: OAuthRegistrationReference,\n flowId: RequestBindingFlowId,\n requestBinding: RequestBindingCredential,\n credential: OAuthRegistrationCredential,\n commandId: OAuthCommandId,\n});\n\nconst applicationBinding = { commandId: OAuthCommandId, fingerprint: OAuthRegistrationFingerprint };\nconst recovery = Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(256));\n\n/** A first accepted command atomically reaches one bound outcome. There is no\n * resettable intermediate state that permits a second provisioning attempt. */\nexport const OAuthRegistrationApplication = Schema.Union([\n Schema.TaggedStruct(\"Unbound\", {}),\n Schema.TaggedStruct(\"Registered\", applicationBinding),\n Schema.TaggedStruct(\"ProvisioningPending\", { ...applicationBinding, reference: recovery }),\n Schema.TaggedStruct(\"Rejected\", applicationBinding),\n]);\n\nexport const OAuthRegistrationInspection = Schema.Struct({\n intent: OAuthRegistrationIntent,\n application: OAuthRegistrationApplication,\n});\n\nexport type OAuthRegistrationInspection = typeof OAuthRegistrationInspection.Type;\n\nexport const OAuthRegistrationDecision = Schema.Union([\n Schema.TaggedStruct(\"Registered\", { replayed: Schema.Boolean }),\n Schema.TaggedStruct(\"ProvisioningPending\", { reference: recovery, replayed: Schema.Boolean }),\n Schema.TaggedStruct(\"Rejected\", {}),\n Schema.TaggedStruct(\"Conflict\", {}),\n]);\n\nexport type OAuthRegistrationDecision = typeof OAuthRegistrationDecision.Type;\n\nexport const OAuthRegistrationResult = Schema.Union([\n Schema.TaggedStruct(\"RegistrationAccepted\", {}),\n Schema.TaggedStruct(\"ProvisioningPending\", { reference: recovery }),\n]);\n"],"mappings":";;;;;AAaA,MAAa,+BAA+B,YAAY,MAAM,OAAO,YAAY,GAAG,CAAC;AAErF,MAAa,gCAAgC,YAAY,MACvD,OAAO,UAAU,uCAAuC,CAC1D;AAEA,MAAa,6BAA6B,OAAO,OAAO,MACtD,OAAO,UAAU,qBAAqB,CACxC,CAAC,CAAC,KAAK,OAAO,MAAM,wCAAwC,CAAC;AAI7D,MAAa,8BAA8B,OAAO,kBAChD,OAAO,OAAO,MAAM,OAAO,UAAU,qBAAqB,CAAC,CAC7D;AAEA,MAAa,0BAA0B,OAAO,OAAO;CACnD,gBAAgB,OAAO,IAAI,MAAM,OAAO,UAAU;EAAE,SAAS;EAAM,SAAS;CAAQ,CAAC,CAAC;CACtF,8BAA8B,OAAO,IAAI,MACvC,OAAO,UAAU;EAAE,SAAS;EAAM,SAAS;CAAQ,CAAC,CACtD;CACA,iBAAiB,OAAO,IAAI,MAAM,OAAO,UAAU;EAAE,SAAS;EAAQ,SAAS;CAAW,CAAC,CAAC;AAC9F,CAAC;;;AAMD,MAAa,0BAA0B,OAAO,OAAO;CACnD,WAAW,OAAO,QAAQ,0CAA0C;CACpE,WAAW;CACX,SAAS;CACT,SAAS;CACT,iBAAiB;CACjB,UAAU;CACV,kBAAkB;CAClB,kBAAkB;CAClB,gBAAgB;CAChB,iBAAiB;CACjB,sBAAsB;AACxB,CAAC;AAID,MAAa,4BAA4B,OAAO,aAAa,wBAAwB;CACnF,WAAW;CACX,iBAAiB;CACjB,cAAc,8BAA8B,OAAO;AACrD,CAAC;AAED,MAAa,0BAA0B,OAAO,OAAO;CACnD,UAAU;CACV,WAAW;CACX,QAAQ;CACR,wBAAwB,8BAA8B,OAAO;CAC7D,+BAA+B;CAC/B,kBAAkB;CAClB,WAAW;AACb,CAAC;AAID,MAAa,gCAAgC,OAAO,OAAO;CACzD,WAAW;CACX,QAAQ;CACR,gBAAgB;CAChB,YAAY;CACZ,WAAW;AACb,CAAC;AAED,MAAM,qBAAqB;CAAE,WAAW;CAAgB,aAAa;AAA6B;AAClG,MAAM,WAAW,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,GAAG,OAAO,YAAY,GAAG,CAAC;;;AAInF,MAAa,+BAA+B,OAAO,MAAM;CACvD,OAAO,aAAa,WAAW,CAAC,CAAC;CACjC,OAAO,aAAa,cAAc,kBAAkB;CACpD,OAAO,aAAa,uBAAuB;EAAE,GAAG;EAAoB,WAAW;CAAS,CAAC;CACzF,OAAO,aAAa,YAAY,kBAAkB;AACpD,CAAC;AAED,MAAa,8BAA8B,OAAO,OAAO;CACvD,QAAQ;CACR,aAAa;AACf,CAAC;AAID,MAAa,4BAA4B,OAAO,MAAM;CACpD,OAAO,aAAa,cAAc,EAAE,UAAU,OAAO,QAAQ,CAAC;CAC9D,OAAO,aAAa,uBAAuB;EAAE,WAAW;EAAU,UAAU,OAAO;CAAQ,CAAC;CAC5F,OAAO,aAAa,YAAY,CAAC,CAAC;CAClC,OAAO,aAAa,YAAY,CAAC,CAAC;AACpC,CAAC;AAID,MAAa,0BAA0B,OAAO,MAAM,CAClD,OAAO,aAAa,wBAAwB,CAAC,CAAC,GAC9C,OAAO,aAAa,uBAAuB,EAAE,WAAW,SAAS,CAAC,CACpE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { TokenDigest } from "../Schema.mjs";
|
|
2
|
+
import { OAuthRegistrationIntent, OAuthRegistrationReference } from "./registrationModels.mjs";
|
|
3
|
+
import { OAuthRejected, OAuthUnavailable } from "./signInErrors.mjs";
|
|
4
|
+
import { snapshotOAuthSync } from "./signInSnapshot.mjs";
|
|
5
|
+
import { Crypto, DateTime, Effect, Encoding, Redacted, Result, Schema } from "effect";
|
|
6
|
+
//#region src/oauth/registrationSecrets.ts
|
|
7
|
+
const tuple = Schema.fromJsonString(Schema.Tuple([
|
|
8
|
+
Schema.Literal("effect-auth/oauth-registration-bearer/v1"),
|
|
9
|
+
OAuthRegistrationIntent.fields.context.fields.moduleId,
|
|
10
|
+
OAuthRegistrationReference,
|
|
11
|
+
OAuthRegistrationIntent.fields.context.fields.flowId,
|
|
12
|
+
Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_-]{43}$/))
|
|
13
|
+
]));
|
|
14
|
+
const credentialDigest = Effect.fn("OAuthRegistration.credentialDigest")(function* (moduleId, reference, flowId, credential) {
|
|
15
|
+
const { digest } = yield* Crypto.Crypto;
|
|
16
|
+
const raw = Redacted.value(credential);
|
|
17
|
+
if (!Schema.is(Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_-]{43}$/)))(raw)) return yield* OAuthRejected.make({});
|
|
18
|
+
const bytes = Result.getOrUndefined(Encoding.decodeBase64Url(raw));
|
|
19
|
+
if (raw.length !== 43 || bytes === void 0 || bytes.length !== 32 || Encoding.encodeBase64Url(bytes) !== raw) {
|
|
20
|
+
bytes?.fill(0);
|
|
21
|
+
return yield* OAuthRejected.make({});
|
|
22
|
+
}
|
|
23
|
+
bytes.fill(0);
|
|
24
|
+
const encoded = yield* Schema.encodeEffect(tuple)([
|
|
25
|
+
"effect-auth/oauth-registration-bearer/v1",
|
|
26
|
+
moduleId,
|
|
27
|
+
reference,
|
|
28
|
+
flowId,
|
|
29
|
+
raw
|
|
30
|
+
]).pipe(Effect.mapError(() => OAuthRejected.make({})));
|
|
31
|
+
const value = yield* digest("SHA-256", new TextEncoder().encode(encoded)).pipe(Effect.mapError(() => OAuthUnavailable.make({})));
|
|
32
|
+
return TokenDigest.make(Encoding.encodeBase64Url(value));
|
|
33
|
+
});
|
|
34
|
+
const prepare = Effect.fn("OAuthRegistration.prepareIntent")(function* (claim, identity, verifiedAtMillis, policy) {
|
|
35
|
+
const { randomBytes } = yield* Crypto.Crypto;
|
|
36
|
+
const now = DateTime.toEpochMillis(yield* DateTime.now);
|
|
37
|
+
const expiresAtMillis = Math.min(now + policy.lifetimeMillis, claim.flow.context.requestBindingExpiresAtMillis, verifiedAtMillis + policy.maximumVerificationAgeMillis);
|
|
38
|
+
if (expiresAtMillis <= now) return void 0;
|
|
39
|
+
const referenceBytes = yield* randomBytes(32).pipe(Effect.mapError(() => OAuthUnavailable.make({})));
|
|
40
|
+
const reference = OAuthRegistrationReference.make(Encoding.encodeBase64Url(referenceBytes));
|
|
41
|
+
referenceBytes.fill(0);
|
|
42
|
+
const credentialBytes = yield* randomBytes(32).pipe(Effect.mapError(() => OAuthUnavailable.make({})));
|
|
43
|
+
const credential = Redacted.make(Encoding.encodeBase64Url(credentialBytes));
|
|
44
|
+
credentialBytes.fill(0);
|
|
45
|
+
return {
|
|
46
|
+
intent: snapshotOAuthSync(OAuthRegistrationIntent, {
|
|
47
|
+
namespace: "effect-auth/oauth-registration-intent/v1",
|
|
48
|
+
reference,
|
|
49
|
+
context: claim.flow.context,
|
|
50
|
+
claimId: claim.claimId,
|
|
51
|
+
claimedAtMillis: claim.claimedAtMillis,
|
|
52
|
+
identity: identity.identity,
|
|
53
|
+
verifiedAtMillis,
|
|
54
|
+
credentialDigest: yield* credentialDigest(claim.flow.context.moduleId, reference, claim.flow.context.flowId, credential),
|
|
55
|
+
issuedAtMillis: now,
|
|
56
|
+
expiresAtMillis,
|
|
57
|
+
retentionUntilMillis: Math.max(claim.flow.retentionUntilMillis, expiresAtMillis + policy.retentionMillis)
|
|
58
|
+
}),
|
|
59
|
+
command: Object.freeze({
|
|
60
|
+
_tag: "Issue",
|
|
61
|
+
slot: "registration",
|
|
62
|
+
credential,
|
|
63
|
+
expiresAtMillis
|
|
64
|
+
})
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
//#endregion
|
|
68
|
+
export { credentialDigest, prepare };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=registrationSecrets.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registrationSecrets.mjs","names":[],"sources":["../../src/oauth/registrationSecrets.ts"],"sourcesContent":["import { Crypto, DateTime, Effect, Encoding, Redacted, Result, Schema } from \"effect\";\n\nimport { TokenDigest } from \"../Schema\";\nimport {\n OAuthRegistrationIntent,\n OAuthRegistrationReference,\n type OAuthRegistrationPolicy,\n} from \"./registrationModels\";\nimport { OAuthRejected, OAuthUnavailable } from \"./signInErrors\";\nimport type { OAuthClaim, OAuthVerifiedExternalIdentity } from \"./signInModels\";\nimport { snapshotOAuthSync } from \"./signInSnapshot\";\n\nconst tuple = Schema.fromJsonString(\n Schema.Tuple([\n Schema.Literal(\"effect-auth/oauth-registration-bearer/v1\"),\n OAuthRegistrationIntent.fields.context.fields.moduleId,\n OAuthRegistrationReference,\n OAuthRegistrationIntent.fields.context.fields.flowId,\n Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_-]{43}$/)),\n ]),\n);\n\nexport const credentialDigest = Effect.fn(\"OAuthRegistration.credentialDigest\")(function* (\n moduleId: typeof OAuthRegistrationIntent.Type.context.moduleId,\n reference: OAuthRegistrationReference,\n flowId: typeof OAuthRegistrationIntent.Type.context.flowId,\n credential: Redacted.Redacted<string>,\n) {\n const { digest } = yield* Crypto.Crypto;\n const raw = Redacted.value(credential);\n\n if (!Schema.is(Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_-]{43}$/)))(raw))\n return yield* OAuthRejected.make({});\n const bytes = Result.getOrUndefined(Encoding.decodeBase64Url(raw));\n\n if (\n raw.length !== 43 ||\n bytes === undefined ||\n bytes.length !== 32 ||\n Encoding.encodeBase64Url(bytes) !== raw\n ) {\n bytes?.fill(0);\n\n return yield* OAuthRejected.make({});\n }\n bytes.fill(0);\n\n const encoded = yield* Schema.encodeEffect(tuple)([\n \"effect-auth/oauth-registration-bearer/v1\",\n moduleId,\n reference,\n flowId,\n raw,\n ]).pipe(Effect.mapError(() => OAuthRejected.make({})));\n\n const value = yield* digest(\"SHA-256\", new TextEncoder().encode(encoded)).pipe(\n Effect.mapError(() => OAuthUnavailable.make({})),\n );\n\n return TokenDigest.make(Encoding.encodeBase64Url(value));\n});\n\nexport const prepare = Effect.fn(\"OAuthRegistration.prepareIntent\")(function* (\n claim: OAuthClaim,\n identity: OAuthVerifiedExternalIdentity,\n verifiedAtMillis: number,\n policy: OAuthRegistrationPolicy,\n) {\n const { randomBytes } = yield* Crypto.Crypto;\n const now = DateTime.toEpochMillis(yield* DateTime.now);\n\n const expiresAtMillis = Math.min(\n now + policy.lifetimeMillis,\n claim.flow.context.requestBindingExpiresAtMillis,\n verifiedAtMillis + policy.maximumVerificationAgeMillis,\n );\n\n if (expiresAtMillis <= now) return undefined;\n\n const referenceBytes = yield* randomBytes(32).pipe(\n Effect.mapError(() => OAuthUnavailable.make({})),\n );\n\n const reference = OAuthRegistrationReference.make(Encoding.encodeBase64Url(referenceBytes));\n\n referenceBytes.fill(0);\n\n const credentialBytes = yield* randomBytes(32).pipe(\n Effect.mapError(() => OAuthUnavailable.make({})),\n );\n\n const credential = Redacted.make(Encoding.encodeBase64Url(credentialBytes));\n\n credentialBytes.fill(0);\n\n const intent = snapshotOAuthSync(OAuthRegistrationIntent, {\n namespace: \"effect-auth/oauth-registration-intent/v1\",\n reference,\n context: claim.flow.context,\n claimId: claim.claimId,\n claimedAtMillis: claim.claimedAtMillis,\n identity: identity.identity,\n verifiedAtMillis,\n credentialDigest: yield* credentialDigest(\n claim.flow.context.moduleId,\n reference,\n claim.flow.context.flowId,\n credential,\n ),\n issuedAtMillis: now,\n expiresAtMillis,\n retentionUntilMillis: Math.max(\n claim.flow.retentionUntilMillis,\n expiresAtMillis + policy.retentionMillis,\n ),\n });\n\n return {\n intent,\n command: Object.freeze({\n _tag: \"Issue\" as const,\n slot: \"registration\" as const,\n credential,\n expiresAtMillis,\n }),\n };\n});\n"],"mappings":";;;;;;AAYA,MAAM,QAAQ,OAAO,eACnB,OAAO,MAAM;CACX,OAAO,QAAQ,0CAA0C;CACzD,wBAAwB,OAAO,QAAQ,OAAO;CAC9C;CACA,wBAAwB,OAAO,QAAQ,OAAO;CAC9C,OAAO,OAAO,MAAM,OAAO,UAAU,qBAAqB,CAAC;AAC7D,CAAC,CACH;AAEA,MAAa,mBAAmB,OAAO,GAAG,oCAAoC,CAAC,CAAC,WAC9E,UACA,WACA,QACA,YACA;CACA,MAAM,EAAE,WAAW,OAAO,OAAO;CACjC,MAAM,MAAM,SAAS,MAAM,UAAU;CAErC,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,MAAM,OAAO,UAAU,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,GAC9E,OAAO,OAAO,cAAc,KAAK,CAAC,CAAC;CACrC,MAAM,QAAQ,OAAO,eAAe,SAAS,gBAAgB,GAAG,CAAC;CAEjE,IACE,IAAI,WAAW,MACf,UAAU,KAAA,KACV,MAAM,WAAW,MACjB,SAAS,gBAAgB,KAAK,MAAM,KACpC;EACA,OAAO,KAAK,CAAC;EAEb,OAAO,OAAO,cAAc,KAAK,CAAC,CAAC;CACrC;CACA,MAAM,KAAK,CAAC;CAEZ,MAAM,UAAU,OAAO,OAAO,aAAa,KAAK,CAAC,CAAC;EAChD;EACA;EACA;EACA;EACA;CACF,CAAC,CAAC,CAAC,KAAK,OAAO,eAAe,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC;CAErD,MAAM,QAAQ,OAAO,OAAO,WAAW,IAAI,YAAY,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,KACxE,OAAO,eAAe,iBAAiB,KAAK,CAAC,CAAC,CAAC,CACjD;CAEA,OAAO,YAAY,KAAK,SAAS,gBAAgB,KAAK,CAAC;AACzD,CAAC;AAED,MAAa,UAAU,OAAO,GAAG,iCAAiC,CAAC,CAAC,WAClE,OACA,UACA,kBACA,QACA;CACA,MAAM,EAAE,gBAAgB,OAAO,OAAO;CACtC,MAAM,MAAM,SAAS,cAAc,OAAO,SAAS,GAAG;CAEtD,MAAM,kBAAkB,KAAK,IAC3B,MAAM,OAAO,gBACb,MAAM,KAAK,QAAQ,+BACnB,mBAAmB,OAAO,4BAC5B;CAEA,IAAI,mBAAmB,KAAK,OAAO,KAAA;CAEnC,MAAM,iBAAiB,OAAO,YAAY,EAAE,CAAC,CAAC,KAC5C,OAAO,eAAe,iBAAiB,KAAK,CAAC,CAAC,CAAC,CACjD;CAEA,MAAM,YAAY,2BAA2B,KAAK,SAAS,gBAAgB,cAAc,CAAC;CAE1F,eAAe,KAAK,CAAC;CAErB,MAAM,kBAAkB,OAAO,YAAY,EAAE,CAAC,CAAC,KAC7C,OAAO,eAAe,iBAAiB,KAAK,CAAC,CAAC,CAAC,CACjD;CAEA,MAAM,aAAa,SAAS,KAAK,SAAS,gBAAgB,eAAe,CAAC;CAE1E,gBAAgB,KAAK,CAAC;CAwBtB,OAAO;EACL,QAvBa,kBAAkB,yBAAyB;GACxD,WAAW;GACX;GACA,SAAS,MAAM,KAAK;GACpB,SAAS,MAAM;GACf,iBAAiB,MAAM;GACvB,UAAU,SAAS;GACnB;GACA,kBAAkB,OAAO,iBACvB,MAAM,KAAK,QAAQ,UACnB,WACA,MAAM,KAAK,QAAQ,QACnB,UACF;GACA,gBAAgB;GAChB;GACA,sBAAsB,KAAK,IACzB,MAAM,KAAK,sBACX,kBAAkB,OAAO,eAC3B;EACF,CAGO;EACL,SAAS,OAAO,OAAO;GACrB,MAAM;GACN,MAAM;GACN;GACA;EACF,CAAC;CACH;AACF,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
//#region src/oauth/schema.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Stable identifier of one configured OAuth provider ("github", "gitlab").
|
|
5
|
+
* Doubles as the routing key for callback endpoints, so it is constrained to
|
|
6
|
+
* URL-safe lowercase slugs.
|
|
7
|
+
*/
|
|
8
|
+
declare const OAuthProviderKey: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
9
|
+
type OAuthProviderKey = typeof OAuthProviderKey.Type;
|
|
10
|
+
declare const OAuthState_base: Schema.Class<OAuthState, Schema.Struct<{
|
|
11
|
+
readonly stateDigest: Schema.brand<Schema.NonEmptyString, "effect-auth/TokenDigest">;
|
|
12
|
+
readonly provider: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
13
|
+
readonly subjectId: Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">;
|
|
14
|
+
readonly redirectUri: Schema.NonEmptyString;
|
|
15
|
+
readonly issuedAt: Schema.DateTimeUtcFromMillis;
|
|
16
|
+
readonly expiresAt: Schema.DateTimeUtcFromMillis;
|
|
17
|
+
}>, {}>;
|
|
18
|
+
/**
|
|
19
|
+
* One pending authorization redirect, stored under the digest of the opaque
|
|
20
|
+
* `state` token carried through the provider redirect. Binding the subject and
|
|
21
|
+
* redirect URI here is what lets the callback verify that the response belongs
|
|
22
|
+
* to the actor and destination that initiated it.
|
|
23
|
+
*/
|
|
24
|
+
declare class OAuthState extends OAuthState_base {}
|
|
25
|
+
declare const OAuthAuthorization_base: Schema.Class<OAuthAuthorization, Schema.Struct<{
|
|
26
|
+
readonly url: Schema.NonEmptyString;
|
|
27
|
+
readonly expiresAt: Schema.DateTimeUtcFromMillis;
|
|
28
|
+
}>, {}>;
|
|
29
|
+
/** Where to send the browser to start an authorization, plus the state's expiry. */
|
|
30
|
+
declare class OAuthAuthorization extends OAuthAuthorization_base {}
|
|
31
|
+
declare const OAuthCallbackParams_base: Schema.Class<OAuthCallbackParams, Schema.Struct<{
|
|
32
|
+
readonly state: Schema.optionalKey<Schema.String>;
|
|
33
|
+
readonly code: Schema.optionalKey<Schema.String>;
|
|
34
|
+
readonly error: Schema.optionalKey<Schema.String>;
|
|
35
|
+
readonly error_description: Schema.optionalKey<Schema.String>;
|
|
36
|
+
}>, {}>;
|
|
37
|
+
/**
|
|
38
|
+
* The untrusted query parameters a provider redirects back with. Decoded from
|
|
39
|
+
* `unknown` inside the OAuth workflow, so HTTP handlers can hand the raw
|
|
40
|
+
* query record straight through.
|
|
41
|
+
*/
|
|
42
|
+
declare class OAuthCallbackParams extends OAuthCallbackParams_base {}
|
|
43
|
+
declare const OAuthTokens_base: Schema.Class<OAuthTokens, Schema.Struct<{
|
|
44
|
+
readonly accessToken: Schema.Redacted<Schema.NonEmptyString>;
|
|
45
|
+
/** Normalized to lowercase; "bearer" for every currently supported provider. */
|
|
46
|
+
readonly tokenType: Schema.NonEmptyString;
|
|
47
|
+
/** `None` means the provider issues non-expiring access tokens. */
|
|
48
|
+
readonly accessTokenExpiresAt: Schema.Option<Schema.DateTimeUtcFromMillis>;
|
|
49
|
+
readonly refreshToken: Schema.Option<Schema.Redacted<Schema.NonEmptyString>>;
|
|
50
|
+
readonly refreshTokenExpiresAt: Schema.Option<Schema.DateTimeUtcFromMillis>;
|
|
51
|
+
readonly scope: Schema.Option<Schema.NonEmptyString>;
|
|
52
|
+
}>, {}>;
|
|
53
|
+
/**
|
|
54
|
+
* The provider-issued token set with absolute expirations. Token values stay
|
|
55
|
+
* `Redacted` end to end; persistence adapters unwrap them only at their
|
|
56
|
+
* encryption boundary.
|
|
57
|
+
*/
|
|
58
|
+
declare class OAuthTokens extends OAuthTokens_base {}
|
|
59
|
+
declare const OAuthIdentity_base: Schema.Class<OAuthIdentity, Schema.Struct<{
|
|
60
|
+
readonly provider: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
61
|
+
readonly providerAccountId: Schema.NonEmptyString;
|
|
62
|
+
readonly handle: Schema.Option<Schema.NonEmptyString>;
|
|
63
|
+
}>, {}>;
|
|
64
|
+
/**
|
|
65
|
+
* The provider's account identity, validated by the provider layer. The
|
|
66
|
+
* account id is the provider's *stable* identifier in string form (for GitHub,
|
|
67
|
+
* the numeric user id in decimal); the handle is the mutable display login.
|
|
68
|
+
*/
|
|
69
|
+
declare class OAuthIdentity extends OAuthIdentity_base {}
|
|
70
|
+
declare const OAuthConnection_base: Schema.Class<OAuthConnection, Schema.Struct<{
|
|
71
|
+
readonly provider: Schema.brand<Schema.String, "effect-auth/OAuthProviderKey">;
|
|
72
|
+
readonly subjectId: Schema.brand<Schema.NonEmptyString, "effect-auth/SubjectId">;
|
|
73
|
+
readonly identity: typeof OAuthIdentity;
|
|
74
|
+
readonly tokens: typeof OAuthTokens;
|
|
75
|
+
readonly connectedAt: Schema.DateTimeUtcFromMillis;
|
|
76
|
+
readonly updatedAt: Schema.DateTimeUtcFromMillis;
|
|
77
|
+
}>, {}>;
|
|
78
|
+
/**
|
|
79
|
+
* The durable link between one subject and one provider account: identity plus
|
|
80
|
+
* the current token set. At most one connection exists per subject and
|
|
81
|
+
* provider; completing a new authorization replaces it.
|
|
82
|
+
*/
|
|
83
|
+
declare class OAuthConnection extends OAuthConnection_base {}
|
|
84
|
+
//#endregion
|
|
85
|
+
export { OAuthAuthorization, OAuthCallbackParams, OAuthConnection, OAuthIdentity, OAuthProviderKey, OAuthState, OAuthTokens };
|
|
86
|
+
//# sourceMappingURL=schema.d.mts.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { SubjectId, TokenDigest } from "../Schema.mjs";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
//#region src/oauth/schema.ts
|
|
4
|
+
/**
|
|
5
|
+
* Stable identifier of one configured OAuth provider ("github", "gitlab").
|
|
6
|
+
* Doubles as the routing key for callback endpoints, so it is constrained to
|
|
7
|
+
* URL-safe lowercase slugs.
|
|
8
|
+
*/
|
|
9
|
+
const OAuthProviderKey = Schema.String.check(Schema.isPattern(/^[a-z][a-z0-9-]{0,63}$/)).pipe(Schema.brand("effect-auth/OAuthProviderKey"));
|
|
10
|
+
/**
|
|
11
|
+
* One pending authorization redirect, stored under the digest of the opaque
|
|
12
|
+
* `state` token carried through the provider redirect. Binding the subject and
|
|
13
|
+
* redirect URI here is what lets the callback verify that the response belongs
|
|
14
|
+
* to the actor and destination that initiated it.
|
|
15
|
+
*/
|
|
16
|
+
var OAuthState = class extends Schema.Class("effect-auth/OAuthState")({
|
|
17
|
+
stateDigest: TokenDigest,
|
|
18
|
+
provider: OAuthProviderKey,
|
|
19
|
+
subjectId: SubjectId,
|
|
20
|
+
redirectUri: Schema.NonEmptyString,
|
|
21
|
+
issuedAt: Schema.DateTimeUtcFromMillis,
|
|
22
|
+
expiresAt: Schema.DateTimeUtcFromMillis
|
|
23
|
+
}) {};
|
|
24
|
+
/** Where to send the browser to start an authorization, plus the state's expiry. */
|
|
25
|
+
var OAuthAuthorization = class extends Schema.Class("effect-auth/OAuthAuthorization")({
|
|
26
|
+
url: Schema.NonEmptyString,
|
|
27
|
+
expiresAt: Schema.DateTimeUtcFromMillis
|
|
28
|
+
}) {};
|
|
29
|
+
/**
|
|
30
|
+
* The untrusted query parameters a provider redirects back with. Decoded from
|
|
31
|
+
* `unknown` inside the OAuth workflow, so HTTP handlers can hand the raw
|
|
32
|
+
* query record straight through.
|
|
33
|
+
*/
|
|
34
|
+
var OAuthCallbackParams = class extends Schema.Class("effect-auth/OAuthCallbackParams")({
|
|
35
|
+
state: Schema.optionalKey(Schema.String),
|
|
36
|
+
code: Schema.optionalKey(Schema.String),
|
|
37
|
+
error: Schema.optionalKey(Schema.String),
|
|
38
|
+
error_description: Schema.optionalKey(Schema.String)
|
|
39
|
+
}) {};
|
|
40
|
+
/**
|
|
41
|
+
* The provider-issued token set with absolute expirations. Token values stay
|
|
42
|
+
* `Redacted` end to end; persistence adapters unwrap them only at their
|
|
43
|
+
* encryption boundary.
|
|
44
|
+
*/
|
|
45
|
+
var OAuthTokens = class extends Schema.Class("effect-auth/OAuthTokens")({
|
|
46
|
+
accessToken: Schema.Redacted(Schema.NonEmptyString),
|
|
47
|
+
/** Normalized to lowercase; "bearer" for every currently supported provider. */
|
|
48
|
+
tokenType: Schema.NonEmptyString,
|
|
49
|
+
/** `None` means the provider issues non-expiring access tokens. */
|
|
50
|
+
accessTokenExpiresAt: Schema.Option(Schema.DateTimeUtcFromMillis),
|
|
51
|
+
refreshToken: Schema.Option(Schema.Redacted(Schema.NonEmptyString)),
|
|
52
|
+
refreshTokenExpiresAt: Schema.Option(Schema.DateTimeUtcFromMillis),
|
|
53
|
+
scope: Schema.Option(Schema.NonEmptyString)
|
|
54
|
+
}) {};
|
|
55
|
+
/**
|
|
56
|
+
* The provider's account identity, validated by the provider layer. The
|
|
57
|
+
* account id is the provider's *stable* identifier in string form (for GitHub,
|
|
58
|
+
* the numeric user id in decimal); the handle is the mutable display login.
|
|
59
|
+
*/
|
|
60
|
+
var OAuthIdentity = class extends Schema.Class("effect-auth/OAuthIdentity")({
|
|
61
|
+
provider: OAuthProviderKey,
|
|
62
|
+
providerAccountId: Schema.NonEmptyString,
|
|
63
|
+
handle: Schema.Option(Schema.NonEmptyString)
|
|
64
|
+
}) {};
|
|
65
|
+
/**
|
|
66
|
+
* The durable link between one subject and one provider account: identity plus
|
|
67
|
+
* the current token set. At most one connection exists per subject and
|
|
68
|
+
* provider; completing a new authorization replaces it.
|
|
69
|
+
*/
|
|
70
|
+
var OAuthConnection = class extends Schema.Class("effect-auth/OAuthConnection")({
|
|
71
|
+
provider: OAuthProviderKey,
|
|
72
|
+
subjectId: SubjectId,
|
|
73
|
+
identity: OAuthIdentity,
|
|
74
|
+
tokens: OAuthTokens,
|
|
75
|
+
connectedAt: Schema.DateTimeUtcFromMillis,
|
|
76
|
+
updatedAt: Schema.DateTimeUtcFromMillis
|
|
77
|
+
}) {};
|
|
78
|
+
//#endregion
|
|
79
|
+
export { OAuthAuthorization, OAuthCallbackParams, OAuthConnection, OAuthIdentity, OAuthProviderKey, OAuthState, OAuthTokens };
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":[],"sources":["../../src/oauth/schema.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nimport { SubjectId, TokenDigest } from \"../Schema\";\n\n// --- Identifiers -----------------------------------------------------------\n\n/**\n * Stable identifier of one configured OAuth provider (\"github\", \"gitlab\").\n * Doubles as the routing key for callback endpoints, so it is constrained to\n * URL-safe lowercase slugs.\n */\nexport const OAuthProviderKey = Schema.String.check(\n Schema.isPattern(/^[a-z][a-z0-9-]{0,63}$/),\n).pipe(Schema.brand(\"effect-auth/OAuthProviderKey\"));\n\nexport type OAuthProviderKey = typeof OAuthProviderKey.Type;\n\n// --- Authorization state ------------------------------------------------------\n\n/**\n * One pending authorization redirect, stored under the digest of the opaque\n * `state` token carried through the provider redirect. Binding the subject and\n * redirect URI here is what lets the callback verify that the response belongs\n * to the actor and destination that initiated it.\n */\nexport class OAuthState extends Schema.Class<OAuthState>(\"effect-auth/OAuthState\")({\n stateDigest: TokenDigest,\n provider: OAuthProviderKey,\n subjectId: SubjectId,\n redirectUri: Schema.NonEmptyString,\n issuedAt: Schema.DateTimeUtcFromMillis,\n expiresAt: Schema.DateTimeUtcFromMillis,\n}) {}\n\n/** Where to send the browser to start an authorization, plus the state's expiry. */\nexport class OAuthAuthorization extends Schema.Class<OAuthAuthorization>(\n \"effect-auth/OAuthAuthorization\",\n)({\n url: Schema.NonEmptyString,\n expiresAt: Schema.DateTimeUtcFromMillis,\n}) {}\n\n/**\n * The untrusted query parameters a provider redirects back with. Decoded from\n * `unknown` inside the OAuth workflow, so HTTP handlers can hand the raw\n * query record straight through.\n */\nexport class OAuthCallbackParams extends Schema.Class<OAuthCallbackParams>(\n \"effect-auth/OAuthCallbackParams\",\n)({\n state: Schema.optionalKey(Schema.String),\n code: Schema.optionalKey(Schema.String),\n error: Schema.optionalKey(Schema.String),\n error_description: Schema.optionalKey(Schema.String),\n}) {}\n\n// --- Tokens -------------------------------------------------------------------\n\n/**\n * The provider-issued token set with absolute expirations. Token values stay\n * `Redacted` end to end; persistence adapters unwrap them only at their\n * encryption boundary.\n */\nexport class OAuthTokens extends Schema.Class<OAuthTokens>(\"effect-auth/OAuthTokens\")({\n accessToken: Schema.Redacted(Schema.NonEmptyString),\n /** Normalized to lowercase; \"bearer\" for every currently supported provider. */\n tokenType: Schema.NonEmptyString,\n /** `None` means the provider issues non-expiring access tokens. */\n accessTokenExpiresAt: Schema.Option(Schema.DateTimeUtcFromMillis),\n refreshToken: Schema.Option(Schema.Redacted(Schema.NonEmptyString)),\n refreshTokenExpiresAt: Schema.Option(Schema.DateTimeUtcFromMillis),\n scope: Schema.Option(Schema.NonEmptyString),\n}) {}\n\n// --- Identity -------------------------------------------------------------------\n\n/**\n * The provider's account identity, validated by the provider layer. The\n * account id is the provider's *stable* identifier in string form (for GitHub,\n * the numeric user id in decimal); the handle is the mutable display login.\n */\nexport class OAuthIdentity extends Schema.Class<OAuthIdentity>(\"effect-auth/OAuthIdentity\")({\n provider: OAuthProviderKey,\n providerAccountId: Schema.NonEmptyString,\n handle: Schema.Option(Schema.NonEmptyString),\n}) {}\n\n// --- Connection -------------------------------------------------------------------\n\n/**\n * The durable link between one subject and one provider account: identity plus\n * the current token set. At most one connection exists per subject and\n * provider; completing a new authorization replaces it.\n */\nexport class OAuthConnection extends Schema.Class<OAuthConnection>(\"effect-auth/OAuthConnection\")({\n provider: OAuthProviderKey,\n subjectId: SubjectId,\n identity: OAuthIdentity,\n tokens: OAuthTokens,\n connectedAt: Schema.DateTimeUtcFromMillis,\n updatedAt: Schema.DateTimeUtcFromMillis,\n}) {}\n"],"mappings":";;;;;;;;AAWA,MAAa,mBAAmB,OAAO,OAAO,MAC5C,OAAO,UAAU,wBAAwB,CAC3C,CAAC,CAAC,KAAK,OAAO,MAAM,8BAA8B,CAAC;;;;;;;AAYnD,IAAa,aAAb,cAAgC,OAAO,MAAkB,wBAAwB,CAAC,CAAC;CACjF,aAAa;CACb,UAAU;CACV,WAAW;CACX,aAAa,OAAO;CACpB,UAAU,OAAO;CACjB,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC;;AAGJ,IAAa,qBAAb,cAAwC,OAAO,MAC7C,gCACF,CAAC,CAAC;CACA,KAAK,OAAO;CACZ,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC;;;;;;AAOJ,IAAa,sBAAb,cAAyC,OAAO,MAC9C,iCACF,CAAC,CAAC;CACA,OAAO,OAAO,YAAY,OAAO,MAAM;CACvC,MAAM,OAAO,YAAY,OAAO,MAAM;CACtC,OAAO,OAAO,YAAY,OAAO,MAAM;CACvC,mBAAmB,OAAO,YAAY,OAAO,MAAM;AACrD,CAAC,CAAC,CAAC,CAAC;;;;;;AASJ,IAAa,cAAb,cAAiC,OAAO,MAAmB,yBAAyB,CAAC,CAAC;CACpF,aAAa,OAAO,SAAS,OAAO,cAAc;;CAElD,WAAW,OAAO;;CAElB,sBAAsB,OAAO,OAAO,OAAO,qBAAqB;CAChE,cAAc,OAAO,OAAO,OAAO,SAAS,OAAO,cAAc,CAAC;CAClE,uBAAuB,OAAO,OAAO,OAAO,qBAAqB;CACjE,OAAO,OAAO,OAAO,OAAO,cAAc;AAC5C,CAAC,CAAC,CAAC,CAAC;;;;;;AASJ,IAAa,gBAAb,cAAmC,OAAO,MAAqB,2BAA2B,CAAC,CAAC;CAC1F,UAAU;CACV,mBAAmB,OAAO;CAC1B,QAAQ,OAAO,OAAO,OAAO,cAAc;AAC7C,CAAC,CAAC,CAAC,CAAC;;;;;;AASJ,IAAa,kBAAb,cAAqC,OAAO,MAAuB,6BAA6B,CAAC,CAAC;CAChG,UAAU;CACV,WAAW;CACX,UAAU;CACV,QAAQ;CACR,aAAa,OAAO;CACpB,WAAW,OAAO;AACpB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
//#region src/oauth/signInErrors.d.ts
|
|
3
|
+
declare const OAuthRejected_base: Schema.Class<OAuthRejected, Schema.TaggedStruct<"OAuthRejected", {}>, import("effect/Cause").YieldableError>;
|
|
4
|
+
declare class OAuthRejected extends OAuthRejected_base {}
|
|
5
|
+
declare const OAuthUnavailable_base: Schema.Class<OAuthUnavailable, Schema.TaggedStruct<"OAuthUnavailable", {}>, import("effect/Cause").YieldableError>;
|
|
6
|
+
declare class OAuthUnavailable extends OAuthUnavailable_base {}
|
|
7
|
+
declare const OAuthMethodUnsupported_base: Schema.Class<OAuthMethodUnsupported, Schema.TaggedStruct<"OAuthMethodUnsupported", {}>, import("effect/Cause").YieldableError>;
|
|
8
|
+
declare class OAuthMethodUnsupported extends OAuthMethodUnsupported_base {}
|
|
9
|
+
declare const OAuthProtocolRejected_base: Schema.Class<OAuthProtocolRejected, Schema.TaggedStruct<"OAuthProtocolRejected", {}>, import("effect/Cause").YieldableError>;
|
|
10
|
+
declare class OAuthProtocolRejected extends OAuthProtocolRejected_base {}
|
|
11
|
+
declare const OAuthConfigurationError_base: Schema.Class<OAuthConfigurationError, Schema.TaggedStruct<"OAuthConfigurationError", {
|
|
12
|
+
readonly reason: Schema.Literals<readonly ["module", "policy", "keyring", "return-target"]>;
|
|
13
|
+
}>, import("effect/Cause").YieldableError>;
|
|
14
|
+
declare class OAuthConfigurationError extends OAuthConfigurationError_base {}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { OAuthConfigurationError, OAuthMethodUnsupported, OAuthProtocolRejected, OAuthRejected, OAuthUnavailable };
|
|
17
|
+
//# sourceMappingURL=signInErrors.d.mts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
//#region src/oauth/signInErrors.ts
|
|
3
|
+
var OAuthRejected = class extends Schema.TaggedError()("OAuthRejected", {}) {};
|
|
4
|
+
var OAuthUnavailable = class extends Schema.TaggedError()("OAuthUnavailable", {}) {};
|
|
5
|
+
var OAuthMethodUnsupported = class extends Schema.TaggedError()("OAuthMethodUnsupported", {}) {};
|
|
6
|
+
var OAuthProtocolRejected = class extends Schema.TaggedError()("OAuthProtocolRejected", {}) {};
|
|
7
|
+
var OAuthConfigurationError = class extends Schema.TaggedError()("OAuthConfigurationError", { reason: Schema.Literals([
|
|
8
|
+
"module",
|
|
9
|
+
"policy",
|
|
10
|
+
"keyring",
|
|
11
|
+
"return-target"
|
|
12
|
+
]) }) {};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { OAuthConfigurationError, OAuthMethodUnsupported, OAuthProtocolRejected, OAuthRejected, OAuthUnavailable };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=signInErrors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signInErrors.mjs","names":[],"sources":["../../src/oauth/signInErrors.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nexport class OAuthRejected extends Schema.TaggedError<OAuthRejected>()(\"OAuthRejected\", {}) {}\n\nexport class OAuthUnavailable extends Schema.TaggedError<OAuthUnavailable>()(\n \"OAuthUnavailable\",\n {},\n) {}\n\nexport class OAuthMethodUnsupported extends Schema.TaggedError<OAuthMethodUnsupported>()(\n \"OAuthMethodUnsupported\",\n {},\n) {}\n\nexport class OAuthProtocolRejected extends Schema.TaggedError<OAuthProtocolRejected>()(\n \"OAuthProtocolRejected\",\n {},\n) {}\n\nexport class OAuthConfigurationError extends Schema.TaggedError<OAuthConfigurationError>()(\n \"OAuthConfigurationError\",\n { reason: Schema.Literals([\"module\", \"policy\", \"keyring\", \"return-target\"]) },\n) {}\n"],"mappings":";;AAEA,IAAa,gBAAb,cAAmC,OAAO,YAA2B,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7F,IAAa,mBAAb,cAAsC,OAAO,YAA8B,CAAC,CAC1E,oBACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,yBAAb,cAA4C,OAAO,YAAoC,CAAC,CACtF,0BACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,wBAAb,cAA2C,OAAO,YAAmC,CAAC,CACpF,yBACA,CAAC,CACH,CAAC,CAAC,CAAC;AAEH,IAAa,0BAAb,cAA6C,OAAO,YAAqC,CAAC,CACxF,2BACA,EAAE,QAAQ,OAAO,SAAS;CAAC;CAAU;CAAU;CAAW;AAAe,CAAC,EAAE,CAC9E,CAAC,CAAC,CAAC"}
|