Map<String, dynamic> toJson() { return { 'name': name, 'description': description, 'arguments': arguments.map((arg) => arg.toJson()).toList(), }; }