mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2026-02-16 03:34:28 +01:00
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:
@@ -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");
|
||||
|
||||
@@ -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: () {
|
||||
|
||||
Reference in New Issue
Block a user