hyperbrowser 1.4.1__tar.gz → 1.4.3__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-1.4.1 → hyperbrowser-1.4.3}/PKG-INFO +1 -1
- {hyperbrowser-1.4.1/hyperbrowser/client/managers/sync_manager → hyperbrowser-1.4.3/hyperbrowser/client/managers/async_manager}/agents/__init__.py +2 -0
- hyperbrowser-1.4.3/hyperbrowser/client/managers/async_manager/agents/meta_computer_use.py +84 -0
- {hyperbrowser-1.4.1/hyperbrowser/client/managers/async_manager → hyperbrowser-1.4.3/hyperbrowser/client/managers/sync_manager}/agents/__init__.py +2 -0
- hyperbrowser-1.4.3/hyperbrowser/client/managers/sync_manager/agents/meta_computer_use.py +84 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/__init__.py +28 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/agents/claude_computer_use.py +4 -1
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/agents/cua.py +4 -1
- hyperbrowser-1.4.3/hyperbrowser/models/agents/meta_computer_use.py +165 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/consts.py +29 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/__init__.py +4 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/agents.py +30 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/pyproject.toml +1 -1
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/LICENSE +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/README.md +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/__init__.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/_request.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/async_client.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/base.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/agents/grok_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/computer_action.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/sandbox.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_files.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/session.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/team.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/volume.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/web/__init__.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/web/crawl.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/__init__.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/dockerfile_analysis.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/dockerignore.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/image_build.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/shared.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/agents/grok_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/computer_action.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/sandbox.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_files.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/session.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/volume.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/web/__init__.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/web/crawl.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/sync.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/config.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/exceptions.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/_parsers.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/agents/browser_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/agents/grok_computer_use.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/agents/hyper_agent.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/computer_action.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/crawl.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/extension.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/extract.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/profile.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/sandbox.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/scrape.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/session.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/team.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/volume.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/web/batch_fetch.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/web/branding.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/web/common.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/web/crawl.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/web/fetch.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/models/web/search.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/py.typed +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/sandbox_common.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/tools/__init__.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/tools/anthropic.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/tools/openai.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/tools/schema.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/transport/async_transport.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/transport/base.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/transport/sync.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/_json.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/computer_action.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/crawl.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/extension.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/extract.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/profile.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/sandbox.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/scrape.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/session.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/volume.py +0 -0
- {hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/types/web.py +0 -0
|
@@ -4,6 +4,7 @@ from .claude_computer_use import ClaudeComputerUseManager
|
|
|
4
4
|
from .hyper_agent import HyperAgentManager
|
|
5
5
|
from .gemini_computer_use import GeminiComputerUseManager
|
|
6
6
|
from .grok_computer_use import GrokComputerUseManager
|
|
7
|
+
from .meta_computer_use import MetaComputerUseManager
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class Agents:
|
|
@@ -14,3 +15,4 @@ class Agents:
|
|
|
14
15
|
self.hyper_agent = HyperAgentManager(client)
|
|
15
16
|
self.gemini_computer_use = GeminiComputerUseManager(client)
|
|
16
17
|
self.grok_computer_use = GrokComputerUseManager(client)
|
|
18
|
+
self.meta_computer_use = MetaComputerUseManager(client)
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
from typing import Union
|
|
3
|
+
|
|
4
|
+
from hyperbrowser.client._request import dump_request
|
|
5
|
+
from hyperbrowser.exceptions import HyperbrowserError
|
|
6
|
+
from hyperbrowser.types import (
|
|
7
|
+
StartMetaComputerUseTaskParams as StartMetaComputerUseTaskParamsDict,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from .....models import (
|
|
11
|
+
POLLING_ATTEMPTS,
|
|
12
|
+
BasicResponse,
|
|
13
|
+
MetaComputerUseTaskResponse,
|
|
14
|
+
MetaComputerUseTaskStatusResponse,
|
|
15
|
+
StartMetaComputerUseTaskParams,
|
|
16
|
+
StartMetaComputerUseTaskResponse,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class MetaComputerUseManager:
|
|
21
|
+
def __init__(self, client):
|
|
22
|
+
self._client = client
|
|
23
|
+
|
|
24
|
+
async def start(
|
|
25
|
+
self,
|
|
26
|
+
params: Union[
|
|
27
|
+
StartMetaComputerUseTaskParamsDict,
|
|
28
|
+
StartMetaComputerUseTaskParams,
|
|
29
|
+
],
|
|
30
|
+
) -> StartMetaComputerUseTaskResponse:
|
|
31
|
+
response = await self._client.transport.post(
|
|
32
|
+
self._client._build_url("/task/meta-computer-use"),
|
|
33
|
+
data=dump_request(params, StartMetaComputerUseTaskParams),
|
|
34
|
+
)
|
|
35
|
+
return StartMetaComputerUseTaskResponse(**response.data)
|
|
36
|
+
|
|
37
|
+
async def get(self, job_id: str) -> MetaComputerUseTaskResponse:
|
|
38
|
+
response = await self._client.transport.get(
|
|
39
|
+
self._client._build_url(f"/task/meta-computer-use/{job_id}")
|
|
40
|
+
)
|
|
41
|
+
return MetaComputerUseTaskResponse(**response.data)
|
|
42
|
+
|
|
43
|
+
async def get_status(self, job_id: str) -> MetaComputerUseTaskStatusResponse:
|
|
44
|
+
response = await self._client.transport.get(
|
|
45
|
+
self._client._build_url(f"/task/meta-computer-use/{job_id}/status")
|
|
46
|
+
)
|
|
47
|
+
return MetaComputerUseTaskStatusResponse(**response.data)
|
|
48
|
+
|
|
49
|
+
async def stop(self, job_id: str) -> BasicResponse:
|
|
50
|
+
response = await self._client.transport.put(
|
|
51
|
+
self._client._build_url(f"/task/meta-computer-use/{job_id}/stop")
|
|
52
|
+
)
|
|
53
|
+
return BasicResponse(**response.data)
|
|
54
|
+
|
|
55
|
+
async def start_and_wait(
|
|
56
|
+
self,
|
|
57
|
+
params: Union[
|
|
58
|
+
StartMetaComputerUseTaskParamsDict,
|
|
59
|
+
StartMetaComputerUseTaskParams,
|
|
60
|
+
],
|
|
61
|
+
) -> MetaComputerUseTaskResponse:
|
|
62
|
+
job_start_resp = await self.start(params)
|
|
63
|
+
job_id = job_start_resp.job_id
|
|
64
|
+
if not job_id:
|
|
65
|
+
raise HyperbrowserError("Failed to start Meta Computer Use task job")
|
|
66
|
+
|
|
67
|
+
failures = 0
|
|
68
|
+
while True:
|
|
69
|
+
try:
|
|
70
|
+
job_response = await self.get_status(job_id)
|
|
71
|
+
if (
|
|
72
|
+
job_response.status == "completed"
|
|
73
|
+
or job_response.status == "failed"
|
|
74
|
+
or job_response.status == "stopped"
|
|
75
|
+
):
|
|
76
|
+
return await self.get(job_id)
|
|
77
|
+
failures = 0
|
|
78
|
+
except Exception as e:
|
|
79
|
+
failures += 1
|
|
80
|
+
if failures >= POLLING_ATTEMPTS:
|
|
81
|
+
raise HyperbrowserError(
|
|
82
|
+
f"Failed to poll Meta Computer Use task job {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
83
|
+
)
|
|
84
|
+
await asyncio.sleep(2)
|
|
@@ -4,6 +4,7 @@ from .claude_computer_use import ClaudeComputerUseManager
|
|
|
4
4
|
from .hyper_agent import HyperAgentManager
|
|
5
5
|
from .gemini_computer_use import GeminiComputerUseManager
|
|
6
6
|
from .grok_computer_use import GrokComputerUseManager
|
|
7
|
+
from .meta_computer_use import MetaComputerUseManager
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class Agents:
|
|
@@ -14,3 +15,4 @@ class Agents:
|
|
|
14
15
|
self.hyper_agent = HyperAgentManager(client)
|
|
15
16
|
self.gemini_computer_use = GeminiComputerUseManager(client)
|
|
16
17
|
self.grok_computer_use = GrokComputerUseManager(client)
|
|
18
|
+
self.meta_computer_use = MetaComputerUseManager(client)
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import time
|
|
2
|
+
from typing import Union
|
|
3
|
+
|
|
4
|
+
from hyperbrowser.client._request import dump_request
|
|
5
|
+
from hyperbrowser.exceptions import HyperbrowserError
|
|
6
|
+
from hyperbrowser.types import (
|
|
7
|
+
StartMetaComputerUseTaskParams as StartMetaComputerUseTaskParamsDict,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from .....models import (
|
|
11
|
+
POLLING_ATTEMPTS,
|
|
12
|
+
BasicResponse,
|
|
13
|
+
MetaComputerUseTaskResponse,
|
|
14
|
+
MetaComputerUseTaskStatusResponse,
|
|
15
|
+
StartMetaComputerUseTaskParams,
|
|
16
|
+
StartMetaComputerUseTaskResponse,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class MetaComputerUseManager:
|
|
21
|
+
def __init__(self, client):
|
|
22
|
+
self._client = client
|
|
23
|
+
|
|
24
|
+
def start(
|
|
25
|
+
self,
|
|
26
|
+
params: Union[
|
|
27
|
+
StartMetaComputerUseTaskParamsDict,
|
|
28
|
+
StartMetaComputerUseTaskParams,
|
|
29
|
+
],
|
|
30
|
+
) -> StartMetaComputerUseTaskResponse:
|
|
31
|
+
response = self._client.transport.post(
|
|
32
|
+
self._client._build_url("/task/meta-computer-use"),
|
|
33
|
+
data=dump_request(params, StartMetaComputerUseTaskParams),
|
|
34
|
+
)
|
|
35
|
+
return StartMetaComputerUseTaskResponse(**response.data)
|
|
36
|
+
|
|
37
|
+
def get(self, job_id: str) -> MetaComputerUseTaskResponse:
|
|
38
|
+
response = self._client.transport.get(
|
|
39
|
+
self._client._build_url(f"/task/meta-computer-use/{job_id}")
|
|
40
|
+
)
|
|
41
|
+
return MetaComputerUseTaskResponse(**response.data)
|
|
42
|
+
|
|
43
|
+
def get_status(self, job_id: str) -> MetaComputerUseTaskStatusResponse:
|
|
44
|
+
response = self._client.transport.get(
|
|
45
|
+
self._client._build_url(f"/task/meta-computer-use/{job_id}/status")
|
|
46
|
+
)
|
|
47
|
+
return MetaComputerUseTaskStatusResponse(**response.data)
|
|
48
|
+
|
|
49
|
+
def stop(self, job_id: str) -> BasicResponse:
|
|
50
|
+
response = self._client.transport.put(
|
|
51
|
+
self._client._build_url(f"/task/meta-computer-use/{job_id}/stop")
|
|
52
|
+
)
|
|
53
|
+
return BasicResponse(**response.data)
|
|
54
|
+
|
|
55
|
+
def start_and_wait(
|
|
56
|
+
self,
|
|
57
|
+
params: Union[
|
|
58
|
+
StartMetaComputerUseTaskParamsDict,
|
|
59
|
+
StartMetaComputerUseTaskParams,
|
|
60
|
+
],
|
|
61
|
+
) -> MetaComputerUseTaskResponse:
|
|
62
|
+
job_start_resp = self.start(params)
|
|
63
|
+
job_id = job_start_resp.job_id
|
|
64
|
+
if not job_id:
|
|
65
|
+
raise HyperbrowserError("Failed to start Meta Computer Use task job")
|
|
66
|
+
|
|
67
|
+
failures = 0
|
|
68
|
+
while True:
|
|
69
|
+
try:
|
|
70
|
+
job_response = self.get_status(job_id)
|
|
71
|
+
if (
|
|
72
|
+
job_response.status == "completed"
|
|
73
|
+
or job_response.status == "failed"
|
|
74
|
+
or job_response.status == "stopped"
|
|
75
|
+
):
|
|
76
|
+
return self.get(job_id)
|
|
77
|
+
failures = 0
|
|
78
|
+
except Exception as e:
|
|
79
|
+
failures += 1
|
|
80
|
+
if failures >= POLLING_ATTEMPTS:
|
|
81
|
+
raise HyperbrowserError(
|
|
82
|
+
f"Failed to poll Meta Computer Use task job {job_id} after {POLLING_ATTEMPTS} attempts: {e}"
|
|
83
|
+
)
|
|
84
|
+
time.sleep(2)
|
|
@@ -127,6 +127,17 @@ from .agents.grok_computer_use import (
|
|
|
127
127
|
StartGrokComputerUseTaskResponse,
|
|
128
128
|
GrokComputerUseApiKeys,
|
|
129
129
|
)
|
|
130
|
+
from .agents.meta_computer_use import (
|
|
131
|
+
MetaComputerUseTaskStatus,
|
|
132
|
+
MetaComputerUseStepReasoning,
|
|
133
|
+
MetaComputerUseStepResponse,
|
|
134
|
+
MetaComputerUseTaskData,
|
|
135
|
+
MetaComputerUseTaskResponse,
|
|
136
|
+
MetaComputerUseTaskStatusResponse,
|
|
137
|
+
StartMetaComputerUseTaskParams,
|
|
138
|
+
StartMetaComputerUseTaskResponse,
|
|
139
|
+
MetaComputerUseApiKeys,
|
|
140
|
+
)
|
|
130
141
|
from .agents.cua import (
|
|
131
142
|
CuaTaskData,
|
|
132
143
|
CuaTaskResponse,
|
|
@@ -157,9 +168,13 @@ from .consts import (
|
|
|
157
168
|
HyperAgentLlm,
|
|
158
169
|
BrowserUseLlm,
|
|
159
170
|
ClaudeComputerUseLlm,
|
|
171
|
+
ClaudeComputerUseReasoningEffort,
|
|
160
172
|
CuaLlm,
|
|
173
|
+
CuaReasoningEffort,
|
|
161
174
|
GrokComputerUseLlm,
|
|
162
175
|
GrokReasoningEffort,
|
|
176
|
+
MetaComputerUseLlm,
|
|
177
|
+
MetaReasoningEffort,
|
|
163
178
|
Country,
|
|
164
179
|
DownloadsStatus,
|
|
165
180
|
FetchScreenshotFormat,
|
|
@@ -415,7 +430,9 @@ __all__ = [
|
|
|
415
430
|
"HyperAgentLlm",
|
|
416
431
|
"BrowserUseLlm",
|
|
417
432
|
"ClaudeComputerUseLlm",
|
|
433
|
+
"ClaudeComputerUseReasoningEffort",
|
|
418
434
|
"CuaLlm",
|
|
435
|
+
"CuaReasoningEffort",
|
|
419
436
|
"Country",
|
|
420
437
|
"DownloadsStatus",
|
|
421
438
|
"FetchScreenshotFormat",
|
|
@@ -496,6 +513,14 @@ __all__ = [
|
|
|
496
513
|
"GrokComputerUseTaskStatusResponse",
|
|
497
514
|
"StartGrokComputerUseTaskParams",
|
|
498
515
|
"StartGrokComputerUseTaskResponse",
|
|
516
|
+
"MetaComputerUseTaskStatus",
|
|
517
|
+
"MetaComputerUseStepReasoning",
|
|
518
|
+
"MetaComputerUseStepResponse",
|
|
519
|
+
"MetaComputerUseTaskData",
|
|
520
|
+
"MetaComputerUseTaskResponse",
|
|
521
|
+
"MetaComputerUseTaskStatusResponse",
|
|
522
|
+
"StartMetaComputerUseTaskParams",
|
|
523
|
+
"StartMetaComputerUseTaskResponse",
|
|
499
524
|
"CuaTaskStatus",
|
|
500
525
|
"CuaTaskData",
|
|
501
526
|
"CuaTaskResponse",
|
|
@@ -506,11 +531,14 @@ __all__ = [
|
|
|
506
531
|
"ClaudeComputerUseApiKeys",
|
|
507
532
|
"GeminiComputerUseApiKeys",
|
|
508
533
|
"GrokComputerUseApiKeys",
|
|
534
|
+
"MetaComputerUseApiKeys",
|
|
509
535
|
"CuaApiKeys",
|
|
510
536
|
"CuaBaseUrls",
|
|
511
537
|
"HyperAgentApiKeys",
|
|
512
538
|
"GrokComputerUseLlm",
|
|
513
539
|
"GrokReasoningEffort",
|
|
540
|
+
"MetaComputerUseLlm",
|
|
541
|
+
"MetaReasoningEffort",
|
|
514
542
|
"HyperAgentOutputV110",
|
|
515
543
|
"HyperAgentStepV110",
|
|
516
544
|
# crawl
|
|
@@ -5,7 +5,7 @@ from typing import Any, List, Literal, Optional
|
|
|
5
5
|
from pydantic import BaseModel, ConfigDict, Field
|
|
6
6
|
|
|
7
7
|
from ..session import CreateSessionParams
|
|
8
|
-
from ..consts import ClaudeComputerUseLlm
|
|
8
|
+
from ..consts import ClaudeComputerUseLlm, ClaudeComputerUseReasoningEffort
|
|
9
9
|
|
|
10
10
|
ClaudeComputerUseTaskStatus = Literal[
|
|
11
11
|
"pending", "running", "completed", "failed", "stopped"
|
|
@@ -35,6 +35,9 @@ class StartClaudeComputerUseTaskParams(BaseModel):
|
|
|
35
35
|
|
|
36
36
|
task: str
|
|
37
37
|
llm: Optional[ClaudeComputerUseLlm] = Field(default=None, serialization_alias="llm")
|
|
38
|
+
reasoning_effort: Optional[ClaudeComputerUseReasoningEffort] = Field(
|
|
39
|
+
default=None, serialization_alias="reasoningEffort"
|
|
40
|
+
)
|
|
38
41
|
session_id: Optional[str] = Field(default=None, serialization_alias="sessionId")
|
|
39
42
|
max_failures: Optional[int] = Field(default=None, serialization_alias="maxFailures")
|
|
40
43
|
max_steps: Optional[int] = Field(default=None, serialization_alias="maxSteps")
|
|
@@ -4,7 +4,7 @@ from typing import Any, List, Literal, Optional
|
|
|
4
4
|
|
|
5
5
|
from pydantic import BaseModel, ConfigDict, Field
|
|
6
6
|
|
|
7
|
-
from ..consts import CuaLlm
|
|
7
|
+
from ..consts import CuaLlm, CuaReasoningEffort
|
|
8
8
|
from ..session import CreateSessionParams
|
|
9
9
|
|
|
10
10
|
CuaTaskStatus = Literal["pending", "running", "completed", "failed", "stopped"]
|
|
@@ -45,6 +45,9 @@ class StartCuaTaskParams(BaseModel):
|
|
|
45
45
|
|
|
46
46
|
task: str
|
|
47
47
|
llm: Optional[CuaLlm] = Field(default=None, serialization_alias="llm")
|
|
48
|
+
reasoning_effort: Optional[CuaReasoningEffort] = Field(
|
|
49
|
+
default=None, serialization_alias="reasoningEffort"
|
|
50
|
+
)
|
|
48
51
|
session_id: Optional[str] = Field(default=None, serialization_alias="sessionId")
|
|
49
52
|
max_failures: Optional[int] = Field(default=None, serialization_alias="maxFailures")
|
|
50
53
|
max_steps: Optional[int] = Field(default=None, serialization_alias="maxSteps")
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any, List, Literal, Optional
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
6
|
+
|
|
7
|
+
from .cua import CuaStepIncompleteDetails, CuaStepResponseError
|
|
8
|
+
from ..session import CreateSessionParams
|
|
9
|
+
from ..consts import MetaComputerUseLlm, MetaReasoningEffort
|
|
10
|
+
|
|
11
|
+
MetaComputerUseTaskStatus = Literal[
|
|
12
|
+
"pending", "running", "completed", "failed", "stopped"
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class MetaComputerUseApiKeys(BaseModel):
|
|
17
|
+
"""
|
|
18
|
+
API keys for the Meta Computer Use task.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
model_config = ConfigDict(
|
|
22
|
+
populate_by_alias=True,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
meta: Optional[str] = Field(default=None, serialization_alias="meta")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class StartMetaComputerUseTaskParams(BaseModel):
|
|
29
|
+
"""
|
|
30
|
+
Parameters for creating a new Meta Computer Use task.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
populate_by_alias=True,
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
task: str
|
|
38
|
+
llm: Optional[MetaComputerUseLlm] = Field(default=None, serialization_alias="llm")
|
|
39
|
+
reasoning_effort: Optional[MetaReasoningEffort] = Field(
|
|
40
|
+
default=None, serialization_alias="reasoningEffort"
|
|
41
|
+
)
|
|
42
|
+
session_id: Optional[str] = Field(default=None, serialization_alias="sessionId")
|
|
43
|
+
max_failures: Optional[int] = Field(default=None, serialization_alias="maxFailures")
|
|
44
|
+
max_steps: Optional[int] = Field(default=None, serialization_alias="maxSteps")
|
|
45
|
+
keep_browser_open: Optional[bool] = Field(
|
|
46
|
+
default=None, serialization_alias="keepBrowserOpen"
|
|
47
|
+
)
|
|
48
|
+
session_options: Optional[CreateSessionParams] = Field(
|
|
49
|
+
default=None, serialization_alias="sessionOptions"
|
|
50
|
+
)
|
|
51
|
+
use_custom_api_keys: Optional[bool] = Field(
|
|
52
|
+
default=None, serialization_alias="useCustomApiKeys"
|
|
53
|
+
)
|
|
54
|
+
api_keys: Optional[MetaComputerUseApiKeys] = Field(
|
|
55
|
+
default=None, serialization_alias="apiKeys"
|
|
56
|
+
)
|
|
57
|
+
use_computer_action: Optional[bool] = Field(
|
|
58
|
+
default=None, serialization_alias="useComputerAction"
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class StartMetaComputerUseTaskResponse(BaseModel):
|
|
63
|
+
"""
|
|
64
|
+
Response from starting a Meta Computer Use task.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
model_config = ConfigDict(
|
|
68
|
+
populate_by_alias=True,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
job_id: str = Field(alias="jobId")
|
|
72
|
+
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class MetaComputerUseTaskStatusResponse(BaseModel):
|
|
76
|
+
"""
|
|
77
|
+
Response from getting a Meta Computer Use task status.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
model_config = ConfigDict(
|
|
81
|
+
populate_by_alias=True,
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
status: MetaComputerUseTaskStatus
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class MetaComputerUseStepReasoning(BaseModel):
|
|
88
|
+
"""
|
|
89
|
+
Reasoning metadata on a compacted Meta Computer Use step.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
model_config = ConfigDict(
|
|
93
|
+
populate_by_alias=True,
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
effort: Optional[str] = Field(default=None, serialization_alias="effort")
|
|
97
|
+
summary: Optional[str] = Field(default=None, serialization_alias="summary")
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class MetaComputerUseStepResponse(BaseModel):
|
|
101
|
+
"""
|
|
102
|
+
Response from a single Meta Computer Use step.
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
model_config = ConfigDict(
|
|
106
|
+
populate_by_alias=True,
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
created_at: Optional[int] = Field(default=None, serialization_alias="created_at")
|
|
110
|
+
completed_at: Optional[int] = Field(
|
|
111
|
+
default=None, serialization_alias="completed_at"
|
|
112
|
+
)
|
|
113
|
+
output_text: Optional[str] = Field(default=None, serialization_alias="output_text")
|
|
114
|
+
error: Optional[CuaStepResponseError] = Field(
|
|
115
|
+
default=None, serialization_alias="error"
|
|
116
|
+
)
|
|
117
|
+
incomplete_details: Optional[CuaStepIncompleteDetails] = Field(
|
|
118
|
+
default=None, serialization_alias="incomplete_details"
|
|
119
|
+
)
|
|
120
|
+
model: Optional[str] = Field(default=None, serialization_alias="model")
|
|
121
|
+
output: Optional[List[Any]] = Field(default=None, serialization_alias="output")
|
|
122
|
+
reasoning: Optional[MetaComputerUseStepReasoning] = Field(
|
|
123
|
+
default=None, serialization_alias="reasoning"
|
|
124
|
+
)
|
|
125
|
+
status: Optional[str] = Field(default=None, serialization_alias="status")
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class MetaComputerUseTaskData(BaseModel):
|
|
129
|
+
model_config = ConfigDict(
|
|
130
|
+
populate_by_alias=True,
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
steps: List[MetaComputerUseStepResponse]
|
|
134
|
+
final_result: Optional[str] = Field(default=None, alias="finalResult")
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class MetaComputerUseTaskMetadata(BaseModel):
|
|
138
|
+
model_config = ConfigDict(
|
|
139
|
+
populate_by_alias=True,
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
input_tokens: Optional[int] = Field(default=None, alias="inputTokens")
|
|
143
|
+
output_tokens: Optional[int] = Field(default=None, alias="outputTokens")
|
|
144
|
+
num_task_steps_completed: Optional[int] = Field(
|
|
145
|
+
default=None, alias="numTaskStepsCompleted"
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class MetaComputerUseTaskResponse(BaseModel):
|
|
150
|
+
"""
|
|
151
|
+
Response from a Meta Computer Use task.
|
|
152
|
+
"""
|
|
153
|
+
|
|
154
|
+
model_config = ConfigDict(
|
|
155
|
+
populate_by_alias=True,
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
job_id: str = Field(alias="jobId")
|
|
159
|
+
status: MetaComputerUseTaskStatus
|
|
160
|
+
metadata: Optional[MetaComputerUseTaskMetadata] = Field(
|
|
161
|
+
default=None, alias="metadata"
|
|
162
|
+
)
|
|
163
|
+
data: Optional[MetaComputerUseTaskData] = Field(default=None, alias="data")
|
|
164
|
+
error: Optional[str] = Field(default=None, alias="error")
|
|
165
|
+
live_url: Optional[str] = Field(default=None, alias="liveUrl")
|
|
@@ -81,8 +81,16 @@ ClaudeComputerUseLlm = Literal[
|
|
|
81
81
|
"claude-sonnet-4-20250514",
|
|
82
82
|
"claude-3-7-sonnet-20250219",
|
|
83
83
|
]
|
|
84
|
+
ClaudeComputerUseReasoningEffort = Literal[
|
|
85
|
+
"low",
|
|
86
|
+
"medium",
|
|
87
|
+
"high",
|
|
88
|
+
"xhigh",
|
|
89
|
+
"max",
|
|
90
|
+
]
|
|
84
91
|
CuaLlm = Literal[
|
|
85
92
|
"computer-use-preview",
|
|
93
|
+
"gpt-6-astra",
|
|
86
94
|
"gpt-5.6-sol",
|
|
87
95
|
"gpt-5.6-terra",
|
|
88
96
|
"gpt-5.6-luna",
|
|
@@ -90,6 +98,14 @@ CuaLlm = Literal[
|
|
|
90
98
|
"gpt-5.4",
|
|
91
99
|
"gpt-5.4-mini",
|
|
92
100
|
]
|
|
101
|
+
CuaReasoningEffort = Literal[
|
|
102
|
+
"none",
|
|
103
|
+
"low",
|
|
104
|
+
"medium",
|
|
105
|
+
"high",
|
|
106
|
+
"xhigh",
|
|
107
|
+
"max",
|
|
108
|
+
]
|
|
93
109
|
GeminiComputerUseLlm = Literal[
|
|
94
110
|
"gemini-3.8-flash",
|
|
95
111
|
"gemini-3.7-flash",
|
|
@@ -105,6 +121,19 @@ GrokReasoningEffort = Literal[
|
|
|
105
121
|
"medium",
|
|
106
122
|
"high",
|
|
107
123
|
]
|
|
124
|
+
MetaComputerUseLlm = Literal[
|
|
125
|
+
"muse-spark-1.1",
|
|
126
|
+
"muse-spark-1.2",
|
|
127
|
+
"muse-spark-1.3",
|
|
128
|
+
]
|
|
129
|
+
MetaReasoningEffort = Literal[
|
|
130
|
+
"minimal",
|
|
131
|
+
"low",
|
|
132
|
+
"medium",
|
|
133
|
+
"high",
|
|
134
|
+
"xhigh",
|
|
135
|
+
"max",
|
|
136
|
+
]
|
|
108
137
|
SessionRegion = Literal[
|
|
109
138
|
"us",
|
|
110
139
|
"us-central",
|
|
@@ -20,12 +20,14 @@ from .agents import (
|
|
|
20
20
|
GeminiComputerUseApiKeys,
|
|
21
21
|
GrokComputerUseApiKeys,
|
|
22
22
|
HyperAgentApiKeys,
|
|
23
|
+
MetaComputerUseApiKeys,
|
|
23
24
|
StartBrowserUseTaskParams,
|
|
24
25
|
StartClaudeComputerUseTaskParams,
|
|
25
26
|
StartCuaTaskParams,
|
|
26
27
|
StartGeminiComputerUseTaskParams,
|
|
27
28
|
StartGrokComputerUseTaskParams,
|
|
28
29
|
StartHyperAgentTaskParams,
|
|
30
|
+
StartMetaComputerUseTaskParams,
|
|
29
31
|
)
|
|
30
32
|
from .computer_action import (
|
|
31
33
|
ClickActionParams,
|
|
@@ -184,12 +186,14 @@ __all__ = [
|
|
|
184
186
|
"GeminiComputerUseApiKeys",
|
|
185
187
|
"GrokComputerUseApiKeys",
|
|
186
188
|
"HyperAgentApiKeys",
|
|
189
|
+
"MetaComputerUseApiKeys",
|
|
187
190
|
"StartBrowserUseTaskParams",
|
|
188
191
|
"StartClaudeComputerUseTaskParams",
|
|
189
192
|
"StartCuaTaskParams",
|
|
190
193
|
"StartGeminiComputerUseTaskParams",
|
|
191
194
|
"StartGrokComputerUseTaskParams",
|
|
192
195
|
"StartHyperAgentTaskParams",
|
|
196
|
+
"StartMetaComputerUseTaskParams",
|
|
193
197
|
"ClickActionParams",
|
|
194
198
|
"ComputerActionMouseButton",
|
|
195
199
|
"ComputerActionParams",
|
|
@@ -6,10 +6,14 @@ from hyperbrowser.models.consts import (
|
|
|
6
6
|
BrowserUseLlm,
|
|
7
7
|
BrowserUseVersion,
|
|
8
8
|
ClaudeComputerUseLlm,
|
|
9
|
+
ClaudeComputerUseReasoningEffort,
|
|
9
10
|
CuaLlm,
|
|
11
|
+
CuaReasoningEffort,
|
|
10
12
|
GeminiComputerUseLlm,
|
|
11
13
|
GrokComputerUseLlm,
|
|
12
14
|
GrokReasoningEffort,
|
|
15
|
+
MetaComputerUseLlm,
|
|
16
|
+
MetaReasoningEffort,
|
|
13
17
|
HyperAgentLlm,
|
|
14
18
|
HyperAgentVersion,
|
|
15
19
|
)
|
|
@@ -64,6 +68,7 @@ class StartClaudeComputerUseTaskParams(TypedDict, total=False):
|
|
|
64
68
|
|
|
65
69
|
task: Required[str]
|
|
66
70
|
llm: Optional[ClaudeComputerUseLlm]
|
|
71
|
+
reasoning_effort: Optional[ClaudeComputerUseReasoningEffort]
|
|
67
72
|
session_id: Optional[str]
|
|
68
73
|
max_failures: Optional[int]
|
|
69
74
|
max_steps: Optional[int]
|
|
@@ -117,6 +122,28 @@ class StartGrokComputerUseTaskParams(TypedDict, total=False):
|
|
|
117
122
|
use_computer_action: Optional[bool]
|
|
118
123
|
|
|
119
124
|
|
|
125
|
+
class MetaComputerUseApiKeys(TypedDict, total=False):
|
|
126
|
+
"""Provider API keys for a Meta Computer Use task."""
|
|
127
|
+
|
|
128
|
+
meta: Optional[str]
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class StartMetaComputerUseTaskParams(TypedDict, total=False):
|
|
132
|
+
"""Parameters for starting a Meta Computer Use task."""
|
|
133
|
+
|
|
134
|
+
task: Required[str]
|
|
135
|
+
llm: Optional[MetaComputerUseLlm]
|
|
136
|
+
reasoning_effort: Optional[MetaReasoningEffort]
|
|
137
|
+
session_id: Optional[str]
|
|
138
|
+
max_failures: Optional[int]
|
|
139
|
+
max_steps: Optional[int]
|
|
140
|
+
keep_browser_open: Optional[bool]
|
|
141
|
+
session_options: Optional[CreateSessionParams]
|
|
142
|
+
use_custom_api_keys: Optional[bool]
|
|
143
|
+
api_keys: Optional[MetaComputerUseApiKeys]
|
|
144
|
+
use_computer_action: Optional[bool]
|
|
145
|
+
|
|
146
|
+
|
|
120
147
|
class CuaApiKeys(TypedDict, total=False):
|
|
121
148
|
"""Provider API keys for an OpenAI CUA task."""
|
|
122
149
|
|
|
@@ -134,6 +161,7 @@ class StartCuaTaskParams(TypedDict, total=False):
|
|
|
134
161
|
|
|
135
162
|
task: Required[str]
|
|
136
163
|
llm: Optional[CuaLlm]
|
|
164
|
+
reasoning_effort: Optional[CuaReasoningEffort]
|
|
137
165
|
session_id: Optional[str]
|
|
138
166
|
max_failures: Optional[int]
|
|
139
167
|
max_steps: Optional[int]
|
|
@@ -176,10 +204,12 @@ __all__ = [
|
|
|
176
204
|
"GeminiComputerUseApiKeys",
|
|
177
205
|
"GrokComputerUseApiKeys",
|
|
178
206
|
"HyperAgentApiKeys",
|
|
207
|
+
"MetaComputerUseApiKeys",
|
|
179
208
|
"StartBrowserUseTaskParams",
|
|
180
209
|
"StartClaudeComputerUseTaskParams",
|
|
181
210
|
"StartCuaTaskParams",
|
|
182
211
|
"StartGeminiComputerUseTaskParams",
|
|
183
212
|
"StartGrokComputerUseTaskParams",
|
|
184
213
|
"StartHyperAgentTaskParams",
|
|
214
|
+
"StartMetaComputerUseTaskParams",
|
|
185
215
|
]
|
|
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-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/sandbox.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/session.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/team.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/volume.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/async_manager/web/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/dockerignore.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sandboxes/image_build.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/sandbox.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/session.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/volume.py
RENAMED
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.4.1 → hyperbrowser-1.4.3}/hyperbrowser/client/managers/sync_manager/web/crawl.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
|
|
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
|