xxxigm
60ef368792
fix(xai-oauth): split 403 (tier/entitlement) from 400/401 in token endpoint
...
xAI's token endpoint returns HTTP 403 to the OAuth grant when the
account isn't on the allowlist for API access (e.g. standard
SuperGrok subscribers — see #26847 ). Treating it like a stale-token
400/401 made ``format_auth_error`` append "Run ``hermes model`` to
re-authenticate", which is misleading because re-login can't change
xAI's tier decision.
Split 403 off in both ``refresh_xai_oauth_pure`` and the loopback
login token exchange:
* New error code ``xai_oauth_tier_denied`` with ``relogin_required=False``
* Message explains the entitlement gate and points at the
``XAI_API_KEY`` + ``provider: xai`` fallback
* 400/401 still set ``relogin_required=True`` as before
* 5xx still set ``relogin_required=False`` as before
2026-05-18 20:08:09 -07:00
..
2026-05-17 16:56:37 -07:00
2026-05-16 02:58:57 -07:00
2026-05-07 06:16:23 -07:00
2026-05-08 14:27:40 -07:00
2026-05-18 10:14:38 -07:00
2026-05-18 20:08:09 -07:00
2026-05-18 10:14:38 -07:00
2026-05-11 11:13:25 -07:00
2026-05-15 14:45:43 -07:00
2026-04-28 22:11:10 -07:00
2026-04-14 16:11:37 -07:00
2026-05-11 11:13:25 -07:00
2026-05-11 11:13:25 -07:00
2026-04-13 16:32:04 -07:00
2026-05-13 22:54:21 -07:00
2026-05-11 11:13:25 -07:00
2026-05-15 02:31:30 -07:00
2026-05-17 02:29:41 -07:00
2026-03-30 17:07:21 -07:00
2026-05-18 20:10:46 -04:00
2026-05-13 09:34:15 -07:00
2026-05-18 10:28:20 -07:00
2026-05-11 11:13:25 -07:00
2026-05-18 17:39:50 +00:00
2026-05-11 11:13:25 -07:00
2026-05-11 11:13:25 -07:00
2026-05-03 11:42:20 -07:00
2026-03-26 01:34:27 -07:00
2026-05-18 16:34:24 +05:30
2026-05-11 11:13:25 -07:00
2026-05-18 10:14:38 -07:00
2026-05-05 10:13:13 -07:00
2026-05-08 14:27:40 -07:00
2026-05-11 11:13:25 -07:00
2026-05-09 14:34:18 -07:00
2026-05-17 11:55:25 -07:00
2026-05-16 23:05:27 -07:00
2026-05-11 11:13:25 -07:00
2026-05-13 22:31:11 -07:00
2026-05-18 20:04:32 -07:00
2026-05-18 20:04:32 -07:00
2026-05-18 01:27:06 -07:00
2026-05-12 20:49:20 -07:00
2026-05-18 01:27:06 -07:00
2026-04-11 17:23:36 -07:00
2026-05-18 20:01:34 -07:00
2026-05-15 01:43:54 -07:00
2026-05-14 07:59:38 -07:00
2026-05-08 14:27:40 -07:00
2026-05-06 09:08:33 -07:00
2026-05-18 19:33:07 -07:00
2026-05-16 02:24:48 -07:00
2026-05-06 10:05:29 -07:00
2026-05-09 14:36:58 -07:00
2026-05-07 07:18:21 -07:00
2026-04-29 21:56:51 -07:00
2026-05-16 17:15:19 -07:00
2026-05-17 04:04:15 -07:00
2026-05-17 13:54:12 -07:00
2026-05-08 10:04:32 -07:00
2026-05-17 13:54:12 -07:00
2026-05-18 14:31:37 -07:00
2026-05-09 12:48:14 -07:00
2026-05-11 11:13:25 -07:00
2026-05-08 14:27:40 -07:00
2026-05-18 10:14:38 -07:00
2026-05-12 01:02:25 -07:00
2026-05-16 23:00:58 -05:00
2026-05-17 02:29:41 -07:00
2026-05-15 12:11:32 -07:00
2026-04-29 04:03:03 -07:00
2026-05-11 11:13:25 -07:00
2026-05-18 20:05:23 -07:00
2026-05-08 17:01:12 -07:00
2026-05-17 11:35:57 -07:00
2026-05-11 11:13:25 -07:00
2026-04-26 20:48:20 -07:00
2026-05-17 23:28:45 -07:00
2026-05-17 04:04:15 -07:00
2026-05-18 20:05:47 -07:00
2026-04-29 07:22:33 -07:00
2026-05-06 15:49:59 -07:00
2026-05-18 10:14:38 -07:00
2026-05-11 11:13:25 -07:00