## Purpose Execute a web search tool call. ## Behavior - ~~Normalize all tool type variants~~ — handled by `tool_parse` (#42) - Pass `search_context_size` (`low|medium|high`, default `medium`) to search backend to control result depth - Plan for `user_location` parameter (city, country, region, timezone) - Emit `web_search_call.in_progress`, `web_search_call.searching`, `web_search_call.completed` events - Execute search via configured search backend (Brave, Tavily, etc.) - Format results as tool result message - Return for next inference turn ## Config ```yaml filter: web_search provider: brave # brave | tavily | etc. api_key: ${WEB_SEARCH_API_KEY} default_context_size: medium # low | medium | high ``` ## Praxis trait methods - Called by `tool_dispatch` ## Dependencies - Search API (HTTP) ## Reference - [Proposal: Responses API Filters](docs/proposals/00354_responses-api-filters.md) — Filter 9 - Part of praxis-proxy/ai#93
Purpose
Execute a web search tool call.
Behavior
Normalize all tool type variants— handled bytool_parse(tool_parse: parse and register function/built-in tools #42)search_context_size(low|medium|high, defaultmedium) to search backend to control result depthuser_locationparameter (city, country, region, timezone)web_search_call.in_progress,web_search_call.searching,web_search_call.completedeventsConfig
Praxis trait methods
tool_dispatchDependencies
Reference