pub async fn run_turn(
task: &Task,
history: &mut Vec<Message>,
vlm: &VlmClient,
executor: &mut ExecutorConn,
atlas: &mut AtlasClient,
consumer_id: &str,
tx: &Sender<Result<PilotEvent, Status>>,
cancel_rx: Receiver<bool>,
) -> Result<()>