hyperbrowser 0.37.0__tar.gz → 0.39.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.37.0 → hyperbrowser-0.39.0}/PKG-INFO +1 -1
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/agents/__init__.py +2 -0
- hyperbrowser-0.39.0/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +71 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +2 -0
- hyperbrowser-0.39.0/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +71 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/__init__.py +13 -0
- hyperbrowser-0.39.0/hyperbrowser/models/agents/claude_computer_use.py +97 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/session.py +8 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/pyproject.toml +1 -1
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/LICENSE +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/README.md +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/__init__.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/async_client.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/base.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/session.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/session.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/sync.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/config.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/exceptions.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/agents/browser_use.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/agents/cua.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/consts.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/crawl.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/extension.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/extract.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/profile.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/models/scrape.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/tools/__init__.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/tools/anthropic.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/tools/openai.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/tools/schema.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/transport/async_transport.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/transport/base.py +0 -0
- {hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/transport/sync.py +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
from .browser_use import BrowserUseManager
|
|
2
2
|
from .cua import CuaManager
|
|
3
|
+
from .claude_computer_use import ClaudeComputerUseManager
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class Agents:
|
|
6
7
|
def __init__(self, client):
|
|
7
8
|
self.browser_use = BrowserUseManager(client)
|
|
8
9
|
self.cua = CuaManager(client)
|
|
10
|
+
self.claude_computer_use = ClaudeComputerUseManager(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
|
+
ClaudeComputerUseTaskResponse,
|
|
9
|
+
ClaudeComputerUseTaskStatusResponse,
|
|
10
|
+
StartClaudeComputerUseTaskParams,
|
|
11
|
+
StartClaudeComputerUseTaskResponse,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ClaudeComputerUseManager:
|
|
16
|
+
def __init__(self, client):
|
|
17
|
+
self._client = client
|
|
18
|
+
|
|
19
|
+
async def start(
|
|
20
|
+
self, params: StartClaudeComputerUseTaskParams
|
|
21
|
+
) -> StartClaudeComputerUseTaskResponse:
|
|
22
|
+
response = await self._client.transport.post(
|
|
23
|
+
self._client._build_url("/task/claude-computer-use"),
|
|
24
|
+
data=params.model_dump(exclude_none=True, by_alias=True),
|
|
25
|
+
)
|
|
26
|
+
return StartClaudeComputerUseTaskResponse(**response.data)
|
|
27
|
+
|
|
28
|
+
async def get(self, job_id: str) -> ClaudeComputerUseTaskResponse:
|
|
29
|
+
response = await self._client.transport.get(
|
|
30
|
+
self._client._build_url(f"/task/claude-computer-use/{job_id}")
|
|
31
|
+
)
|
|
32
|
+
return ClaudeComputerUseTaskResponse(**response.data)
|
|
33
|
+
|
|
34
|
+
async def get_status(self, job_id: str) -> ClaudeComputerUseTaskStatusResponse:
|
|
35
|
+
response = await self._client.transport.get(
|
|
36
|
+
self._client._build_url(f"/task/claude-computer-use/{job_id}/status")
|
|
37
|
+
)
|
|
38
|
+
return ClaudeComputerUseTaskStatusResponse(**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/claude-computer-use/{job_id}/stop")
|
|
43
|
+
)
|
|
44
|
+
return BasicResponse(**response.data)
|
|
45
|
+
|
|
46
|
+
async def start_and_wait(
|
|
47
|
+
self, params: StartClaudeComputerUseTaskParams
|
|
48
|
+
) -> ClaudeComputerUseTaskResponse:
|
|
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 Claude 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 Claude Computer Use task job {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
70
|
+
)
|
|
71
|
+
await asyncio.sleep(2)
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
from .browser_use import BrowserUseManager
|
|
2
2
|
from .cua import CuaManager
|
|
3
|
+
from .claude_computer_use import ClaudeComputerUseManager
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class Agents:
|
|
6
7
|
def __init__(self, client):
|
|
7
8
|
self.browser_use = BrowserUseManager(client)
|
|
8
9
|
self.cua = CuaManager(client)
|
|
10
|
+
self.claude_computer_use = ClaudeComputerUseManager(client)
|
|
@@ -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
|
+
ClaudeComputerUseTaskResponse,
|
|
9
|
+
ClaudeComputerUseTaskStatusResponse,
|
|
10
|
+
StartClaudeComputerUseTaskParams,
|
|
11
|
+
StartClaudeComputerUseTaskResponse,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ClaudeComputerUseManager:
|
|
16
|
+
def __init__(self, client):
|
|
17
|
+
self._client = client
|
|
18
|
+
|
|
19
|
+
def start(
|
|
20
|
+
self, params: StartClaudeComputerUseTaskParams
|
|
21
|
+
) -> StartClaudeComputerUseTaskResponse:
|
|
22
|
+
response = self._client.transport.post(
|
|
23
|
+
self._client._build_url("/task/claude-computer-use"),
|
|
24
|
+
data=params.model_dump(exclude_none=True, by_alias=True),
|
|
25
|
+
)
|
|
26
|
+
return StartClaudeComputerUseTaskResponse(**response.data)
|
|
27
|
+
|
|
28
|
+
def get(self, job_id: str) -> ClaudeComputerUseTaskResponse:
|
|
29
|
+
response = self._client.transport.get(
|
|
30
|
+
self._client._build_url(f"/task/claude-computer-use/{job_id}")
|
|
31
|
+
)
|
|
32
|
+
return ClaudeComputerUseTaskResponse(**response.data)
|
|
33
|
+
|
|
34
|
+
def get_status(self, job_id: str) -> ClaudeComputerUseTaskStatusResponse:
|
|
35
|
+
response = self._client.transport.get(
|
|
36
|
+
self._client._build_url(f"/task/claude-computer-use/{job_id}/status")
|
|
37
|
+
)
|
|
38
|
+
return ClaudeComputerUseTaskStatusResponse(**response.data)
|
|
39
|
+
|
|
40
|
+
def stop(self, job_id: str) -> BasicResponse:
|
|
41
|
+
response = self._client.transport.put(
|
|
42
|
+
self._client._build_url(f"/task/claude-computer-use/{job_id}/stop")
|
|
43
|
+
)
|
|
44
|
+
return BasicResponse(**response.data)
|
|
45
|
+
|
|
46
|
+
def start_and_wait(
|
|
47
|
+
self, params: StartClaudeComputerUseTaskParams
|
|
48
|
+
) -> ClaudeComputerUseTaskResponse:
|
|
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 CUA 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 Claude Computer Use task job {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
70
|
+
)
|
|
71
|
+
time.sleep(2)
|
|
@@ -5,6 +5,13 @@ from .agents.browser_use import (
|
|
|
5
5
|
StartBrowserUseTaskParams,
|
|
6
6
|
StartBrowserUseTaskResponse,
|
|
7
7
|
)
|
|
8
|
+
from .agents.claude_computer_use import (
|
|
9
|
+
ClaudeComputerUseTaskData,
|
|
10
|
+
ClaudeComputerUseTaskResponse,
|
|
11
|
+
ClaudeComputerUseTaskStatusResponse,
|
|
12
|
+
StartClaudeComputerUseTaskParams,
|
|
13
|
+
StartClaudeComputerUseTaskResponse,
|
|
14
|
+
)
|
|
8
15
|
from .agents.cua import (
|
|
9
16
|
CuaTaskData,
|
|
10
17
|
CuaTaskResponse,
|
|
@@ -104,6 +111,12 @@ __all__ = [
|
|
|
104
111
|
"BrowserUseTaskStatusResponse",
|
|
105
112
|
"StartBrowserUseTaskParams",
|
|
106
113
|
"StartBrowserUseTaskResponse",
|
|
114
|
+
"ClaudeComputerUseTaskStatus",
|
|
115
|
+
"ClaudeComputerUseTaskData",
|
|
116
|
+
"ClaudeComputerUseTaskResponse",
|
|
117
|
+
"ClaudeComputerUseTaskStatusResponse",
|
|
118
|
+
"StartClaudeComputerUseTaskParams",
|
|
119
|
+
"StartClaudeComputerUseTaskResponse",
|
|
107
120
|
"CuaTaskStatus",
|
|
108
121
|
"CuaTaskData",
|
|
109
122
|
"CuaTaskResponse",
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
from typing import Any, Literal, Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
4
|
+
|
|
5
|
+
from ..session import CreateSessionParams
|
|
6
|
+
|
|
7
|
+
ClaudeComputerUseTaskStatus = Literal[
|
|
8
|
+
"pending", "running", "completed", "failed", "stopped"
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class StartClaudeComputerUseTaskParams(BaseModel):
|
|
13
|
+
"""
|
|
14
|
+
Parameters for creating a new Claude Computer Use task.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
model_config = ConfigDict(
|
|
18
|
+
populate_by_alias=True,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
task: str
|
|
22
|
+
session_id: Optional[str] = Field(default=None, serialization_alias="sessionId")
|
|
23
|
+
max_failures: Optional[int] = Field(default=None, serialization_alias="maxFailures")
|
|
24
|
+
max_steps: Optional[int] = Field(default=None, serialization_alias="maxSteps")
|
|
25
|
+
keep_browser_open: Optional[bool] = Field(
|
|
26
|
+
default=None, serialization_alias="keepBrowserOpen"
|
|
27
|
+
)
|
|
28
|
+
session_options: Optional[CreateSessionParams] = Field(
|
|
29
|
+
default=None, serialization_alias="sessionOptions"
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class StartClaudeComputerUseTaskResponse(BaseModel):
|
|
34
|
+
"""
|
|
35
|
+
Response from starting a Claude Computer Use task.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
model_config = ConfigDict(
|
|
39
|
+
populate_by_alias=True,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
job_id: str = Field(alias="jobId")
|
|
43
|
+
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ClaudeComputerUseTaskStatusResponse(BaseModel):
|
|
47
|
+
"""
|
|
48
|
+
Response from getting a Claude Computer Use task status.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
model_config = ConfigDict(
|
|
52
|
+
populate_by_alias=True,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
status: ClaudeComputerUseTaskStatus
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class ClaudeComputerUseStepResponse(BaseModel):
|
|
59
|
+
"""
|
|
60
|
+
Response from a single Claude Computer Use step.
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
model_config = ConfigDict(
|
|
64
|
+
populate_by_alias=True,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
role: str
|
|
68
|
+
type: str
|
|
69
|
+
model: str
|
|
70
|
+
content: list[Any]
|
|
71
|
+
stop_reason: Optional[str] = Field(default=None)
|
|
72
|
+
stop_sequence: Optional[str] = Field(default=None)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class ClaudeComputerUseTaskData(BaseModel):
|
|
76
|
+
model_config = ConfigDict(
|
|
77
|
+
populate_by_alias=True,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
steps: list[ClaudeComputerUseStepResponse]
|
|
81
|
+
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class ClaudeComputerUseTaskResponse(BaseModel):
|
|
85
|
+
"""
|
|
86
|
+
Response from a Claude Computer Use task.
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
model_config = ConfigDict(
|
|
90
|
+
populate_by_alias=True,
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
job_id: str = Field(alias="jobId")
|
|
94
|
+
status: ClaudeComputerUseTaskStatus
|
|
95
|
+
data: Optional[ClaudeComputerUseTaskData] = Field(default=None, alias="data")
|
|
96
|
+
error: Optional[str] = Field(default=None, alias="error")
|
|
97
|
+
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
@@ -127,6 +127,11 @@ class CreateSessionProfile(BaseModel):
|
|
|
127
127
|
)
|
|
128
128
|
|
|
129
129
|
|
|
130
|
+
class ImageCaptchaParam(BaseModel):
|
|
131
|
+
image_selector: str = Field(serialization_alias="imageSelector")
|
|
132
|
+
input_selector: str = Field(serialization_alias="inputSelector")
|
|
133
|
+
|
|
134
|
+
|
|
130
135
|
class CreateSessionParams(BaseModel):
|
|
131
136
|
"""
|
|
132
137
|
Parameters for creating a new browser session.
|
|
@@ -181,6 +186,9 @@ class CreateSessionParams(BaseModel):
|
|
|
181
186
|
save_downloads: Optional[bool] = Field(
|
|
182
187
|
default=None, serialization_alias="saveDownloads"
|
|
183
188
|
)
|
|
189
|
+
image_captcha_params: Optional[List[ImageCaptchaParam]] = Field(
|
|
190
|
+
default=None, serialization_alias="imageCaptchaParams"
|
|
191
|
+
)
|
|
184
192
|
|
|
185
193
|
|
|
186
194
|
class SessionRecording(BaseModel):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/agents/cua.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/async_manager/session.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.37.0 → hyperbrowser-0.39.0}/hyperbrowser/client/managers/sync_manager/session.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|