755a61de07
The DuckDuckGo provider hit api.duckduckgo.com (the Instant Answer API), which only serves Wikipedia / Wolfram-Alpha-style topics — empty AbstractText / Results / RelatedTopics for the vast majority of agent queries. The orchestrator then rejected the empty response and surfaced 'DuckDuckGo returned no renderable search content', leaving users with no working free fallback. Switch the provider to POST html.duckduckgo.com/html/ (the no-JS HTML frontend) with a browser User-Agent, parse the result blocks (unwrapping //duckduckgo.com/l/?uddg=… redirect URLs), and map recency to the df form field (d/w/m/y). When DuckDuckGo serves the bot-detection modal (HTTP 200/202 with anomaly-modal body) we surface a clear SearchProviderError so the orchestrator can fall through to the next provider with cause attached. Fixes #3799