hyperbrowser 0.51.0__py3-none-any.whl → 0.73.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hyperbrowser/client/managers/async_manager/agents/__init__.py +2 -0
- hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +71 -0
- hyperbrowser/client/managers/async_manager/computer_action.py +49 -4
- hyperbrowser/client/managers/async_manager/session.py +20 -0
- hyperbrowser/client/managers/sync_manager/agents/__init__.py +2 -0
- hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +1 -1
- hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +71 -0
- hyperbrowser/client/managers/sync_manager/computer_action.py +49 -4
- hyperbrowser/client/managers/sync_manager/session.py +20 -0
- hyperbrowser/models/__init__.py +97 -0
- hyperbrowser/models/agents/browser_use.py +83 -2
- hyperbrowser/models/agents/claude_computer_use.py +18 -0
- hyperbrowser/models/agents/cua.py +16 -0
- hyperbrowser/models/agents/gemini_computer_use.py +135 -0
- hyperbrowser/models/agents/hyper_agent.py +11 -0
- hyperbrowser/models/computer_action.py +79 -6
- hyperbrowser/models/consts.py +20 -1
- hyperbrowser/models/extract.py +11 -0
- hyperbrowser/models/scrape.py +22 -0
- hyperbrowser/models/session.py +135 -11
- {hyperbrowser-0.51.0.dist-info → hyperbrowser-0.73.0.dist-info}/METADATA +4 -2
- {hyperbrowser-0.51.0.dist-info → hyperbrowser-0.73.0.dist-info}/RECORD +24 -21
- {hyperbrowser-0.51.0.dist-info → hyperbrowser-0.73.0.dist-info}/WHEEL +1 -1
- {hyperbrowser-0.51.0.dist-info → hyperbrowser-0.73.0.dist-info/licenses}/LICENSE +0 -0
|
@@ -2,6 +2,7 @@ from .browser_use import BrowserUseManager
|
|
|
2
2
|
from .cua import CuaManager
|
|
3
3
|
from .claude_computer_use import ClaudeComputerUseManager
|
|
4
4
|
from .hyper_agent import HyperAgentManager
|
|
5
|
+
from .gemini_computer_use import GeminiComputerUseManager
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class Agents:
|
|
@@ -10,3 +11,4 @@ class Agents:
|
|
|
10
11
|
self.cua = CuaManager(client)
|
|
11
12
|
self.claude_computer_use = ClaudeComputerUseManager(client)
|
|
12
13
|
self.hyper_agent = HyperAgentManager(client)
|
|
14
|
+
self.gemini_computer_use = GeminiComputerUseManager(client)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
|
|
3
|
+
from hyperbrowser.exceptions import HyperbrowserError
|
|
4
|
+
|
|
5
|
+
from .....models import (
|
|
6
|
+
POLLING_ATTEMPTS,
|
|
7
|
+
BasicResponse,
|
|
8
|
+
GeminiComputerUseTaskResponse,
|
|
9
|
+
GeminiComputerUseTaskStatusResponse,
|
|
10
|
+
StartGeminiComputerUseTaskParams,
|
|
11
|
+
StartGeminiComputerUseTaskResponse,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GeminiComputerUseManager:
|
|
16
|
+
def __init__(self, client):
|
|
17
|
+
self._client = client
|
|
18
|
+
|
|
19
|
+
async def start(
|
|
20
|
+
self, params: StartGeminiComputerUseTaskParams
|
|
21
|
+
) -> StartGeminiComputerUseTaskResponse:
|
|
22
|
+
response = await self._client.transport.post(
|
|
23
|
+
self._client._build_url("/task/gemini-computer-use"),
|
|
24
|
+
data=params.model_dump(exclude_none=True, by_alias=True),
|
|
25
|
+
)
|
|
26
|
+
return StartGeminiComputerUseTaskResponse(**response.data)
|
|
27
|
+
|
|
28
|
+
async def get(self, job_id: str) -> GeminiComputerUseTaskResponse:
|
|
29
|
+
response = await self._client.transport.get(
|
|
30
|
+
self._client._build_url(f"/task/gemini-computer-use/{job_id}")
|
|
31
|
+
)
|
|
32
|
+
return GeminiComputerUseTaskResponse(**response.data)
|
|
33
|
+
|
|
34
|
+
async def get_status(self, job_id: str) -> GeminiComputerUseTaskStatusResponse:
|
|
35
|
+
response = await self._client.transport.get(
|
|
36
|
+
self._client._build_url(f"/task/gemini-computer-use/{job_id}/status")
|
|
37
|
+
)
|
|
38
|
+
return GeminiComputerUseTaskStatusResponse(**response.data)
|
|
39
|
+
|
|
40
|
+
async def stop(self, job_id: str) -> BasicResponse:
|
|
41
|
+
response = await self._client.transport.put(
|
|
42
|
+
self._client._build_url(f"/task/gemini-computer-use/{job_id}/stop")
|
|
43
|
+
)
|
|
44
|
+
return BasicResponse(**response.data)
|
|
45
|
+
|
|
46
|
+
async def start_and_wait(
|
|
47
|
+
self, params: StartGeminiComputerUseTaskParams
|
|
48
|
+
) -> GeminiComputerUseTaskResponse:
|
|
49
|
+
job_start_resp = await self.start(params)
|
|
50
|
+
job_id = job_start_resp.job_id
|
|
51
|
+
if not job_id:
|
|
52
|
+
raise HyperbrowserError("Failed to start Gemini Computer Use task job")
|
|
53
|
+
|
|
54
|
+
failures = 0
|
|
55
|
+
while True:
|
|
56
|
+
try:
|
|
57
|
+
job_response = await self.get_status(job_id)
|
|
58
|
+
if (
|
|
59
|
+
job_response.status == "completed"
|
|
60
|
+
or job_response.status == "failed"
|
|
61
|
+
or job_response.status == "stopped"
|
|
62
|
+
):
|
|
63
|
+
return await self.get(job_id)
|
|
64
|
+
failures = 0
|
|
65
|
+
except Exception as e:
|
|
66
|
+
failures += 1
|
|
67
|
+
if failures >= POLLING_ATTEMPTS:
|
|
68
|
+
raise HyperbrowserError(
|
|
69
|
+
f"Failed to poll Gemini Computer Use task job {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
70
|
+
)
|
|
71
|
+
await asyncio.sleep(2)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from pydantic import BaseModel
|
|
2
|
-
from typing import Union, List
|
|
2
|
+
from typing import Union, List, Optional
|
|
3
3
|
from hyperbrowser.models import (
|
|
4
4
|
SessionDetail,
|
|
5
5
|
ComputerActionParams,
|
|
@@ -12,6 +12,11 @@ from hyperbrowser.models import (
|
|
|
12
12
|
ScrollActionParams,
|
|
13
13
|
TypeTextActionParams,
|
|
14
14
|
Coordinate,
|
|
15
|
+
HoldKeyActionParams,
|
|
16
|
+
MouseDownActionParams,
|
|
17
|
+
MouseUpActionParams,
|
|
18
|
+
ComputerActionMouseButton,
|
|
19
|
+
GetClipboardTextActionParams,
|
|
15
20
|
)
|
|
16
21
|
|
|
17
22
|
|
|
@@ -42,9 +47,9 @@ class ComputerActionManager:
|
|
|
42
47
|
async def click(
|
|
43
48
|
self,
|
|
44
49
|
session: Union[SessionDetail, str],
|
|
45
|
-
x: int,
|
|
46
|
-
y: int,
|
|
47
|
-
button:
|
|
50
|
+
x: Optional[int] = None,
|
|
51
|
+
y: Optional[int] = None,
|
|
52
|
+
button: ComputerActionMouseButton = "left",
|
|
48
53
|
num_clicks: int = 1,
|
|
49
54
|
return_screenshot: bool = False,
|
|
50
55
|
) -> ComputerActionResponse:
|
|
@@ -82,6 +87,38 @@ class ComputerActionManager:
|
|
|
82
87
|
params = PressKeysActionParams(keys=keys, return_screenshot=return_screenshot)
|
|
83
88
|
return await self._execute_request(session, params)
|
|
84
89
|
|
|
90
|
+
async def hold_key(
|
|
91
|
+
self,
|
|
92
|
+
session: Union[SessionDetail, str],
|
|
93
|
+
key: str,
|
|
94
|
+
duration: int,
|
|
95
|
+
return_screenshot: bool = False,
|
|
96
|
+
) -> ComputerActionResponse:
|
|
97
|
+
params = HoldKeyActionParams(
|
|
98
|
+
key=key, duration=duration, return_screenshot=return_screenshot
|
|
99
|
+
)
|
|
100
|
+
return await self._execute_request(session, params)
|
|
101
|
+
|
|
102
|
+
async def mouse_down(
|
|
103
|
+
self,
|
|
104
|
+
session: Union[SessionDetail, str],
|
|
105
|
+
button: ComputerActionMouseButton = "left",
|
|
106
|
+
return_screenshot: bool = False,
|
|
107
|
+
) -> ComputerActionResponse:
|
|
108
|
+
params = MouseDownActionParams(
|
|
109
|
+
button=button, return_screenshot=return_screenshot
|
|
110
|
+
)
|
|
111
|
+
return await self._execute_request(session, params)
|
|
112
|
+
|
|
113
|
+
async def mouse_up(
|
|
114
|
+
self,
|
|
115
|
+
session: Union[SessionDetail, str],
|
|
116
|
+
button: ComputerActionMouseButton = "left",
|
|
117
|
+
return_screenshot: bool = False,
|
|
118
|
+
) -> ComputerActionResponse:
|
|
119
|
+
params = MouseUpActionParams(button=button, return_screenshot=return_screenshot)
|
|
120
|
+
return await self._execute_request(session, params)
|
|
121
|
+
|
|
85
122
|
async def drag(
|
|
86
123
|
self,
|
|
87
124
|
session: Union[SessionDetail, str],
|
|
@@ -118,3 +155,11 @@ class ComputerActionManager:
|
|
|
118
155
|
return_screenshot=return_screenshot,
|
|
119
156
|
)
|
|
120
157
|
return await self._execute_request(session, params)
|
|
158
|
+
|
|
159
|
+
async def get_clipboard_text(
|
|
160
|
+
self,
|
|
161
|
+
session: Union[SessionDetail, str],
|
|
162
|
+
return_screenshot: bool = False,
|
|
163
|
+
) -> ComputerActionResponse:
|
|
164
|
+
params = GetClipboardTextActionParams(return_screenshot=return_screenshot)
|
|
165
|
+
return await self._execute_request(session, params)
|
|
@@ -10,12 +10,32 @@ from ....models.session import (
|
|
|
10
10
|
SessionListResponse,
|
|
11
11
|
SessionRecording,
|
|
12
12
|
UploadFileResponse,
|
|
13
|
+
SessionEventLogListParams,
|
|
14
|
+
SessionEventLogListResponse,
|
|
15
|
+
SessionEventLog,
|
|
13
16
|
)
|
|
14
17
|
|
|
15
18
|
|
|
19
|
+
class SessionEventLogsManager:
|
|
20
|
+
def __init__(self, client):
|
|
21
|
+
self._client = client
|
|
22
|
+
|
|
23
|
+
async def list(
|
|
24
|
+
self,
|
|
25
|
+
session_id: str,
|
|
26
|
+
params: SessionEventLogListParams = SessionEventLogListParams(),
|
|
27
|
+
) -> List[SessionEventLog]:
|
|
28
|
+
response = await self._client.transport.get(
|
|
29
|
+
self._client._build_url(f"/session/{session_id}/event-logs"),
|
|
30
|
+
params=params.model_dump(exclude_none=True, by_alias=True),
|
|
31
|
+
)
|
|
32
|
+
return SessionEventLogListResponse(**response.data)
|
|
33
|
+
|
|
34
|
+
|
|
16
35
|
class SessionManager:
|
|
17
36
|
def __init__(self, client):
|
|
18
37
|
self._client = client
|
|
38
|
+
self.event_logs = SessionEventLogsManager(client)
|
|
19
39
|
|
|
20
40
|
async def create(self, params: CreateSessionParams = None) -> SessionDetail:
|
|
21
41
|
response = await self._client.transport.post(
|
|
@@ -2,6 +2,7 @@ from .browser_use import BrowserUseManager
|
|
|
2
2
|
from .cua import CuaManager
|
|
3
3
|
from .claude_computer_use import ClaudeComputerUseManager
|
|
4
4
|
from .hyper_agent import HyperAgentManager
|
|
5
|
+
from .gemini_computer_use import GeminiComputerUseManager
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class Agents:
|
|
@@ -10,3 +11,4 @@ class Agents:
|
|
|
10
11
|
self.cua = CuaManager(client)
|
|
11
12
|
self.claude_computer_use = ClaudeComputerUseManager(client)
|
|
12
13
|
self.hyper_agent = HyperAgentManager(client)
|
|
14
|
+
self.gemini_computer_use = GeminiComputerUseManager(client)
|
|
@@ -49,7 +49,7 @@ class ClaudeComputerUseManager:
|
|
|
49
49
|
job_start_resp = self.start(params)
|
|
50
50
|
job_id = job_start_resp.job_id
|
|
51
51
|
if not job_id:
|
|
52
|
-
raise HyperbrowserError("Failed to start
|
|
52
|
+
raise HyperbrowserError("Failed to start Claude Computer Use task job")
|
|
53
53
|
|
|
54
54
|
failures = 0
|
|
55
55
|
while True:
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import time
|
|
2
|
+
|
|
3
|
+
from hyperbrowser.exceptions import HyperbrowserError
|
|
4
|
+
|
|
5
|
+
from .....models import (
|
|
6
|
+
POLLING_ATTEMPTS,
|
|
7
|
+
BasicResponse,
|
|
8
|
+
GeminiComputerUseTaskResponse,
|
|
9
|
+
GeminiComputerUseTaskStatusResponse,
|
|
10
|
+
StartGeminiComputerUseTaskParams,
|
|
11
|
+
StartGeminiComputerUseTaskResponse,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GeminiComputerUseManager:
|
|
16
|
+
def __init__(self, client):
|
|
17
|
+
self._client = client
|
|
18
|
+
|
|
19
|
+
def start(
|
|
20
|
+
self, params: StartGeminiComputerUseTaskParams
|
|
21
|
+
) -> StartGeminiComputerUseTaskResponse:
|
|
22
|
+
response = self._client.transport.post(
|
|
23
|
+
self._client._build_url("/task/gemini-computer-use"),
|
|
24
|
+
data=params.model_dump(exclude_none=True, by_alias=True),
|
|
25
|
+
)
|
|
26
|
+
return StartGeminiComputerUseTaskResponse(**response.data)
|
|
27
|
+
|
|
28
|
+
def get(self, job_id: str) -> GeminiComputerUseTaskResponse:
|
|
29
|
+
response = self._client.transport.get(
|
|
30
|
+
self._client._build_url(f"/task/gemini-computer-use/{job_id}")
|
|
31
|
+
)
|
|
32
|
+
return GeminiComputerUseTaskResponse(**response.data)
|
|
33
|
+
|
|
34
|
+
def get_status(self, job_id: str) -> GeminiComputerUseTaskStatusResponse:
|
|
35
|
+
response = self._client.transport.get(
|
|
36
|
+
self._client._build_url(f"/task/gemini-computer-use/{job_id}/status")
|
|
37
|
+
)
|
|
38
|
+
return GeminiComputerUseTaskStatusResponse(**response.data)
|
|
39
|
+
|
|
40
|
+
def stop(self, job_id: str) -> BasicResponse:
|
|
41
|
+
response = self._client.transport.put(
|
|
42
|
+
self._client._build_url(f"/task/gemini-computer-use/{job_id}/stop")
|
|
43
|
+
)
|
|
44
|
+
return BasicResponse(**response.data)
|
|
45
|
+
|
|
46
|
+
def start_and_wait(
|
|
47
|
+
self, params: StartGeminiComputerUseTaskParams
|
|
48
|
+
) -> GeminiComputerUseTaskResponse:
|
|
49
|
+
job_start_resp = self.start(params)
|
|
50
|
+
job_id = job_start_resp.job_id
|
|
51
|
+
if not job_id:
|
|
52
|
+
raise HyperbrowserError("Failed to start Gemini Computer Use task job")
|
|
53
|
+
|
|
54
|
+
failures = 0
|
|
55
|
+
while True:
|
|
56
|
+
try:
|
|
57
|
+
job_response = self.get_status(job_id)
|
|
58
|
+
if (
|
|
59
|
+
job_response.status == "completed"
|
|
60
|
+
or job_response.status == "failed"
|
|
61
|
+
or job_response.status == "stopped"
|
|
62
|
+
):
|
|
63
|
+
return self.get(job_id)
|
|
64
|
+
failures = 0
|
|
65
|
+
except Exception as e:
|
|
66
|
+
failures += 1
|
|
67
|
+
if failures >= POLLING_ATTEMPTS:
|
|
68
|
+
raise HyperbrowserError(
|
|
69
|
+
f"Failed to poll Gemini Computer Use task job {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
70
|
+
)
|
|
71
|
+
time.sleep(2)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from pydantic import BaseModel
|
|
2
|
-
from typing import Union, List
|
|
2
|
+
from typing import Union, List, Optional
|
|
3
3
|
from hyperbrowser.models import (
|
|
4
4
|
SessionDetail,
|
|
5
5
|
ComputerActionParams,
|
|
@@ -12,6 +12,11 @@ from hyperbrowser.models import (
|
|
|
12
12
|
ScrollActionParams,
|
|
13
13
|
TypeTextActionParams,
|
|
14
14
|
Coordinate,
|
|
15
|
+
HoldKeyActionParams,
|
|
16
|
+
MouseDownActionParams,
|
|
17
|
+
MouseUpActionParams,
|
|
18
|
+
ComputerActionMouseButton,
|
|
19
|
+
GetClipboardTextActionParams,
|
|
15
20
|
)
|
|
16
21
|
|
|
17
22
|
|
|
@@ -42,9 +47,9 @@ class ComputerActionManager:
|
|
|
42
47
|
def click(
|
|
43
48
|
self,
|
|
44
49
|
session: Union[SessionDetail, str],
|
|
45
|
-
x: int,
|
|
46
|
-
y: int,
|
|
47
|
-
button:
|
|
50
|
+
x: Optional[int] = None,
|
|
51
|
+
y: Optional[int] = None,
|
|
52
|
+
button: ComputerActionMouseButton = "left",
|
|
48
53
|
num_clicks: int = 1,
|
|
49
54
|
return_screenshot: bool = False,
|
|
50
55
|
) -> ComputerActionResponse:
|
|
@@ -82,6 +87,38 @@ class ComputerActionManager:
|
|
|
82
87
|
params = PressKeysActionParams(keys=keys, return_screenshot=return_screenshot)
|
|
83
88
|
return self._execute_request(session, params)
|
|
84
89
|
|
|
90
|
+
def hold_key(
|
|
91
|
+
self,
|
|
92
|
+
session: Union[SessionDetail, str],
|
|
93
|
+
key: str,
|
|
94
|
+
duration: int,
|
|
95
|
+
return_screenshot: bool = False,
|
|
96
|
+
) -> ComputerActionResponse:
|
|
97
|
+
params = HoldKeyActionParams(
|
|
98
|
+
key=key, duration=duration, return_screenshot=return_screenshot
|
|
99
|
+
)
|
|
100
|
+
return self._execute_request(session, params)
|
|
101
|
+
|
|
102
|
+
def mouse_down(
|
|
103
|
+
self,
|
|
104
|
+
session: Union[SessionDetail, str],
|
|
105
|
+
button: ComputerActionMouseButton = "left",
|
|
106
|
+
return_screenshot: bool = False,
|
|
107
|
+
) -> ComputerActionResponse:
|
|
108
|
+
params = MouseDownActionParams(
|
|
109
|
+
button=button, return_screenshot=return_screenshot
|
|
110
|
+
)
|
|
111
|
+
return self._execute_request(session, params)
|
|
112
|
+
|
|
113
|
+
def mouse_up(
|
|
114
|
+
self,
|
|
115
|
+
session: Union[SessionDetail, str],
|
|
116
|
+
button: ComputerActionMouseButton = "left",
|
|
117
|
+
return_screenshot: bool = False,
|
|
118
|
+
) -> ComputerActionResponse:
|
|
119
|
+
params = MouseUpActionParams(button=button, return_screenshot=return_screenshot)
|
|
120
|
+
return self._execute_request(session, params)
|
|
121
|
+
|
|
85
122
|
def drag(
|
|
86
123
|
self,
|
|
87
124
|
session: Union[SessionDetail, str],
|
|
@@ -118,3 +155,11 @@ class ComputerActionManager:
|
|
|
118
155
|
return_screenshot=return_screenshot,
|
|
119
156
|
)
|
|
120
157
|
return self._execute_request(session, params)
|
|
158
|
+
|
|
159
|
+
def get_clipboard_text(
|
|
160
|
+
self,
|
|
161
|
+
session: Union[SessionDetail, str],
|
|
162
|
+
return_screenshot: bool = False,
|
|
163
|
+
) -> ComputerActionResponse:
|
|
164
|
+
params = GetClipboardTextActionParams(return_screenshot=return_screenshot)
|
|
165
|
+
return self._execute_request(session, params)
|
|
@@ -10,12 +10,32 @@ from ....models.session import (
|
|
|
10
10
|
SessionListResponse,
|
|
11
11
|
SessionRecording,
|
|
12
12
|
UploadFileResponse,
|
|
13
|
+
SessionEventLogListParams,
|
|
14
|
+
SessionEventLogListResponse,
|
|
15
|
+
SessionEventLog,
|
|
13
16
|
)
|
|
14
17
|
|
|
15
18
|
|
|
19
|
+
class SessionEventLogsManager:
|
|
20
|
+
def __init__(self, client):
|
|
21
|
+
self._client = client
|
|
22
|
+
|
|
23
|
+
def list(
|
|
24
|
+
self,
|
|
25
|
+
session_id: str,
|
|
26
|
+
params: SessionEventLogListParams = SessionEventLogListParams(),
|
|
27
|
+
) -> SessionEventLogListResponse:
|
|
28
|
+
response = self._client.transport.get(
|
|
29
|
+
self._client._build_url(f"/session/{session_id}/event-logs"),
|
|
30
|
+
params=params.model_dump(exclude_none=True, by_alias=True),
|
|
31
|
+
)
|
|
32
|
+
return SessionEventLogListResponse(**response.data)
|
|
33
|
+
|
|
34
|
+
|
|
16
35
|
class SessionManager:
|
|
17
36
|
def __init__(self, client):
|
|
18
37
|
self._client = client
|
|
38
|
+
self.event_logs = SessionEventLogsManager(client)
|
|
19
39
|
|
|
20
40
|
def create(self, params: CreateSessionParams = None) -> SessionDetail:
|
|
21
41
|
response = self._client.transport.post(
|
hyperbrowser/models/__init__.py
CHANGED
|
@@ -5,8 +5,30 @@ from .agents.browser_use import (
|
|
|
5
5
|
StartBrowserUseTaskParams,
|
|
6
6
|
StartBrowserUseTaskResponse,
|
|
7
7
|
BrowserUseApiKeys,
|
|
8
|
+
BrowserUseAgentBrain,
|
|
9
|
+
BrowserUseAgentOutput,
|
|
10
|
+
BrowserUseActionResult,
|
|
11
|
+
BrowserUseStepMetadata,
|
|
12
|
+
BrowserUseTabInfo,
|
|
13
|
+
BrowserUseCoordinates,
|
|
14
|
+
BrowserUseCoordinateSet,
|
|
15
|
+
BrowserUseViewportInfo,
|
|
16
|
+
BrowserUseDOMHistoryElement,
|
|
17
|
+
BrowserUseBrowserStateHistory,
|
|
18
|
+
BrowserUseAgentHistory,
|
|
19
|
+
BrowserUseAgentOutputV0710,
|
|
20
|
+
BrowserUseActionResultV0710,
|
|
21
|
+
BrowserUseBrowserStateHistoryV0710,
|
|
22
|
+
BrowserUseStepMetadataV0710,
|
|
23
|
+
BrowserUseAgentHistoryV0710,
|
|
24
|
+
BrowserUseAgentHistoryLatest,
|
|
25
|
+
BrowserUseTaskMetadata,
|
|
26
|
+
BrowserUseStep,
|
|
27
|
+
cast_steps_for_version,
|
|
8
28
|
)
|
|
9
29
|
from .agents.claude_computer_use import (
|
|
30
|
+
ClaudeComputerUseTaskStatus,
|
|
31
|
+
ClaudeComputerUseStepResponse,
|
|
10
32
|
ClaudeComputerUseTaskData,
|
|
11
33
|
ClaudeComputerUseTaskResponse,
|
|
12
34
|
ClaudeComputerUseTaskStatusResponse,
|
|
@@ -14,6 +36,16 @@ from .agents.claude_computer_use import (
|
|
|
14
36
|
StartClaudeComputerUseTaskResponse,
|
|
15
37
|
ClaudeComputerUseApiKeys,
|
|
16
38
|
)
|
|
39
|
+
from .agents.gemini_computer_use import (
|
|
40
|
+
GeminiComputerUseTaskStatus,
|
|
41
|
+
GeminiComputerUseStepResponse,
|
|
42
|
+
GeminiComputerUseTaskData,
|
|
43
|
+
GeminiComputerUseTaskResponse,
|
|
44
|
+
GeminiComputerUseTaskStatusResponse,
|
|
45
|
+
StartGeminiComputerUseTaskParams,
|
|
46
|
+
StartGeminiComputerUseTaskResponse,
|
|
47
|
+
GeminiComputerUseApiKeys,
|
|
48
|
+
)
|
|
17
49
|
from .agents.cua import (
|
|
18
50
|
CuaTaskData,
|
|
19
51
|
CuaTaskResponse,
|
|
@@ -49,7 +81,10 @@ from .consts import (
|
|
|
49
81
|
ScrapePageStatus,
|
|
50
82
|
ScrapeScreenshotFormat,
|
|
51
83
|
ScrapeWaitUntil,
|
|
84
|
+
SessionEventLogType,
|
|
52
85
|
State,
|
|
86
|
+
SessionRegion,
|
|
87
|
+
BrowserUseVersion,
|
|
53
88
|
)
|
|
54
89
|
from .crawl import (
|
|
55
90
|
CrawledPage,
|
|
@@ -68,6 +103,7 @@ from .extract import (
|
|
|
68
103
|
ExtractJobStatusResponse,
|
|
69
104
|
StartExtractJobParams,
|
|
70
105
|
StartExtractJobResponse,
|
|
106
|
+
ExtractJobMetadata,
|
|
71
107
|
)
|
|
72
108
|
from .profile import (
|
|
73
109
|
CreateProfileParams,
|
|
@@ -91,6 +127,7 @@ from .scrape import (
|
|
|
91
127
|
StartBatchScrapeJobResponse,
|
|
92
128
|
StartScrapeJobParams,
|
|
93
129
|
StartScrapeJobResponse,
|
|
130
|
+
StorageStateOptions,
|
|
94
131
|
)
|
|
95
132
|
from .computer_action import (
|
|
96
133
|
ClickActionParams,
|
|
@@ -99,11 +136,18 @@ from .computer_action import (
|
|
|
99
136
|
ComputerActionResponse,
|
|
100
137
|
Coordinate,
|
|
101
138
|
DragActionParams,
|
|
139
|
+
HoldKeyActionParams,
|
|
140
|
+
MouseDownActionParams,
|
|
141
|
+
MouseUpActionParams,
|
|
102
142
|
MoveMouseActionParams,
|
|
103
143
|
PressKeysActionParams,
|
|
104
144
|
ScreenshotActionParams,
|
|
105
145
|
ScrollActionParams,
|
|
106
146
|
TypeTextActionParams,
|
|
147
|
+
ComputerActionMouseButton,
|
|
148
|
+
GetClipboardTextActionParams,
|
|
149
|
+
ComputerActionResponseDataClipboardText,
|
|
150
|
+
ComputerActionResponseData,
|
|
107
151
|
)
|
|
108
152
|
from .session import (
|
|
109
153
|
BasicResponse,
|
|
@@ -119,7 +163,13 @@ from .session import (
|
|
|
119
163
|
SessionListResponse,
|
|
120
164
|
SessionRecording,
|
|
121
165
|
SessionStatus,
|
|
166
|
+
SessionEventLog,
|
|
167
|
+
SessionEventLogListParams,
|
|
168
|
+
SessionEventLogListResponse,
|
|
169
|
+
SessionProfile,
|
|
170
|
+
SessionLaunchState,
|
|
122
171
|
UploadFileResponse,
|
|
172
|
+
ImageCaptchaParam,
|
|
123
173
|
)
|
|
124
174
|
from .team import TeamCreditInfo
|
|
125
175
|
|
|
@@ -139,7 +189,10 @@ __all__ = [
|
|
|
139
189
|
"ScrapePageStatus",
|
|
140
190
|
"ScrapeScreenshotFormat",
|
|
141
191
|
"ScrapeWaitUntil",
|
|
192
|
+
"SessionEventLogType",
|
|
142
193
|
"State",
|
|
194
|
+
"SessionRegion",
|
|
195
|
+
"BrowserUseVersion",
|
|
143
196
|
# agents
|
|
144
197
|
"HyperAgentTaskStatus",
|
|
145
198
|
"HyperAgentActionOutput",
|
|
@@ -156,12 +209,40 @@ __all__ = [
|
|
|
156
209
|
"BrowserUseTaskStatusResponse",
|
|
157
210
|
"StartBrowserUseTaskParams",
|
|
158
211
|
"StartBrowserUseTaskResponse",
|
|
212
|
+
"BrowserUseAgentBrain",
|
|
213
|
+
"BrowserUseAgentOutput",
|
|
214
|
+
"BrowserUseActionResult",
|
|
215
|
+
"BrowserUseStepMetadata",
|
|
216
|
+
"BrowserUseTabInfo",
|
|
217
|
+
"BrowserUseCoordinates",
|
|
218
|
+
"BrowserUseCoordinateSet",
|
|
219
|
+
"BrowserUseViewportInfo",
|
|
220
|
+
"BrowserUseDOMHistoryElement",
|
|
221
|
+
"BrowserUseBrowserStateHistory",
|
|
222
|
+
"BrowserUseAgentHistory",
|
|
223
|
+
"BrowserUseAgentOutputV0710",
|
|
224
|
+
"BrowserUseActionResultV0710",
|
|
225
|
+
"BrowserUseBrowserStateHistoryV0710",
|
|
226
|
+
"BrowserUseStepMetadataV0710",
|
|
227
|
+
"BrowserUseAgentHistoryV0710",
|
|
228
|
+
"BrowserUseAgentHistoryLatest",
|
|
229
|
+
"BrowserUseStep",
|
|
230
|
+
"BrowserUseTaskMetadata",
|
|
231
|
+
"cast_steps_for_version",
|
|
159
232
|
"ClaudeComputerUseTaskStatus",
|
|
233
|
+
"ClaudeComputerUseStepResponse",
|
|
160
234
|
"ClaudeComputerUseTaskData",
|
|
161
235
|
"ClaudeComputerUseTaskResponse",
|
|
162
236
|
"ClaudeComputerUseTaskStatusResponse",
|
|
163
237
|
"StartClaudeComputerUseTaskParams",
|
|
164
238
|
"StartClaudeComputerUseTaskResponse",
|
|
239
|
+
"GeminiComputerUseTaskStatus",
|
|
240
|
+
"GeminiComputerUseStepResponse",
|
|
241
|
+
"GeminiComputerUseTaskData",
|
|
242
|
+
"GeminiComputerUseTaskResponse",
|
|
243
|
+
"GeminiComputerUseTaskStatusResponse",
|
|
244
|
+
"StartGeminiComputerUseTaskParams",
|
|
245
|
+
"StartGeminiComputerUseTaskResponse",
|
|
165
246
|
"CuaTaskStatus",
|
|
166
247
|
"CuaTaskData",
|
|
167
248
|
"CuaTaskResponse",
|
|
@@ -170,6 +251,7 @@ __all__ = [
|
|
|
170
251
|
"StartCuaTaskResponse",
|
|
171
252
|
"BrowserUseApiKeys",
|
|
172
253
|
"ClaudeComputerUseApiKeys",
|
|
254
|
+
"GeminiComputerUseApiKeys",
|
|
173
255
|
"CuaApiKeys",
|
|
174
256
|
"HyperAgentApiKeys",
|
|
175
257
|
# crawl
|
|
@@ -190,6 +272,7 @@ __all__ = [
|
|
|
190
272
|
"ExtractJobStatusResponse",
|
|
191
273
|
"StartExtractJobParams",
|
|
192
274
|
"StartExtractJobResponse",
|
|
275
|
+
"ExtractJobMetadata",
|
|
193
276
|
# profile
|
|
194
277
|
"CreateProfileParams",
|
|
195
278
|
"CreateProfileResponse",
|
|
@@ -211,6 +294,7 @@ __all__ = [
|
|
|
211
294
|
"StartBatchScrapeJobResponse",
|
|
212
295
|
"StartScrapeJobParams",
|
|
213
296
|
"StartScrapeJobResponse",
|
|
297
|
+
"StorageStateOptions",
|
|
214
298
|
# session
|
|
215
299
|
"BasicResponse",
|
|
216
300
|
"CreateSessionParams",
|
|
@@ -225,7 +309,13 @@ __all__ = [
|
|
|
225
309
|
"SessionListResponse",
|
|
226
310
|
"SessionRecording",
|
|
227
311
|
"SessionStatus",
|
|
312
|
+
"SessionEventLog",
|
|
313
|
+
"SessionEventLogListParams",
|
|
314
|
+
"SessionEventLogListResponse",
|
|
315
|
+
"SessionProfile",
|
|
316
|
+
"SessionLaunchState",
|
|
228
317
|
"UploadFileResponse",
|
|
318
|
+
"ImageCaptchaParam",
|
|
229
319
|
# team
|
|
230
320
|
"TeamCreditInfo",
|
|
231
321
|
# computer action
|
|
@@ -235,9 +325,16 @@ __all__ = [
|
|
|
235
325
|
"ComputerActionResponse",
|
|
236
326
|
"Coordinate",
|
|
237
327
|
"DragActionParams",
|
|
328
|
+
"HoldKeyActionParams",
|
|
329
|
+
"MouseDownActionParams",
|
|
330
|
+
"MouseUpActionParams",
|
|
238
331
|
"MoveMouseActionParams",
|
|
239
332
|
"PressKeysActionParams",
|
|
240
333
|
"ScreenshotActionParams",
|
|
241
334
|
"ScrollActionParams",
|
|
242
335
|
"TypeTextActionParams",
|
|
336
|
+
"ComputerActionMouseButton",
|
|
337
|
+
"GetClipboardTextActionParams",
|
|
338
|
+
"ComputerActionResponseDataClipboardText",
|
|
339
|
+
"ComputerActionResponseData",
|
|
243
340
|
]
|