| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | from enum import Enumfrom typing import Optionalfrom core.model_runtime.entities.model_entities import ModelTypefrom models.provider import ProviderQuotaTypefrom pydantic import BaseModelclass QuotaUnit(Enum):    TIMES = 'times'    TOKENS = 'tokens'class SystemConfigurationStatus(Enum):    """    Enum class for system configuration status.    """    ACTIVE = 'active'    QUOTA_EXCEEDED = 'quota-exceeded'    UNSUPPORTED = 'unsupported'class RestrictModel(BaseModel):    model: str    base_model_name: Optional[str] = None    model_type: ModelTypeclass QuotaConfiguration(BaseModel):    """    Model class for provider quota configuration.    """    quota_type: ProviderQuotaType    quota_unit: QuotaUnit    quota_limit: int    quota_used: int    is_valid: bool    restrict_models: list[RestrictModel] = []class SystemConfiguration(BaseModel):    """    Model class for provider system configuration.    """    enabled: bool    current_quota_type: Optional[ProviderQuotaType] = None    quota_configurations: list[QuotaConfiguration] = []    credentials: Optional[dict] = Noneclass CustomProviderConfiguration(BaseModel):    """    Model class for provider custom configuration.    """    credentials: dictclass CustomModelConfiguration(BaseModel):    """    Model class for provider custom model configuration.    """    model: str    model_type: ModelType    credentials: dictclass CustomConfiguration(BaseModel):    """    Model class for provider custom configuration.    """    provider: Optional[CustomProviderConfiguration] = None    models: list[CustomModelConfiguration] = []
 |