| 1 | // <auto-generated/> |
| 2 | using System.Collections.Generic; |
| 3 | |
| 4 | namespace CascadeIDE.Services; |
| 5 | |
| 6 | internal 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 | |