| 1 | CascadeIDE веб-портал + мост к IDE (ADR 0108). |
| 2 | Норматив в репозитории: docs/adr/0108-web-ai-portal-host-object-tools-bridge.md |
| 3 | |
| 4 | ДЛЯ ЧЕГО ЭТОТ ФАЙЛ |
| 5 | Многие веб-ИИ плохо держат Markdown из чата после копирования. Здесь почти нет разметки. |
| 6 | Команда в IDE: ОДНА СТРОКА — JSON-объект. Без оформления в markdown (ни тройные кавычки, ни отдельный fenced-блок — веб-чат после копирования часто их портит). |
| 7 | Мост CascadeIDE читает буфер как голый JSON с полем command_id, если это один объект в одной строке. |
| 8 | |
| 9 | Разрешённые command_id (whitelist, только чтение): |
| 10 | get_editor_state |
| 11 | get_editor_content_range |
| 12 | get_current_file_diagnostics |
| 13 | codebase_index_status |
| 14 | codebase_index_search |
| 15 | codebase_index_explain |
| 16 | |
| 17 | Правила коротко |
| 18 | - Для кода и символов по репозиторию сначала HCI: codebase_index_status → codebase_index_search → при необходимости codebase_index_explain с hit_id из ответа поиска. |
| 19 | - Не проси огромный дамп файла в чат: get_editor_state с "max_preview_chars": 0 или мало (сотни символов). |
| 20 | - Узкий фрагмент открытого файла: get_editor_content_range с start_line и end_line (нумерация с 1). |
| 21 | |
| 22 | Ниже каждая строка с JSON — законченная команда для копипаста оператором целиком одной строкой. |
| 23 | |
| 24 | ПРИМЕРЫ КОМАНД (одна строка = один вызов): |
| 25 | |
| 26 | {"command_id":"codebase_index_status","args":{}} |
| 27 | {"command_id":"codebase_index_search","args":{"query":"WebAiPortalCommandBridge","top_n":12}} |
| 28 | {"command_id":"codebase_index_explain","args":{"hit_id":1}} |
| 29 | {"command_id":"get_editor_state","args":{"max_preview_chars":0}} |
| 30 | {"command_id":"get_editor_content_range","args":{"start_line":1,"end_line":80}} |
| 31 | {"command_id":"get_current_file_diagnostics","args":{}} |
| 32 | |
| 33 | КОНЕЦ |
| 34 | |