10#include <spdlog/spdlog.h>
35 auto tui_sink = std::make_shared<tui_sink_mutex_t>(display_queue);
36 auto logger = std::make_shared<spdlog::logger>(
"tui_logger",
tui_sink);
37 spdlog::set_default_logger(logger);
40 if (args.verbose) { spdlog::set_level(spdlog::level::debug); }
50 fmt::print(
"Radix Relay v{} - Interactive Mode\n", radix_relay::cmake::project_version);
51 fmt::print(
"Node: {} ({})\n", state.node_fingerprint, state.identity_path);
52 fmt::print(
"transport: {}\n", state.mode);
53 fmt::print(
"Connected Peers: 0 (transport layer not implemented)\n\n");
62 "Available commands: send, broadcast, peers, status, sessions, mode, scan, connect, trust, verify, version, help, "
74template<
typename CommandHandler>
77 if (args.show_version) {
82 if (args.send_parsed) {
87 if (args.peers_parsed) {
92 if (args.status_parsed) {
Thread-safe asynchronous queue for message passing between coroutines.
Custom spdlog sink that routes log messages to a display queue.
auto configure_logging(const cli_args &args, std::shared_ptr< async::async_queue< core::events::display_filter_input_t > > display_queue=nullptr) -> void
Configures spdlog logging based on CLI arguments.
auto execute_cli_command(const cli_args &args, CommandHandler &command_handler) -> bool
Executes a command specified via CLI arguments.
auto print_available_commands() -> void
Prints list of available interactive commands.
auto print_app_banner(const app_state &state) -> void
Prints the application startup banner.
Runtime application state.
std::string identity_path
Path to identity database.
std::string mode
Current transport mode.
std::string node_fingerprint
Signal Protocol node fingerprint.
Parsed command-line arguments.
Request list of connected peers.
Send encrypted message to a specific peer.
std::string peer
RDX fingerprint or alias of recipient.
Request current system status.
Request application version information.