| from base_agent import BaseAgent | |
| from models import AgentState | |
| from typing import AsyncGenerator | |
| import json | |
| class DeploymentAnalysis(BaseAgent): | |
| async def __call__(self, state: AgentState) -> AsyncGenerator[str, None]: | |
| prompt_template = """ | |
| Analyze the following project and identify deployment context: | |
| Project: {project_name} | |
| Description: {project_description} | |
| Architecture Components: {architecture_components} | |
| Instructions: | |
| 1. Identify the deployment nodes (servers, clients, etc.) | |
| 2. List the artifacts to be deployed | |
| 3. Show the relationships between nodes | |
| 4. Format as a structured list of deployment elements | |
| """ | |
| async for chunk in self._stream_process( | |
| state=state, | |
| prompt_template=prompt_template, | |
| output_key="deployment_context", | |
| step_name="extract_deployment", | |
| project_name=state["project_name"], | |
| project_description=state["project_description"], | |
| architecture_components=state.get("architecture_components", "") | |
| ): | |
| yield chunk | |