vn6295337's picture
Fix revision loop: add critique_details to AgentState
95ae0b4
from typing import TypedDict, Optional, List, Any
class AgentState(TypedDict):
company_name: str
ticker: Optional[str] # Stock ticker symbol from search
strategy_focus: str
raw_data: Optional[str]
draft_report: Optional[str]
critique: Optional[str]
critique_details: Optional[dict] # Structured critique for revision loop
revision_count: int
score: int
messages: List[str]
# Provider tracking
provider_used: Optional[str]
data_source: str # "live" or "mock"
# MCP source tracking
sources_failed: Optional[List[str]] # List of MCP sources that failed
# LLM provider tracking
llm_providers_failed: Optional[List[str]] # List of LLM providers that failed
# Progress tracking (for granular metrics)
workflow_id: Optional[str]
progress_store: Optional[Any] # Reference to WORKFLOWS dict
# Error handling - abort workflow on critical failures
error: Optional[str] # Set when LLM providers fail, causes workflow to abort
# Metric reference for hallucination prevention (Layer 1)
metric_reference: Optional[dict] # {M01: {key, raw_value, formatted, as_of_date}, ...}
metric_reference_hash: Optional[str] # SHA256 hash for integrity verification
# Revision tracking
analyzer_revision_skipped: Optional[bool] # True if revision was skipped due to LLM failure