def __init__(
self,
*,
search_context_size: Literal["low", "medium", "high"] | Variable | None = None,
max_uses: int | Variable | None = None,
user_location: UserLocation | Variable | None = None,
allowed_domains: list[str] | Variable | None = None,
blocked_domains: list[str] | Variable | None = None,
version: Literal["web_search_20250305", "web_search_20260209"] | Variable | None = None,
) -> None:
self._params: dict[str, object] = {}
if search_context_size is not None:
self._params["search_context_size"] = search_context_size
if max_uses is not None:
self._params["max_uses"] = max_uses
if user_location is not None:
self._params["user_location"] = user_location
if allowed_domains is not None:
self._params["allowed_domains"] = allowed_domains
if blocked_domains is not None:
self._params["blocked_domains"] = blocked_domains
if version is not None:
self._params["web_search_version"] = version
self.name = WEB_SEARCH_TOOL_NAME