sequence-base 0.3.7__tar.gz → 0.3.8__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.3.7 → sequence_base-0.3.8}/PKG-INFO +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/pyproject.toml +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/constants/version.py +2 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/io.py +26 -2
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ActionChunk.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ActionContract.json +61 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ActionStep.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/AdapterTransform.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Autoscaler.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/BenchmarkConditionSpec.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/BenchmarkRegisterRequest.json +61 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/BenchmarkSpec.json +2 -2
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/BenchmarkStatusResponse.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/BootstrapResponse.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Camera.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ClampInfo.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/CodeBundle.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Concurrency.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Conditions.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ConnectRequest.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ConnectResponse.json +61 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/DeploymentAccepted.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/DeploymentPolicy.json +61 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/DeploymentRequest.json +61 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/DeploymentStatusResponse.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Embodiment.json +61 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ErrorBody.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Estimate.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/EvalDryRunResponse.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/EvalReport.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/EvalRequest.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/EvalResponse.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ImageFrame.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ImageSpec.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ImageStepApt.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ImageStepEnv.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ImageStepRun.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ImageStepUvPip.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/InferParam.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Lease.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/LossyTransform.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/MetricAgg.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Observation.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/ObservationContract.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/PolicyRegistration.json +62 -2
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/PolicySpec.json +61 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Proprioception.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/RenderSpec.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Resources.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/RolloutResult.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/SecretCreateRequest.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/SecretInfo.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/SecretRef.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/SeqFlags.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Step.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/SuiteAgg.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/TaskAgg.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Timeouts.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/UploadTarget.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/UsageReport.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/Variant.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/VolumeAttach.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/VolumeFile.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/VolumeInfo.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/VolumeMount.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/VolumeRef.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/VolumeUploadRequest.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/VolumeUploadResponse.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/WarmingError.json +1 -1
- {sequence_base-0.3.7 → sequence_base-0.3.8}/tests/test_contracts.py +13 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/.github/workflows/ci.yml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/.gitignore +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/README.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/README.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/REVIEW.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/START.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/accounts.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/billing.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/build/BUILD_LOG.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/build/goal_sha256.json +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/build/gs-build-wave.js +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/build/gs-spec-goals.js +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/container.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/contracts.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/deploy/PLAN.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/deploy/PROD_REORG.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/deploy/SCHEMA_COMPAT.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/deploy/archive/sequences-gw.genseq-506918.20261001.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/eval.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/gateway.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/A1.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/A2.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/A3.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/C1.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/C2.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/C3.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/C4.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/C5.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/G1.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/G2.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/G3.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/G4.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/G5.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/O1.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/O2.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/O3.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/O4.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/O5.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/R1.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/R2.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/R3.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/S1.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/S2.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/S3.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/S4.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/S5.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/S6.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/V1-storage.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/V2-user-quotas.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/W0.1.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/goals/W0.2.yaml +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/README.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/architecture.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/connect.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/cost.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/custom-domain.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/debugging.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/goals.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/limits.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/plan.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/white-label.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/modal/wiring.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/observability.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/references.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/docs/platform/sdk.md +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/__init__.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/auth.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/codec/__init__.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/codec/image.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/codec/resize.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/constants/__init__.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/constants/env.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/constants/headers.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/__init__.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/accounts.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/act.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/benchmarks.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/connect.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/deployments.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/errors.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/eval.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/flags.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/policy.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/contract/volumes.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/errors/__init__.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/errors/transport.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/obs/__init__.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/obs/log.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/obs/rid.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schema_export.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/telemetry/__init__.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/telemetry/events.py +0 -0
- {sequence_base-0.3.7 → sequence_base-0.3.8}/tests/test_codec_roundtrip.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sequence-base
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8
|
|
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
|
Requires-Python: >=3.11
|
|
6
6
|
Requires-Dist: pydantic>=2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sequence-base"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.8"
|
|
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.11"
|
|
6
6
|
dependencies = ["pydantic>=2.0"]
|
|
@@ -6,7 +6,8 @@ PROTOCOL_VERSION = "1"
|
|
|
6
6
|
# across deployments / repos can tell which version of a shape it is validating against. MUST change
|
|
7
7
|
# whenever any shared wire shape changes (a field added / removed / retyped) — that is what makes
|
|
8
8
|
# contract evolution mechanically detectable instead of eyeballed. Bump on any shape change.
|
|
9
|
-
CONTRACT_VERSION = "0.4.
|
|
9
|
+
CONTRACT_VERSION = "0.4.7" # 0.4.6 -> 0.4.7: ActionContract.bounds / max_delta / on_violation (action limits)
|
|
10
|
+
# previous: 0.4.6 # 0.4.5 -> 0.4.6: InferParam + DeploymentPolicy.params; EvalRequest.params / variants / record; BenchmarkRegisterRequest.gpu
|
|
10
11
|
# previous: 0.4.5 # 0.4.4 -> 0.4.5: BenchmarkRegisterRequest.condition_list / timeout_s / default_adapter_ref (+ BenchmarkConditionSpec); EvalRequest.tasks / max_usd / rerun_of
|
|
11
12
|
# previous: 0.4.4 # 0.4.3 -> 0.4.4: BenchmarkRegisterRequest.secrets (by name) + score (has @seq.score)
|
|
12
13
|
# previous: 0.4.3 # 0.4.2 -> 0.4.3: I/O contract — ObservationContract/Camera/Embodiment on PolicySpec + DeploymentPolicy, Observation.state, ConnectRequest.embodiment, ConnectResponse.action/observation/embodiment
|
|
@@ -11,9 +11,9 @@ policy → accounts → connect would otherwise import back into policy.
|
|
|
11
11
|
"""
|
|
12
12
|
from __future__ import annotations
|
|
13
13
|
|
|
14
|
-
from typing import Any
|
|
14
|
+
from typing import Any, Literal
|
|
15
15
|
|
|
16
|
-
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
16
|
+
from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
|
|
17
17
|
|
|
18
18
|
from sequence_base.contract.act import ActionSpace
|
|
19
19
|
|
|
@@ -28,6 +28,30 @@ class ActionContract(BaseModel):
|
|
|
28
28
|
action_space: ActionSpace
|
|
29
29
|
action_dim: int
|
|
30
30
|
control_frequency_hz: float
|
|
31
|
+
# Safety limits, enforced by the worker on every chunk before it leaves and by the robot client again before it
|
|
32
|
+
# executes: each dimension's [low, high], and the largest change between consecutive steps (one number for every
|
|
33
|
+
# dimension, or one per dimension). None: unchecked. {gs-plans/customization/deployment.md "五、安全:动作限位"}
|
|
34
|
+
bounds: list[tuple[float, float]] | None = Field(default=None, max_length=256)
|
|
35
|
+
max_delta: float | list[float] | None = None
|
|
36
|
+
# What a chunk outside them gets: "clip" (the default when None) — clipped into them, each clipped step and
|
|
37
|
+
# dimension named in the response's warnings — or "refuse": the worker answers 500 bounds_violation instead.
|
|
38
|
+
on_violation: Literal["clip", "refuse"] | None = None
|
|
39
|
+
|
|
40
|
+
@model_validator(mode="after")
|
|
41
|
+
def _limits_fit(self) -> "ActionContract":
|
|
42
|
+
if self.bounds is not None:
|
|
43
|
+
if len(self.bounds) != self.action_dim:
|
|
44
|
+
raise ValueError(f"bounds has {len(self.bounds)} [low, high] pairs; action_dim is {self.action_dim}")
|
|
45
|
+
for i, (low, high) in enumerate(self.bounds):
|
|
46
|
+
if low > high:
|
|
47
|
+
raise ValueError(f"bounds[{i}] has low {low} above high {high}")
|
|
48
|
+
if self.max_delta is not None:
|
|
49
|
+
deltas = self.max_delta if isinstance(self.max_delta, list) else [self.max_delta]
|
|
50
|
+
if isinstance(self.max_delta, list) and len(deltas) != self.action_dim:
|
|
51
|
+
raise ValueError(f"max_delta has {len(deltas)} values; action_dim is {self.action_dim}")
|
|
52
|
+
if any(d <= 0 for d in deltas):
|
|
53
|
+
raise ValueError("max_delta must be positive")
|
|
54
|
+
return self
|
|
31
55
|
|
|
32
56
|
|
|
33
57
|
# The proprioception fields an observation contract may require, with the wire field each one names.
|
|
@@ -22,10 +22,70 @@
|
|
|
22
22
|
"action_space": {
|
|
23
23
|
"$ref": "#/$defs/ActionSpace"
|
|
24
24
|
},
|
|
25
|
+
"bounds": {
|
|
26
|
+
"anyOf": [
|
|
27
|
+
{
|
|
28
|
+
"items": {
|
|
29
|
+
"maxItems": 2,
|
|
30
|
+
"minItems": 2,
|
|
31
|
+
"prefixItems": [
|
|
32
|
+
{
|
|
33
|
+
"type": "number"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "number"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"type": "array"
|
|
40
|
+
},
|
|
41
|
+
"maxItems": 256,
|
|
42
|
+
"type": "array"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "null"
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"default": null,
|
|
49
|
+
"title": "Bounds"
|
|
50
|
+
},
|
|
25
51
|
"control_frequency_hz": {
|
|
26
52
|
"title": "Control Frequency Hz",
|
|
27
53
|
"type": "number"
|
|
28
54
|
},
|
|
55
|
+
"max_delta": {
|
|
56
|
+
"anyOf": [
|
|
57
|
+
{
|
|
58
|
+
"type": "number"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "number"
|
|
63
|
+
},
|
|
64
|
+
"type": "array"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "null"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"default": null,
|
|
71
|
+
"title": "Max Delta"
|
|
72
|
+
},
|
|
73
|
+
"on_violation": {
|
|
74
|
+
"anyOf": [
|
|
75
|
+
{
|
|
76
|
+
"enum": [
|
|
77
|
+
"clip",
|
|
78
|
+
"refuse"
|
|
79
|
+
],
|
|
80
|
+
"type": "string"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "null"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"default": null,
|
|
87
|
+
"title": "On Violation"
|
|
88
|
+
},
|
|
29
89
|
"robot": {
|
|
30
90
|
"title": "Robot",
|
|
31
91
|
"type": "string"
|
|
@@ -39,5 +99,5 @@
|
|
|
39
99
|
],
|
|
40
100
|
"title": "ActionContract",
|
|
41
101
|
"type": "object",
|
|
42
|
-
"x-contract-version": "0.4.
|
|
102
|
+
"x-contract-version": "0.4.7"
|
|
43
103
|
}
|
{sequence_base-0.3.7 → sequence_base-0.3.8}/sequence_base/schemas/BenchmarkRegisterRequest.json
RENAMED
|
@@ -11,10 +11,70 @@
|
|
|
11
11
|
"action_space": {
|
|
12
12
|
"$ref": "#/$defs/ActionSpace"
|
|
13
13
|
},
|
|
14
|
+
"bounds": {
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{
|
|
17
|
+
"items": {
|
|
18
|
+
"maxItems": 2,
|
|
19
|
+
"minItems": 2,
|
|
20
|
+
"prefixItems": [
|
|
21
|
+
{
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"type": "array"
|
|
29
|
+
},
|
|
30
|
+
"maxItems": 256,
|
|
31
|
+
"type": "array"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "null"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"default": null,
|
|
38
|
+
"title": "Bounds"
|
|
39
|
+
},
|
|
14
40
|
"control_frequency_hz": {
|
|
15
41
|
"title": "Control Frequency Hz",
|
|
16
42
|
"type": "number"
|
|
17
43
|
},
|
|
44
|
+
"max_delta": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "number"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "number"
|
|
52
|
+
},
|
|
53
|
+
"type": "array"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "null"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"default": null,
|
|
60
|
+
"title": "Max Delta"
|
|
61
|
+
},
|
|
62
|
+
"on_violation": {
|
|
63
|
+
"anyOf": [
|
|
64
|
+
{
|
|
65
|
+
"enum": [
|
|
66
|
+
"clip",
|
|
67
|
+
"refuse"
|
|
68
|
+
],
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"default": null,
|
|
76
|
+
"title": "On Violation"
|
|
77
|
+
},
|
|
18
78
|
"robot": {
|
|
19
79
|
"title": "Robot",
|
|
20
80
|
"type": "string"
|
|
@@ -539,5 +599,5 @@
|
|
|
539
599
|
],
|
|
540
600
|
"title": "BenchmarkRegisterRequest",
|
|
541
601
|
"type": "object",
|
|
542
|
-
"x-contract-version": "0.4.
|
|
602
|
+
"x-contract-version": "0.4.7"
|
|
543
603
|
}
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
],
|
|
208
208
|
"title": "SeqFlags",
|
|
209
209
|
"type": "integer",
|
|
210
|
-
"x-contract-version": "0.4.
|
|
210
|
+
"x-contract-version": "0.4.7",
|
|
211
211
|
"x-flag-names": {
|
|
212
212
|
"CHECK": 65536,
|
|
213
213
|
"INFER": 16,
|
|
@@ -397,5 +397,5 @@
|
|
|
397
397
|
],
|
|
398
398
|
"title": "BenchmarkSpec",
|
|
399
399
|
"type": "object",
|
|
400
|
-
"x-contract-version": "0.4.
|
|
400
|
+
"x-contract-version": "0.4.7"
|
|
401
401
|
}
|
|
@@ -11,10 +11,70 @@
|
|
|
11
11
|
"action_space": {
|
|
12
12
|
"$ref": "#/$defs/ActionSpace"
|
|
13
13
|
},
|
|
14
|
+
"bounds": {
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{
|
|
17
|
+
"items": {
|
|
18
|
+
"maxItems": 2,
|
|
19
|
+
"minItems": 2,
|
|
20
|
+
"prefixItems": [
|
|
21
|
+
{
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"type": "array"
|
|
29
|
+
},
|
|
30
|
+
"maxItems": 256,
|
|
31
|
+
"type": "array"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "null"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"default": null,
|
|
38
|
+
"title": "Bounds"
|
|
39
|
+
},
|
|
14
40
|
"control_frequency_hz": {
|
|
15
41
|
"title": "Control Frequency Hz",
|
|
16
42
|
"type": "number"
|
|
17
43
|
},
|
|
44
|
+
"max_delta": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "number"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "number"
|
|
52
|
+
},
|
|
53
|
+
"type": "array"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "null"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"default": null,
|
|
60
|
+
"title": "Max Delta"
|
|
61
|
+
},
|
|
62
|
+
"on_violation": {
|
|
63
|
+
"anyOf": [
|
|
64
|
+
{
|
|
65
|
+
"enum": [
|
|
66
|
+
"clip",
|
|
67
|
+
"refuse"
|
|
68
|
+
],
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"default": null,
|
|
76
|
+
"title": "On Violation"
|
|
77
|
+
},
|
|
18
78
|
"robot": {
|
|
19
79
|
"title": "Robot",
|
|
20
80
|
"type": "string"
|
|
@@ -221,5 +281,5 @@
|
|
|
221
281
|
],
|
|
222
282
|
"title": "ConnectResponse",
|
|
223
283
|
"type": "object",
|
|
224
|
-
"x-contract-version": "0.4.
|
|
284
|
+
"x-contract-version": "0.4.7"
|
|
225
285
|
}
|
|
@@ -11,10 +11,70 @@
|
|
|
11
11
|
"action_space": {
|
|
12
12
|
"$ref": "#/$defs/ActionSpace"
|
|
13
13
|
},
|
|
14
|
+
"bounds": {
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{
|
|
17
|
+
"items": {
|
|
18
|
+
"maxItems": 2,
|
|
19
|
+
"minItems": 2,
|
|
20
|
+
"prefixItems": [
|
|
21
|
+
{
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"type": "array"
|
|
29
|
+
},
|
|
30
|
+
"maxItems": 256,
|
|
31
|
+
"type": "array"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "null"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"default": null,
|
|
38
|
+
"title": "Bounds"
|
|
39
|
+
},
|
|
14
40
|
"control_frequency_hz": {
|
|
15
41
|
"title": "Control Frequency Hz",
|
|
16
42
|
"type": "number"
|
|
17
43
|
},
|
|
44
|
+
"max_delta": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "number"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "number"
|
|
52
|
+
},
|
|
53
|
+
"type": "array"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "null"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"default": null,
|
|
60
|
+
"title": "Max Delta"
|
|
61
|
+
},
|
|
62
|
+
"on_violation": {
|
|
63
|
+
"anyOf": [
|
|
64
|
+
{
|
|
65
|
+
"enum": [
|
|
66
|
+
"clip",
|
|
67
|
+
"refuse"
|
|
68
|
+
],
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"default": null,
|
|
76
|
+
"title": "On Violation"
|
|
77
|
+
},
|
|
18
78
|
"robot": {
|
|
19
79
|
"title": "Robot",
|
|
20
80
|
"type": "string"
|
|
@@ -293,5 +353,5 @@
|
|
|
293
353
|
],
|
|
294
354
|
"title": "DeploymentPolicy",
|
|
295
355
|
"type": "object",
|
|
296
|
-
"x-contract-version": "0.4.
|
|
356
|
+
"x-contract-version": "0.4.7"
|
|
297
357
|
}
|
|
@@ -11,10 +11,70 @@
|
|
|
11
11
|
"action_space": {
|
|
12
12
|
"$ref": "#/$defs/ActionSpace"
|
|
13
13
|
},
|
|
14
|
+
"bounds": {
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{
|
|
17
|
+
"items": {
|
|
18
|
+
"maxItems": 2,
|
|
19
|
+
"minItems": 2,
|
|
20
|
+
"prefixItems": [
|
|
21
|
+
{
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"type": "array"
|
|
29
|
+
},
|
|
30
|
+
"maxItems": 256,
|
|
31
|
+
"type": "array"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "null"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"default": null,
|
|
38
|
+
"title": "Bounds"
|
|
39
|
+
},
|
|
14
40
|
"control_frequency_hz": {
|
|
15
41
|
"title": "Control Frequency Hz",
|
|
16
42
|
"type": "number"
|
|
17
43
|
},
|
|
44
|
+
"max_delta": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "number"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "number"
|
|
52
|
+
},
|
|
53
|
+
"type": "array"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "null"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"default": null,
|
|
60
|
+
"title": "Max Delta"
|
|
61
|
+
},
|
|
62
|
+
"on_violation": {
|
|
63
|
+
"anyOf": [
|
|
64
|
+
{
|
|
65
|
+
"enum": [
|
|
66
|
+
"clip",
|
|
67
|
+
"refuse"
|
|
68
|
+
],
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"default": null,
|
|
76
|
+
"title": "On Violation"
|
|
77
|
+
},
|
|
18
78
|
"robot": {
|
|
19
79
|
"title": "Robot",
|
|
20
80
|
"type": "string"
|
|
@@ -659,5 +719,5 @@
|
|
|
659
719
|
],
|
|
660
720
|
"title": "DeploymentRequest",
|
|
661
721
|
"type": "object",
|
|
662
|
-
"x-contract-version": "0.4.
|
|
722
|
+
"x-contract-version": "0.4.7"
|
|
663
723
|
}
|
|
@@ -11,10 +11,70 @@
|
|
|
11
11
|
"action_space": {
|
|
12
12
|
"$ref": "#/$defs/ActionSpace"
|
|
13
13
|
},
|
|
14
|
+
"bounds": {
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{
|
|
17
|
+
"items": {
|
|
18
|
+
"maxItems": 2,
|
|
19
|
+
"minItems": 2,
|
|
20
|
+
"prefixItems": [
|
|
21
|
+
{
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"type": "array"
|
|
29
|
+
},
|
|
30
|
+
"maxItems": 256,
|
|
31
|
+
"type": "array"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "null"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"default": null,
|
|
38
|
+
"title": "Bounds"
|
|
39
|
+
},
|
|
14
40
|
"control_frequency_hz": {
|
|
15
41
|
"title": "Control Frequency Hz",
|
|
16
42
|
"type": "number"
|
|
17
43
|
},
|
|
44
|
+
"max_delta": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "number"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "number"
|
|
52
|
+
},
|
|
53
|
+
"type": "array"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "null"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"default": null,
|
|
60
|
+
"title": "Max Delta"
|
|
61
|
+
},
|
|
62
|
+
"on_violation": {
|
|
63
|
+
"anyOf": [
|
|
64
|
+
{
|
|
65
|
+
"enum": [
|
|
66
|
+
"clip",
|
|
67
|
+
"refuse"
|
|
68
|
+
],
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"default": null,
|
|
76
|
+
"title": "On Violation"
|
|
77
|
+
},
|
|
18
78
|
"robot": {
|
|
19
79
|
"title": "Robot",
|
|
20
80
|
"type": "string"
|
|
@@ -139,5 +199,5 @@
|
|
|
139
199
|
],
|
|
140
200
|
"title": "Embodiment",
|
|
141
201
|
"type": "object",
|
|
142
|
-
"x-contract-version": "0.4.
|
|
202
|
+
"x-contract-version": "0.4.7"
|
|
143
203
|
}
|