fleet-python 0.2.104__tar.gz → 0.2.105__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.
- {fleet_python-0.2.104/fleet_python.egg-info → fleet_python-0.2.105}/PKG-INFO +1 -1
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/client.py +15 -1
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/models.py +11 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/tasks.py +21 -2
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/client.py +15 -1
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/models.py +13 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/tasks.py +21 -2
- {fleet_python-0.2.104 → fleet_python-0.2.105/fleet_python.egg-info}/PKG-INFO +1 -1
- {fleet_python-0.2.104 → fleet_python-0.2.105}/pyproject.toml +1 -1
- {fleet_python-0.2.104 → fleet_python-0.2.105}/LICENSE +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/README.md +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/diff_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/dsl_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/exampleResume.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_account.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_action_log.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_client.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_mcp_anthropic.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_mcp_openai.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_sync.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_task.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_tasks.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/example_verifier.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/export_tasks.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/export_tasks_filtered.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/fetch_tasks.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/gemini_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/import_tasks.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/iterate_verifiers.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/json_tasks_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/nova_act_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/openai_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/openai_simple_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/query_builder_example.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/quickstart.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/examples/test_cdp_logging.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/base.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/env/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/env/client.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/exceptions.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/global_client.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/instance/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/instance/base.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/instance/client.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/resources/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/resources/api.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/resources/base.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/resources/browser.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/resources/mcp.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/resources/sqlite.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/verifiers/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/verifiers/bundler.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/_async/verifiers/verifier.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/Dockerfile +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/agent.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/mcp/main.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/mcp_server/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/mcp_server/main.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/mcp_server/tools.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/requirements.txt +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/gemini_cua/start.sh +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/orchestrator.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/types.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/agent/utils.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/base.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/cli.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/config.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/env/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/env/client.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/eval/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/eval/uploader.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/exceptions.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/global_client.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/instance/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/instance/base.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/instance/client.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/instance/models.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/proxy/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/proxy/proxy.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/proxy/whitelist.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/resources/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/resources/api.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/resources/base.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/resources/browser.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/resources/mcp.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/resources/sqlite.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/types.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/utils/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/utils/http_logging.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/utils/logging.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/utils/playwright.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/bundler.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/code.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/db.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/decorator.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/parse.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/sql_differ.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet/verifiers/verifier.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet_python.egg-info/SOURCES.txt +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet_python.egg-info/dependency_links.txt +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet_python.egg-info/entry_points.txt +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet_python.egg-info/requires.txt +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/fleet_python.egg-info/top_level.txt +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/scripts/fix_sync_imports.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/scripts/unasync.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/setup.cfg +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/__init__.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/test_app_method.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/test_expect_exactly.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/test_expect_only.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/test_instance_dispatch.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/test_sqlite_resource_dual_mode.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/test_sqlite_shared_memory_behavior.py +0 -0
- {fleet_python-0.2.104 → fleet_python-0.2.105}/tests/test_verifier_from_string.py +0 -0
|
@@ -941,6 +941,8 @@ class AsyncFleet:
|
|
|
941
941
|
verifier_sha=verifier_sha, # Set verifier_sha
|
|
942
942
|
verifier_runtime_version=verifier_runtime_version, # Set verifier_runtime_version
|
|
943
943
|
metadata=task_json.get("metadata", {}), # Default empty metadata
|
|
944
|
+
writer_metadata=task_json.get("writer_metadata"), # Writer metadata
|
|
945
|
+
qa_metadata=task_json.get("qa_metadata"), # QA metadata
|
|
944
946
|
output_json_schema=task_json.get("output_json_schema"), # JSON schema for output
|
|
945
947
|
)
|
|
946
948
|
return task
|
|
@@ -1115,6 +1117,8 @@ class AsyncFleet:
|
|
|
1115
1117
|
verifier_sha=verifier_sha, # Set verifier_sha
|
|
1116
1118
|
verifier_runtime_version=verifier_runtime_version, # Set verifier_runtime_version
|
|
1117
1119
|
metadata=metadata,
|
|
1120
|
+
writer_metadata=getattr(task_response, "writer_metadata", None), # Writer metadata
|
|
1121
|
+
qa_metadata=getattr(task_response, "qa_metadata", None), # QA metadata
|
|
1118
1122
|
output_json_schema=getattr(task_response, "output_json_schema", None), # Get output_json_schema if available
|
|
1119
1123
|
)
|
|
1120
1124
|
tasks.append(task)
|
|
@@ -1270,6 +1274,8 @@ class AsyncFleet:
|
|
|
1270
1274
|
prompt: Optional[str] = None,
|
|
1271
1275
|
verifier_code: Optional[str] = None,
|
|
1272
1276
|
metadata: Optional[Dict[str, Any]] = None,
|
|
1277
|
+
writer_metadata: Optional[Dict[str, Any]] = None,
|
|
1278
|
+
qa_metadata: Optional[Dict[str, Any]] = None,
|
|
1273
1279
|
) -> TaskResponse:
|
|
1274
1280
|
"""Update an existing task.
|
|
1275
1281
|
|
|
@@ -1278,11 +1284,19 @@ class AsyncFleet:
|
|
|
1278
1284
|
prompt: New prompt text for the task (optional)
|
|
1279
1285
|
verifier_code: Python code for task verification (optional)
|
|
1280
1286
|
metadata: Additional metadata for the task (optional)
|
|
1287
|
+
writer_metadata: Metadata filled by task writer (optional)
|
|
1288
|
+
qa_metadata: Metadata filled by QA reviewer (optional)
|
|
1281
1289
|
|
|
1282
1290
|
Returns:
|
|
1283
1291
|
TaskResponse containing the updated task details
|
|
1284
1292
|
"""
|
|
1285
|
-
payload = TaskUpdateRequest(
|
|
1293
|
+
payload = TaskUpdateRequest(
|
|
1294
|
+
prompt=prompt,
|
|
1295
|
+
verifier_code=verifier_code,
|
|
1296
|
+
metadata=metadata,
|
|
1297
|
+
writer_metadata=writer_metadata,
|
|
1298
|
+
qa_metadata=qa_metadata,
|
|
1299
|
+
)
|
|
1286
1300
|
response = await self.client.request(
|
|
1287
1301
|
"PUT", f"/v1/tasks/{task_key}", json=payload.model_dump(exclude_none=True)
|
|
1288
1302
|
)
|
|
@@ -157,6 +157,9 @@ class TaskRequest(BaseModel):
|
|
|
157
157
|
version: Optional[str] = Field(None, title="Version")
|
|
158
158
|
env_variables: Optional[Dict[str, Any]] = Field(None, title="Env Variables")
|
|
159
159
|
metadata: Optional[Dict[str, Any]] = Field(None, title="Metadata")
|
|
160
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(
|
|
161
|
+
None, title="Writer Metadata", description="Metadata filled by task writer"
|
|
162
|
+
)
|
|
160
163
|
output_json_schema: Optional[Dict[str, Any]] = Field(None, title="Output Json Schema")
|
|
161
164
|
|
|
162
165
|
|
|
@@ -164,6 +167,12 @@ class TaskUpdateRequest(BaseModel):
|
|
|
164
167
|
prompt: Optional[str] = Field(None, title="Prompt")
|
|
165
168
|
verifier_code: Optional[str] = Field(None, title="Verifier Code")
|
|
166
169
|
metadata: Optional[Dict[str, Any]] = Field(None, title="Metadata")
|
|
170
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(
|
|
171
|
+
None, title="Writer Metadata", description="Metadata filled by task writer"
|
|
172
|
+
)
|
|
173
|
+
qa_metadata: Optional[Dict[str, Any]] = Field(
|
|
174
|
+
None, title="QA Metadata", description="Metadata filled by QA reviewer"
|
|
175
|
+
)
|
|
167
176
|
|
|
168
177
|
|
|
169
178
|
class VerifierData(BaseModel):
|
|
@@ -190,6 +199,8 @@ class TaskResponse(BaseModel):
|
|
|
190
199
|
env_variables: Optional[Dict[str, Any]] = Field(None, title="Env Variables")
|
|
191
200
|
verifier: Optional[VerifierData] = Field(None, title="Verifier")
|
|
192
201
|
metadata: Optional[Dict[str, Any]] = Field(None, title="Metadata")
|
|
202
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(None, title="Writer Metadata")
|
|
203
|
+
qa_metadata: Optional[Dict[str, Any]] = Field(None, title="QA Metadata")
|
|
193
204
|
output_json_schema: Optional[Dict[str, Any]] = Field(None, title="Output Json Schema")
|
|
194
205
|
|
|
195
206
|
|
|
@@ -38,6 +38,12 @@ class Task(BaseModel):
|
|
|
38
38
|
metadata: Optional[Dict[str, Any]] = Field(
|
|
39
39
|
default_factory=dict, description="Additional task metadata"
|
|
40
40
|
)
|
|
41
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(
|
|
42
|
+
None, description="Metadata filled by task writer"
|
|
43
|
+
)
|
|
44
|
+
qa_metadata: Optional[Dict[str, Any]] = Field(
|
|
45
|
+
None, description="Metadata filled by QA reviewer"
|
|
46
|
+
)
|
|
41
47
|
output_json_schema: Optional[Dict[str, Any]] = Field(
|
|
42
48
|
None, description="JSON schema for expected output format"
|
|
43
49
|
)
|
|
@@ -456,7 +462,12 @@ async def load_tasks(
|
|
|
456
462
|
|
|
457
463
|
|
|
458
464
|
async def update_task(
|
|
459
|
-
task_key: str,
|
|
465
|
+
task_key: str,
|
|
466
|
+
prompt: Optional[str] = None,
|
|
467
|
+
verifier_code: Optional[str] = None,
|
|
468
|
+
metadata: Optional[Dict[str, Any]] = None,
|
|
469
|
+
writer_metadata: Optional[Dict[str, Any]] = None,
|
|
470
|
+
qa_metadata: Optional[Dict[str, Any]] = None,
|
|
460
471
|
):
|
|
461
472
|
"""Convenience function to update an existing task.
|
|
462
473
|
|
|
@@ -465,6 +476,8 @@ async def update_task(
|
|
|
465
476
|
prompt: New prompt text for the task (optional)
|
|
466
477
|
verifier_code: Python code for task verification (optional)
|
|
467
478
|
metadata: Additional metadata for the task (optional)
|
|
479
|
+
writer_metadata: Metadata filled by task writer (optional)
|
|
480
|
+
qa_metadata: Metadata filled by QA reviewer (optional)
|
|
468
481
|
|
|
469
482
|
Returns:
|
|
470
483
|
TaskResponse containing the updated task details
|
|
@@ -473,12 +486,18 @@ async def update_task(
|
|
|
473
486
|
response = await fleet.update_task("my-task", prompt="New prompt text")
|
|
474
487
|
response = await fleet.update_task("my-task", verifier_code="def verify(env): return True")
|
|
475
488
|
response = await fleet.update_task("my-task", metadata={"seed": 42, "story": "Updated story"})
|
|
489
|
+
response = await fleet.update_task("my-task", writer_metadata={"author": "john"})
|
|
476
490
|
"""
|
|
477
491
|
from .global_client import get_client
|
|
478
492
|
|
|
479
493
|
client = get_client()
|
|
480
494
|
return await client.update_task(
|
|
481
|
-
task_key=task_key,
|
|
495
|
+
task_key=task_key,
|
|
496
|
+
prompt=prompt,
|
|
497
|
+
verifier_code=verifier_code,
|
|
498
|
+
metadata=metadata,
|
|
499
|
+
writer_metadata=writer_metadata,
|
|
500
|
+
qa_metadata=qa_metadata,
|
|
482
501
|
)
|
|
483
502
|
|
|
484
503
|
|
|
@@ -953,6 +953,8 @@ class Fleet:
|
|
|
953
953
|
verifier_sha=verifier_sha, # Set verifier_sha
|
|
954
954
|
verifier_runtime_version=verifier_runtime_version, # Set verifier_runtime_version
|
|
955
955
|
metadata=task_json.get("metadata", {}), # Default empty metadata
|
|
956
|
+
writer_metadata=task_json.get("writer_metadata"), # Writer metadata
|
|
957
|
+
qa_metadata=task_json.get("qa_metadata"), # QA metadata
|
|
956
958
|
output_json_schema=task_json.get("output_json_schema"), # JSON schema for output
|
|
957
959
|
)
|
|
958
960
|
return task
|
|
@@ -1134,6 +1136,8 @@ class Fleet:
|
|
|
1134
1136
|
verifier_sha=verifier_sha, # Set verifier_sha
|
|
1135
1137
|
verifier_runtime_version=verifier_runtime_version, # Set verifier_runtime_version
|
|
1136
1138
|
metadata=metadata,
|
|
1139
|
+
writer_metadata=getattr(task_response, "writer_metadata", None), # Writer metadata
|
|
1140
|
+
qa_metadata=getattr(task_response, "qa_metadata", None), # QA metadata
|
|
1137
1141
|
output_json_schema=getattr(task_response, "output_json_schema", None), # Get output_json_schema if available
|
|
1138
1142
|
)
|
|
1139
1143
|
tasks.append(task)
|
|
@@ -1281,6 +1285,8 @@ class Fleet:
|
|
|
1281
1285
|
prompt: Optional[str] = None,
|
|
1282
1286
|
verifier_code: Optional[str] = None,
|
|
1283
1287
|
metadata: Optional[Dict[str, Any]] = None,
|
|
1288
|
+
writer_metadata: Optional[Dict[str, Any]] = None,
|
|
1289
|
+
qa_metadata: Optional[Dict[str, Any]] = None,
|
|
1284
1290
|
) -> TaskResponse:
|
|
1285
1291
|
"""Update an existing task.
|
|
1286
1292
|
|
|
@@ -1289,11 +1295,19 @@ class Fleet:
|
|
|
1289
1295
|
prompt: New prompt text for the task (optional)
|
|
1290
1296
|
verifier_code: Python code for task verification (optional)
|
|
1291
1297
|
metadata: Additional metadata for the task (optional)
|
|
1298
|
+
writer_metadata: Metadata filled by task writer (optional)
|
|
1299
|
+
qa_metadata: Metadata filled by QA reviewer (optional)
|
|
1292
1300
|
|
|
1293
1301
|
Returns:
|
|
1294
1302
|
TaskResponse containing the updated task details
|
|
1295
1303
|
"""
|
|
1296
|
-
payload = TaskUpdateRequest(
|
|
1304
|
+
payload = TaskUpdateRequest(
|
|
1305
|
+
prompt=prompt,
|
|
1306
|
+
verifier_code=verifier_code,
|
|
1307
|
+
metadata=metadata,
|
|
1308
|
+
writer_metadata=writer_metadata,
|
|
1309
|
+
qa_metadata=qa_metadata,
|
|
1310
|
+
)
|
|
1297
1311
|
response = self.client.request(
|
|
1298
1312
|
"PUT", f"/v1/tasks/{task_key}", json=payload.model_dump(exclude_none=True)
|
|
1299
1313
|
)
|
|
@@ -161,6 +161,9 @@ class TaskRequest(BaseModel):
|
|
|
161
161
|
version: Optional[str] = Field(None, title="Version")
|
|
162
162
|
env_variables: Optional[Dict[str, Any]] = Field(None, title="Env Variables")
|
|
163
163
|
metadata: Optional[Dict[str, Any]] = Field(None, title="Metadata")
|
|
164
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(
|
|
165
|
+
None, title="Writer Metadata", description="Metadata filled by task writer"
|
|
166
|
+
)
|
|
164
167
|
output_json_schema: Optional[Dict[str, Any]] = Field(
|
|
165
168
|
None, title="Output Json Schema"
|
|
166
169
|
)
|
|
@@ -170,6 +173,12 @@ class TaskUpdateRequest(BaseModel):
|
|
|
170
173
|
prompt: Optional[str] = Field(None, title="Prompt")
|
|
171
174
|
verifier_code: Optional[str] = Field(None, title="Verifier Code")
|
|
172
175
|
metadata: Optional[Dict[str, Any]] = Field(None, title="Metadata")
|
|
176
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(
|
|
177
|
+
None, title="Writer Metadata", description="Metadata filled by task writer"
|
|
178
|
+
)
|
|
179
|
+
qa_metadata: Optional[Dict[str, Any]] = Field(
|
|
180
|
+
None, title="QA Metadata", description="Metadata filled by QA reviewer"
|
|
181
|
+
)
|
|
173
182
|
|
|
174
183
|
|
|
175
184
|
class VerifierData(BaseModel):
|
|
@@ -196,6 +205,8 @@ class TaskResponse(BaseModel):
|
|
|
196
205
|
env_variables: Optional[Dict[str, Any]] = Field(None, title="Env Variables")
|
|
197
206
|
verifier: Optional[VerifierData] = Field(None, title="Verifier")
|
|
198
207
|
metadata: Optional[Dict[str, Any]] = Field(None, title="Metadata")
|
|
208
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(None, title="Writer Metadata")
|
|
209
|
+
qa_metadata: Optional[Dict[str, Any]] = Field(None, title="QA Metadata")
|
|
199
210
|
output_json_schema: Optional[Dict[str, Any]] = Field(
|
|
200
211
|
None, title="Output Json Schema"
|
|
201
212
|
)
|
|
@@ -500,6 +511,8 @@ class TaskInfo(BaseModel):
|
|
|
500
511
|
verifier_func: Optional[str] = Field(None, title="Verifier Func")
|
|
501
512
|
verifier_id: Optional[str] = Field(None, title="Verifier Id")
|
|
502
513
|
metadata: Optional[Dict[str, Any]] = Field(None, title="Metadata")
|
|
514
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(None, title="Writer Metadata")
|
|
515
|
+
qa_metadata: Optional[Dict[str, Any]] = Field(None, title="QA Metadata")
|
|
503
516
|
|
|
504
517
|
|
|
505
518
|
class TaskSessionGroup(BaseModel):
|
|
@@ -40,6 +40,12 @@ class Task(BaseModel):
|
|
|
40
40
|
metadata: Optional[Dict[str, Any]] = Field(
|
|
41
41
|
default_factory=dict, description="Additional task metadata"
|
|
42
42
|
)
|
|
43
|
+
writer_metadata: Optional[Dict[str, Any]] = Field(
|
|
44
|
+
None, description="Metadata filled by task writer"
|
|
45
|
+
)
|
|
46
|
+
qa_metadata: Optional[Dict[str, Any]] = Field(
|
|
47
|
+
None, description="Metadata filled by QA reviewer"
|
|
48
|
+
)
|
|
43
49
|
output_json_schema: Optional[Dict[str, Any]] = Field(
|
|
44
50
|
None, description="JSON schema for expected output format"
|
|
45
51
|
)
|
|
@@ -457,7 +463,12 @@ def load_tasks(
|
|
|
457
463
|
|
|
458
464
|
|
|
459
465
|
def update_task(
|
|
460
|
-
task_key: str,
|
|
466
|
+
task_key: str,
|
|
467
|
+
prompt: Optional[str] = None,
|
|
468
|
+
verifier_code: Optional[str] = None,
|
|
469
|
+
metadata: Optional[Dict[str, Any]] = None,
|
|
470
|
+
writer_metadata: Optional[Dict[str, Any]] = None,
|
|
471
|
+
qa_metadata: Optional[Dict[str, Any]] = None,
|
|
461
472
|
):
|
|
462
473
|
"""Convenience function to update an existing task.
|
|
463
474
|
|
|
@@ -466,6 +477,8 @@ def update_task(
|
|
|
466
477
|
prompt: New prompt text for the task (optional)
|
|
467
478
|
verifier_code: Python code for task verification (optional)
|
|
468
479
|
metadata: Additional metadata for the task (optional)
|
|
480
|
+
writer_metadata: Metadata filled by task writer (optional)
|
|
481
|
+
qa_metadata: Metadata filled by QA reviewer (optional)
|
|
469
482
|
|
|
470
483
|
Returns:
|
|
471
484
|
TaskResponse containing the updated task details
|
|
@@ -474,12 +487,18 @@ def update_task(
|
|
|
474
487
|
response = fleet.update_task("my-task", prompt="New prompt text")
|
|
475
488
|
response = fleet.update_task("my-task", verifier_code="def verify(env): return True")
|
|
476
489
|
response = fleet.update_task("my-task", metadata={"seed": 42, "story": "Updated story"})
|
|
490
|
+
response = fleet.update_task("my-task", writer_metadata={"author": "john"})
|
|
477
491
|
"""
|
|
478
492
|
from .global_client import get_client
|
|
479
493
|
|
|
480
494
|
client = get_client()
|
|
481
495
|
return client.update_task(
|
|
482
|
-
task_key=task_key,
|
|
496
|
+
task_key=task_key,
|
|
497
|
+
prompt=prompt,
|
|
498
|
+
verifier_code=verifier_code,
|
|
499
|
+
metadata=metadata,
|
|
500
|
+
writer_metadata=writer_metadata,
|
|
501
|
+
qa_metadata=qa_metadata,
|
|
483
502
|
)
|
|
484
503
|
|
|
485
504
|
|
|
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
|
|
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
|
|
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
|