AuthServiceLogout extension

Split out of auth_service.dart to stay under the file-size cap — logout shares nothing with the login flow beyond the AuthService singleton it's attached to.

on

Methods

logout({required Dio apiDio, required Credentials creds}) → Future<AuthLogoutResult>

Available on AuthService, provided by the AuthServiceLogout extension

Revokes the stored keyId; falls back to a prefix match against listKeys when the file predates that field. Revoke is not idempotent — a 400 (already revoked, unknown id, someone else's key) from the revoke call itself is read as "already gone", not an error.