hyperbrowser 0.57.0__py3-none-any.whl → 0.59.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/session.py +20 -0
- hyperbrowser/client/managers/sync_manager/session.py +20 -0
- hyperbrowser/models/__init__.py +8 -0
- hyperbrowser/models/consts.py +3 -0
- hyperbrowser/models/session.py +50 -2
- {hyperbrowser-0.57.0.dist-info → hyperbrowser-0.59.0.dist-info}/METADATA +1 -1
- {hyperbrowser-0.57.0.dist-info → hyperbrowser-0.59.0.dist-info}/RECORD +9 -9
- {hyperbrowser-0.57.0.dist-info → hyperbrowser-0.59.0.dist-info}/WHEEL +1 -1
- {hyperbrowser-0.57.0.dist-info → hyperbrowser-0.59.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -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(
|
|
@@ -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
|
@@ -49,6 +49,7 @@ from .consts import (
|
|
|
49
49
|
ScrapePageStatus,
|
|
50
50
|
ScrapeScreenshotFormat,
|
|
51
51
|
ScrapeWaitUntil,
|
|
52
|
+
SessionEventLogType,
|
|
52
53
|
State,
|
|
53
54
|
)
|
|
54
55
|
from .crawl import (
|
|
@@ -119,6 +120,9 @@ from .session import (
|
|
|
119
120
|
SessionListResponse,
|
|
120
121
|
SessionRecording,
|
|
121
122
|
SessionStatus,
|
|
123
|
+
SessionEventLog,
|
|
124
|
+
SessionEventLogListParams,
|
|
125
|
+
SessionEventLogListResponse,
|
|
122
126
|
UploadFileResponse,
|
|
123
127
|
)
|
|
124
128
|
from .team import TeamCreditInfo
|
|
@@ -139,6 +143,7 @@ __all__ = [
|
|
|
139
143
|
"ScrapePageStatus",
|
|
140
144
|
"ScrapeScreenshotFormat",
|
|
141
145
|
"ScrapeWaitUntil",
|
|
146
|
+
"SessionEventLogType",
|
|
142
147
|
"State",
|
|
143
148
|
# agents
|
|
144
149
|
"HyperAgentTaskStatus",
|
|
@@ -225,6 +230,9 @@ __all__ = [
|
|
|
225
230
|
"SessionListResponse",
|
|
226
231
|
"SessionRecording",
|
|
227
232
|
"SessionStatus",
|
|
233
|
+
"SessionEventLog",
|
|
234
|
+
"SessionEventLogListParams",
|
|
235
|
+
"SessionEventLogListResponse",
|
|
228
236
|
"UploadFileResponse",
|
|
229
237
|
# team
|
|
230
238
|
"TeamCreditInfo",
|
hyperbrowser/models/consts.py
CHANGED
|
@@ -10,6 +10,9 @@ RecordingStatus = Literal[
|
|
|
10
10
|
DownloadsStatus = Literal[
|
|
11
11
|
"not_enabled", "pending", "in_progress", "completed", "failed"
|
|
12
12
|
]
|
|
13
|
+
SessionEventLogType = Literal[
|
|
14
|
+
"captcha_detected", "captcha_solved", "captcha_error", "file_downloaded"
|
|
15
|
+
]
|
|
13
16
|
|
|
14
17
|
POLLING_ATTEMPTS = 5
|
|
15
18
|
|
hyperbrowser/models/session.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
|
-
from typing import Any, List, Literal, Optional, Union
|
|
2
|
+
from typing import Any, List, Literal, Optional, Union, Dict
|
|
3
3
|
from .computer_action import ComputerActionParams, ComputerActionResponse
|
|
4
4
|
|
|
5
5
|
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
@@ -13,6 +13,7 @@ from hyperbrowser.models.consts import (
|
|
|
13
13
|
RecordingStatus,
|
|
14
14
|
State,
|
|
15
15
|
SessionRegion,
|
|
16
|
+
SessionEventLogType,
|
|
16
17
|
)
|
|
17
18
|
|
|
18
19
|
SessionStatus = Literal["active", "closed", "error"]
|
|
@@ -147,7 +148,9 @@ class CreateSessionParams(BaseModel):
|
|
|
147
148
|
populate_by_alias=True,
|
|
148
149
|
)
|
|
149
150
|
|
|
150
|
-
use_ultra_stealth: bool = Field(
|
|
151
|
+
use_ultra_stealth: bool = Field(
|
|
152
|
+
default=False, serialization_alias="useUltraStealth"
|
|
153
|
+
)
|
|
151
154
|
use_stealth: bool = Field(default=False, serialization_alias="useStealth")
|
|
152
155
|
use_proxy: bool = Field(default=False, serialization_alias="useProxy")
|
|
153
156
|
proxy_server: Optional[str] = Field(default=None, serialization_alias="proxyServer")
|
|
@@ -280,3 +283,48 @@ class UploadFileResponse(BaseModel):
|
|
|
280
283
|
)
|
|
281
284
|
|
|
282
285
|
message: str = Field(alias="message")
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
class SessionEventLog(BaseModel):
|
|
289
|
+
model_config = ConfigDict(
|
|
290
|
+
populate_by_alias=True,
|
|
291
|
+
)
|
|
292
|
+
|
|
293
|
+
id: str = Field(alias="id")
|
|
294
|
+
session_id: str = Field(alias="sessionId")
|
|
295
|
+
target_id: Optional[str] = Field(alias="targetId")
|
|
296
|
+
page_url: Optional[str] = Field(alias="pageUrl")
|
|
297
|
+
team_id: str = Field(alias="teamId")
|
|
298
|
+
type: SessionEventLogType = Field(alias="type")
|
|
299
|
+
metadata: Dict[str, Any] = Field(alias="metadata")
|
|
300
|
+
timestamp: int = Field(alias="timestamp")
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
class SessionEventLogListParams(BaseModel):
|
|
304
|
+
model_config = ConfigDict(
|
|
305
|
+
populate_by_alias=True,
|
|
306
|
+
)
|
|
307
|
+
|
|
308
|
+
page: Optional[int] = Field(default=None, serialization_alias="page")
|
|
309
|
+
limit: Optional[int] = Field(default=None, serialization_alias="limit")
|
|
310
|
+
start_timestamp: Optional[int] = Field(
|
|
311
|
+
default=None, serialization_alias="startTimestamp"
|
|
312
|
+
)
|
|
313
|
+
end_timestamp: Optional[int] = Field(
|
|
314
|
+
default=None, serialization_alias="endTimestamp"
|
|
315
|
+
)
|
|
316
|
+
target_id: Optional[str] = Field(default=None, serialization_alias="targetId")
|
|
317
|
+
types: Optional[List[SessionEventLogType]] = Field(
|
|
318
|
+
default=None, serialization_alias="types"
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
class SessionEventLogListResponse(BaseModel):
|
|
323
|
+
model_config = ConfigDict(
|
|
324
|
+
populate_by_alias=True,
|
|
325
|
+
)
|
|
326
|
+
|
|
327
|
+
data: List[SessionEventLog] = Field(alias="data")
|
|
328
|
+
total_count: int = Field(alias="totalCount")
|
|
329
|
+
page: int = Field(alias="page")
|
|
330
|
+
per_page: int = Field(alias="perPage")
|
|
@@ -12,7 +12,7 @@ hyperbrowser/client/managers/async_manager/extension.py,sha256=a-xYtXXdCspukYtsg
|
|
|
12
12
|
hyperbrowser/client/managers/async_manager/extract.py,sha256=wZO696_3Mse3tnsHgpSXibo6IfwcO5K1lWstcO_2GjQ,2492
|
|
13
13
|
hyperbrowser/client/managers/async_manager/profile.py,sha256=cQ4cYVwL83heQwEnQiBw0PHk1HWK7DWFXmmBnRXJt0E,1514
|
|
14
14
|
hyperbrowser/client/managers/async_manager/scrape.py,sha256=akVgbatTTHDFkmxugxcQpIPEwjSPm7VloJVDdbAPRh0,6560
|
|
15
|
-
hyperbrowser/client/managers/async_manager/session.py,sha256
|
|
15
|
+
hyperbrowser/client/managers/async_manager/session.py,sha256=2PLXcwvh38ouX3ctOtizhOlmK0NH4HEtH5rKXaxEH8w,4166
|
|
16
16
|
hyperbrowser/client/managers/async_manager/team.py,sha256=DHRd7igcuMG16WfM1-nSnpqaSNvwEzBnTGv7wRuaRdI,353
|
|
17
17
|
hyperbrowser/client/managers/sync_manager/agents/__init__.py,sha256=GUkUBxoqW6vchz3-yNlUaE8TdEClNdp3RliHYMT1fsE,432
|
|
18
18
|
hyperbrowser/client/managers/sync_manager/agents/browser_use.py,sha256=HXl8GM47DZuK4A-3DpwbLDJCnzEL8ndn9YfDAEljZFk,2765
|
|
@@ -25,24 +25,24 @@ hyperbrowser/client/managers/sync_manager/extension.py,sha256=1YoyTZtMo43trl9jAs
|
|
|
25
25
|
hyperbrowser/client/managers/sync_manager/extract.py,sha256=rNSxAMR95_nL4qHuatPSzXrYFUGbLQE1xm9Us1myy9s,2391
|
|
26
26
|
hyperbrowser/client/managers/sync_manager/profile.py,sha256=P6pQXeDiW40PN_XZJMzdr59FxwysFJ1fG1pOt5CbvtY,1466
|
|
27
27
|
hyperbrowser/client/managers/sync_manager/scrape.py,sha256=aNsTNZyPwzwCz6oCqzfoOWJm3qXUjwIIO68lIaCGzWE,6381
|
|
28
|
-
hyperbrowser/client/managers/sync_manager/session.py,sha256=
|
|
28
|
+
hyperbrowser/client/managers/sync_manager/session.py,sha256=njiJZlHbkZ0vl1X8igWARkEEMHG1LIlCfQNhZJmtJIs,3996
|
|
29
29
|
hyperbrowser/client/managers/sync_manager/team.py,sha256=VKuKXpbGBZ-iwTDAlO0U0yvi2Ig4iJhafjx0e9xV_tk,341
|
|
30
30
|
hyperbrowser/client/sync.py,sha256=Oi-d4upNRkAUS5T5LcJPun5hL6FPbODn_PcM1AERCrg,1519
|
|
31
31
|
hyperbrowser/config.py,sha256=7P-sbcvqXVr8Qzubo5O6jJgzcCgB5DdwbeIgEjRZNlY,623
|
|
32
32
|
hyperbrowser/exceptions.py,sha256=SUUkptK2OL36xDORYmSicaTYR7pMbxeWAjAgz35xnM8,1171
|
|
33
|
-
hyperbrowser/models/__init__.py,sha256=
|
|
33
|
+
hyperbrowser/models/__init__.py,sha256=eV1jGe1fu1NbMJDR8CqftJPR5byM4Bi0UK-XCTejeLk,6139
|
|
34
34
|
hyperbrowser/models/agents/browser_use.py,sha256=Na3av_EivqOCtEjd-Bfm68sp3H_tr_cE8q1oFCjagUU,6303
|
|
35
35
|
hyperbrowser/models/agents/claude_computer_use.py,sha256=RflxYn2Js4TQQsAM3liTBoWJkIViYjOuBVFOPR4sTho,3311
|
|
36
36
|
hyperbrowser/models/agents/cua.py,sha256=mDFC3hVWQ3OS9wpjRTPdJgXaIOLDw00GGPD_pURo8Tw,3609
|
|
37
37
|
hyperbrowser/models/agents/hyper_agent.py,sha256=tHca1Xw6sHekF0SAL1buKMjeUjwmm8qciKFCWsJ1q0g,3728
|
|
38
38
|
hyperbrowser/models/computer_action.py,sha256=9CvnlfqwarBCjfek62_1gpRmeupU_3IhEnhkQ3iK8yw,3488
|
|
39
|
-
hyperbrowser/models/consts.py,sha256=
|
|
39
|
+
hyperbrowser/models/consts.py,sha256=aWo6l8dsDLwQ5nKVqf5pIBKDGi2H0QnrhZ6dV-xwr1Y,7094
|
|
40
40
|
hyperbrowser/models/crawl.py,sha256=XUS5Ja-Abl8gMyDtLIsRaEKa_taSOORMLOFCdAPgGaI,2820
|
|
41
41
|
hyperbrowser/models/extension.py,sha256=nXjKXKt9R7RxyZ4hd3EvfqZsEGy_ufh1r5j2mqCLykQ,804
|
|
42
42
|
hyperbrowser/models/extract.py,sha256=DXg0HtO44plAtcFOmqUpdp9P93tq45U2fLWxn5jdjAw,1745
|
|
43
43
|
hyperbrowser/models/profile.py,sha256=GF0esQwru0oOs9sQ9DCuO8VX4GKPgRgKCVP8s7g0Pig,1846
|
|
44
44
|
hyperbrowser/models/scrape.py,sha256=iMsUuMx3UFtSci6TVUpcH5ytbgwiImIXjviVcGZ_gBQ,5048
|
|
45
|
-
hyperbrowser/models/session.py,sha256=
|
|
45
|
+
hyperbrowser/models/session.py,sha256=WGUdev1qO5XhXJoYCWviWUL16SHR0ZzDW4zpBFoSvEA,10282
|
|
46
46
|
hyperbrowser/models/team.py,sha256=dPBFL3TPO0AF_UzqP4sENMPhku_5j00uwC24zG558MU,338
|
|
47
47
|
hyperbrowser/tools/__init__.py,sha256=L-2xveBbSuIBQBQhJmXGCLNYEUq_XHDdgz_gBAsmQZo,4605
|
|
48
48
|
hyperbrowser/tools/anthropic.py,sha256=bo8jn2ROHCp_hpX1_cjkCk7qU0LmuBr_gvlvM0f5OMc,2699
|
|
@@ -51,7 +51,7 @@ hyperbrowser/tools/schema.py,sha256=YFUAoQjx_SpjezS3UQdTCCn4xMdN3CgEeKAlulkIATc,
|
|
|
51
51
|
hyperbrowser/transport/async_transport.py,sha256=6HKoeM5TutIqraEscEWobvSPWF3iVKh2hPflGNKwykw,4128
|
|
52
52
|
hyperbrowser/transport/base.py,sha256=ildpMrDiM8nvrSGrH2LTOafmB17T7PQB_NQ1ODA378U,1703
|
|
53
53
|
hyperbrowser/transport/sync.py,sha256=aUVpxWF8sqSycLNKxVNEZvlsZSoqc1eHgPK1Y1QA1u8,3422
|
|
54
|
-
hyperbrowser-0.
|
|
55
|
-
hyperbrowser-0.
|
|
56
|
-
hyperbrowser-0.
|
|
57
|
-
hyperbrowser-0.
|
|
54
|
+
hyperbrowser-0.59.0.dist-info/METADATA,sha256=ZS0k-sYKUTFgqngGoop1wxhFhCS0GxUOnCMYgLpm3Xg,3651
|
|
55
|
+
hyperbrowser-0.59.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
56
|
+
hyperbrowser-0.59.0.dist-info/licenses/LICENSE,sha256=NbSXeOZ2JKnPpkyLBYkfPqt9eWNy-Lx3xb4sjsSR9mI,1069
|
|
57
|
+
hyperbrowser-0.59.0.dist-info/RECORD,,
|
|
File without changes
|