pub async fn agent_loop(
prompts: Vec<AgentMessage>,
context: &mut AgentContext,
config: &AgentLoopConfig,
tx: UnboundedSender<AgentEvent>,
cancel: CancellationToken,
) -> Vec<AgentMessage>pub async fn agent_loop(
prompts: Vec<AgentMessage>,
context: &mut AgentContext,
config: &AgentLoopConfig,
tx: UnboundedSender<AgentEvent>,
cancel: CancellationToken,
) -> Vec<AgentMessage>