Forge
csharp4405de34
1namespace CascadeIDE.Services;
2
3/// <summary>Решение, обозреватель, диагностики и сводка workspace (ide_execute_command).</summary>
4public static partial class IdeCommands
5{
6 /// <summary>Короткая информация о текущем решении/файле/выделении в дереве. returns: json.</summary>
7 public const string GetSolutionInfo = "get_solution_info";
8 /// <summary>Список файлов и дерево решения (Solution Explorer). returns: json.</summary>
9 public const string GetSolutionFiles = "get_solution_files";
10 /// <summary>Поиск текста по workspace через ripgrep: вызывается команда <c>rg</c> из PATH (Windows/Linux/macOS — поставь пакетом или с релиза). Явный путь: только <c>rg_path</c>. args: pattern:string, subpath?:string, fixed_string?:boolean, glob?:string, max_matches?:integer, rg_path?:string; returns: json; example: {\"pattern\":\"LoadSolution\",\"glob\":\"*.cs\",\"max_matches\":50}.</summary>
11 public const string SearchWorkspaceText = "search_workspace_text";
12 /// <summary>Диагностики текущего открытого .cs (ошибки/предупреждения). returns: json.</summary>
13 public const string GetCurrentFileDiagnostics = "get_current_file_diagnostics";
14 /// <summary>Единая сводка состояния IDE (solution/editor/build/diagnostics...). returns: json.</summary>
15 public const string GetIdeState = "get_ide_state";
16 /// <summary>Только CDS (<c>CockpitSurfaceState</c>): тот же payload, что поле <c>cockpit_surface</c> в <c>get_ide_state</c>. returns: json. Для <c>--agent-contract</c> без полной сводки.</summary>
17 public const string GetCockpitSurface = "get_cockpit_surface";
18 /// <summary>Диагностика загрузки UI-режимов: пути к UiModes, TOML vs встроенный fallback, список id в меню (почему может не быть Flight). returns: json.</summary>
19 public const string GetUiModesDiagnostics = "get_ui_modes_diagnostics";
20 /// <summary>Контекст навигации по коду (ADR 0039, CNC): связанные файлы или мини-подграф. Виды связей — partial_peer project_peer xaml_codebehind_pair test_counterpart same_namespace same_directory. Имена preset — из settings.toml <c>[code_navigation]</c> / <c>[[code_navigation.presets]]</c>. args: mode:string, file_path?:string, line?:integer, column?:integer, max_related?:integer, max_nodes?:integer, max_edges?:integer, preset?:string, include_kinds?:string[], exclude_kinds?:string[], level?:string; returns: json; example: {"mode":"related","file_path":"src/Foo.cs","preset":"no_namespace_noise","level":"controlFlow"}.</summary>
21 public const string GetCodeNavigationContext = "get_code_navigation_context";
22 /// <summary>Выбрать сообщение в чате. args: ordinal?:integer, end_ordinal?:integer, index?:integer; returns: text; example: {"ordinal":3}. ordinal/end_ordinal — 1-based gutter активной detail-ветки; index — 0-based глобальный ChatMessages.</summary>
23 public const string ChatSelectMessage = "chat_select_message";
24 /// <summary>Сместить выбор на предыдущее сообщение чата (keyboard-first). returns: text.</summary>
25 public const string ChatSelectPrevMessage = "chat_select_prev_message";
26 /// <summary>Сместить выбор на следующее сообщение чата (keyboard-first). returns: text.</summary>
27 public const string ChatSelectNextMessage = "chat_select_next_message";
28 /// <summary>Переключить у выбранного thinking-сообщения свёрнутый/полный вид. returns: text.</summary>
29 public const string ChatToggleSelectedThinking = "chat_toggle_selected_thinking";
30 /// <summary>Переключить настройку show_thinking_in_history (keyboard-first toggle). returns: text.</summary>
31 public const string ChatToggleShowThinkingInHistory = "chat_toggle_show_thinking_in_history";
32 /// <summary>Выбрать предыдущую тему в overview (циклически). returns: text.</summary>
33 public const string ChatSelectPrevThread = "chat_select_prev_thread";
34 /// <summary>Выбрать следующую тему в overview (циклически). returns: text.</summary>
35 public const string ChatSelectNextThread = "chat_select_next_thread";
36 /// <summary>Открыть detail выбранной темы. returns: text.</summary>
37 public const string ChatOpenSelectedThread = "chat_open_selected_thread";
38 /// <summary>Вернуться в overview тем (карточки). returns: text.</summary>
39 public const string ChatShowThreadOverview = "chat_show_thread_overview";
40 /// <summary>Включить/выключить сжатый spine в исходящих сообщениях агенту. returns: text.</summary>
41 public const string ChatToggleProductSpineInAgentContext = "chat_toggle_product_spine_in_agent_context";
42 /// <summary>Прочитать сквозную линию продукта (spine) сессии. returns: json.</summary>
43 public const string ChatGetProductSpine = "chat_get_product_spine";
44 /// <summary>Обновить spine (частично): переданные поля перезаписываются; milestones — многострочный текст (веха на строку). args: line_title?:string, current_focus?:string, milestones?:string, include_in_agent_context?:boolean; returns: text; example: {"current_focus":"Topic cards + spine MCP","milestones":"ADR 0096\\nMCP get/set"}.</summary>
45 public const string ChatSetProductSpine = "chat_set_product_spine";
46 /// <summary>Получить выбранное сообщение чата в JSON. returns: json. Поля: selected_index, feed_ordinal, branch_message_count, message_id, role, content.</summary>
47 public const string ChatGetSelectedMessage = "chat_get_selected_message";
48 /// <summary>Заменить текст ответа ассистента по стабильному message_id; в лог пишется message_edited. args: message_id:string, new_content:string, reason?:string; returns: json; example: {"message_id":"a1b2c3d4e5f6789012345678901234ab","new_content":"fixed text"}.</summary>
49 public const string ChatEditMessage = "chat_edit_message";
50 /// <summary>Экспорт текущего чата в читаемый Markdown (роли, индексы, message_id). Поддерживаемый сценарий — явно подвести итоги длинной сессии: экспорт, затем краткое смысловое резюме и согласование с пользователем (см. MCP-PROTOCOL.md, раздел «Подведение итогов сессии чата»). args: write_file?:boolean, file_name?:string; returns: json; example: {"write_file":true}.</summary>
51 public const string ChatExportReadable = "chat_export_readable";
52 /// <summary>SEDM scope strip one-liner активной workline (T2+T1). returns: json; example: {}.</summary>
53 public const string ChatGetSedmScope = "chat_get_sedm_scope";
54 /// <summary>Записать intent card (T1) в event log. args: outcome:string, trigger?:string, chosen_approach?:string, selection_rationale?:string, considered?:object[]; returns: text; example: {"outcome":"scope strip shows open worklines","chosen_approach":"meta projection","considered":[{"approach":"New Chat","rejected_because":"flat chat"}]}.</summary>
55 public const string ChatRecordSedmIntent = "chat_record_sedm_intent";
56 /// <summary>Записать decision_recorded (агент). args: outcome:string, chosen_approach?:string, selection_rationale?:string, considered?:object[], findings?:object[], touched_paths?:string[], revision?:string; returns: text; example: {"outcome":"S1 events in log","chosen_approach":"append-only","touched_paths":["Features/Chat/Foo.cs"]}.</summary>
57 public const string ChatRecordSedmDecision = "chat_record_sedm_decision";
58 /// <summary>Переключить <c>primary_work_surface</c> intercom ↔ editor (ADR 0120). returns: text.</summary>
59 public const string TogglePrimaryWorkSurface = "toggle_primary_work_surface";
60 /// <summary>Установить якорь Forward: <c>intercom</c> | <c>editor</c>. args: surface:string; returns: text; example: {"surface":"intercom"}.</summary>
61 public const string SetPrimaryWorkSurface = "set_primary_work_surface";
62 /// <summary>Добавить проект в открытое решение: <c>dotnet new</c> (console|classlib|webapi) + <c>dotnet sln add</c>. args: template:string, project_name:string; returns: json; example: {"template":"console","project_name":"MyApp"}.</summary>
63 public const string CreateProjectInSolution = "create_project_in_solution";
64}
65
View only · write via MCP/CIDE