11#include <spdlog/spdlog.h>
36 auto tui_sink = std::make_shared<tui_sink_mutex_t>(display_queue);
37 auto logger = std::make_shared<spdlog::logger>(
"tui_logger",
tui_sink);
38 spdlog::set_default_logger(logger);
41 if (args.verbose) { spdlog::set_level(spdlog::level::debug); }
51 fmt::print(
"Radix Relay v{} - Interactive Mode\n", radix_relay::cmake::project_version);
52 fmt::print(
"Node: {} ({})\n", state.node_fingerprint, state.identity_path);
53 fmt::print(
"transport: {}\n", state.mode);
54 fmt::print(
"Connected Peers: 0 (transport layer not implemented)\n\n");
63 "Available commands: send, broadcast, peers, status, sessions, mode, scan, connect, trust, verify, version, help, "
75template<concepts::command_handler CmdHandler>
79 if (args.show_version) {
84 if (args.send_parsed) {
85 command_handler->handle(
90 if (args.peers_parsed) {
95 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 print_available_commands() -> void
Prints list of available interactive commands.
auto print_app_banner(const app_state &state) -> void
Prints the application startup banner.
auto execute_cli_command(const cli_args &args, std::shared_ptr< CmdHandler > command_handler) -> bool
Executes a command specified via CLI arguments.
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.