from typing import Any, Literal, Optional from pydantic import BaseModel, Field, HttpUrl WaitUntilValue = Literal["load", "domcontentloaded", "networkidle", "commit"] class VisitRequest(BaseModel): url: HttpUrl screenshot: bool = False waitUntil: WaitUntilValue = Field(default="load") waitTime: int = Field( default=0, ge=0, le=60, description=( "Extra seconds to wait AFTER waitUntil resolves. " "Useful for SPAs (e.g. MercadoLibre) that need extra time to hydrate polycards " "after the network goes idle. Max 60s." ), ) proxy: Optional[str] = None proxyAuth: Optional[dict[str, Any]] = None incognito: bool = False class ArasResponse(BaseModel): status: str message: str data: Any = None extra: Any = None code: str = "UNKNOWN_CODE"