"""
{{ agent_name }} Models
Generated by ABI-Core scaffolding
"""

from typing import Dict, Any, List, Optional
from pydantic import BaseModel, Field

class {{ agent_name.title().replace('_', '') }}Response(BaseModel):
    """Response model for {{ agent_name }}"""
    result: str = Field(..., description="The result of the task")
    status: str = Field(default="completed", description="Task completion status")
    confidence: Optional[float] = Field(
        default=None,
        description="Confidence score (0.0 to 1.0)"
    )
    metadata: Dict[str, Any] = Field(
        default_factory=dict,
        description="Additional metadata about the result"
    )

class {{ agent_name.title().replace('_', '') }}Input(BaseModel):
    """Input model for {{ agent_name }}"""
    query: str = Field(..., description="The query or task to process")
    context: Optional[Dict[str, Any]] = Field(
        default=None,
        description="Additional context for the task"
    )
    parameters: Optional[Dict[str, Any]] = Field(
        default=None,
        description="Task-specific parameters"
    )

class {{ agent_name.title().replace('_', '') }}Error(BaseModel):
    """Error model for {{ agent_name }}"""
    error_type: str = Field(..., description="Type of error")
    message: str = Field(..., description="Error message")
    details: Optional[Dict[str, Any]] = Field(
        default=None,
        description="Additional error details"
    )