CodeBuddyAI / agent /agent_graph /StateTasks.py
TahaFawzyElshrif
uploaded files
32a7233
import os
from typing import TypedDict, List, Dict, Any, Optional
from enum import Enum
# 1) Core Tasks
class Available_Tasks(Enum):
LAPTOP_CHOOSE = "LAPTOP_CHOOSE"
QUESTION = "QUESTION" # EAG of well known
ROADMAP = "ROADMAP"
PROGRAMMING = "PROGRAMMING"
GENERAL = "GENERAL" # last option with notice
HELLO = "HELLO" # this is to generally detect hello , but in use update_context prompt control to not classify it as core type
# 2) Task Steps
task_steps = {
Available_Tasks.GENERAL.value : [],
Available_Tasks.LAPTOP_CHOOSE.value : ["price","usage","other_concern"],
Available_Tasks.QUESTION.value : [],
Available_Tasks.PROGRAMMING.value : [],
Available_Tasks.ROADMAP.value : ["career","level","experience","skills"],
Available_Tasks.HELLO.value : []
}
# 3) Tasks State
class ProblemState(TypedDict):
# main
question: str
answer: Optional[str]
node_output_article : Optional[str]
memory: List[Dict[str, Any]] # filled by list of Human/Sytem messages ... as in gui
# to do lists
# same as defined in task_Steps
question_type : Optional[str] # --> must be of Available_Tasks values
price : Optional[str]
usage : Optional[str]
other_concern : Optional[str]
career : Optional[str]
level : Optional[str]
experience : Optional[List[str]]
skills : Optional[List[str]]
all_ok : Optional[bool]
# Models
llm: Optional[Any]
rag_model: Optional[Any]