[Haik]: ckpt, rremoved legacy ref to old create_browser_card. Now gonna revamp the run_browser_loop function to use the new browser actions toolkit

This commit is contained in:
haikdc
2026-04-02 15:22:34 -07:00
parent 607165b866
commit d0a636cf7e
4 changed files with 36 additions and 16 deletions
@@ -8,7 +8,7 @@ from backend.apps.agents.HaikFix.tools.make_builtin_toolkit.open_swarm_toolkits.
from backend.apps.agents.HaikFix.Agent.Agent import Agent
# NOTE: Legacy dependancy. TODO: fix this shit cuh
from backend.apps.agents.browser.runner import _create_browser_card
from backend.apps.agents.HaikFix.tools.make_builtin_toolkit.open_swarm_toolkits.browser_toolkit.make_browser_delegation_toolkit.handlers.utils.temp_sub_utils.create_browser_card import create_browser_card
class CreateBrowserAgentInput(TypedDict):
task: str
@@ -16,15 +16,13 @@ class CreateBrowserAgentInput(TypedDict):
@typechecked
def make_create_browser_agent_handler(
parent: Agent,
dashboard_id: str,
):
async def handler(args: CreateBrowserAgentInput) -> ToolResponse:
task = args["task"]
url = args.get("url", "")
browser_id = await _create_browser_card(
dashboard_id=parent.config.session_id or "",
url=url,
parent_session_id=parent.session_id,
browser_id = await create_browser_card(
dashboard_id=dashboard_id,
)
if not browser_id:
return {
@@ -43,7 +41,6 @@ def make_create_browser_agent_handler(
task=task,
browser_id=browser_id,
model=parent.model,
initial_url=url,
)
return format_browser_result(result, browser_id)
@@ -2,8 +2,8 @@ from typing import TypedDict
from typeguard import typechecked
from backend.apps.agents.HaikFix.Agent.shared_structs.Message.agent_outputs import ToolResponse
from backend.apps.agents.HaikFix.tools.make_builtin_toolkit.open_swarm_toolkits.browser_toolkit.handlers.utils.run_browser_loop import run_browser_loop
from backend.apps.agents.HaikFix.tools.make_builtin_toolkit.open_swarm_toolkits.browser_toolkit.handlers.utils.format_browser_result import format_browser_result
from backend.apps.agents.HaikFix.tools.make_builtin_toolkit.open_swarm_toolkits.browser_toolkit.make_browser_delegation_toolkit.handlers.utils.run_browser_loop import run_browser_loop
from backend.apps.agents.HaikFix.tools.make_builtin_toolkit.open_swarm_toolkits.browser_toolkit.make_browser_delegation_toolkit.handlers.utils.format_browser_result import format_browser_result
from backend.apps.agents.HaikFix.Agent.Agent import Agent
@@ -13,14 +13,9 @@ async def run_browser_loop(
task: str,
browser_id: str,
model_id: str,
initial_url: str | None = None,
tab_id: str = "",
) -> Dict[str, Any]:
"""Run the browser agent tool loop against the Anthropic API directly."""
if initial_url:
await execute_browser_tool("BrowserNavigate", {"url": initial_url}, browser_id, tab_id)
if not is_valid_model_id(model_id):
raise ValueError(f"Invalid model ID: {model_id}")
@@ -63,7 +58,7 @@ async def run_browser_loop(
tool_results = []
for tu in tool_uses:
start = time.time()
result = await execute_browser_tool(tu.name, tu.input, browser_id, tab_id)
result = await execute_browser_tool(tu.name, tu.input, browser_id,)
elapsed_ms = int((time.time() - start) * 1000)
action_log.append({
"tool": tu.name,
@@ -83,7 +78,7 @@ async def run_browser_loop(
if not final_screenshot:
try:
ss = await execute_browser_tool("BrowserScreenshot", {}, browser_id, tab_id)
ss = await execute_browser_tool("BrowserScreenshot", {}, browser_id)
if ss.get("image"):
final_screenshot = ss["image"]
except Exception:
@@ -0,0 +1,28 @@
from datetime import datetime
from uuid import uuid4
from typeguard import typechecked
# NOTE: Legacy dependancy. TODO: fix this shit cuh
from backend.apps.agents.manager.ws_manager import ws_manager
from backend.apps.dashboards.dashboards import _load, _save
from backend.apps.dashboards.models import BrowserCardPosition, BrowserTab
@typechecked
async def create_browser_card(dashboard_id: str) -> str:
dashboard = _load(dashboard_id)
browser_id = f"browser-{uuid4().hex[:8]}"
tab_id = f"tab-{uuid4().hex[:8]}"
tab = BrowserTab(id=tab_id, url="https://www.google.com", title="")
card = BrowserCardPosition(
browser_id=browser_id, url="https://www.google.com",
tabs=[tab], activeTabId=tab_id, x=40, y=100, width=1280, height=800,
)
dashboard.layout.browser_cards[browser_id] = card
dashboard.updated_at = datetime.now()
_save(dashboard)
await ws_manager.broadcast_global("dashboard:browser_card_added", {
"dashboard_id": dashboard_id,
"browser_card": card.model_dump(mode="json"),
})
return browser_id