| import json |
| from typing import Dict, Any |
| from agents.base_agent import BaseAgent, AgentResponseSchema |
|
|
| class DependencyAgent(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 Dependency Agent. Your responsibility is to analyze libraries, package configurations (e.g. package.json, requirements.txt), framework selections, database integrations, cloud stack, and deployment environment setups. |
| |
| 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 project dependencies and frameworks to answer this query. Your citations must reference the package manifest files or configurations (e.g., "requirements.txt:L3", "docker-compose.yml:L5"). |
| Return your structured answer matching the AgentResponseSchema. |
| """ |
| return await self._call_llm_json(prompt, AgentResponseSchema) |
|
|