sequence-base 0.4.12__tar.gz → 0.4.13__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.
- {sequence_base-0.4.12 → sequence_base-0.4.13}/PKG-INFO +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/pyproject.toml +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/__init__.py +1 -5
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/constants/limits.py +5 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/constants/version.py +2 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/__init__.py +1 -5
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/benchmarks.py +18 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/eval.py +2 -30
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/presets/robot_arm.py +8 -17
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schema_export.py +0 -4
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ActRequest.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ActResponse.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ActionChunk.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ActionContract.json +1 -33
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ActionStep.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/AddLocal.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Autoscaler.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/BenchmarkConditionSpec.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/BenchmarkRegisterRequest.json +23 -33
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/BenchmarkSpec.json +2 -2
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/BenchmarkStatusResponse.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/BootstrapResponse.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Camera.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ClampInfo.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/CodeBundle.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Concurrency.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Conditions.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ConnectRequest.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ConnectResponse.json +1 -33
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/DeploymentAccepted.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/DeploymentPolicy.json +1 -33
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/DeploymentRequest.json +1 -33
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/DeploymentStatusResponse.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Embodiment.json +1 -33
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ErrorBody.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ErrorCodes.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Estimate.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/EvalDryRunResponse.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/EvalReport.json +29 -30
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/EvalRequest.json +1 -14
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/EvalResponse.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageFrame.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageSpec.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageStepAddLocal.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageStepApt.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageStepEnv.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageStepRun.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageStepTemplateFiles.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ImageStepUvPip.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/InferParam.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Lease.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/MetricAgg.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Observation.json +15 -10
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ObservationContract.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/PolicyRegistration.json +2 -34
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/PolicySpec.json +1 -33
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Proprioception.json +15 -10
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/RenderSpec.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/ReplaySpec.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Resources.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/RolloutResult.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/SecretCreateRequest.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/SecretInfo.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/SecretRef.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/SeqFlags.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Step.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/TaskAgg.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/TemplateFiles.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Timeouts.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/UploadTarget.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/Variant.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/VolumeAttach.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/VolumeFile.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/VolumeInfo.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/VolumeMount.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/VolumeRef.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/VolumeUploadRequest.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/VolumeUploadResponse.json +1 -1
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/WarmingError.json +1 -1
- sequence_base-0.4.12/sequence_base/schemas/AdapterTransform.json +0 -42
- sequence_base-0.4.12/sequence_base/schemas/LossyTransform.json +0 -21
- {sequence_base-0.4.12 → sequence_base-0.4.13}/.gitignore +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/README.md +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/auth.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/codec/__init__.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/codec/image.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/constants/__init__.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/constants/headers.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/accounts.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/act.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/connect.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/deployments.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/errors.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/flags.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/io.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/policy.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/templates.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/volumes.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/contract/wire.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/errors/__init__.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/errors/transport.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/obs/__init__.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/obs/log.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/obs/rid.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/presets/__init__.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/presets/frames.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/telemetry/__init__.py +0 -0
- {sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/telemetry/events.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sequence-base
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.13
|
|
4
4
|
Summary: Shared foundation for the Sequences platform — wire contract, correlation, error taxonomy, constants. Used by the robot SDK, gateway, and container harness.
|
|
5
5
|
Project-URL: Changelog, https://generalsequences.com/docs/changelog/
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sequence-base"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.13"
|
|
4
4
|
description = "Shared foundation for the Sequences platform — wire contract, correlation, error taxonomy, constants. Used by the robot SDK, gateway, and container harness."
|
|
5
5
|
requires-python = ">=3.10"
|
|
6
6
|
dependencies = ["pydantic>=2.0"]
|
|
@@ -37,8 +37,6 @@ from sequence_base.contract import (
|
|
|
37
37
|
ActionContract,
|
|
38
38
|
ActionSpace,
|
|
39
39
|
ActionStep,
|
|
40
|
-
AdapterKind,
|
|
41
|
-
AdapterTransform,
|
|
42
40
|
Autoscaler,
|
|
43
41
|
BenchmarkConditionSpec,
|
|
44
42
|
BenchmarkRegisterRequest,
|
|
@@ -75,7 +73,6 @@ from sequence_base.contract import (
|
|
|
75
73
|
ImageStepRun,
|
|
76
74
|
ImageStepUvPip,
|
|
77
75
|
Lease,
|
|
78
|
-
LossyTransform,
|
|
79
76
|
MetricAgg,
|
|
80
77
|
Observation,
|
|
81
78
|
PolicyRegistration,
|
|
@@ -145,8 +142,7 @@ __all__ = [
|
|
|
145
142
|
|
|
146
143
|
"Variant", "Conditions", "RenderSpec", "ReplaySpec", "Step", "BenchmarkSpec", "BenchmarkConditionSpec", "BenchmarkRegisterRequest", "BenchmarkStatusResponse",
|
|
147
144
|
"EvalRequest", "ClampInfo", "Estimate", "EvalResponse", "EvalDryRunResponse", "RolloutResult",
|
|
148
|
-
"EvalStatus", "TaskAgg", "MetricAgg", "
|
|
149
|
-
"AdapterKind", "AdapterTransform",
|
|
145
|
+
"EvalStatus", "TaskAgg", "MetricAgg", "EvalReport",
|
|
150
146
|
|
|
151
147
|
"SecretRef", "SecretCreateRequest", "SecretInfo", "BootstrapResponse",
|
|
152
148
|
|
|
@@ -72,8 +72,6 @@ from sequence_base.contract.benchmarks import (
|
|
|
72
72
|
Variant,
|
|
73
73
|
)
|
|
74
74
|
from sequence_base.contract.eval import (
|
|
75
|
-
AdapterKind,
|
|
76
|
-
AdapterTransform,
|
|
77
75
|
ClampInfo,
|
|
78
76
|
Estimate,
|
|
79
77
|
EvalDryRunResponse,
|
|
@@ -81,7 +79,6 @@ from sequence_base.contract.eval import (
|
|
|
81
79
|
EvalRequest,
|
|
82
80
|
EvalResponse,
|
|
83
81
|
EvalStatus,
|
|
84
|
-
LossyTransform,
|
|
85
82
|
MetricAgg,
|
|
86
83
|
RolloutResult,
|
|
87
84
|
TaskAgg,
|
|
@@ -133,8 +130,7 @@ __all__ = [
|
|
|
133
130
|
|
|
134
131
|
"Variant", "Conditions", "RenderSpec", "ReplaySpec", "Step", "BenchmarkSpec", "BenchmarkConditionSpec", "BenchmarkRegisterRequest", "BenchmarkStatusResponse",
|
|
135
132
|
"EvalRequest", "ClampInfo", "Estimate", "EvalResponse", "EvalDryRunResponse", "RolloutResult",
|
|
136
|
-
"EvalStatus", "TaskAgg", "MetricAgg", "
|
|
137
|
-
"AdapterKind", "AdapterTransform",
|
|
133
|
+
"EvalStatus", "TaskAgg", "MetricAgg", "EvalReport",
|
|
138
134
|
|
|
139
135
|
"SecretRef", "SecretCreateRequest", "SecretInfo", "BootstrapResponse",
|
|
140
136
|
|
|
@@ -16,7 +16,7 @@ from typing import Literal
|
|
|
16
16
|
|
|
17
17
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
|
18
18
|
|
|
19
|
-
from sequence_base.constants.limits import MAX_ENVS, TASK_DESCRIPTION_MAX
|
|
19
|
+
from sequence_base.constants.limits import MAX_ENVS, METRIC_UNIT_MAX, METRIC_UNITS_MAX, TASK_DESCRIPTION_MAX
|
|
20
20
|
from sequence_base.contract.accounts import SecretRef
|
|
21
21
|
from sequence_base.contract.deployments import CodeBundle, DeploymentState, InferParam
|
|
22
22
|
from sequence_base.contract.flags import BENCHMARK_BATCHED, BENCHMARK_BINDABLE, SeqFlags
|
|
@@ -199,6 +199,14 @@ class BenchmarkRegisterRequest(BaseModel):
|
|
|
199
199
|
seeds_repeat: bool | None = None
|
|
200
200
|
|
|
201
201
|
|
|
202
|
+
|
|
203
|
+
success_metric: str | None = Field(default=None, min_length=1, max_length=200)
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
metric_units: dict[str, str] = Field(default_factory=dict, max_length=METRIC_UNITS_MAX)
|
|
208
|
+
|
|
209
|
+
|
|
202
210
|
action_contract: ActionContract | None = None
|
|
203
211
|
|
|
204
212
|
|
|
@@ -238,6 +246,15 @@ class BenchmarkRegisterRequest(BaseModel):
|
|
|
238
246
|
raise ValueError(f"setup parameter {name!r} is not a public Python identifier")
|
|
239
247
|
return self
|
|
240
248
|
|
|
249
|
+
@model_validator(mode="after")
|
|
250
|
+
def _metric_units(self) -> "BenchmarkRegisterRequest":
|
|
251
|
+
for metric, unit in self.metric_units.items():
|
|
252
|
+
if not metric or len(metric) > 200:
|
|
253
|
+
raise ValueError("metric_units names a metric of 1 to 200 characters")
|
|
254
|
+
if not unit.strip() or len(unit) > METRIC_UNIT_MAX:
|
|
255
|
+
raise ValueError(f"metric_units[{metric!r}] is a unit of 1 to {METRIC_UNIT_MAX} characters")
|
|
256
|
+
return self
|
|
257
|
+
|
|
241
258
|
@model_validator(mode="after")
|
|
242
259
|
def _task_descriptions(self) -> "BenchmarkRegisterRequest":
|
|
243
260
|
"""Each description names a task the benchmark declares - in `conditions` or `condition_list` - and is at most
|
|
@@ -32,10 +32,7 @@ __all__ = [
|
|
|
32
32
|
"EvalStatus",
|
|
33
33
|
"TaskAgg",
|
|
34
34
|
"MetricAgg",
|
|
35
|
-
"LossyTransform",
|
|
36
35
|
"EvalReport",
|
|
37
|
-
"AdapterKind",
|
|
38
|
-
"AdapterTransform",
|
|
39
36
|
]
|
|
40
37
|
|
|
41
38
|
|
|
@@ -101,7 +98,6 @@ class EvalRequest(BaseModel):
|
|
|
101
98
|
|
|
102
99
|
|
|
103
100
|
rerun_unsuccessful_of: str | None = Field(default=None, max_length=64)
|
|
104
|
-
metric: str | None = Field(default=None, max_length=64)
|
|
105
101
|
|
|
106
102
|
|
|
107
103
|
|
|
@@ -304,16 +300,6 @@ class MetricAgg(BaseModel):
|
|
|
304
300
|
n: int
|
|
305
301
|
|
|
306
302
|
|
|
307
|
-
class LossyTransform(BaseModel):
|
|
308
|
-
"""A lossy adapter transform recorded in the report. Shape aligns with the lossy element of
|
|
309
|
-
AdapterTransform (both {transform, reason})."""
|
|
310
|
-
|
|
311
|
-
model_config = ConfigDict(extra="forbid")
|
|
312
|
-
|
|
313
|
-
transform: str
|
|
314
|
-
reason: str
|
|
315
|
-
|
|
316
|
-
|
|
317
303
|
class ArmReport(BaseModel):
|
|
318
304
|
"""One arm of an eval (a model x one combination of swept inference parameters): its own metrics and episode
|
|
319
305
|
counts, so arms are compared side by side and never pooled."""
|
|
@@ -388,7 +374,6 @@ class EvalReport(BaseModel):
|
|
|
388
374
|
)
|
|
389
375
|
cost_usd: float
|
|
390
376
|
dashboard_url: str
|
|
391
|
-
adapter_lossy: list[LossyTransform]
|
|
392
377
|
videos: list[str] = Field(default_factory=list, description="mp4 pointers from the platform tool")
|
|
393
378
|
incomplete: bool | None = None
|
|
394
379
|
errors: list[str] = Field(
|
|
@@ -410,22 +395,9 @@ class EvalReport(BaseModel):
|
|
|
410
395
|
arm_params: list[ArmParams] | None = None
|
|
411
396
|
|
|
412
397
|
|
|
413
|
-
class AdapterKind(str, Enum):
|
|
414
|
-
LOSSLESS = "lossless"
|
|
415
|
-
LOSSY = "lossy"
|
|
416
|
-
|
|
417
398
|
|
|
399
|
+
units: dict[str, str] | None = None
|
|
418
400
|
|
|
419
401
|
|
|
420
402
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
class AdapterTransform(BaseModel):
|
|
424
|
-
"""One adapter transform: its kind (lossless / lossy), the transform's name, and an optional reason. A registered
|
|
425
|
-
adapter and an older eval report carry these fields; they are kept for compatibility and are no longer acted on."""
|
|
426
|
-
|
|
427
|
-
model_config = ConfigDict(extra="forbid")
|
|
428
|
-
|
|
429
|
-
kind: AdapterKind
|
|
430
|
-
transform: str
|
|
431
|
-
reason: str | None = None
|
|
403
|
+
success_metric: str | None = None
|
|
@@ -12,7 +12,6 @@ resolving to these same classes.
|
|
|
12
12
|
"""
|
|
13
13
|
from __future__ import annotations
|
|
14
14
|
|
|
15
|
-
import math
|
|
16
15
|
from enum import Enum
|
|
17
16
|
from typing import Any, Literal
|
|
18
17
|
|
|
@@ -38,12 +37,18 @@ class ImageFrame(BaseModel):
|
|
|
38
37
|
default=None, description="rgb (the default) or depth: a 16-bit PNG of millimetres, 0 where there is no reading")
|
|
39
38
|
|
|
40
39
|
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
41
45
|
class Proprioception(BaseModel):
|
|
42
|
-
"""Proprioceptive state.
|
|
46
|
+
"""Proprioceptive state. Every field is optional: a policy's observation contract (proprio) says which it reads,
|
|
47
|
+
and its worker requires those, each at its length."""
|
|
43
48
|
|
|
44
49
|
model_config = ConfigDict(extra="forbid")
|
|
45
50
|
|
|
46
|
-
joint_positions: list[float] = Field(
|
|
51
|
+
joint_positions: list[float] | None = Field(default=None, description="Joint angles, in radians")
|
|
47
52
|
joint_velocities: list[float] | None = None
|
|
48
53
|
|
|
49
54
|
end_effector_pose: list[float] | None = Field(default=None, min_length=7, max_length=7)
|
|
@@ -124,22 +129,8 @@ class ActionContract(BaseModel):
|
|
|
124
129
|
bounds: list[tuple[float, float]] | None = Field(default=None, max_length=256)
|
|
125
130
|
max_delta: float | list[float] | None = None
|
|
126
131
|
|
|
127
|
-
|
|
128
|
-
on_violation: Literal["clip", "refuse"] | None = None
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
binarize: dict[int, float] | None = Field(
|
|
134
|
-
default=None, description="dimension -> threshold: the client gives the robot 1.0 above it, 0.0 otherwise")
|
|
135
|
-
|
|
136
132
|
@model_validator(mode="after")
|
|
137
133
|
def _limits_fit(self) -> "ActionContract":
|
|
138
|
-
for d, threshold in (self.binarize or {}).items():
|
|
139
|
-
if not 0 <= d < self.action_dim:
|
|
140
|
-
raise ValueError(f"binarize names dimension {d}; action_dim is {self.action_dim}")
|
|
141
|
-
if not math.isfinite(threshold):
|
|
142
|
-
raise ValueError(f"binarize[{d}] is {threshold}, not a finite threshold")
|
|
143
134
|
if self.bounds is not None:
|
|
144
135
|
if len(self.bounds) != self.action_dim:
|
|
145
136
|
raise ValueError(f"bounds has {len(self.bounds)} [low, high] pairs; action_dim is {self.action_dim}")
|
|
@@ -67,14 +67,12 @@ from sequence_base.contract.volumes import (
|
|
|
67
67
|
VolumeUploadResponse,
|
|
68
68
|
)
|
|
69
69
|
from sequence_base.contract.eval import (
|
|
70
|
-
AdapterTransform,
|
|
71
70
|
ClampInfo,
|
|
72
71
|
Estimate,
|
|
73
72
|
EvalDryRunResponse,
|
|
74
73
|
EvalReport,
|
|
75
74
|
EvalRequest,
|
|
76
75
|
EvalResponse,
|
|
77
|
-
LossyTransform,
|
|
78
76
|
MetricAgg,
|
|
79
77
|
RolloutResult,
|
|
80
78
|
TaskAgg,
|
|
@@ -168,9 +166,7 @@ WIRE_MODELS: dict[str, type[BaseModel]] = {
|
|
|
168
166
|
"RolloutResult": RolloutResult,
|
|
169
167
|
"TaskAgg": TaskAgg,
|
|
170
168
|
"MetricAgg": MetricAgg,
|
|
171
|
-
"LossyTransform": LossyTransform,
|
|
172
169
|
"EvalReport": EvalReport,
|
|
173
|
-
"AdapterTransform": AdapterTransform,
|
|
174
170
|
|
|
175
171
|
"SecretRef": SecretRef,
|
|
176
172
|
"SecretCreateRequest": SecretCreateRequest,
|
|
@@ -23,22 +23,6 @@
|
|
|
23
23
|
"action_space": {
|
|
24
24
|
"$ref": "#/$defs/ActionSpace"
|
|
25
25
|
},
|
|
26
|
-
"binarize": {
|
|
27
|
-
"anyOf": [
|
|
28
|
-
{
|
|
29
|
-
"additionalProperties": {
|
|
30
|
-
"type": "number"
|
|
31
|
-
},
|
|
32
|
-
"type": "object"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"type": "null"
|
|
36
|
-
}
|
|
37
|
-
],
|
|
38
|
-
"default": null,
|
|
39
|
-
"description": "dimension -> threshold: the client gives the robot 1.0 above it, 0.0 otherwise",
|
|
40
|
-
"title": "Binarize"
|
|
41
|
-
},
|
|
42
26
|
"bounds": {
|
|
43
27
|
"anyOf": [
|
|
44
28
|
{
|
|
@@ -87,22 +71,6 @@
|
|
|
87
71
|
"default": null,
|
|
88
72
|
"title": "Max Delta"
|
|
89
73
|
},
|
|
90
|
-
"on_violation": {
|
|
91
|
-
"anyOf": [
|
|
92
|
-
{
|
|
93
|
-
"enum": [
|
|
94
|
-
"clip",
|
|
95
|
-
"refuse"
|
|
96
|
-
],
|
|
97
|
-
"type": "string"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"type": "null"
|
|
101
|
-
}
|
|
102
|
-
],
|
|
103
|
-
"default": null,
|
|
104
|
-
"title": "On Violation"
|
|
105
|
-
},
|
|
106
74
|
"robot": {
|
|
107
75
|
"title": "Robot",
|
|
108
76
|
"type": "string"
|
|
@@ -116,5 +84,5 @@
|
|
|
116
84
|
],
|
|
117
85
|
"title": "ActionContract",
|
|
118
86
|
"type": "object",
|
|
119
|
-
"x-contract-version": "0.5.
|
|
87
|
+
"x-contract-version": "0.5.12"
|
|
120
88
|
}
|
{sequence_base-0.4.12 → sequence_base-0.4.13}/sequence_base/schemas/BenchmarkRegisterRequest.json
RENAMED
|
@@ -11,22 +11,6 @@
|
|
|
11
11
|
"action_space": {
|
|
12
12
|
"$ref": "#/$defs/ActionSpace"
|
|
13
13
|
},
|
|
14
|
-
"binarize": {
|
|
15
|
-
"anyOf": [
|
|
16
|
-
{
|
|
17
|
-
"additionalProperties": {
|
|
18
|
-
"type": "number"
|
|
19
|
-
},
|
|
20
|
-
"type": "object"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"type": "null"
|
|
24
|
-
}
|
|
25
|
-
],
|
|
26
|
-
"default": null,
|
|
27
|
-
"description": "dimension -> threshold: the client gives the robot 1.0 above it, 0.0 otherwise",
|
|
28
|
-
"title": "Binarize"
|
|
29
|
-
},
|
|
30
14
|
"bounds": {
|
|
31
15
|
"anyOf": [
|
|
32
16
|
{
|
|
@@ -75,22 +59,6 @@
|
|
|
75
59
|
"default": null,
|
|
76
60
|
"title": "Max Delta"
|
|
77
61
|
},
|
|
78
|
-
"on_violation": {
|
|
79
|
-
"anyOf": [
|
|
80
|
-
{
|
|
81
|
-
"enum": [
|
|
82
|
-
"clip",
|
|
83
|
-
"refuse"
|
|
84
|
-
],
|
|
85
|
-
"type": "string"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"type": "null"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
"default": null,
|
|
92
|
-
"title": "On Violation"
|
|
93
|
-
},
|
|
94
62
|
"robot": {
|
|
95
63
|
"title": "Robot",
|
|
96
64
|
"type": "string"
|
|
@@ -876,6 +844,14 @@
|
|
|
876
844
|
"default": null,
|
|
877
845
|
"title": "Memory Gb"
|
|
878
846
|
},
|
|
847
|
+
"metric_units": {
|
|
848
|
+
"additionalProperties": {
|
|
849
|
+
"type": "string"
|
|
850
|
+
},
|
|
851
|
+
"maxProperties": 64,
|
|
852
|
+
"title": "Metric Units",
|
|
853
|
+
"type": "object"
|
|
854
|
+
},
|
|
879
855
|
"name": {
|
|
880
856
|
"title": "Name",
|
|
881
857
|
"type": "string"
|
|
@@ -942,6 +918,20 @@
|
|
|
942
918
|
"default": null,
|
|
943
919
|
"title": "Seeds Repeat"
|
|
944
920
|
},
|
|
921
|
+
"success_metric": {
|
|
922
|
+
"anyOf": [
|
|
923
|
+
{
|
|
924
|
+
"maxLength": 200,
|
|
925
|
+
"minLength": 1,
|
|
926
|
+
"type": "string"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"type": "null"
|
|
930
|
+
}
|
|
931
|
+
],
|
|
932
|
+
"default": null,
|
|
933
|
+
"title": "Success Metric"
|
|
934
|
+
},
|
|
945
935
|
"task_descriptions": {
|
|
946
936
|
"additionalProperties": {
|
|
947
937
|
"type": "string"
|
|
@@ -972,5 +962,5 @@
|
|
|
972
962
|
],
|
|
973
963
|
"title": "BenchmarkRegisterRequest",
|
|
974
964
|
"type": "object",
|
|
975
|
-
"x-contract-version": "0.5.
|
|
965
|
+
"x-contract-version": "0.5.12"
|
|
976
966
|
}
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
],
|
|
369
369
|
"title": "SeqFlags",
|
|
370
370
|
"type": "integer",
|
|
371
|
-
"x-contract-version": "0.5.
|
|
371
|
+
"x-contract-version": "0.5.12",
|
|
372
372
|
"x-flag-names": {
|
|
373
373
|
"CHECK": 65536,
|
|
374
374
|
"INFER": 16,
|
|
@@ -625,5 +625,5 @@
|
|
|
625
625
|
],
|
|
626
626
|
"title": "BenchmarkSpec",
|
|
627
627
|
"type": "object",
|
|
628
|
-
"x-contract-version": "0.5.
|
|
628
|
+
"x-contract-version": "0.5.12"
|
|
629
629
|
}
|
|
@@ -11,22 +11,6 @@
|
|
|
11
11
|
"action_space": {
|
|
12
12
|
"$ref": "#/$defs/ActionSpace"
|
|
13
13
|
},
|
|
14
|
-
"binarize": {
|
|
15
|
-
"anyOf": [
|
|
16
|
-
{
|
|
17
|
-
"additionalProperties": {
|
|
18
|
-
"type": "number"
|
|
19
|
-
},
|
|
20
|
-
"type": "object"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"type": "null"
|
|
24
|
-
}
|
|
25
|
-
],
|
|
26
|
-
"default": null,
|
|
27
|
-
"description": "dimension -> threshold: the client gives the robot 1.0 above it, 0.0 otherwise",
|
|
28
|
-
"title": "Binarize"
|
|
29
|
-
},
|
|
30
14
|
"bounds": {
|
|
31
15
|
"anyOf": [
|
|
32
16
|
{
|
|
@@ -75,22 +59,6 @@
|
|
|
75
59
|
"default": null,
|
|
76
60
|
"title": "Max Delta"
|
|
77
61
|
},
|
|
78
|
-
"on_violation": {
|
|
79
|
-
"anyOf": [
|
|
80
|
-
{
|
|
81
|
-
"enum": [
|
|
82
|
-
"clip",
|
|
83
|
-
"refuse"
|
|
84
|
-
],
|
|
85
|
-
"type": "string"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"type": "null"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
"default": null,
|
|
92
|
-
"title": "On Violation"
|
|
93
|
-
},
|
|
94
62
|
"robot": {
|
|
95
63
|
"title": "Robot",
|
|
96
64
|
"type": "string"
|
|
@@ -342,5 +310,5 @@
|
|
|
342
310
|
],
|
|
343
311
|
"title": "ConnectResponse",
|
|
344
312
|
"type": "object",
|
|
345
|
-
"x-contract-version": "0.5.
|
|
313
|
+
"x-contract-version": "0.5.12"
|
|
346
314
|
}
|