hyperbrowser 0.41.0__py3-none-any.whl → 0.43.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.
Potentially problematic release.
This version of hyperbrowser might be problematic. Click here for more details.
- hyperbrowser/client/managers/async_manager/agents/__init__.py +2 -0
- hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +71 -0
- hyperbrowser/client/managers/async_manager/session.py +9 -0
- hyperbrowser/client/managers/sync_manager/agents/__init__.py +2 -0
- hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +69 -0
- hyperbrowser/client/managers/sync_manager/session.py +7 -0
- hyperbrowser/models/__init__.py +23 -0
- hyperbrowser/models/agents/hyper_agent.py +122 -0
- hyperbrowser/models/consts.py +7 -0
- hyperbrowser/models/session.py +17 -0
- {hyperbrowser-0.41.0.dist-info → hyperbrowser-0.43.0.dist-info}/METADATA +1 -1
- {hyperbrowser-0.41.0.dist-info → hyperbrowser-0.43.0.dist-info}/RECORD +14 -11
- {hyperbrowser-0.41.0.dist-info → hyperbrowser-0.43.0.dist-info}/WHEEL +1 -1
- {hyperbrowser-0.41.0.dist-info → hyperbrowser-0.43.0.dist-info}/LICENSE +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .browser_use import BrowserUseManager
|
|
2
2
|
from .cua import CuaManager
|
|
3
3
|
from .claude_computer_use import ClaudeComputerUseManager
|
|
4
|
+
from .hyper_agent import HyperAgentManager
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
class Agents:
|
|
@@ -8,3 +9,4 @@ class Agents:
|
|
|
8
9
|
self.browser_use = BrowserUseManager(client)
|
|
9
10
|
self.cua = CuaManager(client)
|
|
10
11
|
self.claude_computer_use = ClaudeComputerUseManager(client)
|
|
12
|
+
self.hyper_agent = HyperAgentManager(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
|
+
HyperAgentTaskResponse,
|
|
9
|
+
HyperAgentTaskStatusResponse,
|
|
10
|
+
StartHyperAgentTaskParams,
|
|
11
|
+
StartHyperAgentTaskResponse,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class HyperAgentManager:
|
|
16
|
+
def __init__(self, client):
|
|
17
|
+
self._client = client
|
|
18
|
+
|
|
19
|
+
async def start(
|
|
20
|
+
self, params: StartHyperAgentTaskParams
|
|
21
|
+
) -> StartHyperAgentTaskResponse:
|
|
22
|
+
response = await self._client.transport.post(
|
|
23
|
+
self._client._build_url("/task/hyper-agent"),
|
|
24
|
+
data=params.model_dump(exclude_none=True, by_alias=True),
|
|
25
|
+
)
|
|
26
|
+
return StartHyperAgentTaskResponse(**response.data)
|
|
27
|
+
|
|
28
|
+
async def get(self, job_id: str) -> HyperAgentTaskResponse:
|
|
29
|
+
response = await self._client.transport.get(
|
|
30
|
+
self._client._build_url(f"/task/hyper-agent/{job_id}")
|
|
31
|
+
)
|
|
32
|
+
return HyperAgentTaskResponse(**response.data)
|
|
33
|
+
|
|
34
|
+
async def get_status(self, job_id: str) -> HyperAgentTaskStatusResponse:
|
|
35
|
+
response = await self._client.transport.get(
|
|
36
|
+
self._client._build_url(f"/task/hyper-agent/{job_id}/status")
|
|
37
|
+
)
|
|
38
|
+
return HyperAgentTaskStatusResponse(**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/hyper-agent/{job_id}/stop")
|
|
43
|
+
)
|
|
44
|
+
return BasicResponse(**response.data)
|
|
45
|
+
|
|
46
|
+
async def start_and_wait(
|
|
47
|
+
self, params: StartHyperAgentTaskParams
|
|
48
|
+
) -> HyperAgentTaskResponse:
|
|
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 HyperAgent task")
|
|
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 HyperAgent task {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
70
|
+
)
|
|
71
|
+
await asyncio.sleep(2)
|
|
@@ -4,6 +4,7 @@ from ....models.session import (
|
|
|
4
4
|
CreateSessionParams,
|
|
5
5
|
GetSessionDownloadsUrlResponse,
|
|
6
6
|
GetSessionRecordingUrlResponse,
|
|
7
|
+
GetSessionVideoRecordingUrlResponse,
|
|
7
8
|
SessionDetail,
|
|
8
9
|
SessionListParams,
|
|
9
10
|
SessionListResponse,
|
|
@@ -59,6 +60,14 @@ class SessionManager:
|
|
|
59
60
|
)
|
|
60
61
|
return GetSessionRecordingUrlResponse(**response.data)
|
|
61
62
|
|
|
63
|
+
async def get_video_recording_url(
|
|
64
|
+
self, id: str
|
|
65
|
+
) -> GetSessionVideoRecordingUrlResponse:
|
|
66
|
+
response = await self._client.transport.get(
|
|
67
|
+
self._client._build_url(f"/session/{id}/video-recording-url")
|
|
68
|
+
)
|
|
69
|
+
return GetSessionVideoRecordingUrlResponse(**response.data)
|
|
70
|
+
|
|
62
71
|
async def get_downloads_url(self, id: str) -> GetSessionDownloadsUrlResponse:
|
|
63
72
|
response = await self._client.transport.get(
|
|
64
73
|
self._client._build_url(f"/session/{id}/downloads-url")
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .browser_use import BrowserUseManager
|
|
2
2
|
from .cua import CuaManager
|
|
3
3
|
from .claude_computer_use import ClaudeComputerUseManager
|
|
4
|
+
from .hyper_agent import HyperAgentManager
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
class Agents:
|
|
@@ -8,3 +9,4 @@ class Agents:
|
|
|
8
9
|
self.browser_use = BrowserUseManager(client)
|
|
9
10
|
self.cua = CuaManager(client)
|
|
10
11
|
self.claude_computer_use = ClaudeComputerUseManager(client)
|
|
12
|
+
self.hyper_agent = HyperAgentManager(client)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import time
|
|
2
|
+
|
|
3
|
+
from hyperbrowser.exceptions import HyperbrowserError
|
|
4
|
+
|
|
5
|
+
from .....models import (
|
|
6
|
+
POLLING_ATTEMPTS,
|
|
7
|
+
BasicResponse,
|
|
8
|
+
HyperAgentTaskResponse,
|
|
9
|
+
HyperAgentTaskStatusResponse,
|
|
10
|
+
StartHyperAgentTaskParams,
|
|
11
|
+
StartHyperAgentTaskResponse,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class HyperAgentManager:
|
|
16
|
+
def __init__(self, client):
|
|
17
|
+
self._client = client
|
|
18
|
+
|
|
19
|
+
def start(self, params: StartHyperAgentTaskParams) -> StartHyperAgentTaskResponse:
|
|
20
|
+
response = self._client.transport.post(
|
|
21
|
+
self._client._build_url("/task/hyper-agent"),
|
|
22
|
+
data=params.model_dump(exclude_none=True, by_alias=True),
|
|
23
|
+
)
|
|
24
|
+
return StartHyperAgentTaskResponse(**response.data)
|
|
25
|
+
|
|
26
|
+
def get(self, job_id: str) -> HyperAgentTaskResponse:
|
|
27
|
+
response = self._client.transport.get(
|
|
28
|
+
self._client._build_url(f"/task/hyper-agent/{job_id}")
|
|
29
|
+
)
|
|
30
|
+
return HyperAgentTaskResponse(**response.data)
|
|
31
|
+
|
|
32
|
+
def get_status(self, job_id: str) -> HyperAgentTaskStatusResponse:
|
|
33
|
+
response = self._client.transport.get(
|
|
34
|
+
self._client._build_url(f"/task/hyper-agent/{job_id}/status")
|
|
35
|
+
)
|
|
36
|
+
return HyperAgentTaskStatusResponse(**response.data)
|
|
37
|
+
|
|
38
|
+
def stop(self, job_id: str) -> BasicResponse:
|
|
39
|
+
response = self._client.transport.put(
|
|
40
|
+
self._client._build_url(f"/task/hyper-agent/{job_id}/stop")
|
|
41
|
+
)
|
|
42
|
+
return BasicResponse(**response.data)
|
|
43
|
+
|
|
44
|
+
def start_and_wait(
|
|
45
|
+
self, params: StartHyperAgentTaskParams
|
|
46
|
+
) -> HyperAgentTaskResponse:
|
|
47
|
+
job_start_resp = self.start(params)
|
|
48
|
+
job_id = job_start_resp.job_id
|
|
49
|
+
if not job_id:
|
|
50
|
+
raise HyperbrowserError("Failed to start HyperAgent task")
|
|
51
|
+
|
|
52
|
+
failures = 0
|
|
53
|
+
while True:
|
|
54
|
+
try:
|
|
55
|
+
job_response = self.get_status(job_id)
|
|
56
|
+
if (
|
|
57
|
+
job_response.status == "completed"
|
|
58
|
+
or job_response.status == "failed"
|
|
59
|
+
or job_response.status == "stopped"
|
|
60
|
+
):
|
|
61
|
+
return self.get(job_id)
|
|
62
|
+
failures = 0
|
|
63
|
+
except Exception as e:
|
|
64
|
+
failures += 1
|
|
65
|
+
if failures >= POLLING_ATTEMPTS:
|
|
66
|
+
raise HyperbrowserError(
|
|
67
|
+
f"Failed to poll HyperAgent task {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
68
|
+
)
|
|
69
|
+
time.sleep(2)
|
|
@@ -4,6 +4,7 @@ from ....models.session import (
|
|
|
4
4
|
CreateSessionParams,
|
|
5
5
|
GetSessionDownloadsUrlResponse,
|
|
6
6
|
GetSessionRecordingUrlResponse,
|
|
7
|
+
GetSessionVideoRecordingUrlResponse,
|
|
7
8
|
SessionDetail,
|
|
8
9
|
SessionListParams,
|
|
9
10
|
SessionListResponse,
|
|
@@ -57,6 +58,12 @@ class SessionManager:
|
|
|
57
58
|
)
|
|
58
59
|
return GetSessionRecordingUrlResponse(**response.data)
|
|
59
60
|
|
|
61
|
+
def get_video_recording_url(self, id: str) -> GetSessionVideoRecordingUrlResponse:
|
|
62
|
+
response = self._client.transport.get(
|
|
63
|
+
self._client._build_url(f"/session/{id}/video-recording-url")
|
|
64
|
+
)
|
|
65
|
+
return GetSessionVideoRecordingUrlResponse(**response.data)
|
|
66
|
+
|
|
60
67
|
def get_downloads_url(self, id: str) -> GetSessionDownloadsUrlResponse:
|
|
61
68
|
response = self._client.transport.get(
|
|
62
69
|
self._client._build_url(f"/session/{id}/downloads-url")
|
hyperbrowser/models/__init__.py
CHANGED
|
@@ -19,9 +19,20 @@ from .agents.cua import (
|
|
|
19
19
|
StartCuaTaskParams,
|
|
20
20
|
StartCuaTaskResponse,
|
|
21
21
|
)
|
|
22
|
+
from .agents.hyper_agent import (
|
|
23
|
+
HyperAgentActionOutput,
|
|
24
|
+
HyperAgentOutput,
|
|
25
|
+
HyperAgentStep,
|
|
26
|
+
HyperAgentTaskData,
|
|
27
|
+
HyperAgentTaskResponse,
|
|
28
|
+
HyperAgentTaskStatus,
|
|
29
|
+
StartHyperAgentTaskParams,
|
|
30
|
+
StartHyperAgentTaskResponse,
|
|
31
|
+
)
|
|
22
32
|
from .consts import (
|
|
23
33
|
ISO639_1,
|
|
24
34
|
POLLING_ATTEMPTS,
|
|
35
|
+
HyperAgentLlm,
|
|
25
36
|
BrowserUseLlm,
|
|
26
37
|
Country,
|
|
27
38
|
DownloadsStatus,
|
|
@@ -81,6 +92,7 @@ from .session import (
|
|
|
81
92
|
CreateSessionProfile,
|
|
82
93
|
GetSessionDownloadsUrlResponse,
|
|
83
94
|
GetSessionRecordingUrlResponse,
|
|
95
|
+
GetSessionVideoRecordingUrlResponse,
|
|
84
96
|
ScreenConfig,
|
|
85
97
|
Session,
|
|
86
98
|
SessionDetail,
|
|
@@ -94,6 +106,7 @@ __all__ = [
|
|
|
94
106
|
# consts
|
|
95
107
|
"ISO639_1",
|
|
96
108
|
"POLLING_ATTEMPTS",
|
|
109
|
+
"HyperAgentLlm",
|
|
97
110
|
"BrowserUseLlm",
|
|
98
111
|
"Country",
|
|
99
112
|
"DownloadsStatus",
|
|
@@ -106,6 +119,15 @@ __all__ = [
|
|
|
106
119
|
"ScrapeWaitUntil",
|
|
107
120
|
"State",
|
|
108
121
|
# agents
|
|
122
|
+
"HyperAgentTaskStatus",
|
|
123
|
+
"HyperAgentActionOutput",
|
|
124
|
+
"HyperAgentOutput",
|
|
125
|
+
"HyperAgentStep",
|
|
126
|
+
"HyperAgentTaskData",
|
|
127
|
+
"HyperAgentTaskResponse",
|
|
128
|
+
"HyperAgentTaskStatusResponse",
|
|
129
|
+
"StartHyperAgentTaskParams",
|
|
130
|
+
"StartHyperAgentTaskResponse",
|
|
109
131
|
"BrowserUseTaskStatus",
|
|
110
132
|
"BrowserUseTaskData",
|
|
111
133
|
"BrowserUseTaskResponse",
|
|
@@ -169,6 +191,7 @@ __all__ = [
|
|
|
169
191
|
"CreateSessionProfile",
|
|
170
192
|
"GetSessionDownloadsUrlResponse",
|
|
171
193
|
"GetSessionRecordingUrlResponse",
|
|
194
|
+
"GetSessionVideoRecordingUrlResponse",
|
|
172
195
|
"ScreenConfig",
|
|
173
196
|
"Session",
|
|
174
197
|
"SessionDetail",
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Literal, Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
4
|
+
|
|
5
|
+
from ..consts import HyperAgentLlm
|
|
6
|
+
from ..session import CreateSessionParams
|
|
7
|
+
|
|
8
|
+
HyperAgentTaskStatus = Literal["pending", "running", "completed", "failed", "stopped"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class StartHyperAgentTaskParams(BaseModel):
|
|
12
|
+
"""
|
|
13
|
+
Parameters for creating a new HyperAgent task.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
populate_by_alias=True,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
task: str
|
|
21
|
+
llm: Optional[HyperAgentLlm] = Field(default=None, serialization_alias="llm")
|
|
22
|
+
session_id: Optional[str] = Field(default=None, serialization_alias="sessionId")
|
|
23
|
+
max_steps: Optional[int] = Field(default=None, serialization_alias="maxSteps")
|
|
24
|
+
keep_browser_open: Optional[bool] = Field(
|
|
25
|
+
default=None, serialization_alias="keepBrowserOpen"
|
|
26
|
+
)
|
|
27
|
+
session_options: Optional[CreateSessionParams] = Field(
|
|
28
|
+
default=None, serialization_alias="sessionOptions"
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class StartHyperAgentTaskResponse(BaseModel):
|
|
33
|
+
"""
|
|
34
|
+
Response from starting a HyperAgent task.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
model_config = ConfigDict(
|
|
38
|
+
populate_by_alias=True,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
job_id: str = Field(alias="jobId")
|
|
42
|
+
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class HyperAgentTaskStatusResponse(BaseModel):
|
|
46
|
+
"""
|
|
47
|
+
Response from getting a HyperAgent task status.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
model_config = ConfigDict(
|
|
51
|
+
populate_by_alias=True,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
status: HyperAgentTaskStatus
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class HyperAgentActionOutput(BaseModel):
|
|
58
|
+
"""
|
|
59
|
+
The output of an action in a HyperAgent step.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
model_config = ConfigDict(
|
|
63
|
+
populate_by_alias=True,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
success: bool
|
|
67
|
+
message: str
|
|
68
|
+
extract: Optional[Dict[str, Any]] = Field(default=None)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class HyperAgentOutput(BaseModel):
|
|
72
|
+
"""
|
|
73
|
+
The output of a HyperAgent step.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
model_config = ConfigDict(
|
|
77
|
+
populate_by_alias=True,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
thoughts: Optional[str] = Field(default=None)
|
|
81
|
+
memory: Optional[str] = Field(default=None)
|
|
82
|
+
next_goal: Optional[str] = Field(default=None, alias="nextGoal")
|
|
83
|
+
actions: List[Dict[str, Any]] = Field(default=[])
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class HyperAgentStep(BaseModel):
|
|
87
|
+
"""
|
|
88
|
+
A single step in a HyperAgent task.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
model_config = ConfigDict(
|
|
92
|
+
populate_by_alias=True,
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
idx: int
|
|
96
|
+
agent_output: HyperAgentOutput = Field(alias="agentOutput")
|
|
97
|
+
action_outputs: List[HyperAgentActionOutput] = Field(alias="actionOutputs")
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class HyperAgentTaskData(BaseModel):
|
|
101
|
+
model_config = ConfigDict(
|
|
102
|
+
populate_by_alias=True,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
steps: list[HyperAgentStep]
|
|
106
|
+
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class HyperAgentTaskResponse(BaseModel):
|
|
110
|
+
"""
|
|
111
|
+
Response from a HyperAgent task.
|
|
112
|
+
"""
|
|
113
|
+
|
|
114
|
+
model_config = ConfigDict(
|
|
115
|
+
populate_by_alias=True,
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
job_id: str = Field(alias="jobId")
|
|
119
|
+
status: HyperAgentTaskStatus
|
|
120
|
+
data: Optional[HyperAgentTaskData] = Field(default=None, alias="data")
|
|
121
|
+
error: Optional[str] = Field(default=None, alias="error")
|
|
122
|
+
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
hyperbrowser/models/consts.py
CHANGED
hyperbrowser/models/session.py
CHANGED
|
@@ -169,6 +169,9 @@ class CreateSessionParams(BaseModel):
|
|
|
169
169
|
enable_web_recording: Optional[bool] = Field(
|
|
170
170
|
default=True, serialization_alias="enableWebRecording"
|
|
171
171
|
)
|
|
172
|
+
enable_video_web_recording: Optional[bool] = Field(
|
|
173
|
+
default=None, serialization_alias="enableVideoWebRecording"
|
|
174
|
+
)
|
|
172
175
|
profile: Optional[CreateSessionProfile] = Field(default=None)
|
|
173
176
|
extension_ids: Optional[List[str]] = Field(
|
|
174
177
|
default=None, serialization_alias="extensionIds"
|
|
@@ -223,6 +226,20 @@ class GetSessionRecordingUrlResponse(BaseModel):
|
|
|
223
226
|
error: Optional[str] = Field(default=None, alias="error")
|
|
224
227
|
|
|
225
228
|
|
|
229
|
+
class GetSessionVideoRecordingUrlResponse(BaseModel):
|
|
230
|
+
"""
|
|
231
|
+
Response containing the signed URL for the session video recording.
|
|
232
|
+
"""
|
|
233
|
+
|
|
234
|
+
model_config = ConfigDict(
|
|
235
|
+
populate_by_alias=True,
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
status: RecordingStatus = Field(alias="status")
|
|
239
|
+
recording_url: Optional[str] = Field(default=None, alias="recordingUrl")
|
|
240
|
+
error: Optional[str] = Field(default=None, alias="error")
|
|
241
|
+
|
|
242
|
+
|
|
226
243
|
class GetSessionDownloadsUrlResponse(BaseModel):
|
|
227
244
|
"""
|
|
228
245
|
Response containing the signed URL for the session downloads.
|
|
@@ -1,40 +1,43 @@
|
|
|
1
1
|
hyperbrowser/__init__.py,sha256=zWGcLhqhvWy6BTwuNpzWK1-0LpIn311ks-4U9nrsb7Y,187
|
|
2
2
|
hyperbrowser/client/async_client.py,sha256=TfDVCO0AxgUI5mB4bmnP0mvWdDR_C6yvMpo24KIkaDc,1474
|
|
3
3
|
hyperbrowser/client/base.py,sha256=9gFma7RdvJBUlDCqr8tZd315UPrjn4ldU4B0-Y-L4O4,1268
|
|
4
|
-
hyperbrowser/client/managers/async_manager/agents/__init__.py,sha256=
|
|
4
|
+
hyperbrowser/client/managers/async_manager/agents/__init__.py,sha256=GUkUBxoqW6vchz3-yNlUaE8TdEClNdp3RliHYMT1fsE,432
|
|
5
5
|
hyperbrowser/client/managers/async_manager/agents/browser_use.py,sha256=DLRcQfmM8LKBJsaFCx8cYn0L4UjCd0I3egoX5ytVoTg,2511
|
|
6
6
|
hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py,sha256=gTnX8r3rETyLMsDy_4nO0oB5cDdHHN9s-y7xw-4ekqc,2657
|
|
7
7
|
hyperbrowser/client/managers/async_manager/agents/cua.py,sha256=e43QgSLi0LvGd9cOirsRETcit0MXvvtLA2cNv16xH0s,2337
|
|
8
|
+
hyperbrowser/client/managers/async_manager/agents/hyper_agent.py,sha256=VzPTrvlYX_CZohoCD6Z8Cf1itDZ6BLKmrzpjv6YGs88,2501
|
|
8
9
|
hyperbrowser/client/managers/async_manager/crawl.py,sha256=fzaF6cK5HZej2C6FwXxnrRt4OpJ5qYxMktaQGVYTlWE,4357
|
|
9
10
|
hyperbrowser/client/managers/async_manager/extension.py,sha256=a-xYtXXdCspukYtsguRgjEoQ8E_kzzA2tQAJtIyCtAs,1439
|
|
10
11
|
hyperbrowser/client/managers/async_manager/extract.py,sha256=wZO696_3Mse3tnsHgpSXibo6IfwcO5K1lWstcO_2GjQ,2492
|
|
11
12
|
hyperbrowser/client/managers/async_manager/profile.py,sha256=cQ4cYVwL83heQwEnQiBw0PHk1HWK7DWFXmmBnRXJt0E,1514
|
|
12
13
|
hyperbrowser/client/managers/async_manager/scrape.py,sha256=U8oa5QNOfLfYxd31BmcLE2dqJbOK60cmoLDGoHzJnAI,6500
|
|
13
|
-
hyperbrowser/client/managers/async_manager/session.py,sha256=
|
|
14
|
-
hyperbrowser/client/managers/sync_manager/agents/__init__.py,sha256=
|
|
14
|
+
hyperbrowser/client/managers/async_manager/session.py,sha256=tOAtC8zNjVycGDHrdsI6tEvc-GtF2GBs3Tta_qOmb_o,2733
|
|
15
|
+
hyperbrowser/client/managers/sync_manager/agents/__init__.py,sha256=GUkUBxoqW6vchz3-yNlUaE8TdEClNdp3RliHYMT1fsE,432
|
|
15
16
|
hyperbrowser/client/managers/sync_manager/agents/browser_use.py,sha256=DX2Z5k6B_oA3wm4iYHCOq3l8B0ZyspdKlJhzf592-bw,2413
|
|
16
17
|
hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py,sha256=6mAaqDjKrLrxRaGZfZSgC7wYVyDQeWZEE6K6wLrnTXk,2557
|
|
17
18
|
hyperbrowser/client/managers/sync_manager/agents/cua.py,sha256=rh3JyXWzh9SvSLkDBtWGVUd2KMx27MyLMuNPnRwvbxk,2253
|
|
19
|
+
hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py,sha256=UgB_eEa7PODGoTegulJzJDPBr2VQ-hIT0yA0z7BfYtk,2403
|
|
18
20
|
hyperbrowser/client/managers/sync_manager/crawl.py,sha256=gwLtEX-qGNvqxA7IhCIKYTF3QV3_gX7nOpMWZ2s7HzA,4289
|
|
19
21
|
hyperbrowser/client/managers/sync_manager/extension.py,sha256=1YoyTZtMo43trl9jAsXv95aor0nBHiJEmLva39jFW-k,1415
|
|
20
22
|
hyperbrowser/client/managers/sync_manager/extract.py,sha256=rNSxAMR95_nL4qHuatPSzXrYFUGbLQE1xm9Us1myy9s,2391
|
|
21
23
|
hyperbrowser/client/managers/sync_manager/profile.py,sha256=P6pQXeDiW40PN_XZJMzdr59FxwysFJ1fG1pOt5CbvtY,1466
|
|
22
24
|
hyperbrowser/client/managers/sync_manager/scrape.py,sha256=PD9K_jyFzvejDmwTkUrXNxaG86QQ-bxzyv-djdfYbug,6321
|
|
23
|
-
hyperbrowser/client/managers/sync_manager/session.py,sha256=
|
|
25
|
+
hyperbrowser/client/managers/sync_manager/session.py,sha256=FuqTFrtKCbJRrwTvknQC3cwLXWT7ZQ1eyTKnYSZ4ABE,2601
|
|
24
26
|
hyperbrowser/client/sync.py,sha256=LjBkuXGhGJaMbDPEZbF9mzonb2UBw_I9d6xk2MDQqIU,1297
|
|
25
27
|
hyperbrowser/config.py,sha256=6xtUiVXy7MQMiARAsadP62U46tL0wzVMDuGmQBcH_LQ,623
|
|
26
28
|
hyperbrowser/exceptions.py,sha256=SUUkptK2OL36xDORYmSicaTYR7pMbxeWAjAgz35xnM8,1171
|
|
27
|
-
hyperbrowser/models/__init__.py,sha256=
|
|
29
|
+
hyperbrowser/models/__init__.py,sha256=rq6cTJnuWbIuRKLuOGTpkIOlLn_onvKNY0scZlxCQ0Q,4904
|
|
28
30
|
hyperbrowser/models/agents/browser_use.py,sha256=H-QUUgXkho14mMf9s4mdytsGjgLKk8dlx1Co6jYZKfM,5290
|
|
29
31
|
hyperbrowser/models/agents/claude_computer_use.py,sha256=6bnaF9Y-5jSr0vLXJijDwW29GZXr7H_8SMQSmY4vAFk,2568
|
|
30
32
|
hyperbrowser/models/agents/cua.py,sha256=ao7AA6NBet31duCZLI5aiWydNiiHvgQTPxkxHR5r2Cw,3061
|
|
31
|
-
hyperbrowser/models/
|
|
33
|
+
hyperbrowser/models/agents/hyper_agent.py,sha256=bqRc9yWuwj3yRv6p--mbNSICRL-Qlj5tR7E_A7kozQk,3100
|
|
34
|
+
hyperbrowser/models/consts.py,sha256=Pz0jchWLp4QFoNJLfUAAMntmJ5OwcAr_Jbpkg-PXQHg,6716
|
|
32
35
|
hyperbrowser/models/crawl.py,sha256=XUS5Ja-Abl8gMyDtLIsRaEKa_taSOORMLOFCdAPgGaI,2820
|
|
33
36
|
hyperbrowser/models/extension.py,sha256=nXjKXKt9R7RxyZ4hd3EvfqZsEGy_ufh1r5j2mqCLykQ,804
|
|
34
37
|
hyperbrowser/models/extract.py,sha256=DXg0HtO44plAtcFOmqUpdp9P93tq45U2fLWxn5jdjAw,1745
|
|
35
38
|
hyperbrowser/models/profile.py,sha256=GF0esQwru0oOs9sQ9DCuO8VX4GKPgRgKCVP8s7g0Pig,1846
|
|
36
39
|
hyperbrowser/models/scrape.py,sha256=iMsUuMx3UFtSci6TVUpcH5ytbgwiImIXjviVcGZ_gBQ,5048
|
|
37
|
-
hyperbrowser/models/session.py,sha256=
|
|
40
|
+
hyperbrowser/models/session.py,sha256=PTS11BrV66GqYvhHtgTbRoPuHqUNxk6Dw8Tel4KzrzE,7689
|
|
38
41
|
hyperbrowser/tools/__init__.py,sha256=L-2xveBbSuIBQBQhJmXGCLNYEUq_XHDdgz_gBAsmQZo,4605
|
|
39
42
|
hyperbrowser/tools/anthropic.py,sha256=bo8jn2ROHCp_hpX1_cjkCk7qU0LmuBr_gvlvM0f5OMc,2699
|
|
40
43
|
hyperbrowser/tools/openai.py,sha256=YkdONf2CYuuJei2019a5cpCcZGn8g5bH-PnZ4YY7c4U,3514
|
|
@@ -42,7 +45,7 @@ hyperbrowser/tools/schema.py,sha256=YFUAoQjx_SpjezS3UQdTCCn4xMdN3CgEeKAlulkIATc,
|
|
|
42
45
|
hyperbrowser/transport/async_transport.py,sha256=6HKoeM5TutIqraEscEWobvSPWF3iVKh2hPflGNKwykw,4128
|
|
43
46
|
hyperbrowser/transport/base.py,sha256=ildpMrDiM8nvrSGrH2LTOafmB17T7PQB_NQ1ODA378U,1703
|
|
44
47
|
hyperbrowser/transport/sync.py,sha256=aUVpxWF8sqSycLNKxVNEZvlsZSoqc1eHgPK1Y1QA1u8,3422
|
|
45
|
-
hyperbrowser-0.
|
|
46
|
-
hyperbrowser-0.
|
|
47
|
-
hyperbrowser-0.
|
|
48
|
-
hyperbrowser-0.
|
|
48
|
+
hyperbrowser-0.43.0.dist-info/LICENSE,sha256=6rUGKlyKb_1ZAH7h7YITYAAUNFN3MNGGKCyfrw49NLE,1071
|
|
49
|
+
hyperbrowser-0.43.0.dist-info/METADATA,sha256=9dVt0aoWeMbcUtuhNjHy6F9I-5FLAUIQK-hKKxkmZSs,3471
|
|
50
|
+
hyperbrowser-0.43.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
51
|
+
hyperbrowser-0.43.0.dist-info/RECORD,,
|
|
File without changes
|