Forge
csharpdeeb25a2
1// <auto-generated/>
2using System.Collections.Generic;
3
4namespace CascadeIDE.Services;
5
6internal static class IdeCommandsDoc
7{
8 private static readonly Dictionary<string, string> SummaryByCommandId = new(StringComparer.Ordinal)
9 {
10 ["about"] = "Показать диалог «О программе». returns: text.",
11 ["activate_document"] = "Активировать документ (переключить вкладку). args: file_path:string; returns: text; example: {\"file_path\":\"C:\\\\\\\\tmp\\\\\\\\a.cs\"}.",
12 ["add_control"] = "Добавить контрол в UI (Debug). args: parent_name:string, control_type:string, content?:string, name?:string; returns: text; example: {\"parent_name\":\"Root\",\"control_type\":\"TextBlock\",\"content\":\"Hi\"}.",
13 ["append_agent_notes"] = "Добавить блок в конец заметок агента. args: content:string; returns: text; example: {\"content\":\"\\\\n# Update\\\\n...\"}.",
14 ["append_knowledge_file"] = "Добавить блок в конец knowledge-файла. args: file_path:string, content:string, knowledge_path?:string, knowledge_root_id?:string, save_revision?:boolean; returns: text; example: {\"file_path\":\"META/x.md\",\"content\":\"more\",\"save_revision\":true}.",
15 ["apply_cursor_like_theme"] = "Применить тему «как Cursor». returns: text.",
16 ["apply_dark_theme"] = "Применить тёмную тему. returns: text.",
17 ["apply_edit"] = "Применить текстовую правку в открытом документе. args: file_path:string, start_line:integer, start_column:integer, end_line:integer, end_column:integer, new_text:string; returns: text; example: {\"file_path\":\"C:\\\\tmp\\\\a.cs\",\"start_line\":1,\"start_column\":1,\"end_line\":1,\"end_column\":1,\"new_text\":\"// hi\\n\"}.",
18 ["apply_light_theme"] = "Применить светлую тему. returns: text.",
19 ["apply_power_classic_theme"] = "Применить классическую Power-тему (циан). returns: text.",
20 ["build"] = "Сборка решения (структурированный результат). returns: json.",
21 ["build_solution_ui"] = "Кнопка «Собрать» в тулбаре: dotnet build в панель вывода (не structured build). returns: text.",
22 ["build_structured"] = "Сборка решения (структурированный результат). То же, что `build`; выделено для совместимости/алиасов. returns: json.",
23 ["cancel_focus_step"] = "Отменить текущий шаг плана (Focus). returns: text.",
24 ["capture_window"] = "Снимок окон IDE в PNG (по умолчанию главное окно; при scope=all — все top-level, в т.ч. окно-хост Mfd и прочие). args: scope?:string, workspace_path?:string, output_path?:string; returns: json. example: {\"scope\":\"all\",\"workspace_path\":\"D:\\\\\\\\tmp\\\\\\\\ws\",\"output_path\":\".cascade-ide/window-{n}.png\"}.",
25 ["casa_field_infer"] = "CASA native hot path (decode + SN/CEN in C#). args: query?:string; returns: json; example: {\"query\":\"согласно приказу\"}.",
26 ["casa_field_query"] = "CASA field query: match KB concepts → doc_path + section. args: query:string, open?:boolean; returns: json; example: {\"query\":\"import knowledge delta\",\"open\":true}.",
27 ["chat_edit_message"] = "Заменить текст ответа ассистента по стабильному message_id; в лог пишется message_edited. args: message_id:string, new_content:string, reason?:string; returns: json; example: {\"message_id\":\"a1b2c3d4e5f6789012345678901234ab\",\"new_content\":\"fixed text\"}.",
28 ["chat_export_readable"] = "Экспорт текущего чата в читаемый Markdown (роли, индексы, message_id). Поддерживаемый сценарий — явно подвести итоги длинной сессии: экспорт, затем краткое смысловое резюме и согласование с пользователем (см. MCP-PROTOCOL.md, раздел «Подведение итогов сессии чата»). args: write_file?:boolean, file_name?:string; returns: json; example: {\"write_file\":true}.",
29 ["chat_get_product_spine"] = "Прочитать сквозную линию продукта (spine) сессии. returns: json.",
30 ["chat_get_sedm_scope"] = "SEDM scope strip one-liner активной workline (T2+T1). returns: json; example: {}.",
31 ["chat_get_selected_message"] = "Получить выбранное сообщение чата в JSON. returns: json. Поля: selected_index, feed_ordinal, branch_message_count, message_id, role, content.",
32 ["chat_open_selected_thread"] = "Открыть detail выбранной темы. returns: text.",
33 ["chat_record_sedm_decision"] = "Записать 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\"]}.",
34 ["chat_record_sedm_intent"] = "Записать 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\"}]}.",
35 ["chat_select_message"] = "Выбрать сообщение в чате. args: ordinal?:integer, end_ordinal?:integer, index?:integer; returns: text; example: {\"ordinal\":3}. ordinal/end_ordinal — 1-based gutter активной detail-ветки; index — 0-based глобальный ChatMessages.",
36 ["chat_select_next_message"] = "Сместить выбор на следующее сообщение чата (keyboard-first). returns: text.",
37 ["chat_select_next_thread"] = "Выбрать следующую тему в overview (циклически). returns: text.",
38 ["chat_select_prev_message"] = "Сместить выбор на предыдущее сообщение чата (keyboard-first). returns: text.",
39 ["chat_select_prev_thread"] = "Выбрать предыдущую тему в overview (циклически). returns: text.",
40 ["chat_set_product_spine"] = "Обновить 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\"}.",
41 ["chat_show_thread_overview"] = "Вернуться в overview тем (карточки). returns: text.",
42 ["chat_toggle_product_spine_in_agent_context"] = "Включить/выключить сжатый spine в исходящих сообщениях агенту. returns: text.",
43 ["chat_toggle_selected_thinking"] = "Переключить у выбранного thinking-сообщения свёрнутый/полный вид. returns: text.",
44 ["chat_toggle_show_thinking_in_history"] = "Переключить настройку show_thinking_in_history (keyboard-first toggle). returns: text.",
45 ["click_control"] = "Клик по кнопке (под курсором или по имени). args: name?:string; returns: text; example: {\"name\":\"BuildButton\"}.",
46 ["close_correspondence_page"] = "Закрыть страницу Correspondence (CRS) — первая другая разрешённая страница Mfd. returns: text.",
47 ["close_document"] = "Закрыть документ. args: file_path:string; returns: text; example: {\"file_path\":\"C:\\\\\\\\tmp\\\\\\\\a.cs\"}.",
48 ["close_environment_readiness_page"] = "Перейти с страницы «готовность окружения» на первую другую разрешённую страницу вторичного контура. returns: text.",
49 ["cockpit.open_command_line"] = "Открыть Cockpit Command Line активного Forward host (Intercom: полоса над composer). args: initial_text?:string; returns: text; example: {\"initial_text\":\"/intercom message anchors list\"}.",
50 ["codebase_index_explain"] = "Explain одного hit (как tool `codebase_index_explain`). hit_id обязателен. args: workspace_path?:string, solution_path?:string, hit_id:integer; returns: json; example: {\"hit_id\":1}.",
51 ["codebase_index_reindex"] = "Переиндексация: по умолчанию инкремент (как tool `codebase_index_reindex`); full_rebuild=true — полная перестройка. args: workspace_path?:string, solution_path?:string, full_rebuild?:boolean; returns: json; example: {}.",
52 ["codebase_index_search"] = "Гибридный поиск по индексу (как tool `codebase_index_search`). query обязателен; workspace/solution по умолчанию — текущее решение. args: workspace_path?:string, solution_path?:string, query:string, top_n?:integer, semantic?:boolean, alpha?:number, beta?:number, vec_top_k?:integer, path_prefix?:string, exclude_path_prefixes?:string[], extensions?:string[]; returns: json; example: {\"query\":\"HybridIndexOrchestrator\"}.",
53 ["codebase_index_status"] = "Статус локального индекса (как tool `codebase_index_status`). workspace_path и solution_path опциональны — по умолчанию текущее открытое решение. args: workspace_path?:string, solution_path?:string; returns: json; example: {\"workspace_path\":\"D:\\\\repo\"}.",
54 ["compact_hot_context"] = "Ужать hot-context (preview/apply). args: apply?:boolean; returns: json; example: {\"apply\":false}.",
55 ["confirm_focus_step"] = "Подтвердить текущий шаг плана (Focus). returns: text.",
56 ["create_new_solution_dialog"] = "Создать новое пустое решение: диалог «Сохранить как» для `.sln`, затем `dotnet new sln` (шаблон SDK, не пакеты из NuGet). returns: text.",
57 ["create_project_in_solution"] = "Добавить проект в открытое решение: `dotnet new` (console|classlib|webapi) + `dotnet sln add`. args: template:string, project_name:string; returns: json; example: {\"template\":\"console\",\"project_name\":\"MyApp\"}.",
58 ["cycle_code_navigation_map_detail_level"] = "Карта намерений: цикл детализации glance → normal → inspect (Ctrl+K → S → D). returns: text.",
59 ["cycle_code_navigation_map_level"] = "Карта намерений: переключить уровень file ↔ controlFlow (Ctrl+K → S → F). returns: text.",
60 ["cycle_code_navigation_map_presentation"] = "Карта намерений: цикл вида list → graph → both (палитра; быстрый путь — Ctrl+K → S → P). returns: text.",
61 ["cycle_code_navigation_map_related_graph_layout"] = "Карта намерений: цикл укладки related-files radial → top_down → bottom_up. returns: text.",
62 ["cycle_ui_mode"] = "Циклически переключить UI mode (hotkey). returns: text.",
63 ["debug_attach"] = "Подключиться к процессу по PID. args: workspace_path:string, process_id:integer, target_path?:string, netcoredbg_path?:string; returns: text; example: {\"workspace_path\":\"D:\\\\\\\\proj\",\"process_id\":12345}.",
64 ["debug_continue"] = "Продолжить выполнение (DAP continue). returns: text.",
65 ["debug_launch"] = "Запустить отладку (netcoredbg DAP). args: workspace_path?:string, target_path?:string, profile_name?:string, netcoredbg_path?:string, program_args?:string[] . returns: text; example: {\"workspace_path\":\"D:\\\\\\\\proj\",\"target_path\":\"samples\\\\\\\\DebugTarget\\\\\\\\bin\\\\\\\\Debug\\\\\\\\net10.0\\\\\\\\DebugTarget.dll\"}.",
66 ["debug_ping"] = "Проверка доступности встроенной отладки. returns: text.",
67 ["debug_stack_trace"] = "Стек вызовов (DAP stackTrace). returns: text.",
68 ["debug_step_into"] = "Шаг с заходом (DAP stepIn). returns: text.",
69 ["debug_step_out"] = "Шаг с выходом (DAP stepOut). returns: text.",
70 ["debug_step_over"] = "Шаг через строку (DAP next). returns: text.",
71 ["debug_stop"] = "Завершить сессию отладки (dispose DAP). returns: text.",
72 ["debug_stop_context"] = "Один снимок после stopped: meta + stack + variables (Core DapStopContext). args: frame_index?:integer, fast?:boolean, max_depth?:integer, max_children_per_node?:integer, time_budget_ms?:integer, format?:string, json_indented?:boolean; returns: text; example: {\"frame_index\":0,\"fast\":true}.",
73 ["debug_variables"] = "Переменные кадра. args: frame_index?:integer; returns: text; example: {\"frame_index\":0}.",
74 ["delete_knowledge_file"] = "Удалить knowledge-файл. args: file_path:string, knowledge_path?:string, knowledge_root_id?:string; returns: text; example: {\"file_path\":\"tmp.md\"}.",
75 ["delete_knowledge_section"] = "Удалить секцию из knowledge-файла. args: file_path:string, section_id:string, knowledge_path?:string, knowledge_root_id?:string; returns: text; example: {\"file_path\":\"index.md\",\"section_id\":\"foo\"}.",
76 ["editor.reveal_code"] = "Reveal в редакторе по bracket-ссылке (ADR 0131). args: code_ref:string, active_file?:string, duration_ms?:integer; returns: text; example: {\"code_ref\":\"[M:Run]\",\"active_file\":\"src/Foo.cs\",\"duration_ms\":4000}.",
77 ["editor.select_code"] = "Select в редакторе по bracket-ссылке (ADR 0131). args: code_ref:string, active_file?:string, duration_ms?:integer; returns: text; example: {\"code_ref\":\"[M:Run]\",\"active_file\":\"src/Foo.cs\"}.",
78 ["emergency_stop"] = "Экстренно остановить автономные действия/выполнение (Emergency stop). returns: text.",
79 ["exit_application"] = "Закрыть приложение (как меню Файл → Выход). returns: none.",
80 ["explain_current_step"] = "Пояснить текущий шаг (Focus/Power). returns: text.",
81 ["explain_trace_step"] = "Шаг трассы по индексу в AgentTraceSteps (0 — самый старый). args: step_index:integer; returns: text; example: {\"step_index\":0}.",
82 ["export_expanded_markdown"] = "Экспортировать текущий Markdown с развёрнутыми include-директивами. returns: text.",
83 ["extract_from_archive"] = "Поиск по архивной ревизии заметок с контекстом строк. args: query:string, revision_file?:string, head_limit?:integer, context_lines?:integer; returns: json; example: {\"query\":\"ActiveProjectId\",\"head_limit\":10,\"context_lines\":2}.",
84 ["fetch_web_public_url"] = "Загрузить публичный HTTPS-документ по URL и вернуть тело как читаемый текст (HTML упрощается до текста, поле extraction в JSON). Запрос из машины оператора; только https; локальные/частные хосты блокируются базово (не полная SSRF-защита). args: url:string, max_chars?:integer; returns: json; example: {\\\"url\\\":\\\"https://learn.microsoft.com/en-us/dotnet/\\\"}.",
85 ["fix_failing_tests"] = "Quick action: починить упавшие тесты. returns: text.",
86 ["focus_checkpoint"] = "Создать контрольную точку (Focus). returns: text.",
87 ["focus_editor"] = "Передать фокус в редактор (чтобы клавиши/ввод шли в него). returns: text.",
88 ["focus_rollback"] = "Откатить к последней контрольной точке (Focus). returns: text.",
89 ["focus_solution_explorer_filter"] = "Фокус в фильтр Solution Explorer на MFD (Ctrl+;). returns: text.",
90 ["forge.artifact.goto"] = "Открыть forge artifact по bracket `[FRG:…]` (DOI forge.artifact.goto). args: bracket:string, base_url?:string, select_code?:boolean; returns: text; example: {\"bracket\":\"[FRG:issue:1]\",\"select_code\":true}.",
91 ["forge_lens.auth_status"] = "Статус Forge Lens auth для host. args: base_url?:string; returns: text; example: {\"base_url\":\"http://127.0.0.1:8770\"}.",
92 ["forge_lens.connect"] = "Device login к forge (браузер + approve, как Intercom OAuth). args: base_url?:string; returns: text; example: {\"base_url\":\"http://127.0.0.1:8770\"}.",
93 ["forge_lens.create_issue"] = "Создать issue в Forge (write gate B). args: title:string, body?:string, repo?:string, base_url?:string, file_path?:string, line_start?:integer, line_end?:integer, member_key?:string; returns: text; example: {\"title\":\"Zone leak\",\"file_path\":\"src/Zones.cs\",\"line_start\":10}.",
94 ["forge_lens.create_merge_request"] = "Создать merge request в Forge. args: title:string, source_branch:string, target_branch?:string, repo?:string, base_url?:string, file_path?:string, line_start?:integer, line_end?:integer; returns: text; example: {\"title\":\"feat: zones\",\"source_branch\":\"feat/zones\"}.",
95 ["forge_lens.disconnect"] = "Удалить сохранённый Bearer для forge host. args: base_url?:string; returns: text; example: {\"base_url\":\"http://127.0.0.1:8770\"}.",
96 ["fork_chat_thread"] = "Новая ветка чата: args: parent_message_id?:string, display_title?:string, title?:string. Пишет thread_forked; переключает активную ветку. returns: text; example: {\"display_title\":\"ADR review\"}",
97 ["get_build_output"] = "Текст панели «Вывод сборки» + цвета оформления. returns: json.",
98 ["get_cockpit_surface"] = "Только CDS (`CockpitSurfaceState`): тот же payload, что поле `cockpit_surface` в `get_ide_state`. returns: json. Для `--agent-contract` без полной сводки.",
99 ["get_code_metrics"] = "Метрики кода (LOC/классы/методы/цикломатика). args: scope?:string, path?:string; returns: json; example: {\"scope\":\"solution\",\"path\":\".\"}.",
100 ["get_code_navigation_context"] = "Контекст навигации по коду (ADR 0039, CNC): связанные файлы или мини-подграф. Виды связей — partial_peer project_peer xaml_codebehind_pair test_counterpart same_namespace same_directory. Имена preset — из settings.toml `[code_navigation]` / `[[code_navigation.presets]]`. 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\"}.",
101 ["get_colors_under_cursor"] = "Цвета под курсором (прямые и effective). returns: json.",
102 ["get_control_appearance"] = "Снимок внешнего вида контрола (под курсором или по имени). args: name?:string; returns: json; example: {\"name\":\"BuildButton\"}.",
103 ["get_correspondence_context"] = "JSON: слои correspondence, feature, forward ADR, reverse anchors для файла (ADR 0156). args: file_path?:string; returns: json; example: {\"file_path\":\"Features/WorkspaceNavigation/Application/DocReverseAnchorResolver.cs\"}.",
104 ["get_current_file_diagnostics"] = "Диагностики текущего открытого .cs (ошибки/предупреждения). returns: json.",
105 ["get_debug_snapshot"] = "JSON: канонический снимок встроенной DAP-сессии (ADR 0002). returns: json.",
106 ["get_editor_content_range"] = "Текст активного редактора по диапазону строк (1-based). args: start_line:integer, end_line:integer; returns: json; example: {\"start_line\":1,\"end_line\":40}.",
107 ["get_editor_state"] = "Состояние активного редактора: файл, каретка, выделение. args: max_preview_chars?:integer; returns: json; example: {\"max_preview_chars\":0}.",
108 ["get_ide_state"] = "Единая сводка состояния IDE (solution/editor/build/diagnostics...). returns: json.",
109 ["get_open_document_text"] = "Полный текст открытого документа по пути (или текущего). Модель вкладки, не снимок темы. returns: text.",
110 ["get_solution_files"] = "Список файлов и дерево решения (Solution Explorer). returns: json.",
111 ["get_solution_info"] = "Короткая информация о текущем решении/файле/выделении в дереве. returns: json.",
112 ["get_supported_editor_languages"] = "Список поддерживаемых языков подсветки редактора. returns: json.",
113 ["get_ui_layout"] = "Дерево UI по всем окнам верхнего уровня: JSON с массивом windows (role, window_type, title, is_active, root — то же дерево, что раньше для MainWindow). returns: json.",
114 ["get_ui_modes_diagnostics"] = "Диагностика загрузки UI-режимов: пути к UiModes, TOML vs встроенный fallback, список id в меню (почему может не быть Flight). returns: json.",
115 ["get_ui_theme"] = "Снимок темы UI и лэйаута (включая resolved-ресурсы). returns: json.",
116 ["git_branch"] = "Git branch в каталоге решения/workspace. args: action?:string, name?:string, start_point?:string, force?:boolean; returns: json; example: {\"action\":\"list\"}.",
117 ["git_commit"] = "Git commit в каталоге решения/workspace. args: message:string, paths?:string[]; returns: text; example: {\"message\":\"chore: update\",\"paths\":[\"a.txt\"]}.",
118 ["git_diff"] = "Git diff в каталоге решения/workspace. args: path?:string, staged?:boolean; returns: json; example: {\"path\":\"README.md\",\"staged\":false}.",
119 ["git_fetch"] = "Git fetch в каталоге решения/workspace. args: remote?:string, all?:boolean, prune?:boolean, dry_run?:boolean; returns: json; example: {\"prune\":true,\"dry_run\":true}.",
120 ["git_log"] = "Git log в каталоге решения/workspace. args: n?:integer; returns: json; example: {\"n\":20}.",
121 ["git_preflight"] = "Git preflight в каталоге решения/workspace. args: staged?:boolean, include_untracked?:boolean, include_patches?:boolean; returns: json; example: {\"staged\":false,\"include_untracked\":true,\"include_patches\":true}.",
122 ["git_preflight_fix_safe"] = "Git preflight safe-fix (renormalize) в каталоге решения/workspace. args: include_patches?:boolean; returns: json; example: {\"include_patches\":true}.",
123 ["git_pull"] = "Git pull в каталоге решения/workspace. args: remote?:string, branch?:string, ff_only?:boolean, dry_run?:boolean; returns: json; example: {\"ff_only\":true}.",
124 ["git_push"] = "Git push в каталоге решения/workspace. args: remote?:string, branch?:string, dry_run?:boolean; returns: text; example: {\"remote\":\"origin\",\"branch\":\"main\",\"dry_run\":true}.",
125 ["git_show"] = "Git show в каталоге решения/workspace. args: rev:string, path?:string, stat_only?:boolean; returns: json; example: {\"rev\":\"HEAD\",\"stat_only\":true}.",
126 ["git_status"] = "Git status в каталоге решения/workspace (git status --short --branch). returns: json.",
127 ["git_submodule"] = "Git submodule в каталоге решения/workspace. args: action?:string, path?:string, recursive?:boolean; returns: json; example: {\"action\":\"status\"}.",
128 ["go_to_position"] = "Перейти на позицию (и опционально выделить диапазон). args: file_path:string, line:integer, column:integer, end_line?:integer, end_column?:integer; returns: text; example: {\"file_path\":\"C:\\\\tmp\\\\a.cs\",\"line\":10,\"column\":1}.",
129 ["hide_build_output_panel"] = "Скрыть панель вывода сборки (toolbar). returns: text.",
130 ["highlight_control"] = "Подсветить контрол рамкой в том окне, где он находится (главное, окно-хост Mfd и т.д.). args: name?:string; returns: text; example: {\"name\":\"BuildButton\"}.",
131 ["ide_agent_cancel"] = "Cancel active verify. returns: json.",
132 ["ide_agent_last"] = "Last verify run summary. returns: json.",
133 ["ide_agent_sandbox_prepare"] = "Prepare sandbox. args: profile:string, workspace_root:string; returns: json; example: {\"profile\":\"agent_ephemeral\"}.",
134 ["ide_agent_status"] = "AEE status snapshot: active, run_id, verify_snapshot_id, policy, sandbox_profile, sandbox_run_directory, execution_channel (supervised build host kind), writes_invalidated_verify_epoch. returns: json.",
135 ["ide_agent_verify"] = "Verification ladder. args: policy:string, sandbox_profile:string, solution_path:string; returns: json; example: {\"policy\":\"standard\"}.",
136 ["ide_agent_verify_batch"] = "Batch verify (W6): policy, sandbox_profile, solution_path, use_worktree. returns: json.",
137 ["install_ollama_model"] = "Скачать модель Ollama (как в настройках). args: model:string; returns: text; example: {\"model\":\"qwen2.5-coder:7b\"}.",
138 ["intercom.agent_provision"] = "Provision agent account. args: display_name:string; returns: text; example: {\"display_name\":\"Nova\"}.",
139 ["intercom.attach_diagnostic"] = "Прикрепить диагностику @ caret к черновику. returns: text.",
140 ["intercom.attach_scope"] = "Прикрепить syntax scope @ caret к черновику (ADR 0128 H0b). returns: text.",
141 ["intercom.attach_selection"] = "Прикрепить выделение редактора к черновику Intercom (ADR 0128 H0). returns: text.",
142 ["intercom.connect_team"] = "OAuth Connect к team Intercom service (ADR 0144). returns: text.",
143 ["intercom.disconnect_team"] = "Disconnect team transport и очистка JWT. returns: text.",
144 ["intercom.message_relate"] = "Явная связь диапазона gutter-сообщений с кодом (ADR 0137). args: start_ordinal:integer, end_ordinal?:integer, use_selection?:boolean, code_ref?:string, anchor_json?:object, file?:string, line_start?:integer, line_end?:integer; returns: json; example: {\"start_ordinal\":3,\"end_ordinal\":5,\"use_selection\":true}.",
145 ["intercom.messages_for_code"] = "Сообщения активной detail-ветки по фрагменту кода (ADR 0137 inferred + explicit relate). args: use_selection?:boolean, code_ref?:string, anchor_json?:object, file?:string, line_start?:integer, line_end?:integer; returns: json; example: {\"use_selection\":true}.",
146 ["intercom.reveal_attachment"] = "Reveal из ленты по AttachmentAnchor: open + re-resolve + highlight (ADR 0128 §8, 0130). args: anchor_json?:object, file?:string, line_start?:integer, line_end?:integer, member_key?:string, syntax_scope?:object, duration_ms?:integer, select?:boolean; если select опущен — дефолт из settings [intercom.attachments.code].navigate; returns: text; example: {\"file\":\"src/Foo.cs\",\"line_start\":10,\"line_end\":25}.",
147 ["intercom.server_start"] = "Запустить intercom-service. args: base_url?:string; returns: text; example: {\"base_url\":\"http://127.0.0.1:5080\"}.",
148 ["intercom.server_status"] = "Статус локального intercom-service (ADR 0147). returns: text.",
149 ["intercom.server_stop"] = "Остановить intercom-service. returns: text.",
150 ["intercom.team_members"] = "Список members team. returns: text.",
151 ["investigate_nullref"] = "Quick action: расследовать NullReferenceException. returns: text.",
152 ["list_agent_notes_revisions"] = "Список ревизий заметок агента. args: limit?:integer; returns: json; example: {\"limit\":20}.",
153 ["list_knowledge_files"] = "Список knowledge-файлов. args: subdir?:string, knowledge_path?:string, knowledge_root_id?:string; returns: json; example: {\"subdir\":\"work\",\"knowledge_root_id\":\"group\"}.",
154 ["list_tools"] = "Список MCP-тулов, которые IDE публикует (name/description/inputSchema). returns: json.",
155 ["load_solution"] = "Загрузить решение (.sln/.slnx/.slnf), один проект (.csproj/.fsproj) или каталог как workspace (дерево без .sln) — обновить обозреватель. args: path:string; returns: text; example: {\"path\":\"D:\\\\repo\\\\MyApp.csproj\"}.",
156 ["memory_health"] = "Health-check памяти: размер hot-context и рекомендации. args: active_scope?:string; returns: json; example: {\"active_scope\":\"door-to-singularity\"}.",
157 ["move_document_to_group_1"] = "Переместить документ в группу 1. args: file_path:string; returns: text; example: {\"file_path\":\"C:\\\\\\\\tmp\\\\\\\\a.cs\"}.",
158 ["move_document_to_group_2"] = "Переместить документ в группу 2. args: file_path:string; returns: text; example: {\"file_path\":\"C:\\\\\\\\tmp\\\\\\\\a.cs\"}.",
159 ["move_document_to_group_3"] = "Переместить документ в группу 3. args: file_path:string; returns: text; example: {\"file_path\":\"C:\\\\\\\\tmp\\\\\\\\a.cs\"}.",
160 ["open_chat_clarification_batch"] = "Открыть structured clarification batch в чате. args: batch_json:string. returns: text; example: {\"batch_json\":\"{\\\"id\\\":\\\"...\\\",\\\"title\\\":\\\"Нужно уточнить\\\",\\\"items\\\":[]}\"}.",
161 ["open_docs_template"] = "Открыть шаблон документации из `docs/templates` в Markdown Preview. args: path?:string; returns: text; example: {\"path\":\"docs/templates/feature.md\"}.",
162 ["open_file"] = "Открыть файл в редакторе IDE. args: path:string; returns: text; example: {\"path\":\"C:\\\\tmp\\\\a.txt\"}.",
163 ["open_file_dialog"] = "Открыть диалог выбора файла и показать его в редакторе (как меню Файл → Открыть файл...). returns: text.",
164 ["open_folder_dialog"] = "Открыть диалог выбора папки как workspace (как меню Файл → Открыть папку...). returns: text.",
165 ["open_preview_window"] = "Открыть отдельное окно превью (Markdown). returns: text.",
166 ["open_settings"] = "Открыть окно настроек. returns: text.",
167 ["open_solution_dialog"] = "Открыть диалог выбора решения (как меню Файл → Открыть решение...). returns: text.",
168 ["open_theme_file_dialog"] = "Открыть диалог выбора файла темы. returns: text.",
169 ["open_workspace_adr_correspondence"] = "Открыть correspondence ADR для текущего файла (как клик по строке ADR на PFD). returns: text.",
170 ["open_workspace_feature_docs"] = "Открыть документацию фичи для текущего файла (как клик по строке Feature на PFD); при множестве docs — pick. returns: text.",
171 ["pause_autonomous"] = "Поставить автономный режим на паузу. returns: text.",
172 ["ping"] = "Живость MCP-хоста IDE (без аргументов). Имя MCP-тула: `ide_ping`. returns: json.",
173 ["prepare_commit"] = "Quick action: подготовить коммит (сводка/план/проверки). returns: text.",
174 ["read_agent_notes"] = "Прочитать заметки агента из каталога решения. returns: text.",
175 ["read_hot_context"] = "Прочитать только hot-context (L0/L1) без архивного хвоста. args: active_scope?:string; returns: json; example: {\"active_scope\":\"door-to-singularity\"}.",
176 ["read_knowledge_file"] = "Прочитать knowledge-файл. Корень: knowledge_path, knowledge_root_id (group, …) или primary из TOML. args: file_path:string, knowledge_path?:string, knowledge_root_id?:string, offset?:integer, limit?:integer; returns: text; example: {\"file_path\":\"META/integrity-core.md\",\"offset\":2,\"limit\":20}.",
177 ["read_workspace_file"] = "Прочитать файл workspace с диска (не только открытые вкладки). args: file_path:string, offset?:integer, limit?:integer, max_chars?:integer; returns: json; example: {\"file_path\":\"src/Program.cs\"}.",
178 ["refresh_workspace_snapshot"] = "Обновить снимок рабочего состояния (Power cockpit). returns: text.",
179 ["remove_breakpoint"] = "Снять брейкпоинт. args: file_path:string, line:integer; returns: text; example: {\"file_path\":\"C:\\\\tmp\\\\a.cs\",\"line\":42}.",
180 ["reopen_closed_document"] = "Переоткрыть недавно закрытый документ. returns: text.",
181 ["request_confirmation"] = "Запросить подтверждение у пользователя. args: message:string; returns: text; example: {\"message\":\"Продолжить?\"}. Возвращает `ok`/`cancel`.",
182 ["reset_ui_language_to_system"] = "Сбросить язык UI к системному. returns: text.",
183 ["restart_mcp_clients"] = "Пересоздать клиентов внешних MCP и сбросить сессию Cursor ACP (после сбоев транспорта). Имя MCP-тула: `ide_restart_mcp_clients`. returns: json.",
184 ["resume_autonomous"] = "Продолжить автономный режим после паузы. returns: text.",
185 ["reveal_editor_range"] = "Показать диапазон строк в редакторе transient-подсветкой без изменения selection (ADR 0130). args: file_path:string, start_line?:integer, end_line?:integer, member_key?:string, syntax_scope?:object, duration_ms?:integer; returns: text; example: {\"file_path\":\"C:\\\\tmp\\\\a.cs\",\"start_line\":10,\"end_line\":25,\"duration_ms\":4000}.",
186 ["rollback_agent_notes"] = "Откатить заметки к ревизии (или к последней). args: revision_file?:string; returns: text; example: {\"revision_file\":\"20260402-120000-write-acde123.md\"}.",
187 ["rollback_trace_step"] = "Откатить состояние по шагу трассы. args: step_index:integer; returns: text; example: {\"step_index\":0}.",
188 ["route_context"] = "Router-first контекст пакет по запросу. args: query:string, active_scope?:string, max_sections?:integer, max_chars?:integer; returns: json; example: {\"query\":\"CascadeIDE notes structure\",\"max_sections\":5,\"max_chars\":12000}.",
189 ["run_affected_tests"] = "Запустить затронутые тесты по changed_paths (или fallback на полный прогон). args: changed_paths?:string[]; returns: json; example: {\"changed_paths\":[\"a.cs\",\"b.cs\"]}.",
190 ["run_code_cleanup"] = "Запустить code cleanup (`dotnet format`). args: include_path?:string; returns: json; example: {\"include_path\":\"src\"}.",
191 ["run_tests"] = "Запустить тесты решения. returns: json.",
192 ["safety.autonomous"] = "Установить safety.autonomous. returns: text.",
193 ["safety.confirm"] = "Установить safety.confirm. returns: text.",
194 ["safety.observe"] = "Установить safety.observe. returns: text.",
195 ["save_document"] = "Сохранить документ на диск: буфер открытой вкладки или полная замена content. args: file_path?:string, content?:string; returns: json; example: {\"file_path\":\"src/Program.cs\"}.",
196 ["search_agent_notes"] = "Поиск по заметкам агента (case-insensitive) с возвратом совпадающих строк. args: query:string, head_limit?:integer; returns: json; example: {\"query\":\"ActiveProjectId\",\"head_limit\":20}.",
197 ["search_web_public_query"] = "Краткая веб-справка через открытый Instant Answer DuckDuckGo (запрос уходит во внешнюю сеть; не замена полнотекстового поиска). args: query:string; returns: json; example: {\\\"query\\\":\\\"C# file scoped types\\\"}.",
198 ["search_workspace_text"] = "Поиск текста по workspace через ripgrep: вызывается команда `rg` из PATH (Windows/Linux/macOS — поставь пакетом или с релиза). Явный путь: только `rg_path`. 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}.",
199 ["select"] = "Выделить диапазон в редакторе (1-based). args: file_path:string, start_line:integer, start_column:integer, end_line:integer, end_column:integer; returns: text; example: {\"file_path\":\"C:\\\\tmp\\\\a.cs\",\"start_line\":1,\"start_column\":1,\"end_line\":1,\"end_column\":10}.",
200 ["send_chat"] = "Чат: args: message?:string, role?:string. role assistant — только строка ассистента из MCP; иначе user и отправка; при ai.mode = mcp_only встроенный LLM не вызывается. returns: text; example: {\"message\":\"hello\"}.",
201 ["send_keys"] = "Отправить хоткей в контрол. args: keys:string, name?:string; returns: text; example: {\"keys\":\"Ctrl+S\"}.",
202 ["set_breakpoint"] = "Поставить брейкпоинт: при необходимости загрузка найденного .sln/.slnx/.slnf, запись в JSON отладки, открытие файла и переход к строке. args: file_path:string, line:integer, condition?:string; returns: text; example: {\"file_path\":\"C:\\\\tmp\\\\a.cs\",\"line\":42}.",
203 ["set_build_output_visible"] = "Явно показать/скрыть журнал сборки. args: visible:boolean; returns: text; example: {\"visible\":true}.",
204 ["set_code_navigation_map_level"] = "Карта намерений: установить уровень `file` или `controlFlow` (слэш `/map type …`). args: level:string; returns: text; example: {\"level\":\"file\"}.",
205 ["set_control_layout"] = "Изменить раскладку/позицию контрола. args: name:string, layout:string; returns: text; example: {\"name\":\"BuildButton\",\"layout\":\"{}\"}.",
206 ["set_control_text"] = "Установить текст в контроле ввода. args: name:string, text:string; returns: text; example: {\"name\":\"ChatInput\",\"text\":\"hi\"}.",
207 ["set_dual_editor_group"] = "Две группы редакторов (2-up). returns: text.",
208 ["set_focus"] = "Передать фокус контролу (под курсором или по имени). args: name?:string; returns: text; example: {\"name\":\"Editor\"}.",
209 ["set_git_panel_visible"] = "Показать/скрыть панель Git (нижняя вкладка). args: visible:boolean; returns: text; example: {\"visible\":true}.",
210 ["set_instrumentation_dock_visible"] = "Показать/скрыть док инструментирования (Events/Tests/Debug). args: visible:boolean; returns: text; example: {\"visible\":true}.",
211 ["set_mfd_region_expanded"] = "Развернуть/свернуть регион Mfd в main grid. args: visible:boolean; returns: text; example: {\"visible\":true}.",
212 ["set_mfd_shell_page"] = "Активная страница оболочки Mfd: имя значения MfdShellPage (Chat, Terminal, …). Якорь на экране — пресет (v1 — колонка зоны Mfd). args: page:string; returns: text; example: {\"page\":\"Chat\"}.",
213 ["set_panel_size"] = "Изменить размер панели. args: panel:string, width?:integer, height?:integer; returns: text; example: {\"panel\":\"terminal\",\"height\":300}.",
214 ["set_pfd_region_expanded"] = "Развернуть/свернуть регион Pfd в main grid (карта намерений в зоне Pfd). args: visible:boolean; returns: text; example: {\"visible\":true}.",
215 ["set_primary_work_surface"] = "Установить якорь Forward: `intercom` | `editor`. args: surface:string; returns: text; example: {\"surface\":\"intercom\"}.",
216 ["set_secondary_shell_page"] = "Устаревший идентификатор MCP-команды; поведение совпадает с `set_mfd_shell_page`. args: page:string; returns: text; example: {\"page\":\"Chat\"}.",
217 ["set_single_editor_group"] = "Одна группа редакторов (1-up). returns: text.",
218 ["set_terminal_visible"] = "Явно показать/скрыть терминал (без переключения). args: visible:boolean; returns: text; example: {\"visible\":true}.",
219 ["set_triple_editor_group"] = "Три группы редакторов (3-up). returns: text.",
220 ["set_ui_language"] = "Установить язык UI. args: culture:string; returns: text; example: {\"culture\":\"ru-RU\"}.",
221 ["set_ui_mode"] = "Режим UI (как меню «Вид → Режим интерфейса»). args: mode:string; returns: text; example: {\"mode\":\"Flight\"}.",
222 ["set_ui_theme"] = "Применить тему UI из JSON. args: theme:string; returns: text; example: {\"theme\":\"{}\"}.",
223 ["show_build_output_panel"] = "Явно показать панель вывода сборки (toolbar). returns: text.",
224 ["show_chat_page"] = "Развернуть регион Mfd и перейти на страницу Chat (toolbar). returns: text.",
225 ["show_correspondence_page"] = "Показать страницу Correspondence (CRS) во вторичном контуре (ADR 0156). Разворачивает регион Mfd при необходимости. returns: text.",
226 ["show_editor_preview"] = "Показать превью текущего файла из редактора в отдельном окне (контент берётся из IDE). returns: text.",
227 ["show_environment_readiness_page"] = "Показать страницу «готовность окружения» во вторичном контуре (зона Mfd; ADR 0023). Разворачивает регион Mfd при необходимости. returns: text.",
228 ["show_hybrid_index_page"] = "Показать страницу Hybrid Codebase Index (HCI) во вторичном контуре/MFD. Разворачивает регион Mfd при необходимости. returns: text.",
229 ["show_markdown_preview_page"] = "Показать Markdown preview как страницу во вторичном контуре/MFD. returns: text.",
230 ["show_pfd_region_panel"] = "Развернуть регион Pfd / карту намерений (toolbar). returns: text.",
231 ["show_preview"] = "Показать Markdown-превью в отдельном окне. args: title:string, content:string; returns: text; example: {\"title\":\"Plan\",\"content\":\"- step 1\\n- step 2\"}.",
232 ["show_related_files_mfd_page"] = "Развернуть регион Mfd и открыть страницу «Связанные файлы» (related; workspace). returns: text.",
233 ["show_solution_explorer_page"] = "Развернуть регион Mfd и перейти на страницу обозревателя решения (toolbar). returns: text.",
234 ["show_terminal_panel"] = "Явно показать терминал (toolbar). returns: text.",
235 ["show_web_ai_portal_page"] = "Показать страницу веб-портала (WebView + мост инструментов ADR 0108) во вторичном контуре/MFD. Разворачивает регион Mfd при необходимости. returns: text.",
236 ["start_autonomous"] = "Запустить автономный режим (agent run). returns: text.",
237 ["submit_chat_clarification_response"] = "Отправить structured clarification response для активного batch. args: response_json:string. returns: text; example: {\"response_json\":\"{\\\"batchId\\\":\\\"...\\\",\\\"answersByItemId\\\":{\\\"scope\\\":\\\"mfd\\\"}}\"}.",
238 ["toggle_build_output"] = "Как меню «Вид → Вывод сборки». returns: text.",
239 ["toggle_command_palette"] = "Открыть или закрыть палитру команд (как Ctrl+Q / пункт меню «Вид»). returns: text.",
240 ["toggle_git_panel"] = "Переключить видимость панели Git (toggle). returns: text.",
241 ["toggle_instrumentation_dock"] = "Переключить видимость дока инструментирования (toggle). returns: text.",
242 ["toggle_mfd_host_window"] = "Открыть или активировать окно-хост зоны Mfd, если строка `presentation` / `zone_screen_layout` задаёт топологию с выносом Mfd (ADR 0017); иначе не выполняется. Отдельного пункта меню нет — источник истины раскладка. returns: text.",
243 ["toggle_mfd_region_expanded"] = "Переключить развёрнут/свёрнут регион Mfd (toggle). returns: text.",
244 ["toggle_pfd_region_expanded"] = "Переключить развёрнут/свёрнут регион Pfd (как меню «Вид → Карта намерений (PFD)»). returns: text.",
245 ["toggle_pin_document"] = "Закрепить/открепить документ (pin). args: file_path:string; returns: text; example: {\"file_path\":\"C:\\\\\\\\tmp\\\\\\\\a.cs\"}.",
246 ["toggle_pm_split_host_window"] = "Открыть или активировать окно сплита P+M при пресете `(xP+yM)(F)` / `(F)(xP+yM)` (ADR 0017). returns: text.",
247 ["toggle_primary_work_surface"] = "Переключить `primary_work_surface` intercom ↔ editor (ADR 0120). returns: text.",
248 ["toggle_terminal"] = "Как меню «Вид → Терминал» (переключатель). returns: text.",
249 ["toggle_workspace_splitters_lock"] = "Сплиттеры рабочей области: переключить ON GND / IN AIR (мелодия tol, лампа TOL в task cockpit). returns: text.",
250 ["upsert_agent_notes_section"] = "Вставить/обновить секцию заметок агента по section_id (маркерный блок). args: section_id:string, content:string; returns: text; example: {\"section_id\":\"active\",\"content\":\"ActiveProjectId: cascade-ide\"}.",
251 ["upsert_knowledge_section"] = "Вставить/обновить секцию в knowledge-файле по section_id. args: file_path:string, section_id:string, content:string, knowledge_path?:string, knowledge_root_id?:string, save_revision?:boolean; returns: text; example: {\"file_path\":\"index.md\",\"section_id\":\"foo\",\"content\":\"body\"}.",
252 ["workspace_go_to_file"] = "Go to File — палитра с префиксом `f:` (Ctrl+P). returns: text.",
253 ["write_agent_notes"] = "Записать заметки агента в каталог решения. args: content:string; returns: text; example: {\"content\":\"notes\"}.",
254 ["write_knowledge_file"] = "Записать knowledge-файл (полная замена). Запись только в primary; read-only roots отклоняются. args: file_path:string, content:string, knowledge_path?:string, knowledge_root_id?:string, save_revision?:boolean; returns: text; example: {\"file_path\":\"META/x.md\",\"content\":\"# Hi\",\"save_revision\":true}.",
255 };
256
257 public static bool TryGetSummary(string commandId, out string summary) =>
258 SummaryByCommandId.TryGetValue(commandId, out summary);
259}
260
View only · write via MCP/CIDE