This commit is contained in:
jif-oai
2025-10-14 13:50:29 +01:00
parent 4de5b25c52
commit 9320565658
2 changed files with 33 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ use anyhow::Result;
use clap::Parser;
use clap::Subcommand;
use codex_common::CliConfigOverrides;
use codex_protocol::config_types::ReasoningEffort;
use super::commands;
@@ -48,6 +49,18 @@ pub(crate) struct CreateArgs {
/// Timeout in seconds when waiting for the solver reply to --objective.
#[arg(long = "timeout-secs", default_value_t = super::commands::DEFAULT_TIMEOUT_SECS)]
pub timeout_secs: u64,
/// Override only the Director's model (solver and verifiers keep defaults).
#[arg(long = "director-model", value_name = "MODEL")]
pub director_model: Option<String>,
/// Override only the Director's reasoning effort (minimal|low|medium|high).
#[arg(
long = "director-effort",
value_name = "LEVEL",
value_parser = parse_reasoning_effort
)]
pub director_effort: Option<ReasoningEffort>,
}
#[derive(Debug, Parser)]
@@ -106,3 +119,15 @@ impl InftyCli {
Ok(())
}
}
fn parse_reasoning_effort(s: &str) -> Result<ReasoningEffort, String> {
match s.trim().to_ascii_lowercase().as_str() {
"minimal" => Ok(ReasoningEffort::Minimal),
"low" => Ok(ReasoningEffort::Low),
"medium" => Ok(ReasoningEffort::Medium),
"high" => Ok(ReasoningEffort::High),
_ => Err(format!(
"invalid reasoning effort: {s}. Expected one of: minimal|low|medium|high"
)),
}
}

View File

@@ -78,11 +78,18 @@ pub(crate) async fn run_create(
.iter()
.map(|role| RoleConfig::new(role.to_string(), config.clone()))
.collect();
let mut director_config = config.clone();
if let Some(model) = args.director_model.as_deref() {
director_config.model = model.to_string();
}
if let Some(effort) = args.director_effort {
director_config.model_reasoning_effort = Some(effort);
}
let run_params = RunParams {
run_id: run_id.clone(),
run_root: Some(run_path.clone()),
solver: RoleConfig::new("solver", config.clone()),
director: RoleConfig::new("director", config.clone()),
director: RoleConfig::new("director", director_config),
verifiers,
};