import json from typing import Dict, Any from agents.base_agent import BaseAgent, AgentResponseSchema class QualityAgent(BaseAgent): async def run( self, profile: Dict[str, Any], graph: Dict[str, Any], summary: Dict[str, Any], report: str, query: str ) -> Dict[str, Any]: prompt = f""" You are the Quality Agent. Your responsibility is to analyze the codebase for code quality, maintainability, architectural complexity, indicators of dead code, large/bloated modules, potential code smells, and testing/coverage strategies. Here is the repository context: 1. Profile: {json.dumps(profile, indent=2)} 2. Graph Structure: {json.dumps(graph, indent=2)} 3. Summary: {json.dumps(summary, indent=2)} 4. Intelligence Report: {report} User Query: {query} Perform a rigorous analysis of the code quality and maintainability indicators to answer this query. Your citations must specify modules or files containing smells, complex blocks, or missing test configurations. Return your structured answer matching the AgentResponseSchema. """ return await self._call_llm_json(prompt, AgentResponseSchema)