Server-side transition
if (needMoreInfo) {
task.setStatus(new TaskStatus(TaskState.INPUT_REQUIRED,
"Which date would you like the flight for?"));
return task;
}Advertisement
Response to client
{
"result": {
"id": "task-9c1",
"status": {
"state": "input-required",
"message": {"role": "assistant", "parts": [{"type": "text", "text": "Which date?"}]}
}
}
}Advertisement
Client provides more input
client.tasksSend(TaskId.of("task-9c1"),
Message.user(TextPart.of("July 15th")));Same task ID. Server picks up where it left off.