LKTs's picture
Upload 65 files
ba71fca verified
raw
history blame
1.28 kB
from typing import List, Dict, TypedDict
from typing_extensions import Annotated
import operator
# Represents a single agent assignment (for any agent, extensible)
class AgentAssignment(TypedDict):
agent: str # Agent name (e.g., "product_agent", "support_agent", ...)
command: str # Command or prompt for the agent
result: str # Result returned by the agent (optional, can be empty)
finish: bool # True if this assignment is a final/terminal response
# Represents a response containing multiple agent assignments
class AssignmentResponse(TypedDict):
assignments: List[AgentAssignment]
# The main workflow state passed between nodes (extensible for new agents, logging, etc.)
class SupportFlowXState(TypedDict):
user_message: str # Original user message
chat_history: List[Dict[str, str]] # Full chat history (user/agent)
allowed_agents: List[str] # List of allowed/registered agent names (can be extended)
assigned_agents: AssignmentResponse # List of agent assignments (for monitoring/debugging)
final_response: str # Final response to the user (set/replace)
logs: Annotated[List[str], operator.add] # System logs (append/add)