complete method

bool complete(
  1. McpTaskRecord task,
  2. Map<String, dynamic> result, {
  3. String? statusMessage,
})

Record the underlying request's result. For the core specification a tool result with isError: true is a failure; for the extension it is a completion (failure is reserved for JSON-RPC errors).

Implementation

bool complete(McpTaskRecord task, Map<String, dynamic> result, {String? statusMessage}) {
  if (task.isTerminal) return false;
  final failed = task.flavor == McpTaskFlavor.core && result['isError'] == true;
  task.result = result;
  return transition(task, failed ? McpTaskStatus.failed : McpTaskStatus.completed,
      statusMessage: statusMessage);
}