pub(crate) async fn run_coding_turn(
client: &Client,
models: &ModelRoles,
coding_system: &str,
user: &str,
scheduler_cwd: &Path,
edit_tl: &ToolLoopConfig,
verbose: bool,
stream_stdout: bool,
stderr_color: Style,
active_model: &mut ActiveModelPrinter,
total_usage: &mut Usage,
turn_timeout: Duration,
interrupted: Arc<AtomicBool>,
) -> Result<Result<String, String>>