"""Browser tool - web automation interface for the agent.""" from browser.client import BrowserClient # Global browser client (set during initialization) _browser_client: BrowserClient | None = None def set_browser_client(client: BrowserClient): """Set the global browser client instance.""" global _browser_client _browser_client = client def _get_client() -> BrowserClient: if _browser_client is None: raise RuntimeError("Browser client not initialized. Call set_browser_client() first.") return _browser_client async def run_browser(action: str, **kwargs) -> str: """Execute a browser action. Args: action: One of "navigate", "click", "type", "screenshot", "extract". **kwargs: Action-specific parameters (url, selector, text). Returns: Action result string. """ client = _get_client() return await client.execute_action(action, **kwargs)