use clap::Parser; use clap::ValueEnum; use codex_core::SandboxModeCliArg; use std::path::PathBuf; #[derive(Parser, Debug)] #[command(version)] pub struct Cli { /// Optional image(s) to attach to the initial prompt. #[arg(long = "image", short = 'i', value_name = "FILE", value_delimiter = ',', num_args = 1..)] pub images: Vec, /// Model the agent should use. #[arg(long, short = 'm')] pub model: Option, /// Configure the process restrictions when a command is executed. /// /// Uses OS-specific sandboxing tools; Seatbelt on OSX, landlock+seccomp on Linux. #[arg(long = "sandbox", short = 's')] pub sandbox_policy: Option, /// Allow running Codex outside a Git repository. #[arg(long = "skip-git-repo-check", default_value_t = false)] pub skip_git_repo_check: bool, /// Disable server‑side response storage (sends the full conversation context with every request) #[arg(long = "disable-response-storage", default_value_t = false)] pub disable_response_storage: bool, /// Specifies color settings for use in the output. #[arg(long = "color", value_enum, default_value_t = Color::Auto)] pub color: Color, /// Initial instructions for the agent. pub prompt: String, } #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, ValueEnum)] #[value(rename_all = "kebab-case")] pub enum Color { Always, Never, #[default] Auto, }