pub mod commands;
pub mod session;
pub mod shell;
pub mod synthesis;
use crate::error::Result;
use clap::Args;
#[derive(Args, Debug)]
pub struct InteractiveOptions {
#[arg(short, long)]
pub voice: Option<String>,
#[arg(long)]
pub no_audio: bool,
#[arg(long)]
pub debug: bool,
#[arg(long)]
pub load_session: Option<std::path::PathBuf>,
#[arg(long)]
pub auto_save: bool,
}
pub async fn run_interactive(options: InteractiveOptions) -> Result<()> {
let mut shell = shell::InteractiveShell::new(options).await?;
shell.run().await
}