//! REPL Module - Box-First Architecture //! //! Phase 288: Box化モジュール化 //! - ReplRunnerBox: REPL実行器の完全隔離 //! - ReplSessionBox: セッション状態の管理 //! //! 公開API: run_repl() のみ mod repl_runner; mod repl_session; use repl_runner::ReplRunnerBox; use crate::cli::CliConfig; /// Phase 288: REPL モード起動(公開API) /// /// REPL ループを開始し、プログラムは終了しない(never returns)。 /// `.exit` コマンドで終了する。 pub(crate) fn run_repl(config: CliConfig) -> ! { let runner = ReplRunnerBox::new(config); runner.run() }