From 40248aadec10e9a5a318f83c8b956f5a0c41be8b Mon Sep 17 00:00:00 2001 From: Brandon Hancock Date: Fri, 1 Nov 2024 16:14:36 -0400 Subject: [PATCH] Make sure inputs adhere to state type. --- src/crewai/flow/flow.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/crewai/flow/flow.py b/src/crewai/flow/flow.py index 2f6e82750..85e80c1bd 100644 --- a/src/crewai/flow/flow.py +++ b/src/crewai/flow/flow.py @@ -216,7 +216,10 @@ class Flow(Generic[T], metaclass=FlowMeta): if isinstance(self._state, BaseModel): # Structured state management try: - self._state = self._state.model_copy(update=inputs) + # Create a new instance with updated values to ensure validation + self._state = self._state.__class__( + **{**self._state.model_dump(), **inputs} + ) except ValidationError as e: raise ValueError(f"Invalid inputs for structured state: {e}") from e elif isinstance(self._state, dict):