File size: 929 Bytes
b8e5043 a7c4301 b8e5043 a7c4301 b8e5043 a7c4301 b8e5043 a7c4301 b8e5043 a7c4301 b8e5043 a7c4301 b8e5043 a7c4301 b8e5043 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | """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)
|