""" LangGraph state schema for Multi-Source Agentic RAG. Tracks routing, SQL path, vector path, and synthesis. """ from typing import Any, List, Literal, Optional, TypedDict class AgentState(TypedDict, total=False): """State passed between LangGraph nodes.""" # Routing datasource: Optional[Literal["sql", "vector_store"]] # SQL path (isolated, includes self-correction + HITL) schema_info: Optional[str] sql_query: Optional[str] query_result: Optional[Any] # List of dicts or None query_error: Optional[str] attempt_count: int hitl_approved: Optional[bool] # Vector path vector_context: Optional[str] # Retrieved docs concatenated # Common user_question: str visualization_path: Optional[str] completed: bool final_answer: Optional[str] # Synthesized natural language response