@override Object toJson() => { 'parent': parent, if (query case final query?) 'query': query.toJson(), if (tools.isNotDefault) 'tools': [for (final i in tools) i.toJson()], };