| from typing import TypedDict, List, Optional, Dict, Any | |
| class GraphState(TypedDict): | |
| ticker: str | |
| query: str # general query / task | |
| # outputs collected from agents | |
| news_summary: Optional[str] | |
| earnings_summary: Optional[str] | |
| market_summary: Optional[str] | |
| # bookkeeping | |
| completed: List[str] | |
| # final | |
| final_recommendation: Optional[str] |