from pydantic import BaseModel, Field from typing import Callable, Dict, Any class TaskDefinition(BaseModel): name: str category: str description: str handler: Callable inputs: Dict[str, str] = Field(default_factory=dict) outputs: Dict[str, str] = Field(default_factory=dict) ui_schema: Dict[str, Any] = Field(default_factory=dict) autonomous: bool = True class Config: arbitrary_types_allowed = True