from typing import Any, Dict, List from pydantic import BaseModel class GraphNode(BaseModel): id: str type: str position: Dict[str, float] data: Dict[str, Any] class GraphEdge(BaseModel): id: str source: str target: str type: str = "default" label: str = "" animated: bool = False data: Dict[str, Any] = {} class GraphResponse(BaseModel): nodes: List[GraphNode] edges: List[GraphEdge] workflows: List[Dict[str, Any]] = [] metadata: Dict[str, Any] = {}