requireInput method
Extension: ask the client for input. Keys must never have been issued for this task before.
Implementation
void requireInput(McpTaskRecord task, Map<String, Map<String, dynamic>> requests) {
for (final key in requests.keys) {
if (task._issuedKeys.contains(key)) {
throw ArgumentError.value(key, 'requests', 'input request keys are unique over a task\'s life');
}
}
if (!transition(task, McpTaskStatus.inputRequired) && task.status != McpTaskStatus.inputRequired) {
throw StateError('Task ${task.taskId} is ${task.status}');
}
task._issuedKeys.addAll(requests.keys);
task.inputRequests.addAll(requests);
}