Runner Client: How to get the [Display] groups of ComponentSettings?

How to get the [Display] groups of ComponentSettings classes (like TypeDisplay for TestSteps)?


What works for TestSteps
When we query the available step types (GetStepTypesAsync), each type includes TypeDisplay with Name, Description and Group. So we can rebuild the hierarchy from

[Display("MyStep", Groups: new[] { "General", "Level 2", "Level 3" })]

directly in our UI.

What does not work for ComponentSettings
For a ComponentSettings class like
[Display("General", Description: "...", Groups: new { "General", "Level 2", "Level 3", "Level 4" })]
public class General : ComponentSettings { ... }

Our current workaround
We added a technical ComponentSettings class to our plugin that runs inside the Runner. It uses reflection to collect the DisplayAttribute.Group of all ComponentSettings types and publishes them as a string property (Name\tGroup1\tGroup2… per line). Our client reads this pseudo-setting and builds the hierarchy from it. This works, but it feels like a hack.

Questions

  1. Is there an existing Runner API (Session or Runner client) that returns type metadata (DisplayAttribute: Name, Description, Groups, Order) for ComponentSettings, similar to TypeDisplay for step types?

  2. If not, is this planned, or is there a recommended way to get it without loading the plugin assemblies in the client?

    Is our understanding right that ComponentSettingsIdentifier.GroupName always reflects [SettingsGroup] and never Display.Groups?

Thanks!