MCPcopy Create free account
hub / github.com/OpenHands/OpenHands / ProviderToken

Class ProviderToken

openhands/app_server/integrations/provider.py:50–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48
49
50class ProviderToken(BaseModel):
51 token: SecretStr | None = Field(default=None)
52 user_id: str | None = Field(default=None)
53 host: str | None = Field(default=None)
54
55 model_config = ConfigDict(
56 frozen=True, # Makes the entire model immutable
57 validate_assignment=True,
58 )
59
60 @classmethod
61 def from_value(cls, token_value: ProviderToken | dict[str, str]) -> ProviderToken:
62 """Factory method to create a ProviderToken from various input types"""
63 if isinstance(token_value, cls):
64 return token_value
65 elif isinstance(token_value, dict):
66 token_str = token_value.get('token', '')
67 # Override with empty string if it was set to None
68 # Cannot pass None to SecretStr
69 if token_str is None:
70 token_str = '' # type: ignore[unreachable]
71 user_id = token_value.get('user_id')
72 host = token_value.get('host')
73 return cls(token=SecretStr(token_str), user_id=user_id, host=host)
74
75 else:
76 raise ValueError('Unsupported Provider token type')
77
78
79class CustomSecret(BaseModel):

Calls

no outgoing calls