hyperbrowser 0.85.0__tar.gz → 0.87.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.85.0 → hyperbrowser-0.87.0}/PKG-INFO +1 -1
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/sandbox.py +33 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_files.py +17 -6
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/sandbox.py +33 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_files.py +17 -6
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/__init__.py +12 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/sandbox.py +49 -4
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/pyproject.toml +1 -1
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/LICENSE +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/README.md +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/async_client.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/base.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/agents/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/computer_action.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/session.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/team.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/web/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/web/crawl.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sandboxes/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sandboxes/shared.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/computer_action.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/session.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/web/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/web/crawl.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/sync.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/config.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/exceptions.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/agents/browser_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/agents/claude_computer_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/agents/cua.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/agents/hyper_agent.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/computer_action.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/consts.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/crawl.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/extension.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/extract.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/profile.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/scrape.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/session.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/team.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/web/batch_fetch.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/web/common.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/web/crawl.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/web/fetch.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/web/search.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/sandbox_common.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/tools/__init__.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/tools/anthropic.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/tools/openai.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/tools/schema.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/transport/async_transport.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/transport/base.py +0 -0
- {hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/transport/sync.py +0 -0
{hyperbrowser-0.85.0 → hyperbrowser-0.87.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)
|
|
@@ -18,6 +18,7 @@ from .....models.sandbox import (
|
|
|
18
18
|
SandboxFileCopyParams,
|
|
19
19
|
SandboxFileDeleteParams,
|
|
20
20
|
SandboxFileInfo,
|
|
21
|
+
SandboxFileMoveParams,
|
|
21
22
|
SandboxFileReadResult,
|
|
22
23
|
SandboxFileSystemEvent,
|
|
23
24
|
SandboxFileWriteEntry,
|
|
@@ -461,14 +462,24 @@ class SandboxFilesApi:
|
|
|
461
462
|
) -> bool:
|
|
462
463
|
return await self.make_dir(path, parents=parents, mode=mode)
|
|
463
464
|
|
|
464
|
-
async def rename(
|
|
465
|
+
async def rename(
|
|
466
|
+
self,
|
|
467
|
+
old_path: str,
|
|
468
|
+
new_path: str,
|
|
469
|
+
*,
|
|
470
|
+
overwrite: Optional[bool] = None,
|
|
471
|
+
) -> SandboxFileInfo:
|
|
472
|
+
payload = SandboxFileMoveParams(
|
|
473
|
+
source=old_path,
|
|
474
|
+
destination=new_path,
|
|
475
|
+
overwrite=overwrite,
|
|
476
|
+
).model_dump(exclude_none=True)
|
|
477
|
+
payload["from"] = payload.pop("source")
|
|
478
|
+
payload["to"] = payload.pop("destination")
|
|
465
479
|
payload = await self._transport.request_json(
|
|
466
480
|
"/sandbox/files/move",
|
|
467
481
|
method="POST",
|
|
468
|
-
json_body=
|
|
469
|
-
"from": old_path,
|
|
470
|
-
"to": new_path,
|
|
471
|
-
},
|
|
482
|
+
json_body=payload,
|
|
472
483
|
headers={"content-type": "application/json"},
|
|
473
484
|
)
|
|
474
485
|
return _normalize_file_info(payload["entry"])
|
|
@@ -480,7 +491,7 @@ class SandboxFilesApi:
|
|
|
480
491
|
destination: str,
|
|
481
492
|
overwrite: Optional[bool] = None,
|
|
482
493
|
) -> SandboxFileInfo:
|
|
483
|
-
return await self.rename(source, destination)
|
|
494
|
+
return await self.rename(source, destination, overwrite=overwrite)
|
|
484
495
|
|
|
485
496
|
async def remove(self, path: str, *, recursive: Optional[bool] = None) -> None:
|
|
486
497
|
await self._transport.request_json(
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.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)
|
|
@@ -17,6 +17,7 @@ from .....models.sandbox import (
|
|
|
17
17
|
SandboxFileCopyParams,
|
|
18
18
|
SandboxFileDeleteParams,
|
|
19
19
|
SandboxFileInfo,
|
|
20
|
+
SandboxFileMoveParams,
|
|
20
21
|
SandboxFileReadResult,
|
|
21
22
|
SandboxFileSystemEvent,
|
|
22
23
|
SandboxFileWriteEntry,
|
|
@@ -442,14 +443,24 @@ class SandboxFilesApi:
|
|
|
442
443
|
) -> bool:
|
|
443
444
|
return self.make_dir(path, parents=parents, mode=mode)
|
|
444
445
|
|
|
445
|
-
def rename(
|
|
446
|
+
def rename(
|
|
447
|
+
self,
|
|
448
|
+
old_path: str,
|
|
449
|
+
new_path: str,
|
|
450
|
+
*,
|
|
451
|
+
overwrite: Optional[bool] = None,
|
|
452
|
+
) -> SandboxFileInfo:
|
|
453
|
+
payload = SandboxFileMoveParams(
|
|
454
|
+
source=old_path,
|
|
455
|
+
destination=new_path,
|
|
456
|
+
overwrite=overwrite,
|
|
457
|
+
).model_dump(exclude_none=True)
|
|
458
|
+
payload["from"] = payload.pop("source")
|
|
459
|
+
payload["to"] = payload.pop("destination")
|
|
446
460
|
payload = self._transport.request_json(
|
|
447
461
|
"/sandbox/files/move",
|
|
448
462
|
method="POST",
|
|
449
|
-
json_body=
|
|
450
|
-
"from": old_path,
|
|
451
|
-
"to": new_path,
|
|
452
|
-
},
|
|
463
|
+
json_body=payload,
|
|
453
464
|
headers={"content-type": "application/json"},
|
|
454
465
|
)
|
|
455
466
|
return _normalize_file_info(payload["entry"])
|
|
@@ -461,7 +472,7 @@ class SandboxFilesApi:
|
|
|
461
472
|
destination: str,
|
|
462
473
|
overwrite: Optional[bool] = None,
|
|
463
474
|
) -> SandboxFileInfo:
|
|
464
|
-
return self.rename(source, destination)
|
|
475
|
+
return self.rename(source, destination, overwrite=overwrite)
|
|
465
476
|
|
|
466
477
|
def remove(self, path: str, *, recursive: Optional[bool] = None) -> None:
|
|
467
478
|
self._transport.request_json(
|
|
@@ -246,6 +246,12 @@ from .sandbox import (
|
|
|
246
246
|
StartSandboxFromSnapshotParams,
|
|
247
247
|
SandboxListParams,
|
|
248
248
|
SandboxListResponse,
|
|
249
|
+
SandboxImageListResponse,
|
|
250
|
+
SandboxImageSummary,
|
|
251
|
+
SandboxSnapshotStatus,
|
|
252
|
+
SandboxSnapshotListResponse,
|
|
253
|
+
SandboxSnapshotSummary,
|
|
254
|
+
SandboxSnapshotListParams,
|
|
249
255
|
SandboxMemorySnapshotParams,
|
|
250
256
|
SandboxMemorySnapshotResult,
|
|
251
257
|
SandboxExposeParams,
|
|
@@ -490,6 +496,12 @@ __all__ = [
|
|
|
490
496
|
"StartSandboxFromSnapshotParams",
|
|
491
497
|
"SandboxListParams",
|
|
492
498
|
"SandboxListResponse",
|
|
499
|
+
"SandboxImageListResponse",
|
|
500
|
+
"SandboxImageSummary",
|
|
501
|
+
"SandboxSnapshotStatus",
|
|
502
|
+
"SandboxSnapshotListResponse",
|
|
503
|
+
"SandboxSnapshotSummary",
|
|
504
|
+
"SandboxSnapshotListParams",
|
|
493
505
|
"SandboxMemorySnapshotParams",
|
|
494
506
|
"SandboxMemorySnapshotResult",
|
|
495
507
|
"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"
|
|
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.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/session.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/team.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/async_manager/web/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sandboxes/__init__.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sandboxes/shared.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/session.py
RENAMED
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.0}/hyperbrowser/client/managers/sync_manager/team.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.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.85.0 → hyperbrowser-0.87.0}/hyperbrowser/models/agents/claude_computer_use.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-0.85.0 → hyperbrowser-0.87.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
|
|
File without changes
|