| 1 | namespace CascadeIDE.Contracts.Experimental.Capabilities; |
| 2 | |
| 3 | /// <summary> |
| 4 | /// Неизменяемое описание зарегистрированных capabilities (для introspection). |
| 5 | /// </summary> |
| 6 | /// <remarks> |
| 7 | /// “Включено/доступно” вычисляется shell’ом с учётом overlay (например UiMode TOML) и рантайм условий. Карта описывает |
| 8 | /// зарегистрированную поверхность возможностей и предназначена для диагностики и автоматизации. |
| 9 | /// </remarks> |
| 10 | [ApiStability(ApiStability.Experimental)] |
| 11 | public sealed record CapabilityMap |
| 12 | { |
| 13 | /// <summary>Service capabilities.</summary> |
| 14 | public IReadOnlyList<ServiceCapabilityDescriptor> Services { get; init; } = Array.Empty<ServiceCapabilityDescriptor>(); |
| 15 | /// <summary>Command capabilities.</summary> |
| 16 | public IReadOnlyList<CommandCapabilityDescriptor> Commands { get; init; } = Array.Empty<CommandCapabilityDescriptor>(); |
| 17 | /// <summary>UI surface capabilities.</summary> |
| 18 | public IReadOnlyList<UiSurfaceCapabilityDescriptor> UiSurfaces { get; init; } = Array.Empty<UiSurfaceCapabilityDescriptor>(); |
| 19 | |
| 20 | /// <summary>Хэш содержимого карты (для “тонких снапшотов” и кэширования).</summary> |
| 21 | public string? Hash { get; init; } |
| 22 | } |
| 23 | |
| 24 | |
View only · write via MCP/CIDE