Spaces:
Sleeping
Sleeping
File size: 1,498 Bytes
73ee6c2 602f88e 73ee6c2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 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 |