from typing import List, Optional from pydantic import BaseModel, Field, validator class ChatRequest(BaseModel): message: str = Field(..., min_length=1, max_length=10000) provider: Optional[str] = None @validator("message") def message_not_empty(cls, v): if not v.strip(): raise ValueError("Message cannot be empty or whitespace") return v.strip() class ChatResponse(BaseModel): message: str provider: str class ProviderListResponse(BaseModel): providers: List[str] default: str