mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-08-23 15:25:28 +00:00
Render the existing Patchright page through an isolated, authenticated Xpra session with CDP screencast and snapshot fallbacks. Keep Chromium out of fullscreen, synchronize native viewport resizing across canvas and modal handoffs, and remove Xpra decoration and shadow-cursor artifacts. Move loading feedback into each Browser tab while reserving the footer for actual errors.
43 lines
1.9 KiB
Python
43 lines
1.9 KiB
Python
from helpers.api import ApiHandler, Request
|
|
from plugins._browser.helpers.config import build_browser_launch_config, get_browser_config
|
|
from plugins._browser.helpers.interactive_view import collect_status as collect_interactive_status
|
|
from plugins._browser.helpers.playwright import (
|
|
get_playwright_binary,
|
|
get_playwright_cache_dir,
|
|
get_playwright_cache_dirs,
|
|
)
|
|
from plugins._browser.helpers.runtime import known_context_ids
|
|
|
|
|
|
class Status(ApiHandler):
|
|
async def process(self, input: dict, request: Request) -> dict:
|
|
browser_config = get_browser_config()
|
|
launch_config = build_browser_launch_config(browser_config)
|
|
runtime_binary = get_playwright_binary()
|
|
chromium_binary = runtime_binary
|
|
try:
|
|
from plugins._a0_connector.helpers.ws_runtime import all_host_browser_metadata
|
|
except ImportError:
|
|
host_browser = {"connectors": []}
|
|
else:
|
|
host_browser = {"connectors": all_host_browser_metadata()}
|
|
return {
|
|
"plugin": "_browser",
|
|
"playwright": {
|
|
"cache_dir": get_playwright_cache_dir(),
|
|
"cache_dirs": [str(path) for path in get_playwright_cache_dirs()],
|
|
"binary_found": bool(runtime_binary),
|
|
"install_required": not bool(runtime_binary),
|
|
"binary_path": str(runtime_binary) if runtime_binary else "",
|
|
"chromium_binary_path": str(chromium_binary) if chromium_binary else "",
|
|
"launch_mode": launch_config["browser_mode"],
|
|
},
|
|
"extensions": {
|
|
**launch_config["extensions"],
|
|
"launch_mode": launch_config["browser_mode"],
|
|
"requires_full_browser": launch_config["requires_full_browser"],
|
|
},
|
|
"host_browser": host_browser,
|
|
"interactive_view": collect_interactive_status(),
|
|
"contexts": known_context_ids(),
|
|
}
|