uml / agents /analysis /architecture_analysis.py
Mohammed Foud
Add application file
5a2d62e
from base_agent import BaseAgent
from models import AgentState
from typing import AsyncGenerator
import json
class ArchitectureAnalysis(BaseAgent):
async def __call__(self, state: AgentState) -> AsyncGenerator[str, None]:
prompt_template = """
Analyze the following project and identify system components:
Project: {project_name}
Description: {project_description}
Entities: {entities_classes}
Use Cases: {actors_use_cases}
Instructions:
1. Identify major system components/modules
2. List their responsibilities
3. Describe how they interact
4. Format as a structured component hierarchy
"""
async for chunk in self._stream_process(
state=state,
prompt_template=prompt_template,
output_key="architecture_components",
step_name="extract_architecture",
project_name=state["project_name"],
project_description=state["project_description"],
entities_classes=state["entities_classes"],
actors_use_cases=state["actors_use_cases"]
):
yield chunk