from typing import TypedDict from langchain_core.documents import Document class GraphState(TypedDict): question: str documents: list[Document] retrieval_score: float answer: str vector_db: object route: str