complete method
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);
}