diff --git a/CHANGELOG.md b/CHANGELOG.md index 5df4a88bd..46417a0ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added `STTMuteFrame`, a control frame that enables/disables speech transcription in STT services. +- Added conversation flow management system through `FlowState` and `FlowManager` classes. + This system enables developers to create structured, multi-turn conversations using + a node-based state machine. Each node can contain: + - Multiple LLM context messages (system/user/assistant) + - Available functions for that state + - Pre- and post-actions for state transitions + - Support for both terminal functions (stay in same node) and transitional functions + - Built-in handlers for immediate TTS feedback and conversation end +- Added `NodeConfig` dataclass for defining conversation states, supporting: + - Multiple messages per node for complex prompt building + - Function definitions for available actions + - Optional pre- and post-action hooks + - Clear separation between node configuration and state management +- Added foundational example `25-conversation-flow.py` showing how to use the new + conversation flow functionality. ## [0.0.48] - 2024-11-10 "Antonio release"