from pydantic import BaseModel, Field from typing import Dict, List, Optional, Any # Risk assessment functionality removed # noqa from .entity import Entity from .relation import Relation from .failure import Failure from .optimization_recommendation import OptimizationRecommendation class KnowledgeGraph(BaseModel): system_name: str = Field("", description="A concise, descriptive name for the agent system") system_summary: str = Field("", description="A short 2-3 sentence summary of the agent system's purpose and structure") entities: List[Entity] = Field(default_factory=list, description="List of entities in the knowledge graph") relations: List[Relation] = Field(default_factory=list, description="List of relations in the knowledge graph") failures: List[Failure] = Field(default_factory=list, description="List of detected risk or failure events across the trace") optimizations: List[OptimizationRecommendation] = Field(default_factory=list, description="List of recommendations for optimizing the agent system")