- Fix Flow constructor to accept initial_state parameter
- Replace dict conversion with model.model_copy() in _create_initial_state
- Replace dict conversion with model.copy(update=...) in _initialize_state
- Add comprehensive tests covering dict method name collisions
- Preserve BaseModel structure to prevent attribute collision
Fixes issue where Pydantic BaseModel instances were coerced into dicts,
causing field names like 'items', 'keys', 'values' to be overridden by
built-in dict methods. Now BaseModel structure is preserved using
Pydantic's built-in copying methods.
Co-Authored-By: Jo\u00E3o <joao@crewai.com>