fix(frontend): Sync request models up with forge.agent_protocol (#7202)

Frontend broke in #7171 because of changes to the request models in `forge.agent_protocol`. This PR unbreaks it.

Changes:
- Make `input` required on `TaskRequestBody` and `StepRequestBody`
- Amend `toJson()` on `TaskRequestBody` and `StepRequestBody` to omit attributes with `null` value
This commit is contained in:
Reinier van der Leer
2024-06-09 00:09:01 +02:00
committed by GitHub
parent f2cb553c9a
commit 8f43a346e9
4 changed files with 11 additions and 10 deletions

View File

@@ -1,13 +1,12 @@
class StepRequestBody {
final String? input;
final String input;
final Map<String, dynamic>? additionalInput;
StepRequestBody({required this.input, this.additionalInput});
Map<String, dynamic> toJson() {
if (input == null && additionalInput == null) {
return {};
}
return {'input': input, 'additional_input': additionalInput};
Map<String, dynamic> result = {'input': input, 'additional_input': additionalInput};
result.removeWhere((_, v) => v == null);
return result;
}
}

View File

@@ -5,6 +5,8 @@ class TaskRequestBody {
TaskRequestBody({required this.input, this.additionalInput});
Map<String, dynamic> toJson() {
return {'input': input, 'additional_input': additionalInput};
Map<String, dynamic> result = {'input': input, 'additional_input': additionalInput};
result.removeWhere((_, v) => v == null);
return result;
}
}

View File

@@ -111,7 +111,7 @@ class ChatViewModel with ChangeNotifier {
}
/// Sends a chat message for a specific task.
void sendChatMessage(String? message,
void sendChatMessage(String message,
{required int continuousModeSteps, int currentStep = 1}) async {
if (_currentTaskId == null) {
print("Error: Task ID is not set.");
@@ -165,7 +165,7 @@ class ChatViewModel with ChangeNotifier {
if (_isContinuousMode && !executedStep.isLast) {
print("Continuous Mode: Step $currentStep of $continuousModeSteps");
if (currentStep < continuousModeSteps) {
sendChatMessage(null,
sendChatMessage("",
continuousModeSteps: continuousModeSteps,
currentStep: currentStep + 1);
} else {

View File

@@ -117,7 +117,7 @@ class _ChatViewState extends State<ChatView> {
try {
if (widget.viewModel.currentTaskId != null) {
widget.viewModel.sendChatMessage(
(message == "") ? null : message,
message,
continuousModeSteps: Provider.of<SettingsViewModel>(
context,
listen: false)
@@ -126,7 +126,7 @@ class _ChatViewState extends State<ChatView> {
String newTaskId = await taskViewModel.createTask(message);
widget.viewModel.setCurrentTaskId(newTaskId);
widget.viewModel.sendChatMessage(
(message == "") ? null : message,
message,
continuousModeSteps: Provider.of<SettingsViewModel>(
context,
listen: false)