carraraig's picture
Hello
8816dfd
from typing import Dict, Any, List
from typing_extensions import TypedDict
class AgentState(TypedDict):
"""
AgentState extends HiveGPTMemoryState to provide a unified state structure for the Compute Agent workflow.
Inherits all memory-related fields and adds compute agent-specific workflow fields:
Core Fields:
- query: User's input query
- response: Final response to user
- current_step: Current workflow step identifier
Decision Fields:
- agent_decision: Routing decision ('deploy_model' or 'react_agent')
- deployment_approved: Whether human approved deployment
Model Deployment Fields:
- model_name: Name/ID of the model to deploy
- model_card: Raw model card data from HuggingFace
- model_info: Extracted model information (JSON)
- capacity_estimate: Estimated compute resources needed
- deployment_result: Result of model deployment
React Agent Fields:
- react_results: Results from React agent execution
- tool_calls: List of tool calls made by React agent
- tool_results: Results from tool executions
Error Handling:
- error: Error message if any step fails
- error_step: Step where error occurred
"""
# Core fields
query: str
response: str
current_step: str
messages: List[Dict[str, Any]]
# Decision fields
agent_decision: str
deployment_approved: bool
# Model deployment fields
model_name: str
model_card: Dict[str, Any]
model_info: Dict[str, Any]
capacity_estimate: Dict[str, Any]
deployment_result: Dict[str, Any]
capacity_estimation_status: str
capacity_approval_status: str
capacity_approved: bool
estimated_gpu_memory: float
gpu_requirements: Dict[str, Any]
cost_estimates: Dict[str, Any]
need_reestimation: bool
# React agent fields
react_results: Dict[str, Any]
tool_calls: List[Dict[str, Any]]
tool_results: List[Dict[str, Any]]
# Tool approval fields (for human-in-the-loop)
pending_tool_calls: List[Dict[str, Any]]
approved_tool_calls: List[Dict[str, Any]]
rejected_tool_calls: List[Dict[str, Any]]
modified_tool_calls: List[Dict[str, Any]]
needs_re_reasoning: bool
re_reasoning_feedback: str
# User identification
user_id: str
session_id: str
# Workflow identification (for tools registry lookup)
workflow_id: int
# Compute instance fields (for HiveCompute deployment)
instance_id: str
instance_status: str
instance_created: bool