acceptInput method

Map<String, dynamic> acceptInput(
  1. McpTaskRecord task,
  2. Map<String, dynamic> responses
)

Extension: take the responses to outstanding keys (others are ignored); once none are outstanding the task is working again. Returns the accepted responses.

Implementation

Map<String, dynamic> acceptInput(McpTaskRecord task, Map<String, dynamic> responses) {
  final accepted = <String, dynamic>{};
  for (final e in responses.entries) {
    if (task.inputRequests.remove(e.key) != null) accepted[e.key] = e.value;
  }
  if (accepted.isNotEmpty && task.inputRequests.isEmpty && task.status == McpTaskStatus.inputRequired) {
    transition(task, McpTaskStatus.working);
  }
  return accepted;
}