Forge
csharpdeeb25a2
1namespace CascadeIDE.Contracts.Experimental;
2
3/// <summary>
4/// Канонические id панелей shell для <c>workspace.toml</c> / <see cref="Experimental.Capabilities.UiSurfaceCapabilityDescriptor.HostAttentionPanelId"/>.
5/// ADR 0025; совпадают с <c>AttentionPanelIds</c> в приложении.
6/// </summary>
7[ApiStability(ApiStability.Experimental)]
8public static class AttentionPanelCanonicalIds
9{
10 public const string SolutionExplorer = "solution_explorer";
11 public const string ChatPanel = "chat_panel";
12 public const string Git = "git";
13 public const string Terminal = "terminal";
14 public const string Editor = "editor";
15 public const string EditorHud = "editor_hud";
16
17 /// <summary>Известные id в стабильном порядке (расширять вместе с <c>AttentionZonePanelRuntime</c>).</summary>
18 public static readonly string[] All =
19 [
20 SolutionExplorer,
21 ChatPanel,
22 Git,
23 Terminal,
24 Editor,
25 EditorHud
26 ];
27
28 /// <summary>Строгое совпадение с одним из канонических id панели.</summary>
29 public static bool IsKnownPanelId(string? value) =>
30 value is SolutionExplorer or ChatPanel or Git or Terminal or Editor or EditorHud;
31}
32
View only · write via MCP/CIDE