mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-10 06:45:28 -05:00
fix(mcp): Use ProviderName enum directly instead of str() for credential provider
Python 3.13 changed str(StrEnum) to return "ClassName.MEMBER" instead of the plain value. This caused MCP credentials to be stored with provider "ProviderName.MCP" instead of "mcp", leading to type/provider mismatch errors during graph validation and execution. Fix: Pass the enum directly to Pydantic (which extracts .value automatically), matching the pattern used by all other OAuth handlers. Use .value explicitly only in non-Pydantic contexts (string comparisons, API calls).
This commit is contained in:
@@ -113,7 +113,7 @@ class MCPOAuthHandler(BaseOAuthHandler):
|
||||
expires_in = tokens.get("expires_in")
|
||||
|
||||
return OAuth2Credentials(
|
||||
provider=getattr(self.PROVIDER_NAME, "value", self.PROVIDER_NAME),
|
||||
provider=self.PROVIDER_NAME,
|
||||
title=None,
|
||||
access_token=SecretStr(tokens["access_token"]),
|
||||
refresh_token=(
|
||||
@@ -163,7 +163,7 @@ class MCPOAuthHandler(BaseOAuthHandler):
|
||||
|
||||
return OAuth2Credentials(
|
||||
id=credentials.id,
|
||||
provider=getattr(self.PROVIDER_NAME, "value", self.PROVIDER_NAME),
|
||||
provider=self.PROVIDER_NAME,
|
||||
title=credentials.title,
|
||||
access_token=SecretStr(tokens["access_token"]),
|
||||
refresh_token=(
|
||||
|
||||
Reference in New Issue
Block a user