Implements web_fetch(url, max_tokens) tool that downloads a URL,
extracts clean readable text via trafilatura, and truncates to a
token budget. Registered as an Agno tool in the full toolkit.
- Validates URL scheme before attempting fetch
- Uses requests with 15s timeout and TimmyResearchBot/1.0 user-agent
- Graceful degradation: missing packages, timeouts, HTTP errors, empty pages
- Added trafilatura as optional dependency with 'research' extra
- 11 unit tests covering all acceptance criteria
Fixes#973
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>