pub async fn interactive(
harness: &AgentHarness,
event_rx: Option<Receiver<AgentEvent>>,
args: &Args,
model_catalog: Vec<Model>,
initial: Option<String>,
extra_messages: &[String],
theme: Option<&str>,
reload_context: &ReloadContext,
) -> i32Expand description
interactive mode: uses TUI if terminal supports it, falls back to minimal REPL.
event_rx carries the live AgentEvent stream (drained by the TUI to
render streaming responses). The REPL fallback ignores it.
model_catalog is the resolved provider’s full model list, passed through
so the TUI’s /model selector can display available models (read-only —
v1 does not switch models mid-session; see docs/m6-cli-open-questions.md).