Merge pull request #541 from taylorwilsdon/issues/511

fix: only suggest re-authentication for auth-related HTTP errors
This commit is contained in:
Taylor Wilsdon
2026-03-04 16:38:23 -05:00
committed by GitHub
2 changed files with 1003 additions and 989 deletions

View File

@@ -25,24 +25,30 @@ LIST_TASKS_MAX_POSITION = "99999999999999999999"
def _format_reauth_message(error: Exception, user_google_email: str) -> str: def _format_reauth_message(error: Exception, user_google_email: str) -> str:
base = f"API error: {error}. You might need to re-authenticate." base = f"API error: {error}"
if is_oauth21_enabled():
if is_external_oauth21_provider(): # Only suggest re-authentication for auth-related errors (401, 403)
hint = ( if isinstance(error, HttpError) and error.resp.status in (401, 403):
"LLM: Ask the user to provide a valid OAuth 2.1 bearer token in the " base += ". You might need to re-authenticate."
"Authorization header and retry." if is_oauth21_enabled():
) if is_external_oauth21_provider():
hint = (
"LLM: Ask the user to provide a valid OAuth 2.1 bearer token in the "
"Authorization header and retry."
)
else:
hint = (
"LLM: Ask the user to authenticate via their MCP client's OAuth 2.1 "
"flow and retry."
)
else: else:
hint = ( hint = (
"LLM: Ask the user to authenticate via their MCP client's OAuth 2.1 " "LLM: Try 'start_google_auth' with the user's email "
"flow and retry." f"({user_google_email}) and service_name='Google Tasks'."
) )
else: return f"{base} {hint}"
hint = (
"LLM: Try 'start_google_auth' with the user's email " return base
f"({user_google_email}) and service_name='Google Tasks'."
)
return f"{base} {hint}"
class StructuredTask: class StructuredTask:

1956
uv.lock generated

File diff suppressed because it is too large Load Diff