#pragma once #include namespace dragonx { namespace ui { struct ConsoleCommandEntry { const char* name; const char* desc; // terse one-line summary (always set) const char* params; // parameter template, e.g. "\"address\" amount [comment]" // Optional novice-facing enrichment (C++17 aggregate defaults — entries that omit these keep // the empty/false fallbacks, and the command explorer falls back to `desc`): const char* details = ""; // longer plain-language explanation const char* example = ""; // one concrete, runnable example line const char* keywords = ""; // space-separated search synonyms ("balance money funds") bool destructive = false; // consequential/sensitive -> safety badge + run confirmation }; struct ConsoleCommandCategory { const char* name; const ConsoleCommandEntry* commands; int count; }; // The full-node daemon's JSON-RPC command reference (browsed by the console's command-reference modal). const std::vector& consoleCommandCategories(); // The lite backend's own command set (the ~25 verbs the SDXL backend accepts) — the lite-variant // analog of the RPC reference, shown by the same modal when the executor is the lite one. const std::vector& liteConsoleCommandCategories(); } // namespace ui } // namespace dragonx