List<Tool> get tools { final tools = (_value[Keys.tools] as List?)?.cast<Tool>(); if (tools == null) { throw ArgumentError('Missing ${Keys.tools} field in $ListToolsResult'); } return tools; }