Add web search provider metadata and configuration (#59033)

## What changed

- Add optional `ModelInfo.web_search_provider` metadata with `standalone` and `search_mcp` values.
- Add `tools.client_search_provider` and expose its value as `client_search_provider` in app-server configuration responses, with updated JSON schemas, TypeScript types, and Python bindings.
- Register the `hosted_search_policy` feature flag as under development and disabled by default.

GitOrigin-RevId: 263c3f81a61b50f8bb53ff338b9de8186db316e0
This commit is contained in:
yitaoh-oai
2026-11-03 01:58:18 +00:00
committed by copyberry
parent f58acd6ede
commit b26f682672
28 changed files with 153 additions and 10 deletions
@@ -7081,6 +7081,11 @@ class WebSearchMode(Enum):
live = "live"
class WebSearchProvider(Enum):
standalone = "standalone"
search_mcp = "search_mcp"
class WebSearchToolConfig(BaseModel):
model_config = ConfigDict(
extra="forbid",
@@ -11595,6 +11600,12 @@ class Config(BaseModel):
),
] = None
browser_use: BrowserUseConfig | None = None
client_search_provider: Annotated[
WebSearchProvider | None,
Field(
description="Effective tools.client_search_provider hint. Model-selected providers take precedence."
),
] = None
compact_prompt: str | None = None
computer_use: ComputerUseConfig | None = None
desktop: dict[str, Any] | None = None