AuthServerMetadata
data class AuthServerMetadata(val issuer: String, val authorizationEndpoint: String, val tokenEndpoint: String, val parEndpoint: String, val revocationEndpoint: String?, val pdsUrl: String?, val did: String?, val handle: String?, val promptValuesSupported: List<String> = emptyList())
Resolved authorization server metadata — everything the OAuth flow needs to construct PAR requests, authorization URLs, and token exchange calls.
did, handle, and pdsUrl are nullable to support the signup flow, which discovers only the auth-server endpoints up front and hydrates identity post-token-exchange. The login flow always populates all three eagerly via DiscoveryChain.resolve.