hyperbrowser 0.86.0__tar.gz → 0.88.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.
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/PKG-INFO +1 -1
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/sandbox.py +33 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/session.py +15 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/sandbox.py +33 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/session.py +15 -1
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/__init__.py +16 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/sandbox.py +49 -4
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/session.py +31 -1
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/pyproject.toml +1 -1
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/LICENSE +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/README.md +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/async_client.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/base.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/agents/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/computer_action.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_files.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/team.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/web/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/web/crawl.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sandboxes/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sandboxes/shared.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/computer_action.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_files.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/web/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/web/crawl.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/sync.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/config.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/exceptions.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/agents/browser_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/agents/cua.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/computer_action.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/consts.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/crawl.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/extension.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/extract.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/profile.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/scrape.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/team.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/web/batch_fetch.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/web/common.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/web/crawl.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/web/fetch.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/web/search.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/sandbox_common.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/tools/__init__.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/tools/anthropic.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/tools/openai.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/tools/schema.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/transport/async_transport.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/transport/base.py +0 -0
- {hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/transport/sync.py +0 -0
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/sandbox.py
RENAMED
|
@@ -7,9 +7,14 @@ from ....models.sandbox import (
|
|
|
7
7
|
SandboxExecParams,
|
|
8
8
|
SandboxExposeParams,
|
|
9
9
|
SandboxExposeResult,
|
|
10
|
+
SandboxImageListResponse,
|
|
11
|
+
SandboxListParams,
|
|
12
|
+
SandboxListResponse,
|
|
10
13
|
SandboxMemorySnapshotParams,
|
|
11
14
|
SandboxMemorySnapshotResult,
|
|
12
15
|
SandboxRuntimeSession,
|
|
16
|
+
SandboxSnapshotListParams,
|
|
17
|
+
SandboxSnapshotListResponse,
|
|
13
18
|
StartSandboxFromSnapshotParams,
|
|
14
19
|
)
|
|
15
20
|
from ....models.session import BasicResponse
|
|
@@ -288,6 +293,34 @@ class SandboxManager:
|
|
|
288
293
|
await sandbox.connect()
|
|
289
294
|
return sandbox
|
|
290
295
|
|
|
296
|
+
async def list(
|
|
297
|
+
self, params: SandboxListParams = SandboxListParams()
|
|
298
|
+
) -> SandboxListResponse:
|
|
299
|
+
if not isinstance(params, SandboxListParams):
|
|
300
|
+
raise TypeError("params must be a SandboxListParams instance")
|
|
301
|
+
payload = await self._request(
|
|
302
|
+
"GET",
|
|
303
|
+
"/sandboxes",
|
|
304
|
+
params=params.model_dump(exclude_none=True, by_alias=True),
|
|
305
|
+
)
|
|
306
|
+
return SandboxListResponse(**payload)
|
|
307
|
+
|
|
308
|
+
async def list_images(self) -> SandboxImageListResponse:
|
|
309
|
+
payload = await self._request("GET", "/images")
|
|
310
|
+
return SandboxImageListResponse(**payload)
|
|
311
|
+
|
|
312
|
+
async def list_snapshots(
|
|
313
|
+
self, params: SandboxSnapshotListParams = SandboxSnapshotListParams()
|
|
314
|
+
) -> SandboxSnapshotListResponse:
|
|
315
|
+
if not isinstance(params, SandboxSnapshotListParams):
|
|
316
|
+
raise TypeError("params must be a SandboxSnapshotListParams instance")
|
|
317
|
+
payload = await self._request(
|
|
318
|
+
"GET",
|
|
319
|
+
"/snapshots",
|
|
320
|
+
params=params.model_dump(exclude_none=True, by_alias=True),
|
|
321
|
+
)
|
|
322
|
+
return SandboxSnapshotListResponse(**payload)
|
|
323
|
+
|
|
291
324
|
async def stop(self, sandbox_id: str) -> BasicResponse:
|
|
292
325
|
payload = await self._request("PUT", f"/sandbox/{sandbox_id}/stop")
|
|
293
326
|
return BasicResponse(**payload)
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/session.py
RENAMED
|
@@ -15,6 +15,7 @@ from ....models.session import (
|
|
|
15
15
|
SessionEventLogListResponse,
|
|
16
16
|
SessionEventLog,
|
|
17
17
|
UpdateSessionProfileParams,
|
|
18
|
+
UpdateSessionProxyParams,
|
|
18
19
|
SessionGetParams,
|
|
19
20
|
)
|
|
20
21
|
|
|
@@ -183,6 +184,20 @@ class SessionManager:
|
|
|
183
184
|
)
|
|
184
185
|
return BasicResponse(**response.data)
|
|
185
186
|
|
|
187
|
+
async def update_proxy_params(
|
|
188
|
+
self,
|
|
189
|
+
id: str,
|
|
190
|
+
params: UpdateSessionProxyParams,
|
|
191
|
+
) -> BasicResponse:
|
|
192
|
+
response = await self._client.transport.put(
|
|
193
|
+
self._client._build_url(f"/session/{id}/update"),
|
|
194
|
+
data={
|
|
195
|
+
"type": "proxy",
|
|
196
|
+
"params": params.model_dump(exclude_none=True, by_alias=True),
|
|
197
|
+
},
|
|
198
|
+
)
|
|
199
|
+
return BasicResponse(**response.data)
|
|
200
|
+
|
|
186
201
|
def _warn_update_profile_params_boolean_deprecated(self) -> None:
|
|
187
202
|
if SessionManager._has_warned_update_profile_params_boolean_deprecated:
|
|
188
203
|
return
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/sandbox.py
RENAMED
|
@@ -7,9 +7,14 @@ from ....models.sandbox import (
|
|
|
7
7
|
SandboxExecParams,
|
|
8
8
|
SandboxExposeParams,
|
|
9
9
|
SandboxExposeResult,
|
|
10
|
+
SandboxImageListResponse,
|
|
11
|
+
SandboxListParams,
|
|
12
|
+
SandboxListResponse,
|
|
10
13
|
SandboxMemorySnapshotParams,
|
|
11
14
|
SandboxMemorySnapshotResult,
|
|
12
15
|
SandboxRuntimeSession,
|
|
16
|
+
SandboxSnapshotListParams,
|
|
17
|
+
SandboxSnapshotListResponse,
|
|
13
18
|
StartSandboxFromSnapshotParams,
|
|
14
19
|
)
|
|
15
20
|
from ....models.session import BasicResponse
|
|
@@ -288,6 +293,34 @@ class SandboxManager:
|
|
|
288
293
|
sandbox.connect()
|
|
289
294
|
return sandbox
|
|
290
295
|
|
|
296
|
+
def list(
|
|
297
|
+
self, params: SandboxListParams = SandboxListParams()
|
|
298
|
+
) -> SandboxListResponse:
|
|
299
|
+
if not isinstance(params, SandboxListParams):
|
|
300
|
+
raise TypeError("params must be a SandboxListParams instance")
|
|
301
|
+
payload = self._request(
|
|
302
|
+
"GET",
|
|
303
|
+
"/sandboxes",
|
|
304
|
+
params=params.model_dump(exclude_none=True, by_alias=True),
|
|
305
|
+
)
|
|
306
|
+
return SandboxListResponse(**payload)
|
|
307
|
+
|
|
308
|
+
def list_images(self) -> SandboxImageListResponse:
|
|
309
|
+
payload = self._request("GET", "/images")
|
|
310
|
+
return SandboxImageListResponse(**payload)
|
|
311
|
+
|
|
312
|
+
def list_snapshots(
|
|
313
|
+
self, params: SandboxSnapshotListParams = SandboxSnapshotListParams()
|
|
314
|
+
) -> SandboxSnapshotListResponse:
|
|
315
|
+
if not isinstance(params, SandboxSnapshotListParams):
|
|
316
|
+
raise TypeError("params must be a SandboxSnapshotListParams instance")
|
|
317
|
+
payload = self._request(
|
|
318
|
+
"GET",
|
|
319
|
+
"/snapshots",
|
|
320
|
+
params=params.model_dump(exclude_none=True, by_alias=True),
|
|
321
|
+
)
|
|
322
|
+
return SandboxSnapshotListResponse(**payload)
|
|
323
|
+
|
|
291
324
|
def stop(self, sandbox_id: str) -> BasicResponse:
|
|
292
325
|
payload = self._request("PUT", f"/sandbox/{sandbox_id}/stop")
|
|
293
326
|
return BasicResponse(**payload)
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/session.py
RENAMED
|
@@ -13,8 +13,8 @@ from ....models.session import (
|
|
|
13
13
|
UploadFileResponse,
|
|
14
14
|
SessionEventLogListParams,
|
|
15
15
|
SessionEventLogListResponse,
|
|
16
|
-
SessionEventLog,
|
|
17
16
|
UpdateSessionProfileParams,
|
|
17
|
+
UpdateSessionProxyParams,
|
|
18
18
|
SessionGetParams,
|
|
19
19
|
)
|
|
20
20
|
|
|
@@ -179,6 +179,20 @@ class SessionManager:
|
|
|
179
179
|
)
|
|
180
180
|
return BasicResponse(**response.data)
|
|
181
181
|
|
|
182
|
+
def update_proxy_params(
|
|
183
|
+
self,
|
|
184
|
+
id: str,
|
|
185
|
+
params: UpdateSessionProxyParams,
|
|
186
|
+
) -> BasicResponse:
|
|
187
|
+
response = self._client.transport.put(
|
|
188
|
+
self._client._build_url(f"/session/{id}/update"),
|
|
189
|
+
data={
|
|
190
|
+
"type": "proxy",
|
|
191
|
+
"params": params.model_dump(exclude_none=True, by_alias=True),
|
|
192
|
+
},
|
|
193
|
+
)
|
|
194
|
+
return BasicResponse(**response.data)
|
|
195
|
+
|
|
182
196
|
def _warn_update_profile_params_boolean_deprecated(self) -> None:
|
|
183
197
|
if SessionManager._has_warned_update_profile_params_boolean_deprecated:
|
|
184
198
|
return
|
|
@@ -234,6 +234,8 @@ from .session import (
|
|
|
234
234
|
UploadFileResponse,
|
|
235
235
|
ImageCaptchaParam,
|
|
236
236
|
UpdateSessionProfileParams,
|
|
237
|
+
UpdateSessionProxyLocationParams,
|
|
238
|
+
UpdateSessionProxyParams,
|
|
237
239
|
)
|
|
238
240
|
from .sandbox import (
|
|
239
241
|
SandboxStatus,
|
|
@@ -246,6 +248,12 @@ from .sandbox import (
|
|
|
246
248
|
StartSandboxFromSnapshotParams,
|
|
247
249
|
SandboxListParams,
|
|
248
250
|
SandboxListResponse,
|
|
251
|
+
SandboxImageListResponse,
|
|
252
|
+
SandboxImageSummary,
|
|
253
|
+
SandboxSnapshotStatus,
|
|
254
|
+
SandboxSnapshotListResponse,
|
|
255
|
+
SandboxSnapshotSummary,
|
|
256
|
+
SandboxSnapshotListParams,
|
|
249
257
|
SandboxMemorySnapshotParams,
|
|
250
258
|
SandboxMemorySnapshotResult,
|
|
251
259
|
SandboxExposeParams,
|
|
@@ -479,6 +487,8 @@ __all__ = [
|
|
|
479
487
|
"UploadFileResponse",
|
|
480
488
|
"ImageCaptchaParam",
|
|
481
489
|
"UpdateSessionProfileParams",
|
|
490
|
+
"UpdateSessionProxyLocationParams",
|
|
491
|
+
"UpdateSessionProxyParams",
|
|
482
492
|
# sandbox
|
|
483
493
|
"SandboxStatus",
|
|
484
494
|
"SandboxRegion",
|
|
@@ -490,6 +500,12 @@ __all__ = [
|
|
|
490
500
|
"StartSandboxFromSnapshotParams",
|
|
491
501
|
"SandboxListParams",
|
|
492
502
|
"SandboxListResponse",
|
|
503
|
+
"SandboxImageListResponse",
|
|
504
|
+
"SandboxImageSummary",
|
|
505
|
+
"SandboxSnapshotStatus",
|
|
506
|
+
"SandboxSnapshotListResponse",
|
|
507
|
+
"SandboxSnapshotSummary",
|
|
508
|
+
"SandboxSnapshotListParams",
|
|
493
509
|
"SandboxMemorySnapshotParams",
|
|
494
510
|
"SandboxMemorySnapshotResult",
|
|
495
511
|
"SandboxExposeParams",
|
|
@@ -23,6 +23,7 @@ SandboxProcessStatus = Literal[
|
|
|
23
23
|
"killed",
|
|
24
24
|
"timed_out",
|
|
25
25
|
]
|
|
26
|
+
SandboxSnapshotStatus = Literal["creating", "created", "failed"]
|
|
26
27
|
SandboxFileType = Literal["file", "dir"]
|
|
27
28
|
SandboxFileEncoding = Literal["utf8", "base64"]
|
|
28
29
|
SandboxFileReadFormat = Literal["text", "bytes", "blob", "stream"]
|
|
@@ -164,10 +165,9 @@ class StartSandboxFromSnapshotParams(CreateSandboxParams):
|
|
|
164
165
|
|
|
165
166
|
|
|
166
167
|
class SandboxListParams(SandboxBaseModel):
|
|
167
|
-
status: Optional[SandboxStatus] = None
|
|
168
|
-
page:
|
|
169
|
-
limit:
|
|
170
|
-
search: Optional[str] = None
|
|
168
|
+
status: Optional[SandboxStatus] = Field(default=None, exclude=None)
|
|
169
|
+
page: int = Field(default=1, ge=1)
|
|
170
|
+
limit: int = Field(default=10, ge=1)
|
|
171
171
|
|
|
172
172
|
|
|
173
173
|
class SandboxListResponse(SandboxBaseModel):
|
|
@@ -177,6 +177,51 @@ class SandboxListResponse(SandboxBaseModel):
|
|
|
177
177
|
per_page: int = Field(alias="perPage")
|
|
178
178
|
|
|
179
179
|
|
|
180
|
+
class SandboxImageSummary(SandboxBaseModel):
|
|
181
|
+
id: str
|
|
182
|
+
image_name: str = Field(alias="imageName")
|
|
183
|
+
namespace: str
|
|
184
|
+
uploaded: bool
|
|
185
|
+
created_at: datetime = Field(alias="createdAt")
|
|
186
|
+
updated_at: datetime = Field(alias="updatedAt")
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
class SandboxImageListResponse(SandboxBaseModel):
|
|
190
|
+
images: List[SandboxImageSummary]
|
|
191
|
+
# TODO: add pagination metadata when /api/images supports it.
|
|
192
|
+
# total_count: Optional[int] = Field(default=None, alias="totalCount")
|
|
193
|
+
# page: Optional[int] = None
|
|
194
|
+
# per_page: Optional[int] = Field(default=None, alias="perPage")
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
class SandboxSnapshotSummary(SandboxBaseModel):
|
|
198
|
+
id: str
|
|
199
|
+
snapshot_name: str = Field(alias="snapshotName")
|
|
200
|
+
namespace: str
|
|
201
|
+
image_namespace: str = Field(alias="imageNamespace")
|
|
202
|
+
image_name: str = Field(alias="imageName")
|
|
203
|
+
image_id: str = Field(alias="imageId")
|
|
204
|
+
status: SandboxSnapshotStatus
|
|
205
|
+
compatibility_tag: Optional[str] = Field(default=None, alias="compatibilityTag")
|
|
206
|
+
metadata: Dict[str, object]
|
|
207
|
+
uploaded: bool
|
|
208
|
+
created_at: datetime = Field(alias="createdAt")
|
|
209
|
+
updated_at: datetime = Field(alias="updatedAt")
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
class SandboxSnapshotListParams(SandboxBaseModel):
|
|
213
|
+
status: Optional[SandboxSnapshotStatus] = Field(default=None, exclude=None)
|
|
214
|
+
limit: Optional[int] = Field(default=None, ge=1)
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
class SandboxSnapshotListResponse(SandboxBaseModel):
|
|
218
|
+
snapshots: List[SandboxSnapshotSummary]
|
|
219
|
+
# TODO: add pagination metadata when /api/snapshots supports it.
|
|
220
|
+
# total_count: Optional[int] = Field(default=None, alias="totalCount")
|
|
221
|
+
# page: Optional[int] = None
|
|
222
|
+
# per_page: Optional[int] = Field(default=None, alias="perPage")
|
|
223
|
+
|
|
224
|
+
|
|
180
225
|
class SandboxMemorySnapshotParams(SandboxBaseModel):
|
|
181
226
|
snapshot_name: Optional[str] = Field(
|
|
182
227
|
default=None, serialization_alias="snapshotName"
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
from typing import Any, List, Literal, Optional, Union, Dict
|
|
3
|
-
from .computer_action import ComputerActionParams, ComputerActionResponse
|
|
4
3
|
|
|
5
4
|
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
6
5
|
|
|
@@ -70,6 +69,37 @@ class UpdateSessionProfileParams(BaseModel):
|
|
|
70
69
|
)
|
|
71
70
|
|
|
72
71
|
|
|
72
|
+
class UpdateSessionProxyLocationParams(BaseModel):
|
|
73
|
+
"""
|
|
74
|
+
Managed proxy geolocation overrides for a running session.
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
model_config = ConfigDict(
|
|
78
|
+
populate_by_alias=True,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
country: Optional[Country] = Field(default=None, serialization_alias="country")
|
|
82
|
+
state: Optional[State] = Field(default=None, serialization_alias="state")
|
|
83
|
+
city: Optional[str] = Field(default=None, serialization_alias="city")
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class UpdateSessionProxyParams(BaseModel):
|
|
87
|
+
"""
|
|
88
|
+
Parameters for enabling, disabling, or reconfiguring a session proxy.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
model_config = ConfigDict(
|
|
92
|
+
populate_by_alias=True,
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
enabled: bool = Field(serialization_alias="enabled")
|
|
96
|
+
static_ip_id: Optional[str] = Field(default=None, serialization_alias="staticIpId")
|
|
97
|
+
location: Optional[UpdateSessionProxyLocationParams] = Field(
|
|
98
|
+
default=None,
|
|
99
|
+
serialization_alias="location",
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
|
|
73
103
|
class SessionLaunchState(BaseModel):
|
|
74
104
|
model_config = ConfigDict(
|
|
75
105
|
populate_by_alias=True,
|
|
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.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/team.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/async_manager/web/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sandboxes/__init__.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sandboxes/shared.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/team.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/client/managers/sync_manager/web/crawl.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/agents/claude_computer_use.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.86.0 → hyperbrowser-0.88.0}/hyperbrowser/models/agents/gemini_computer_use.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|