- Introduce FlowPlotEvent to track flow plotting events
- Replace Telemetry method with event bus emission in Flow.plot()
- Update event bus to support new FlowPlotEvent type
- Add test case to validate flow plotting event emission
- Replace all references to `event_bus` with `crewai_event_bus`
- Update import statements across multiple files
- Remove the old `event_bus.py` file
- Maintain existing event handling functionality
- Remove `event_emitter` from Flow class and replace with `event_bus.emit()`
- Update Flow and Agent tests to use event_bus event listeners
- Remove redundant event emissions in Flow methods
- Add debug print statements in Flow execution
- Simplify event tracking in test cases
Previously, `@start` methods triggered a `FlowStartedEvent` but did not
emit a `MethodExecutionStartedEvent`. This was fine for a single entry
point but caused ambiguity when multiple `@start` methods existed.
This commit (1) emits events for starting points, (2) adds tests
ensuring ordering, (3) adds more fields to events.
* feat: add unique ID to flow states
- Add FlowState base model with UUID field
- Update type variable T to use FlowState
- Ensure all states (structured and unstructured) get UUID
- Fix type checking in _create_initial_state method
Co-Authored-By: Joe Moura <joao@crewai.com>
* docs: update documentation to reflect automatic UUID generation in flow states
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: sort imports in flow.py
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: sort imports according to PEP 8
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: auto-fix import sorting with ruff
Co-Authored-By: Joe Moura <joao@crewai.com>
* test: add comprehensive tests for flow state UUID functionality
Co-Authored-By: Joe Moura <joao@crewai.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Joe Moura <joao@crewai.com>