Add model-gated literature search to standalone web search (#57542)

## What changed

Expose `literature_search_query` in standalone `web.run` when the active model lists it in `experimental_supported_tools`. Support query text, domain filters, and recency filters, and reject literature search calls for models without the capability.

Pass the active model information to extensions for each step and report literature queries as search actions in web search events.

## Testing

Add coverage for capability rejection, model-dependent schema exposure, app-server round trips with a turn-level model override, and a scenario that searches for a paper and opens the returned reference.

GitOrigin-RevId: 87ef1fadd80ca7bfc2a7642c4e443f9b9f2e0e00
This commit is contained in:
rhan-oai
2026-10-27 19:11:56 +00:00
committed by copyberry
parent e3149ddb11
commit aa854dabf5
11 changed files with 598 additions and 26 deletions
+3
View File
@@ -33,6 +33,9 @@ pub struct SearchCommands {
/// Query the internet search engine for a given list of queries.
#[serde(skip_serializing_if = "Option::is_none")]
pub search_query: Option<Vec<SearchQuery>>,
/// Search for scientific papers. Open relevant papers and cite the primary sources you use.
#[serde(skip_serializing_if = "Option::is_none")]
pub literature_search_query: Option<Vec<SearchQuery>>,
/// Query the image search engine for a given list of queries.
#[serde(skip_serializing_if = "Option::is_none")]
pub image_query: Option<Vec<SearchQuery>>,