feat(console): lite backend command-reference modal

Give the lite console the parity analog of the full-node RPC command
reference: the same searchable two-pane modal (browse/search, detail
pane, examples, Insert / Insert & run, destructive confirm), driven by
the lite backend's own command set instead of daemon RPC.

- ConsoleCommandExecutor::commandReference() returns the category table
  (full node = consoleCommandCategories(); lite = new
  liteConsoleCommandCategories() -- 25 backend verbs in 5 categories).
  The shared renderCommandsPopup reads the table from the executor.
- The Commands button now shows for both variants (gated on
  commandReference()!=nullptr); title/tooltip/arg-quoting branch on
  hasRpcReference() (clarified to mean "speaks JSON-RPC / full node").
- Lite args are bare tokens (the backend takes one unsplit arg string
  and does not strip quotes), so the param-builder's JSON string
  auto-quoting is disabled for lite -- Insert & run emits runnable bare
  commands. send uses the JSON-array form (its positional form is
  unreachable via the single-arg transport); new uses zs/R; import
  takes just the key (the backend hardcodes birthday=0).

Adds 7 i18n keys across all 8 languages (additive). Full-node behavior
is unchanged. Adversarially reviewed (data vs the backend registry,
plumbing/regression, i18n) with all findings fixed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-19 12:27:51 -05:00
parent 567732206e
commit 5c570613c8
16 changed files with 248 additions and 23 deletions

View File

@@ -271,13 +271,18 @@
"console_app": "Прил.",
"console_auto_scroll": "Авто-прокрутка",
"console_available_commands": "Доступные команды:",
"console_backend_reference": "Справочник команд бэкенда",
"console_backend_unavailable": "Нет бэкенда",
"console_capturing_output": "Захват вывода daemon...",
"console_cat_advanced": "Дополнительно",
"console_cat_blockchain": "Блокчейн",
"console_cat_control": "Управление",
"console_cat_keys": "Ключи и безопасность",
"console_cat_mining": "Майнинг",
"console_cat_network": "Сеть",
"console_cat_raw_transactions": "Сырые транзакции",
"console_cat_send": "Отправка",
"console_cat_sync": "Синхронизация",
"console_cat_utility": "Утилиты",
"console_cat_wallet": "Кошелёк",
"console_clear": "Очистить",
@@ -334,12 +339,14 @@
"console_ref_run_confirm": "Выполнить %s сейчас? Это ответственная команда.",
"console_ref_search_hint": "Поиск по названию или задаче…",
"console_ref_select_hint": "Выберите команду, чтобы увидеть, что она делает.",
"console_ref_value": "значение",
"console_rpc_reference": "Справочник RPC-команд",
"console_rpc_trace": "RPC",
"console_scanline": "Скан-линия консоли",
"console_search_commands": "Поиск команд...",
"console_select_all": "Выбрать всё",
"console_show_app_output": "Показать строки журнала кошелька [app]",
"console_show_backend_ref": "Показать справочник команд бэкенда",
"console_show_daemon_output": "Показать вывод daemon",
"console_show_errors_only": "Показать только ошибки",
"console_show_rpc_ref": "Показать справочник RPC-команд",