use super::persona::Persona;
use super::step_request::build_step_request;
use super::summary::summarize_response;
pub async fn run_step(
provider: &dyn crate::provider::Provider,
resolved_model: &str,
persona: &Persona,
task: &str,
baton: &str,
) -> anyhow::Result<String> {
let request = build_step_request(resolved_model.to_string(), persona, task, baton);
let response = provider.complete(request).await?;
Ok(summarize_response(response))
}
pub fn resolve_model_ref(model: String) -> String {
let trimmed = model.trim();
if trimmed.is_empty() {
"codetether-autochat".to_string()
} else {
trimmed.to_string()
}
}