20#ifndef ORES_SHELL_APP_REPL_HPP
21#define ORES_SHELL_APP_REPL_HPP
25#include "ores.logging/make_logger.hpp"
26#include "ores.nats/service/nats_client.hpp"
27#include "ores.shell/app/pagination_context.hpp"
47 inline static std::string_view logger_name =
48 "ores.shell.app.repl";
52 static auto instance = make_logger(logger_name);
65 repl& operator=(
const repl&) =
delete;
80 void run(std::istream& in, std::ostream& out);
86 std::unique_ptr<::cli::Cli> setup_menus();
91 void display_welcome(std::ostream& out)
const;
100 ::cli::CliSession* active_session_{
nullptr};
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Application hosting for the interactive shell.
Definition application.hpp:28
Authenticated NATS client for both interactive and service-to-service use.
Definition nats_client.hpp:72
Manages pagination state across shell commands.
Definition pagination_context.hpp:51
Interactive REPL (Read-Eval-Print Loop) for the ORE Studio client.
Definition repl.hpp:45
void run()
Run the REPL session using std::cin and std::cout.
Definition repl.cpp:52