Build a working agent with 2-3 tools, parallel tool calls, structured outputs for at least one tool's response, and streaming to a tiny UI. The agent should answer one real task (e.g. 'plan my Tuesday' calling calendar + weather + traffic). Submit code, the live demo, and traces of 5 example runs.
# Sample run
Q: "What's the weather in Paris, Berlin, and Tokyo, and what's the local time in each?"
Tool calls (parallel, ~1.1s):
- get_weather(city="Paris") -> {temp_c: 18, conditions: "cloudy"}
- get_weather(city="Berlin") -> {temp_c: 15, conditions: "rainy"}
- get_weather(city="Tokyo") -> {temp_c: 22, conditions: "clear"}
- get_time(city="Paris") -> "16:45"
- get_time(city="Berlin") -> "16:45"
- get_time(city="Tokyo") -> "00:45 next day"
Answer (~1.8s after tool results):
"Right now in Paris it's 18°C and cloudy, 16:45 local. Berlin is 15°C rainy..."
Total: 2 LLM calls + 6 tool calls in parallel = 3.1s end-to-end.
disable_parallel_tool_use for a write-action tool. Verify ordering preserved.