"""Credential-related Pydantic models."""
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, Field
from skillhub.models.repository import RateLimit
class TokenInfo(BaseModel):
"""Token information."""
platform: str
type: str
has_token: bool
expires_at: Optional[datetime] = None
scopes: List[str] = Field(default_factory=list)
class TokenValidation(BaseModel):
"""Token validation result."""
valid: bool
scopes: List[str]
rate_limit: Optional[RateLimit] = None
message: Optional[str] = None