main
_py 61 lines 2.07 KB
Raw
1 # import asyncio
2 # from dataclasses import dataclass
3 # import time
4 # from helpers.tool import Tool, Response
5 # from helpers import files, rfc_exchange
6 # from helpers.print_style import PrintStyle
7 # from helpers.browser import Browser as BrowserManager
8 # import uuid
9
10
11 # @dataclass
12 # class State:
13 # browser: BrowserManager
14
15
16 # class Browser(Tool):
17
18 # async def execute(self, **kwargs):
19 # raise NotImplementedError
20
21 # def get_log_object(self):
22 # return self.agent.context.log.log(
23 # type="browser",
24 # heading=f"{self.agent.agent_name}: Using tool '{self.name}'",
25 # content="",
26 # kvps=self.args,
27 # )
28
29 # # async def after_execution(self, response, **kwargs):
30 # # await self.agent.hist_add_tool_result(self.name, response.message)
31
32 # async def save_screenshot(self):
33 # await self.prepare_state()
34 # path = files.get_abs_path("tmp/browser", f"{uuid.uuid4()}.png")
35 # await self.state.browser.screenshot(path, True)
36 # return "img://" + path
37
38 # async def prepare_state(self, reset=False):
39 # self.state = self.agent.get_data("_browser_state")
40 # if not self.state or reset:
41 # self.state = State(browser=BrowserManager())
42 # self.agent.set_data("_browser_state", self.state)
43
44 # def update_progress(self, text):
45 # progress = f"Browser: {text}"
46 # self.log.update(progress=text)
47 # self.agent.context.log.set_progress(progress)
48
49 # def cleanup_history(self):
50 # def cleanup_message(msg):
51 # if not msg.ai and isinstance(msg.content, dict) and "tool_name" in msg.content and str(msg.content["tool_name"]).startswith("browser_"):
52 # if not msg.summary:
53 # msg.summary = "browser content removed to save space"
54
55 # for msg in self.agent.history.current.messages:
56 # cleanup_message(msg)
57
58 # for prev in self.agent.history.topics:
59 # if not prev.summary:
60 # for msg in prev.messages:
61 # cleanup_message(msg)