CHW-4949 CLIExchangeCodeExpired

exchange code not found, expired, or already used; restart the `chainsaw auth login` flow

Default message: exchange code not found, expired, or already used; restart the chainsaw auth login flow
HTTP status: 410 (client)

Problem. POST /api/auth/cli/exchange was well-formed but the one-time code could not be redeemed. Cause. Deliberately ambiguous: the code was never issued, its 2-minute TTL elapsed, or it was already consumed. All three collapse to the same response so a replayed code is indistinguishable from an unknown one — an attacker who intercepts a code learns nothing from the error. Fix. Run chainsaw auth login again and complete the browser step promptly; the code is single-use and short-lived by design. HTTP 410.