from typing import Literal from pydantic import BaseModel, Field class SearchCodeArgs(BaseModel): """Arguments for searching the codebase.""" query: str = Field(..., description="The code pattern or keyword to search for (e.g., 'get_supabase_client').") source_id: str | None = Field(None, description="Optional source ID to filter search.") class RagSearchArgs(BaseModel): """Arguments for searching the knowledge base.""" query: str = Field(..., description="Technical query (e.g., 'FastAPI middleware CORS').") class GenerateLogoArgs(BaseModel): """Arguments for generating an SVG logo.""" prompt: str = Field(..., description="Detailed description of the logo (e.g., 'A minimalist geometric ant').") style: Literal["minimalist", "neon", "corporate", "geometric"] = Field( "minimalist", description="The visual style of the logo." )