pub fn agent_loop(
runtime: &AgentRuntime,
tool_ctx: ToolContext,
events: Option<UnboundedSender<AgentEvent>>,
) -> AgentLooppub fn agent_loop(
runtime: &AgentRuntime,
tool_ctx: ToolContext,
events: Option<UnboundedSender<AgentEvent>>,
) -> AgentLoop