Problem
Following #1211 / #1212, URL retrieval can still spend excessive time and tool tokens on individual pages. Live checks work with Gemini 3.5 Flash while newer tested models can time out. Recipes need explicit thinking and timeout controls, and access to additional generation options without another wrapper change.
Agreed scope
- Default URL retrieval to
gemini-3.5-flash with thinking_level: minimal.
- Expose
thinking_level and request_timeout_seconds in Python and the recipe schema. Use a configurable 10-second provider-request deadline per URL, including retries, with no retries by default.
- Return a failed row on timeout while retaining other rows and their order.
- Accept additional Gemini generation options through keyword arguments, preserving wrapper-owned URL tools and output formatting.
- Document longer Python timeouts and the separate runner/Lambda time limit; validate SDK compatibility and live retrieval separately from deployment.
Flash-Lite remains an optional experiment: it has not passed the same JSON retrieval checks, so it is not the new default. This change does not claim to resolve bot-blocked pages or reduce the size of retrieved page content.
Problem
Following #1211 / #1212, URL retrieval can still spend excessive time and tool tokens on individual pages. Live checks work with Gemini 3.5 Flash while newer tested models can time out. Recipes need explicit thinking and timeout controls, and access to additional generation options without another wrapper change.
Agreed scope
gemini-3.5-flashwiththinking_level: minimal.thinking_levelandrequest_timeout_secondsin Python and the recipe schema. Use a configurable 10-second provider-request deadline per URL, including retries, with no retries by default.Flash-Lite remains an optional experiment: it has not passed the same JSON retrieval checks, so it is not the new default. This change does not claim to resolve bot-blocked pages or reduce the size of retrieved page content.