# --- Mongo Models --- from typing import Any, Dict, List, Optional, Union from pydantic import BaseModel, Field class ExecutorPayload(BaseModel): mongo_uri: str = Field(..., description="MongoDB connection string") db_name: Optional[str] = Field(None, description="Target Database Name") collection_name: Optional[str] = Field(None, description="Target Collection Name") generated_query: Union[Dict, List, str] = Field(..., description="Query Payload") limited: bool = False limit_rows: int = 20 class ExecutorResponse(BaseModel): status: str count: int data: Any duration_seconds: float request_id: str