- Added a new boolean state `isContinuousMode` to the `ChatInputField` widget to handle the continuous mode feature.
- Introduced a new callback function `onContinuousModePressed` to manage the state of the continuous mode from an external source.
- Conditionally rendered the send button based on the `isContinuousMode` state.
- Enhanced the UI by adding a button to toggle between continuous mode and single message mode, which triggers the `onContinuousModePressed` callback.
Added a new state variable `_isContinuousMode` to the ChatViewModel to track whether the chat is in continuous mode or not. This state is toggled via a setter and triggers UI updates through `notifyListeners()`.
Enhanced the `sendChatMessage` method to automatically send a null message if continuous mode is active, triggering the next step in the chat.
Updated the StepRequestBody class to allow both 'input' and 'additionalInput' to be optional. Added logic in toJson() method to return an empty JSON object if both fields are null.
This commit wraps the TaskView and ChatView in a SafeArea widget to ensure that they are not hidden behind the CupertinoTabView. This addresses the issue where parts of these views were obscured, particularly when using the app on smaller screens.
- Wrapped TaskView in SafeArea
- Wrapped ChatView in SafeArea
This change improves the user experience by ensuring that all content is visible and accessible.
This commit integrates the actual JSON response received from the API into the AgentMessageTile. Now, each AgentMessageTile will display the associated JSON response when expanded.
- Converted Map<String, dynamic> JSON response to a string using jsonEncode.
- Passed the JSON-formatted string to JsonCodeSnippetView.
- Updated AgentMessageTile to include this change.
This change enhances the debugging and transparency features of the chat interface.
Update TaskListTile to truncate task titles that overflow.
- Modify the Text widget to limit it to a single line.
- Add TextOverflow.ellipsis to show an ellipsis when the text overflows.
Ensure that only one TaskListTile can be selected at a time.
- Refactor TaskListTile to be a StatelessWidget.
- Remove internal state `_isSelected` from TaskListTile.
- Add a `selected` boolean prop to TaskListTile to control its selection state from the parent.
- Update the parent widget to manage the selection state and pass it down to TaskListTile.