Spaces:
Sleeping
Sleeping
from typing import Annotated, Literal, Optional | |
from typing_extensions import TypedDict | |
from langgraph.graph.message import AnyMessage, add_messages | |
def update_dialog_stack(left: list[str], right: Optional[str]) -> list[str]: | |
"""Push or pop the state.""" | |
if right is None: | |
return left | |
if right == "pop": | |
return left[:-1] | |
return left + [right] | |
class State(TypedDict): | |
messages: Annotated[list[AnyMessage], add_messages] | |
user_info: str | |
dialog_state: Annotated[ | |
list[ | |
Literal[ | |
"assistant", | |
"Human_Resource", | |
"Financial_Management", | |
"Supply_Chain_Management", | |
"Project_Management", | |
"Customer_Relationship_Management", | |
] | |
], | |
update_dialog_stack, | |
] |