FireShadow's picture
Initial clean commit
1721aea
"""
State management utilities for the auto_causal workflow.
This module provides utility functions to create standardized state updates
for passing between tools in the auto_causal agent workflow.
"""
from typing import Dict, Any, Optional
def create_workflow_state_update(
current_step: str,
step_completed_flag: bool,
next_tool: str,
next_step_reason: str,
error: Optional[str] = None
) -> Dict[str, Any]:
"""
Create a standardized workflow state update dictionary.
Args:
current_step: Current step in the workflow (e.g., "input_processing")
step_completed_flag: Flag indicating which step was completed (e.g., "query_parsed")
next_tool: Name of the next tool to call
next_step_reason: Reason message for the next step
error: Optional error message if the step failed
Returns:
Dictionary containing the workflow_state sub-dictionary
"""
state_update = {
"workflow_state": {
"current_step": current_step,
current_step + "_completed": step_completed_flag,
"next_tool": next_tool,
"next_step_reason": next_step_reason
}
}
if error:
state_update["workflow_state"]["error_message"] = error
return state_update