hyperbrowser 0.57.0__tar.gz → 0.59.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.

Files changed (57) hide show
  1. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/PKG-INFO +1 -1
  2. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/session.py +20 -0
  3. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/session.py +20 -0
  4. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/__init__.py +8 -0
  5. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/consts.py +3 -0
  6. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/session.py +50 -2
  7. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/pyproject.toml +1 -1
  8. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/LICENSE +0 -0
  9. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/README.md +0 -0
  10. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/__init__.py +0 -0
  11. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/async_client.py +0 -0
  12. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/base.py +0 -0
  13. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/agents/__init__.py +0 -0
  14. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
  15. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
  16. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
  17. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
  18. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/computer_action.py +0 -0
  19. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
  20. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
  21. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
  22. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
  23. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
  24. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/async_manager/team.py +0 -0
  25. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +0 -0
  26. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
  27. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
  28. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
  29. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
  30. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/computer_action.py +0 -0
  31. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
  32. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
  33. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
  34. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
  35. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
  36. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
  37. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/client/sync.py +0 -0
  38. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/config.py +0 -0
  39. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/exceptions.py +0 -0
  40. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/agents/browser_use.py +0 -0
  41. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/agents/claude_computer_use.py +0 -0
  42. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/agents/cua.py +0 -0
  43. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/agents/hyper_agent.py +0 -0
  44. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/computer_action.py +0 -0
  45. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/crawl.py +0 -0
  46. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/extension.py +0 -0
  47. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/extract.py +0 -0
  48. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/profile.py +0 -0
  49. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/scrape.py +0 -0
  50. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/models/team.py +0 -0
  51. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/tools/__init__.py +0 -0
  52. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/tools/anthropic.py +0 -0
  53. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/tools/openai.py +0 -0
  54. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/tools/schema.py +0 -0
  55. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/transport/async_transport.py +0 -0
  56. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/transport/base.py +0 -0
  57. {hyperbrowser-0.57.0 → hyperbrowser-0.59.0}/hyperbrowser/transport/sync.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperbrowser
3
- Version: 0.57.0
3
+ Version: 0.59.0
4
4
  Summary: Python SDK for hyperbrowser
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -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(
@@ -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",
@@ -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
 
@@ -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(default=False, serialization_alias="useUltraStealth")
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")
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "hyperbrowser"
3
- version = "0.57.0"
3
+ version = "0.59.0"
4
4
  description = "Python SDK for hyperbrowser"
5
5
  authors = ["Nikhil Shahi <nshahi1998@gmail.com>"]
6
6
  license = "MIT"
File without changes
File without changes