Skip to content

Commit f01d1ae

Browse files
cursoragentnikhil
andcommitted
Drop Meta envelope fields that other agents omit.
Keep the task response aligned with Grok/CUA: no createdAt, finishedAt, liveDomain, or jobParams. Co-authored-by: nikhil <nikhil@metlo.com>
1 parent 2766929 commit f01d1ae

3 files changed

Lines changed: 0 additions & 59 deletions

File tree

‎hyperbrowser/models/__init__.py‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@
137137
StartMetaComputerUseTaskParams,
138138
StartMetaComputerUseTaskResponse,
139139
MetaComputerUseApiKeys,
140-
MetaComputerUseJobParams,
141140
)
142141
from .agents.cua import (
143142
CuaTaskData,
@@ -529,7 +528,6 @@
529528
"GeminiComputerUseApiKeys",
530529
"GrokComputerUseApiKeys",
531530
"MetaComputerUseApiKeys",
532-
"MetaComputerUseJobParams",
533531
"CuaApiKeys",
534532
"CuaBaseUrls",
535533
"HyperAgentApiKeys",

‎hyperbrowser/models/agents/meta_computer_use.py‎

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import annotations
22

3-
from datetime import datetime
43
from typing import Any, List, Literal, Optional
54

65
from pydantic import BaseModel, ConfigDict, Field
@@ -71,7 +70,6 @@ class StartMetaComputerUseTaskResponse(BaseModel):
7170

7271
job_id: str = Field(alias="jobId")
7372
live_url: Optional[str] = Field(default=None, alias="liveUrl")
74-
live_domain: Optional[str] = Field(default=None, alias="liveDomain")
7573

7674

7775
class MetaComputerUseTaskStatusResponse(BaseModel):
@@ -148,32 +146,6 @@ class MetaComputerUseTaskMetadata(BaseModel):
148146
)
149147

150148

151-
class MetaComputerUseJobParams(BaseModel):
152-
"""
153-
Echoed start params returned on a Meta Computer Use task.
154-
"""
155-
156-
model_config = ConfigDict(
157-
populate_by_alias=True,
158-
)
159-
160-
task: Optional[str] = Field(default=None, alias="task")
161-
llm: Optional[MetaComputerUseLlm] = Field(default=None, alias="llm")
162-
reasoning_effort: Optional[MetaReasoningEffort] = Field(
163-
default=None, alias="reasoningEffort"
164-
)
165-
session_id: Optional[str] = Field(default=None, alias="sessionId")
166-
max_steps: Optional[int] = Field(default=None, alias="maxSteps")
167-
keep_browser_open: Optional[bool] = Field(default=None, alias="keepBrowserOpen")
168-
max_failures: Optional[int] = Field(default=None, alias="maxFailures")
169-
use_custom_api_keys: Optional[bool] = Field(
170-
default=None, alias="useCustomApiKeys"
171-
)
172-
use_computer_action: Optional[bool] = Field(
173-
default=None, alias="useComputerAction"
174-
)
175-
176-
177149
class MetaComputerUseTaskResponse(BaseModel):
178150
"""
179151
Response from a Meta Computer Use task.
@@ -185,15 +157,9 @@ class MetaComputerUseTaskResponse(BaseModel):
185157

186158
job_id: str = Field(alias="jobId")
187159
status: MetaComputerUseTaskStatus
188-
created_at: Optional[datetime] = Field(default=None, alias="createdAt")
189-
finished_at: Optional[datetime] = Field(default=None, alias="finishedAt")
190160
metadata: Optional[MetaComputerUseTaskMetadata] = Field(
191161
default=None, alias="metadata"
192162
)
193163
data: Optional[MetaComputerUseTaskData] = Field(default=None, alias="data")
194164
error: Optional[str] = Field(default=None, alias="error")
195165
live_url: Optional[str] = Field(default=None, alias="liveUrl")
196-
live_domain: Optional[str] = Field(default=None, alias="liveDomain")
197-
job_params: Optional[MetaComputerUseJobParams] = Field(
198-
default=None, alias="jobParams"
199-
)

‎tests/test_meta_computer_use_models.py‎

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,6 @@ def test_meta_computer_use_task_response_parses_responses_style_step_payload() -
55
payload = {
66
"jobId": "job-123",
77
"status": "completed",
8-
"createdAt": "2026-09-07T01:33:08.205Z",
9-
"finishedAt": "2026-09-07T01:33:33.038Z",
10-
"liveUrl": None,
11-
"liveDomain": None,
12-
"jobParams": {
13-
"task": "Go to example.com",
14-
"llm": "muse-spark-1.3",
15-
"reasoningEffort": "medium",
16-
"sessionId": "session-123",
17-
"maxSteps": 5,
18-
"keepBrowserOpen": False,
19-
"maxFailures": 3,
20-
"useCustomApiKeys": False,
21-
"useComputerAction": True,
22-
},
238
"data": {
249
"steps": [
2510
{
@@ -88,14 +73,6 @@ def test_meta_computer_use_task_response_parses_responses_style_step_payload() -
8873

8974
result = MetaComputerUseTaskResponse(**payload)
9075

91-
assert result.created_at is not None
92-
assert result.finished_at is not None
93-
assert result.live_domain is None
94-
assert result.job_params is not None
95-
assert result.job_params.llm == "muse-spark-1.3"
96-
assert result.job_params.reasoning_effort == "medium"
97-
assert result.job_params.session_id == "session-123"
98-
9976
final_step = result.data.steps[0]
10077
assert final_step.created_at == 1788743504
10178
assert final_step.completed_at == 1788743511

0 commit comments

Comments
 (0)