typescript // Minimal agent loop — the foundation everything else builds on async function agentLoop(userMessage: string) { const messages: Message[] = [ { role: "user", content: userMessage } ]; while (true) { const response = await claude.messages.create({ model: "claude-opus-4-5", max tokens: 8096, tools: TOOL DEFINITIONS, messages, }); if (response.stop reason === "end turn") { // Final text response — return to user return extractText(response.content); } if (response.stop reason === "tool use") { // Execute each tool the model requested const toolResults = await executeTools(response.co…