# -*- coding: utf-8 -*- """文档对话 LangGraph 状态定义。""" from typing import Any, Dict, List, Optional, TypedDict from langchain_core.messages import BaseMessage class DocumentChatState(TypedDict, total=False): callback_task_id: str user_id: str conversation_id: Optional[str] task_id: Optional[str] project_info: Dict[str, Any] selected_section: Dict[str, Any] document_context: Dict[str, Any] conversation_history: List[Dict[str, Any]] user_message: str skill_registry: List[Dict[str, Any]] retrieval_query: Optional[str] retrieval_keywords: List[str] retrieval_steps: List[Dict[str, Any]] retrieval_method: Optional[str] retrieval_candidates: List[Dict[str, Any]] reranked_references: List[Dict[str, Any]] approved_references: List[Dict[str, Any]] retrieval_status: Optional[str] retrieval_metrics: Dict[str, Any] intent_result: Optional[Dict[str, Any]] skill_result: Optional[Dict[str, Any]] diff_result: Optional[Dict[str, Any]] response_type: Optional[str] current_stage: str overall_task_status: str error_message: Optional[str] warnings: List[str] messages: List[BaseMessage]