Spaces:
Sleeping
Sleeping
| from typing import Any, Dict, List, Optional, Tuple,TypedDict,Literal | |
| from typing import Annotated, Sequence | |
| import os | |
| from langchain_core.messages import SystemMessage, HumanMessage,ToolMessage,AIMessage | |
| from langchain_core.tools import Tool | |
| from langgraph.graph import StateGraph,END,START | |
| from langgraph.types import interrupt | |
| from langchain_core.prompts import ChatPromptTemplate,MessagesPlaceholder | |
| from langchain_community.document_loaders import PyMuPDFLoader | |
| from pydantic import BaseModel, Field | |
| from typing import List, Optional | |
| from pprint import pprint | |
| from langchain_core.messages import BaseMessage | |
| from langgraph.graph import add_messages | |
| from app.schemas.jd_extract_schema import JobDescriptionExtract | |
| from app.schemas.resume_extract_schema import ResumeExtract | |
| from app.schemas.skill_gap_analysis_schema import SkillGapAnalysis | |
| class OnboardingState(TypedDict): | |
| candidate_name: Optional[str] | |
| resume_text: str | |
| file_path: str | |
| job_description: str | |
| messages: Annotated[Sequence[BaseMessage], add_messages] | |
| # Analysis & Extraction Data | |
| skill_gap_analysis_data: Optional[SkillGapAnalysis] | |
| resume_data: Optional[ResumeExtract] | |
| extraction_error: Optional[str] | |
| JobDescriptionExtract_data: Optional[JobDescriptionExtract] | |
| # --- NEW KEYS FOR OUTPUT --- | |
| mermaid_code: Optional[str] # Stores the Mermaid visualization string | |
| final_roadmap: Optional[Dict] # Stores the final structured JSON roadmap |