hyperbrowser 0.67.0__tar.gz → 0.69.0__tar.gz
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.
Potentially problematic release.
This version of hyperbrowser might be problematic. Click here for more details.
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/PKG-INFO +1 -1
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/computer_action.py +9 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/computer_action.py +9 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/__init__.py +52 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/agents/browser_use.py +83 -2
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/agents/claude_computer_use.py +15 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/agents/cua.py +13 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/agents/gemini_computer_use.py +15 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/agents/hyper_agent.py +11 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/computer_action.py +30 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/consts.py +2 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/extract.py +11 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/scrape.py +12 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/pyproject.toml +1 -1
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/LICENSE +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/README.md +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/__init__.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/async_client.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/base.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/agents/__init__.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/session.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/team.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/session.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/sync.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/config.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/exceptions.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/crawl.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/extension.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/profile.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/session.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/team.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/tools/__init__.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/tools/anthropic.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/tools/openai.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/tools/schema.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/transport/async_transport.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/transport/base.py +0 -0
- {hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/transport/sync.py +0 -0
|
@@ -16,6 +16,7 @@ from hyperbrowser.models import (
|
|
|
16
16
|
MouseDownActionParams,
|
|
17
17
|
MouseUpActionParams,
|
|
18
18
|
ComputerActionMouseButton,
|
|
19
|
+
GetClipboardTextActionParams,
|
|
19
20
|
)
|
|
20
21
|
|
|
21
22
|
|
|
@@ -154,3 +155,11 @@ class ComputerActionManager:
|
|
|
154
155
|
return_screenshot=return_screenshot,
|
|
155
156
|
)
|
|
156
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)
|
|
@@ -16,6 +16,7 @@ from hyperbrowser.models import (
|
|
|
16
16
|
MouseDownActionParams,
|
|
17
17
|
MouseUpActionParams,
|
|
18
18
|
ComputerActionMouseButton,
|
|
19
|
+
GetClipboardTextActionParams,
|
|
19
20
|
)
|
|
20
21
|
|
|
21
22
|
|
|
@@ -154,3 +155,11 @@ class ComputerActionManager:
|
|
|
154
155
|
return_screenshot=return_screenshot,
|
|
155
156
|
)
|
|
156
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)
|
|
@@ -5,6 +5,26 @@ 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 (
|
|
10
30
|
ClaudeComputerUseTaskStatus,
|
|
@@ -64,6 +84,7 @@ from .consts import (
|
|
|
64
84
|
SessionEventLogType,
|
|
65
85
|
State,
|
|
66
86
|
SessionRegion,
|
|
87
|
+
BrowserUseVersion,
|
|
67
88
|
)
|
|
68
89
|
from .crawl import (
|
|
69
90
|
CrawledPage,
|
|
@@ -82,6 +103,7 @@ from .extract import (
|
|
|
82
103
|
ExtractJobStatusResponse,
|
|
83
104
|
StartExtractJobParams,
|
|
84
105
|
StartExtractJobResponse,
|
|
106
|
+
ExtractJobMetadata,
|
|
85
107
|
)
|
|
86
108
|
from .profile import (
|
|
87
109
|
CreateProfileParams,
|
|
@@ -105,6 +127,7 @@ from .scrape import (
|
|
|
105
127
|
StartBatchScrapeJobResponse,
|
|
106
128
|
StartScrapeJobParams,
|
|
107
129
|
StartScrapeJobResponse,
|
|
130
|
+
StorageStateOptions,
|
|
108
131
|
)
|
|
109
132
|
from .computer_action import (
|
|
110
133
|
ClickActionParams,
|
|
@@ -122,6 +145,9 @@ from .computer_action import (
|
|
|
122
145
|
ScrollActionParams,
|
|
123
146
|
TypeTextActionParams,
|
|
124
147
|
ComputerActionMouseButton,
|
|
148
|
+
GetClipboardTextActionParams,
|
|
149
|
+
ComputerActionResponseDataClipboardText,
|
|
150
|
+
ComputerActionResponseData,
|
|
125
151
|
)
|
|
126
152
|
from .session import (
|
|
127
153
|
BasicResponse,
|
|
@@ -166,6 +192,7 @@ __all__ = [
|
|
|
166
192
|
"SessionEventLogType",
|
|
167
193
|
"State",
|
|
168
194
|
"SessionRegion",
|
|
195
|
+
"BrowserUseVersion",
|
|
169
196
|
# agents
|
|
170
197
|
"HyperAgentTaskStatus",
|
|
171
198
|
"HyperAgentActionOutput",
|
|
@@ -182,6 +209,26 @@ __all__ = [
|
|
|
182
209
|
"BrowserUseTaskStatusResponse",
|
|
183
210
|
"StartBrowserUseTaskParams",
|
|
184
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",
|
|
185
232
|
"ClaudeComputerUseTaskStatus",
|
|
186
233
|
"ClaudeComputerUseStepResponse",
|
|
187
234
|
"ClaudeComputerUseTaskData",
|
|
@@ -225,6 +272,7 @@ __all__ = [
|
|
|
225
272
|
"ExtractJobStatusResponse",
|
|
226
273
|
"StartExtractJobParams",
|
|
227
274
|
"StartExtractJobResponse",
|
|
275
|
+
"ExtractJobMetadata",
|
|
228
276
|
# profile
|
|
229
277
|
"CreateProfileParams",
|
|
230
278
|
"CreateProfileResponse",
|
|
@@ -246,6 +294,7 @@ __all__ = [
|
|
|
246
294
|
"StartBatchScrapeJobResponse",
|
|
247
295
|
"StartScrapeJobParams",
|
|
248
296
|
"StartScrapeJobResponse",
|
|
297
|
+
"StorageStateOptions",
|
|
249
298
|
# session
|
|
250
299
|
"BasicResponse",
|
|
251
300
|
"CreateSessionParams",
|
|
@@ -285,4 +334,7 @@ __all__ = [
|
|
|
285
334
|
"ScrollActionParams",
|
|
286
335
|
"TypeTextActionParams",
|
|
287
336
|
"ComputerActionMouseButton",
|
|
337
|
+
"GetClipboardTextActionParams",
|
|
338
|
+
"ComputerActionResponseDataClipboardText",
|
|
339
|
+
"ComputerActionResponseData",
|
|
288
340
|
]
|
|
@@ -2,7 +2,7 @@ from typing import Any, Dict, List, Literal, Optional, Type, Union
|
|
|
2
2
|
|
|
3
3
|
from pydantic import BaseModel, ConfigDict, Field
|
|
4
4
|
|
|
5
|
-
from ..consts import BrowserUseLlm
|
|
5
|
+
from ..consts import BrowserUseLlm, BrowserUseVersion
|
|
6
6
|
from ..session import CreateSessionParams
|
|
7
7
|
|
|
8
8
|
BrowserUseTaskStatus = Literal["pending", "running", "completed", "failed", "stopped"]
|
|
@@ -32,6 +32,9 @@ class StartBrowserUseTaskParams(BaseModel):
|
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
task: str
|
|
35
|
+
version: Optional[BrowserUseVersion] = Field(
|
|
36
|
+
default=None, serialization_alias="version"
|
|
37
|
+
)
|
|
35
38
|
llm: Optional[BrowserUseLlm] = Field(default=None, serialization_alias="llm")
|
|
36
39
|
session_id: Optional[str] = Field(default=None, serialization_alias="sessionId")
|
|
37
40
|
validate_output: Optional[bool] = Field(
|
|
@@ -193,15 +196,79 @@ class BrowserUseAgentHistory(BaseModel):
|
|
|
193
196
|
metadata: Optional[BrowserUseStepMetadata] = None
|
|
194
197
|
|
|
195
198
|
|
|
199
|
+
# ===== 0.7.10-specific response models =====
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
class BrowserUseAgentOutputV0710(BaseModel):
|
|
203
|
+
thinking: Optional[str] = None
|
|
204
|
+
evaluation_previous_goal: Optional[str] = None
|
|
205
|
+
memory: Optional[str] = None
|
|
206
|
+
next_goal: Optional[str] = None
|
|
207
|
+
action: list[dict]
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
class BrowserUseActionResultV0710(BaseModel):
|
|
211
|
+
is_done: Optional[bool] = False
|
|
212
|
+
success: Optional[bool] = None
|
|
213
|
+
error: Optional[str] = None
|
|
214
|
+
metadata: Optional[dict] = None
|
|
215
|
+
attachments: Optional[list[str]] = None
|
|
216
|
+
long_term_memory: Optional[str] = None
|
|
217
|
+
extracted_content: Optional[str] = None
|
|
218
|
+
include_extracted_content_only_once: Optional[bool] = False
|
|
219
|
+
include_in_memory: bool = False
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
class BrowserUseBrowserStateHistoryV0710(BaseModel):
|
|
223
|
+
url: str
|
|
224
|
+
title: str
|
|
225
|
+
tabs: list[dict]
|
|
226
|
+
interacted_element: Union[list[Union[dict, None]], list[None]]
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
class BrowserUseStepMetadataV0710(BaseModel):
|
|
230
|
+
step_start_time: float
|
|
231
|
+
step_end_time: float
|
|
232
|
+
step_number: int
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
class BrowserUseAgentHistoryV0710(BaseModel):
|
|
236
|
+
model_output: Union[BrowserUseAgentOutputV0710, None]
|
|
237
|
+
result: list[BrowserUseActionResultV0710]
|
|
238
|
+
state: BrowserUseBrowserStateHistoryV0710
|
|
239
|
+
metadata: Optional[BrowserUseStepMetadataV0710] = None
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
# ===== latest response models =====
|
|
243
|
+
|
|
244
|
+
BrowserUseAgentHistoryLatest = Dict[str, Any]
|
|
245
|
+
|
|
246
|
+
BrowserUseStep = Union[
|
|
247
|
+
BrowserUseAgentHistory, BrowserUseAgentHistoryV0710, BrowserUseAgentHistoryLatest
|
|
248
|
+
]
|
|
249
|
+
|
|
250
|
+
|
|
196
251
|
class BrowserUseTaskData(BaseModel):
|
|
197
252
|
model_config = ConfigDict(
|
|
198
253
|
populate_by_alias=True,
|
|
199
254
|
)
|
|
200
255
|
|
|
201
|
-
steps: list[
|
|
256
|
+
steps: list[BrowserUseStep]
|
|
202
257
|
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
203
258
|
|
|
204
259
|
|
|
260
|
+
class BrowserUseTaskMetadata(BaseModel):
|
|
261
|
+
model_config = ConfigDict(
|
|
262
|
+
populate_by_alias=True,
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
input_tokens: Optional[int] = Field(default=None, alias="inputTokens")
|
|
266
|
+
output_tokens: Optional[int] = Field(default=None, alias="outputTokens")
|
|
267
|
+
num_task_steps_completed: Optional[int] = Field(
|
|
268
|
+
default=None, alias="numTaskStepsCompleted"
|
|
269
|
+
)
|
|
270
|
+
|
|
271
|
+
|
|
205
272
|
class BrowserUseTaskResponse(BaseModel):
|
|
206
273
|
"""
|
|
207
274
|
Response from a browser use task.
|
|
@@ -213,6 +280,20 @@ class BrowserUseTaskResponse(BaseModel):
|
|
|
213
280
|
|
|
214
281
|
job_id: str = Field(alias="jobId")
|
|
215
282
|
status: BrowserUseTaskStatus
|
|
283
|
+
metadata: Optional[BrowserUseTaskMetadata] = Field(default=None, alias="metadata")
|
|
216
284
|
data: Optional[BrowserUseTaskData] = Field(default=None, alias="data")
|
|
217
285
|
error: Optional[str] = Field(default=None, alias="error")
|
|
218
286
|
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
def cast_steps_for_version(
|
|
290
|
+
steps: List[BrowserUseStep], version: BrowserUseVersion
|
|
291
|
+
) -> List[BrowserUseStep]:
|
|
292
|
+
if version == "0.1.40":
|
|
293
|
+
return [BrowserUseAgentHistory.model_validate(s) for s in steps]
|
|
294
|
+
elif version == "0.7.10":
|
|
295
|
+
return [BrowserUseAgentHistoryV0710.model_validate(s) for s in steps]
|
|
296
|
+
elif version == "latest":
|
|
297
|
+
return steps
|
|
298
|
+
else:
|
|
299
|
+
raise ValueError(f"Invalid version: {version}")
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/agents/claude_computer_use.py
RENAMED
|
@@ -104,6 +104,18 @@ class ClaudeComputerUseTaskData(BaseModel):
|
|
|
104
104
|
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
105
105
|
|
|
106
106
|
|
|
107
|
+
class ClaudeComputerUseTaskMetadata(BaseModel):
|
|
108
|
+
model_config = ConfigDict(
|
|
109
|
+
populate_by_alias=True,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
input_tokens: Optional[int] = Field(default=None, alias="inputTokens")
|
|
113
|
+
output_tokens: Optional[int] = Field(default=None, alias="outputTokens")
|
|
114
|
+
num_task_steps_completed: Optional[int] = Field(
|
|
115
|
+
default=None, alias="numTaskStepsCompleted"
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
|
|
107
119
|
class ClaudeComputerUseTaskResponse(BaseModel):
|
|
108
120
|
"""
|
|
109
121
|
Response from a Claude Computer Use task.
|
|
@@ -115,6 +127,9 @@ class ClaudeComputerUseTaskResponse(BaseModel):
|
|
|
115
127
|
|
|
116
128
|
job_id: str = Field(alias="jobId")
|
|
117
129
|
status: ClaudeComputerUseTaskStatus
|
|
130
|
+
metadata: Optional[ClaudeComputerUseTaskMetadata] = Field(
|
|
131
|
+
default=None, alias="metadata"
|
|
132
|
+
)
|
|
118
133
|
data: Optional[ClaudeComputerUseTaskData] = Field(default=None, alias="data")
|
|
119
134
|
error: Optional[str] = Field(default=None, alias="error")
|
|
120
135
|
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
@@ -134,6 +134,18 @@ class CuaTaskData(BaseModel):
|
|
|
134
134
|
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
135
135
|
|
|
136
136
|
|
|
137
|
+
class CuaTaskMetadata(BaseModel):
|
|
138
|
+
model_config = ConfigDict(
|
|
139
|
+
populate_by_alias=True,
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
input_tokens: Optional[int] = Field(default=None, alias="inputTokens")
|
|
143
|
+
output_tokens: Optional[int] = Field(default=None, alias="outputTokens")
|
|
144
|
+
num_task_steps_completed: Optional[int] = Field(
|
|
145
|
+
default=None, alias="numTaskStepsCompleted"
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
|
|
137
149
|
class CuaTaskResponse(BaseModel):
|
|
138
150
|
"""
|
|
139
151
|
Response from a CUA task.
|
|
@@ -145,6 +157,7 @@ class CuaTaskResponse(BaseModel):
|
|
|
145
157
|
|
|
146
158
|
job_id: str = Field(alias="jobId")
|
|
147
159
|
status: CuaTaskStatus
|
|
160
|
+
metadata: Optional[CuaTaskMetadata] = Field(default=None, alias="metadata")
|
|
148
161
|
data: Optional[CuaTaskData] = Field(default=None, alias="data")
|
|
149
162
|
error: Optional[str] = Field(default=None, alias="error")
|
|
150
163
|
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/models/agents/gemini_computer_use.py
RENAMED
|
@@ -104,6 +104,18 @@ class GeminiComputerUseTaskData(BaseModel):
|
|
|
104
104
|
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
105
105
|
|
|
106
106
|
|
|
107
|
+
class GeminiComputerUseTaskMetadata(BaseModel):
|
|
108
|
+
model_config = ConfigDict(
|
|
109
|
+
populate_by_alias=True,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
input_tokens: Optional[int] = Field(default=None, alias="inputTokens")
|
|
113
|
+
output_tokens: Optional[int] = Field(default=None, alias="outputTokens")
|
|
114
|
+
num_task_steps_completed: Optional[int] = Field(
|
|
115
|
+
default=None, alias="numTaskStepsCompleted"
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
|
|
107
119
|
class GeminiComputerUseTaskResponse(BaseModel):
|
|
108
120
|
"""
|
|
109
121
|
Response from a Gemini Computer Use task.
|
|
@@ -115,6 +127,9 @@ class GeminiComputerUseTaskResponse(BaseModel):
|
|
|
115
127
|
|
|
116
128
|
job_id: str = Field(alias="jobId")
|
|
117
129
|
status: GeminiComputerUseTaskStatus
|
|
130
|
+
metadata: Optional[GeminiComputerUseTaskMetadata] = Field(
|
|
131
|
+
default=None, alias="metadata"
|
|
132
|
+
)
|
|
118
133
|
data: Optional[GeminiComputerUseTaskData] = Field(default=None, alias="data")
|
|
119
134
|
error: Optional[str] = Field(default=None, alias="error")
|
|
120
135
|
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
@@ -126,6 +126,16 @@ class HyperAgentTaskData(BaseModel):
|
|
|
126
126
|
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
127
127
|
|
|
128
128
|
|
|
129
|
+
class HyperAgentTaskMetadata(BaseModel):
|
|
130
|
+
model_config = ConfigDict(
|
|
131
|
+
populate_by_alias=True,
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
num_task_steps_completed: Optional[int] = Field(
|
|
135
|
+
default=None, alias="numTaskStepsCompleted"
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
|
|
129
139
|
class HyperAgentTaskResponse(BaseModel):
|
|
130
140
|
"""
|
|
131
141
|
Response from a HyperAgent task.
|
|
@@ -137,6 +147,7 @@ class HyperAgentTaskResponse(BaseModel):
|
|
|
137
147
|
|
|
138
148
|
job_id: str = Field(alias="jobId")
|
|
139
149
|
status: HyperAgentTaskStatus
|
|
150
|
+
metadata: Optional[HyperAgentTaskMetadata] = Field(default=None, alias="metadata")
|
|
140
151
|
data: Optional[HyperAgentTaskData] = Field(default=None, alias="data")
|
|
141
152
|
error: Optional[str] = Field(default=None, alias="error")
|
|
142
153
|
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
@@ -16,6 +16,7 @@ class ComputerAction(str, Enum):
|
|
|
16
16
|
SCREENSHOT = "screenshot"
|
|
17
17
|
SCROLL = "scroll"
|
|
18
18
|
TYPE_TEXT = "type_text"
|
|
19
|
+
GET_CLIPBOARD_TEXT = "get_clipboard_text"
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
ComputerActionMouseButton = Literal[
|
|
@@ -154,6 +155,19 @@ class TypeTextActionParams(BaseModel):
|
|
|
154
155
|
)
|
|
155
156
|
|
|
156
157
|
|
|
158
|
+
class GetClipboardTextActionParams(BaseModel):
|
|
159
|
+
"""Parameters for get clipboard text action."""
|
|
160
|
+
|
|
161
|
+
model_config = ConfigDict(use_enum_values=True)
|
|
162
|
+
|
|
163
|
+
action: Literal[ComputerAction.GET_CLIPBOARD_TEXT] = (
|
|
164
|
+
ComputerAction.GET_CLIPBOARD_TEXT
|
|
165
|
+
)
|
|
166
|
+
return_screenshot: bool = Field(
|
|
167
|
+
serialization_alias="returnScreenshot", default=False
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
|
|
157
171
|
ComputerActionParams = Union[
|
|
158
172
|
ClickActionParams,
|
|
159
173
|
DragActionParams,
|
|
@@ -162,9 +176,24 @@ ComputerActionParams = Union[
|
|
|
162
176
|
ScreenshotActionParams,
|
|
163
177
|
ScrollActionParams,
|
|
164
178
|
TypeTextActionParams,
|
|
179
|
+
HoldKeyActionParams,
|
|
180
|
+
MouseDownActionParams,
|
|
181
|
+
MouseUpActionParams,
|
|
182
|
+
GetClipboardTextActionParams,
|
|
165
183
|
]
|
|
166
184
|
|
|
167
185
|
|
|
186
|
+
class ComputerActionResponseDataClipboardText(BaseModel):
|
|
187
|
+
"""Data for get clipboard text action."""
|
|
188
|
+
|
|
189
|
+
model_config = ConfigDict(populate_by_alias=True)
|
|
190
|
+
|
|
191
|
+
clipboard_text: Optional[str] = Field(default=None, alias="clipboardText")
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
ComputerActionResponseData = Union[ComputerActionResponseDataClipboardText]
|
|
195
|
+
|
|
196
|
+
|
|
168
197
|
class ComputerActionResponse(BaseModel):
|
|
169
198
|
"""Response from computer action API."""
|
|
170
199
|
|
|
@@ -174,5 +203,6 @@ class ComputerActionResponse(BaseModel):
|
|
|
174
203
|
|
|
175
204
|
success: bool
|
|
176
205
|
screenshot: Optional[str] = None
|
|
206
|
+
data: Optional[ComputerActionResponseData] = None
|
|
177
207
|
error: Optional[str] = None
|
|
178
208
|
message: Optional[str] = None
|
|
@@ -55,6 +55,16 @@ class ExtractJobStatusResponse(BaseModel):
|
|
|
55
55
|
status: ExtractJobStatus
|
|
56
56
|
|
|
57
57
|
|
|
58
|
+
class ExtractJobMetadata(BaseModel):
|
|
59
|
+
model_config = ConfigDict(
|
|
60
|
+
populate_by_alias=True,
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
input_tokens: Optional[int] = Field(default=None, alias="inputTokens")
|
|
64
|
+
output_tokens: Optional[int] = Field(default=None, alias="outputTokens")
|
|
65
|
+
num_pages_scraped: Optional[int] = Field(default=None, alias="numPagesScraped")
|
|
66
|
+
|
|
67
|
+
|
|
58
68
|
class ExtractJobResponse(BaseModel):
|
|
59
69
|
"""
|
|
60
70
|
Response from a extract job.
|
|
@@ -67,4 +77,5 @@ class ExtractJobResponse(BaseModel):
|
|
|
67
77
|
job_id: str = Field(alias="jobId")
|
|
68
78
|
status: ExtractJobStatus
|
|
69
79
|
error: Optional[str] = None
|
|
80
|
+
metadata: Optional[ExtractJobMetadata] = None
|
|
70
81
|
data: Optional[dict] = None
|
|
@@ -23,6 +23,15 @@ class ScreenshotOptions(BaseModel):
|
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
|
|
26
|
+
class StorageStateOptions(BaseModel):
|
|
27
|
+
local_storage: Optional[dict[str, str]] = Field(
|
|
28
|
+
default=None, serialization_alias="localStorage"
|
|
29
|
+
)
|
|
30
|
+
session_storage: Optional[dict[str, str]] = Field(
|
|
31
|
+
default=None, serialization_alias="sessionStorage"
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
26
35
|
class ScrapeOptions(BaseModel):
|
|
27
36
|
"""
|
|
28
37
|
Options for scraping a page.
|
|
@@ -46,6 +55,9 @@ class ScrapeOptions(BaseModel):
|
|
|
46
55
|
screenshot_options: Optional[ScreenshotOptions] = Field(
|
|
47
56
|
default=None, serialization_alias="screenshotOptions"
|
|
48
57
|
)
|
|
58
|
+
storage_state: Optional[StorageStateOptions] = Field(
|
|
59
|
+
default=None, serialization_alias="storageState"
|
|
60
|
+
)
|
|
49
61
|
|
|
50
62
|
|
|
51
63
|
class StartScrapeJobParams(BaseModel):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/session.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/async_manager/team.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/session.py
RENAMED
|
File without changes
|
{hyperbrowser-0.67.0 → hyperbrowser-0.69.0}/hyperbrowser/client/managers/sync_manager/team.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|