Integrated continuousModeSteps from SettingsViewModel into ChatViewModel

Refactored the ChatViewModel's sendChatMessage method to utilize the continuousModeSteps setting from the SettingsViewModel. This allows the continuous chat mode to honor the user's preference from the settings. Also introduced an optional currentStep parameter with a default value, enabling better control over the progression of continuous mode.
This commit is contained in:
hunteraraujo
2023-09-24 17:15:36 -07:00
parent 9463fbbe2b
commit ffa76c3a19
2 changed files with 21 additions and 6 deletions

View File

@@ -103,7 +103,8 @@ class ChatViewModel with ChangeNotifier {
}
/// Sends a chat message for a specific task.
void sendChatMessage(String? message) async {
void sendChatMessage(String? message,
{required int continuousModeSteps, int currentStep = 1}) async {
if (_currentTaskId == null) {
print("Error: Task ID is not set.");
return;
@@ -147,7 +148,14 @@ class ChatViewModel with ChangeNotifier {
notifyListeners();
if (_isContinuousMode) {
sendChatMessage(null);
print("Continuous Mode: Step $currentStep of $continuousModeSteps");
if (currentStep < continuousModeSteps) {
sendChatMessage(null,
continuousModeSteps: continuousModeSteps,
currentStep: currentStep + 1);
} else {
_isContinuousMode = false;
}
}
print("Chats added for task ID: $_currentTaskId");

View File

@@ -1,4 +1,5 @@
import 'package:auto_gpt_flutter_client/models/message_type.dart';
import 'package:auto_gpt_flutter_client/viewmodels/settings_viewmodel.dart';
import 'package:auto_gpt_flutter_client/viewmodels/task_viewmodel.dart';
import 'package:auto_gpt_flutter_client/views/chat/agent_message_tile.dart';
import 'package:auto_gpt_flutter_client/views/chat/chat_input_field.dart';
@@ -94,13 +95,19 @@ class _ChatViewState extends State<ChatView> {
child: ChatInputField(
onSendPressed: (message) async {
if (widget.viewModel.currentTaskId != null) {
widget.viewModel
.sendChatMessage((message == "") ? null : message);
widget.viewModel.sendChatMessage(
(message == "") ? null : message,
continuousModeSteps:
Provider.of<SettingsViewModel>(context, listen: false)
.continuousModeSteps);
} else {
String newTaskId = await taskViewModel.createTask(message);
widget.viewModel.setCurrentTaskId(newTaskId);
widget.viewModel
.sendChatMessage((message == "") ? null : message);
widget.viewModel.sendChatMessage(
(message == "") ? null : message,
continuousModeSteps:
Provider.of<SettingsViewModel>(context, listen: false)
.continuousModeSteps);
}
},
onContinuousModePressed: () {