sequence-base 0.3.26__tar.gz → 0.3.27__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.
Files changed (106) hide show
  1. {sequence_base-0.3.26 → sequence_base-0.3.27}/PKG-INFO +1 -1
  2. {sequence_base-0.3.26 → sequence_base-0.3.27}/pyproject.toml +1 -1
  3. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/constants/version.py +2 -1
  4. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/benchmarks.py +6 -1
  5. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/deployments.py +4 -0
  6. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/policy.py +8 -0
  7. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ActRequest.json +1 -1
  8. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ActResponse.json +1 -1
  9. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ActionChunk.json +1 -1
  10. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ActionContract.json +1 -1
  11. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ActionStep.json +1 -1
  12. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/AdapterTransform.json +1 -1
  13. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/AddLocal.json +1 -1
  14. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Autoscaler.json +1 -1
  15. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/BenchmarkConditionSpec.json +1 -1
  16. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/BenchmarkRegisterRequest.json +14 -1
  17. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/BenchmarkSpec.json +15 -2
  18. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/BenchmarkStatusResponse.json +1 -1
  19. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/BootstrapResponse.json +1 -1
  20. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Camera.json +1 -1
  21. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ClampInfo.json +1 -1
  22. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/CodeBundle.json +1 -1
  23. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Concurrency.json +1 -1
  24. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Conditions.json +1 -1
  25. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ConnectRequest.json +1 -1
  26. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ConnectResponse.json +1 -1
  27. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/DeploymentAccepted.json +1 -1
  28. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/DeploymentPolicy.json +14 -1
  29. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/DeploymentRequest.json +14 -1
  30. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/DeploymentStatusResponse.json +1 -1
  31. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Embodiment.json +1 -1
  32. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ErrorBody.json +1 -1
  33. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ErrorCodes.json +1 -1
  34. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Estimate.json +1 -1
  35. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/EvalDryRunResponse.json +1 -1
  36. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/EvalReport.json +1 -1
  37. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/EvalRequest.json +1 -1
  38. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/EvalResponse.json +1 -1
  39. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ImageFrame.json +1 -1
  40. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ImageSpec.json +1 -1
  41. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ImageStepAddLocal.json +1 -1
  42. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ImageStepApt.json +1 -1
  43. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ImageStepEnv.json +1 -1
  44. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ImageStepRun.json +1 -1
  45. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ImageStepUvPip.json +1 -1
  46. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/InferParam.json +1 -1
  47. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Lease.json +1 -1
  48. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/LossyTransform.json +1 -1
  49. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/MetricAgg.json +1 -1
  50. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Observation.json +1 -1
  51. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/ObservationContract.json +1 -1
  52. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/PolicyRegistration.json +15 -2
  53. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/PolicySpec.json +14 -1
  54. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Proprioception.json +1 -1
  55. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/RenderSpec.json +1 -1
  56. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Resources.json +1 -1
  57. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/RolloutResult.json +1 -1
  58. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/SecretCreateRequest.json +1 -1
  59. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/SecretInfo.json +1 -1
  60. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/SecretRef.json +1 -1
  61. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/SeqFlags.json +1 -1
  62. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Step.json +1 -1
  63. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/SuiteAgg.json +1 -1
  64. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/TaskAgg.json +1 -1
  65. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Timeouts.json +1 -1
  66. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/UploadTarget.json +1 -1
  67. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/UsageReport.json +1 -1
  68. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/Variant.json +1 -1
  69. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/VolumeAttach.json +1 -1
  70. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/VolumeFile.json +1 -1
  71. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/VolumeInfo.json +1 -1
  72. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/VolumeMount.json +1 -1
  73. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/VolumeRef.json +1 -1
  74. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/VolumeUploadRequest.json +1 -1
  75. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/VolumeUploadResponse.json +1 -1
  76. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schemas/WarmingError.json +1 -1
  77. {sequence_base-0.3.26 → sequence_base-0.3.27}/.gitignore +0 -0
  78. {sequence_base-0.3.26 → sequence_base-0.3.27}/README.md +0 -0
  79. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/__init__.py +0 -0
  80. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/auth.py +0 -0
  81. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/codec/__init__.py +0 -0
  82. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/codec/image.py +0 -0
  83. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/constants/__init__.py +0 -0
  84. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/constants/env.py +0 -0
  85. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/constants/headers.py +0 -0
  86. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/__init__.py +0 -0
  87. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/accounts.py +0 -0
  88. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/act.py +0 -0
  89. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/connect.py +0 -0
  90. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/errors.py +0 -0
  91. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/eval.py +0 -0
  92. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/flags.py +0 -0
  93. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/io.py +0 -0
  94. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/templates.py +0 -0
  95. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/volumes.py +0 -0
  96. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/contract/wire.py +0 -0
  97. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/errors/__init__.py +0 -0
  98. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/errors/transport.py +0 -0
  99. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/obs/__init__.py +0 -0
  100. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/obs/log.py +0 -0
  101. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/obs/rid.py +0 -0
  102. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/presets/__init__.py +0 -0
  103. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/presets/robot_arm.py +0 -0
  104. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/schema_export.py +0 -0
  105. {sequence_base-0.3.26 → sequence_base-0.3.27}/sequence_base/telemetry/__init__.py +0 -0
  106. {sequence_base-0.3.26 → sequence_base-0.3.27}/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.3.26
3
+ Version: 0.3.27
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.10
6
6
  Requires-Dist: pydantic>=2.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sequence-base"
3
- version = "0.3.26"
3
+ version = "0.3.27"
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
  # 3.10, not 3.11: `seq` (which imports this) must run on ROS 2 Humble's Python 3.10, and nothing here needs 3.11.
6
6
  # {2026-10-03 the full suite on CPython 3.10.20: "147 PASSED"; vermin --eval-annotations: "MINIMUM REQUIRED VERSIONS: 3.9"}
@@ -4,7 +4,8 @@
4
4
  # across deployments / repos can tell which version of a shape it is validating against. MUST change
5
5
  # whenever any shared wire shape changes (a field added / removed / retyped) — that is what makes
6
6
  # contract evolution mechanically detectable instead of eyeballed. Bump on any shape change.
7
- CONTRACT_VERSION = "0.4.23" # 0.4.22 -> 0.4.23: Estimate.held_usd — what an eval holds from the balance when it differs from the estimate (the estimate on each machine's first card, the hold on its costliest; gs-plans inbox/audit-2026-10-07 B4)
7
+ CONTRACT_VERSION = "0.4.24" # 0.4.23 -> 0.4.24: PolicySpec / DeploymentPolicy.family and BenchmarkSpec / BenchmarkRegisterRequest.engine — the model family a policy declares and the physics engine a benchmark runs on (a short lowercase name, KIND_NAME), each its icon in the console (gs-plans U14)
8
+ # previous: 0.4.23 # 0.4.22 -> 0.4.23: Estimate.held_usd — what an eval holds from the balance when it differs from the estimate (the estimate on each machine's first card, the hold on its costliest; gs-plans inbox/audit-2026-10-07 B4)
8
9
  # previous: 0.4.22 # 0.4.21 -> 0.4.22: ParamUsed.source "deployment" — an eval of a policy runs with the default its deployment sets (`seq policy params`), and its report says so (gs-plans deploy-serving/35)
9
10
  # previous: 0.4.21 # 0.4.20 -> 0.4.21: InferParam.min / max / choices — the values an inference parameter allows (seq.Range / seq.OneOf), refused before inference outside them; None, left off the wire, as before (gs-plans deploy-serving/35)
10
11
  # previous: 0.4.20 # 0.4.19 -> 0.4.20: BenchmarkRegisterRequest.params — the parameters a benchmark's @seq.setup declares (InferParam: type and default), which an eval may set; EvalReport.arm_params — per arm each parameter's value and source, and the steps that asked the policy of all it took (gs-plans eval-adapters/36)
@@ -19,7 +19,7 @@ from pydantic import BaseModel, ConfigDict, Field, model_validator
19
19
  from sequence_base.contract.accounts import SecretRef
20
20
  from sequence_base.contract.deployments import CodeBundle, DeploymentState, InferParam
21
21
  from sequence_base.contract.flags import BENCHMARK_BATCHED, BENCHMARK_BINDABLE, SeqFlags
22
- from sequence_base.contract.policy import ActionContract, ImageSpec, VolumeRef
22
+ from sequence_base.contract.policy import KIND_NAME, ActionContract, ImageSpec, VolumeRef
23
23
 
24
24
  __all__ = [
25
25
  "Variant",
@@ -110,6 +110,8 @@ class BenchmarkSpec(BaseModel):
110
110
  cpu: int | None = None
111
111
  memory_gb: int | None = None
112
112
  secrets: list[SecretRef] = Field(default_factory=list)
113
+ # The physics engine its simulation runs on (mujoco, sapien, isaac, genesis, pybullet): its icon in the console.
114
+ engine: str | None = Field(default=None, pattern=KIND_NAME)
113
115
 
114
116
  @model_validator(mode="after")
115
117
  def _bindings_only_benchmark_hooks(self) -> "BenchmarkSpec":
@@ -193,6 +195,9 @@ class BenchmarkRegisterRequest(BaseModel):
193
195
  batched: bool = False
194
196
  # The Dockerfile's build context, as for a deployment.
195
197
  image_context: CodeBundle | None = None
198
+ # The physics engine the benchmark declares (`@seq.benchmark(engine="mujoco")`): its icon in the console. None:
199
+ # undeclared, or an SDK from before it.
200
+ engine: str | None = Field(default=None, pattern=KIND_NAME)
196
201
 
197
202
  @model_validator(mode="after")
198
203
  def _param_names(self) -> "BenchmarkRegisterRequest":
@@ -25,6 +25,7 @@ from sequence_base.contract.templates import TEMPLATE_SCHEME, parse_template
25
25
  from sequence_base.contract.volumes import VOL_SCHEME, parse_vol
26
26
  from sequence_base.contract.io import Embodiment, ObservationContract
27
27
  from sequence_base.contract.policy import (
28
+ KIND_NAME,
28
29
  ActionContract,
29
30
  Concurrency,
30
31
  ImageSpec,
@@ -194,6 +195,9 @@ class DeploymentPolicy(BaseModel):
194
195
  # The author's own description of what infer() takes and returns; stored, handed to the robot at connect, never
195
196
  # interpreted by the platform.
196
197
  io: str | None = Field(default=None, max_length=4000)
198
+ # The model family the policy declares (`@seq.policy(family="pi")`): its icon in the console. None: undeclared,
199
+ # or an SDK from before it.
200
+ family: str | None = Field(default=None, pattern=KIND_NAME)
197
201
  # The inference parameters @seq.infer takes beyond the observation (name -> type, default). None: an older
198
202
  # SDK that did not look; {}: the policy declares none.
199
203
  params: dict[str, InferParam] | None = Field(default=None, max_length=32)
@@ -175,6 +175,12 @@ class Concurrency(BaseModel):
175
175
  return self
176
176
 
177
177
 
178
+ # A family or an engine as a declaration names it: a short lowercase name (pi, gr00t, cosmos; mujoco, sapien, isaac).
179
+ # The console draws a policy's or a benchmark's icon from it, and the default icon for a name it does not know; the
180
+ # platform reads nothing else into it. {gs-plans U14 "声明参数 @seq.policy(family=) 和 @seq.benchmark(engine=)"}
181
+ KIND_NAME = r"^[a-z0-9][a-z0-9._-]{0,31}$"
182
+
183
+
178
184
  class PolicySpec(BaseModel):
179
185
  """What `@seq.policy(...)` accrues — a policy's complete infra declaration, losslessly. `action` /
180
186
  `observation` / `embodiments` are optional (contract 0.4.14): a policy that declares none defines its I/O in its own
@@ -215,6 +221,8 @@ class PolicySpec(BaseModel):
215
221
  # The author's own description of what infer() takes and returns. Stored and shown (connect hands it to the
216
222
  # robot); the platform never interprets it.
217
223
  io: str | None = Field(default=None, max_length=4000)
224
+ # The model family it belongs to (pi, gr00t, cosmos, lerobot): its icon in the console. None: undeclared.
225
+ family: str | None = Field(default=None, pattern=KIND_NAME)
218
226
 
219
227
  @field_validator("weights")
220
228
  @classmethod
@@ -65,5 +65,5 @@
65
65
  ],
66
66
  "title": "ActRequest",
67
67
  "type": "object",
68
- "x-contract-version": "0.4.23"
68
+ "x-contract-version": "0.4.24"
69
69
  }
@@ -75,5 +75,5 @@
75
75
  ],
76
76
  "title": "ActResponse",
77
77
  "type": "object",
78
- "x-contract-version": "0.4.23"
78
+ "x-contract-version": "0.4.24"
79
79
  }
@@ -99,5 +99,5 @@
99
99
  ],
100
100
  "title": "ActionChunk",
101
101
  "type": "object",
102
- "x-contract-version": "0.4.23"
102
+ "x-contract-version": "0.4.24"
103
103
  }
@@ -100,5 +100,5 @@
100
100
  ],
101
101
  "title": "ActionContract",
102
102
  "type": "object",
103
- "x-contract-version": "0.4.23"
103
+ "x-contract-version": "0.4.24"
104
104
  }
@@ -19,5 +19,5 @@
19
19
  ],
20
20
  "title": "ActionStep",
21
21
  "type": "object",
22
- "x-contract-version": "0.4.23"
22
+ "x-contract-version": "0.4.24"
23
23
  }
@@ -38,5 +38,5 @@
38
38
  ],
39
39
  "title": "AdapterTransform",
40
40
  "type": "object",
41
- "x-contract-version": "0.4.23"
41
+ "x-contract-version": "0.4.24"
42
42
  }
@@ -23,5 +23,5 @@
23
23
  ],
24
24
  "title": "AddLocal",
25
25
  "type": "object",
26
- "x-contract-version": "0.4.23"
26
+ "x-contract-version": "0.4.24"
27
27
  }
@@ -69,5 +69,5 @@
69
69
  },
70
70
  "title": "Autoscaler",
71
71
  "type": "object",
72
- "x-contract-version": "0.4.23"
72
+ "x-contract-version": "0.4.24"
73
73
  }
@@ -62,5 +62,5 @@
62
62
  ],
63
63
  "title": "BenchmarkConditionSpec",
64
64
  "type": "object",
65
- "x-contract-version": "0.4.23"
65
+ "x-contract-version": "0.4.24"
66
66
  }
@@ -702,6 +702,19 @@
702
702
  "default": null,
703
703
  "title": "Default Adapter Ref"
704
704
  },
705
+ "engine": {
706
+ "anyOf": [
707
+ {
708
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,31}$",
709
+ "type": "string"
710
+ },
711
+ {
712
+ "type": "null"
713
+ }
714
+ ],
715
+ "default": null,
716
+ "title": "Engine"
717
+ },
705
718
  "envs": {
706
719
  "anyOf": [
707
720
  {
@@ -836,5 +849,5 @@
836
849
  ],
837
850
  "title": "BenchmarkRegisterRequest",
838
851
  "type": "object",
839
- "x-contract-version": "0.4.23"
852
+ "x-contract-version": "0.4.24"
840
853
  }
@@ -297,7 +297,7 @@
297
297
  ],
298
298
  "title": "SeqFlags",
299
299
  "type": "integer",
300
- "x-contract-version": "0.4.23",
300
+ "x-contract-version": "0.4.24",
301
301
  "x-flag-names": {
302
302
  "CHECK": 65536,
303
303
  "INFER": 16,
@@ -416,6 +416,19 @@
416
416
  "default": null,
417
417
  "title": "Cpu"
418
418
  },
419
+ "engine": {
420
+ "anyOf": [
421
+ {
422
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,31}$",
423
+ "type": "string"
424
+ },
425
+ {
426
+ "type": "null"
427
+ }
428
+ ],
429
+ "default": null,
430
+ "title": "Engine"
431
+ },
419
432
  "envs": {
420
433
  "anyOf": [
421
434
  {
@@ -505,5 +518,5 @@
505
518
  ],
506
519
  "title": "BenchmarkSpec",
507
520
  "type": "object",
508
- "x-contract-version": "0.4.23"
521
+ "x-contract-version": "0.4.24"
509
522
  }
@@ -40,5 +40,5 @@
40
40
  ],
41
41
  "title": "BenchmarkStatusResponse",
42
42
  "type": "object",
43
- "x-contract-version": "0.4.23"
43
+ "x-contract-version": "0.4.24"
44
44
  }
@@ -79,5 +79,5 @@
79
79
  ],
80
80
  "title": "BootstrapResponse",
81
81
  "type": "object",
82
- "x-contract-version": "0.4.23"
82
+ "x-contract-version": "0.4.24"
83
83
  }
@@ -34,5 +34,5 @@
34
34
  ],
35
35
  "title": "Camera",
36
36
  "type": "object",
37
- "x-contract-version": "0.4.23"
37
+ "x-contract-version": "0.4.24"
38
38
  }
@@ -23,5 +23,5 @@
23
23
  ],
24
24
  "title": "ClampInfo",
25
25
  "type": "object",
26
- "x-contract-version": "0.4.23"
26
+ "x-contract-version": "0.4.24"
27
27
  }
@@ -23,5 +23,5 @@
23
23
  ],
24
24
  "title": "CodeBundle",
25
25
  "type": "object",
26
- "x-contract-version": "0.4.23"
26
+ "x-contract-version": "0.4.24"
27
27
  }
@@ -61,5 +61,5 @@
61
61
  },
62
62
  "title": "Concurrency",
63
63
  "type": "object",
64
- "x-contract-version": "0.4.23"
64
+ "x-contract-version": "0.4.24"
65
65
  }
@@ -55,5 +55,5 @@
55
55
  ],
56
56
  "title": "Conditions",
57
57
  "type": "object",
58
- "x-contract-version": "0.4.23"
58
+ "x-contract-version": "0.4.24"
59
59
  }
@@ -25,5 +25,5 @@
25
25
  ],
26
26
  "title": "ConnectRequest",
27
27
  "type": "object",
28
- "x-contract-version": "0.4.23"
28
+ "x-contract-version": "0.4.24"
29
29
  }
@@ -307,5 +307,5 @@
307
307
  ],
308
308
  "title": "ConnectResponse",
309
309
  "type": "object",
310
- "x-contract-version": "0.4.23"
310
+ "x-contract-version": "0.4.24"
311
311
  }
@@ -18,5 +18,5 @@
18
18
  ],
19
19
  "title": "DeploymentAccepted",
20
20
  "type": "object",
21
- "x-contract-version": "0.4.23"
21
+ "x-contract-version": "0.4.24"
22
22
  }
@@ -373,6 +373,19 @@
373
373
  "default": null,
374
374
  "title": "Embodiments"
375
375
  },
376
+ "family": {
377
+ "anyOf": [
378
+ {
379
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,31}$",
380
+ "type": "string"
381
+ },
382
+ {
383
+ "type": "null"
384
+ }
385
+ ],
386
+ "default": null,
387
+ "title": "Family"
388
+ },
376
389
  "frames_per_chunk": {
377
390
  "anyOf": [
378
391
  {
@@ -463,5 +476,5 @@
463
476
  ],
464
477
  "title": "DeploymentPolicy",
465
478
  "type": "object",
466
- "x-contract-version": "0.4.23"
479
+ "x-contract-version": "0.4.24"
467
480
  }
@@ -368,6 +368,19 @@
368
368
  "default": null,
369
369
  "title": "Embodiments"
370
370
  },
371
+ "family": {
372
+ "anyOf": [
373
+ {
374
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,31}$",
375
+ "type": "string"
376
+ },
377
+ {
378
+ "type": "null"
379
+ }
380
+ ],
381
+ "default": null,
382
+ "title": "Family"
383
+ },
371
384
  "frames_per_chunk": {
372
385
  "anyOf": [
373
386
  {
@@ -1077,5 +1090,5 @@
1077
1090
  ],
1078
1091
  "title": "DeploymentRequest",
1079
1092
  "type": "object",
1080
- "x-contract-version": "0.4.23"
1093
+ "x-contract-version": "0.4.24"
1081
1094
  }
@@ -58,5 +58,5 @@
58
58
  ],
59
59
  "title": "DeploymentStatusResponse",
60
60
  "type": "object",
61
- "x-contract-version": "0.4.23"
61
+ "x-contract-version": "0.4.24"
62
62
  }
@@ -213,5 +213,5 @@
213
213
  ],
214
214
  "title": "Embodiment",
215
215
  "type": "object",
216
- "x-contract-version": "0.4.23"
216
+ "x-contract-version": "0.4.24"
217
217
  }
@@ -94,5 +94,5 @@
94
94
  ],
95
95
  "title": "ErrorBody",
96
96
  "type": "object",
97
- "x-contract-version": "0.4.23"
97
+ "x-contract-version": "0.4.24"
98
98
  }
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "title": "ErrorCode",
24
24
  "type": "string",
25
- "x-contract-version": "0.4.23",
25
+ "x-contract-version": "0.4.24",
26
26
  "x-errors": {
27
27
  "budget_exhausted": {
28
28
  "exit_code": 6,
@@ -60,5 +60,5 @@
60
60
  ],
61
61
  "title": "Estimate",
62
62
  "type": "object",
63
- "x-contract-version": "0.4.23"
63
+ "x-contract-version": "0.4.24"
64
64
  }
@@ -240,5 +240,5 @@
240
240
  ],
241
241
  "title": "EvalDryRunResponse",
242
242
  "type": "object",
243
- "x-contract-version": "0.4.23"
243
+ "x-contract-version": "0.4.24"
244
244
  }
@@ -523,5 +523,5 @@
523
523
  ],
524
524
  "title": "EvalReport",
525
525
  "type": "object",
526
- "x-contract-version": "0.4.23"
526
+ "x-contract-version": "0.4.24"
527
527
  }
@@ -281,5 +281,5 @@
281
281
  ],
282
282
  "title": "EvalRequest",
283
283
  "type": "object",
284
- "x-contract-version": "0.4.23"
284
+ "x-contract-version": "0.4.24"
285
285
  }
@@ -190,5 +190,5 @@
190
190
  ],
191
191
  "title": "EvalResponse",
192
192
  "type": "object",
193
- "x-contract-version": "0.4.23"
193
+ "x-contract-version": "0.4.24"
194
194
  }
@@ -49,5 +49,5 @@
49
49
  ],
50
50
  "title": "ImageFrame",
51
51
  "type": "object",
52
- "x-contract-version": "0.4.23"
52
+ "x-contract-version": "0.4.24"
53
53
  }
@@ -204,5 +204,5 @@
204
204
  },
205
205
  "title": "ImageSpec",
206
206
  "type": "object",
207
- "x-contract-version": "0.4.23"
207
+ "x-contract-version": "0.4.24"
208
208
  }
@@ -38,5 +38,5 @@
38
38
  ],
39
39
  "title": "ImageStepAddLocal",
40
40
  "type": "object",
41
- "x-contract-version": "0.4.23"
41
+ "x-contract-version": "0.4.24"
42
42
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepApt",
16
16
  "type": "object",
17
- "x-contract-version": "0.4.23"
17
+ "x-contract-version": "0.4.24"
18
18
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepEnv",
16
16
  "type": "object",
17
- "x-contract-version": "0.4.23"
17
+ "x-contract-version": "0.4.24"
18
18
  }
@@ -46,5 +46,5 @@
46
46
  ],
47
47
  "title": "ImageStepRun",
48
48
  "type": "object",
49
- "x-contract-version": "0.4.23"
49
+ "x-contract-version": "0.4.24"
50
50
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepUvPip",
16
16
  "type": "object",
17
- "x-contract-version": "0.4.23"
17
+ "x-contract-version": "0.4.24"
18
18
  }
@@ -99,5 +99,5 @@
99
99
  ],
100
100
  "title": "InferParam",
101
101
  "type": "object",
102
- "x-contract-version": "0.4.23"
102
+ "x-contract-version": "0.4.24"
103
103
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "Lease",
26
26
  "type": "object",
27
- "x-contract-version": "0.4.23"
27
+ "x-contract-version": "0.4.24"
28
28
  }
@@ -17,5 +17,5 @@
17
17
  ],
18
18
  "title": "LossyTransform",
19
19
  "type": "object",
20
- "x-contract-version": "0.4.23"
20
+ "x-contract-version": "0.4.24"
21
21
  }
@@ -83,5 +83,5 @@
83
83
  ],
84
84
  "title": "MetricAgg",
85
85
  "type": "object",
86
- "x-contract-version": "0.4.23"
86
+ "x-contract-version": "0.4.24"
87
87
  }
@@ -164,5 +164,5 @@
164
164
  ],
165
165
  "title": "Observation",
166
166
  "type": "object",
167
- "x-contract-version": "0.4.23"
167
+ "x-contract-version": "0.4.24"
168
168
  }
@@ -82,5 +82,5 @@
82
82
  },
83
83
  "title": "ObservationContract",
84
84
  "type": "object",
85
- "x-contract-version": "0.4.23"
85
+ "x-contract-version": "0.4.24"
86
86
  }
@@ -536,6 +536,19 @@
536
536
  "default": null,
537
537
  "title": "Extra Weights"
538
538
  },
539
+ "family": {
540
+ "anyOf": [
541
+ {
542
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,31}$",
543
+ "type": "string"
544
+ },
545
+ {
546
+ "type": "null"
547
+ }
548
+ ],
549
+ "default": null,
550
+ "title": "Family"
551
+ },
539
552
  "frames_per_chunk": {
540
553
  "anyOf": [
541
554
  {
@@ -734,7 +747,7 @@
734
747
  ],
735
748
  "title": "SeqFlags",
736
749
  "type": "integer",
737
- "x-contract-version": "0.4.23",
750
+ "x-contract-version": "0.4.24",
738
751
  "x-flag-names": {
739
752
  "CHECK": 65536,
740
753
  "INFER": 16,
@@ -838,5 +851,5 @@
838
851
  ],
839
852
  "title": "PolicyRegistration",
840
853
  "type": "object",
841
- "x-contract-version": "0.4.23"
854
+ "x-contract-version": "0.4.24"
842
855
  }
@@ -578,6 +578,19 @@
578
578
  "default": null,
579
579
  "title": "Extra Weights"
580
580
  },
581
+ "family": {
582
+ "anyOf": [
583
+ {
584
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,31}$",
585
+ "type": "string"
586
+ },
587
+ {
588
+ "type": "null"
589
+ }
590
+ ],
591
+ "default": null,
592
+ "title": "Family"
593
+ },
581
594
  "frames_per_chunk": {
582
595
  "anyOf": [
583
596
  {
@@ -740,5 +753,5 @@
740
753
  ],
741
754
  "title": "PolicySpec",
742
755
  "type": "object",
743
- "x-contract-version": "0.4.23"
756
+ "x-contract-version": "0.4.24"
744
757
  }
@@ -63,5 +63,5 @@
63
63
  ],
64
64
  "title": "Proprioception",
65
65
  "type": "object",
66
- "x-contract-version": "0.4.23"
66
+ "x-contract-version": "0.4.24"
67
67
  }
@@ -36,5 +36,5 @@
36
36
  ],
37
37
  "title": "RenderSpec",
38
38
  "type": "object",
39
- "x-contract-version": "0.4.23"
39
+ "x-contract-version": "0.4.24"
40
40
  }
@@ -84,5 +84,5 @@
84
84
  ],
85
85
  "title": "Resources",
86
86
  "type": "object",
87
- "x-contract-version": "0.4.23"
87
+ "x-contract-version": "0.4.24"
88
88
  }
@@ -55,5 +55,5 @@
55
55
  ],
56
56
  "title": "RolloutResult",
57
57
  "type": "object",
58
- "x-contract-version": "0.4.23"
58
+ "x-contract-version": "0.4.24"
59
59
  }
@@ -21,5 +21,5 @@
21
21
  ],
22
22
  "title": "SecretCreateRequest",
23
23
  "type": "object",
24
- "x-contract-version": "0.4.23"
24
+ "x-contract-version": "0.4.24"
25
25
  }
@@ -40,5 +40,5 @@
40
40
  ],
41
41
  "title": "SecretInfo",
42
42
  "type": "object",
43
- "x-contract-version": "0.4.23"
43
+ "x-contract-version": "0.4.24"
44
44
  }
@@ -12,5 +12,5 @@
12
12
  ],
13
13
  "title": "SecretRef",
14
14
  "type": "object",
15
- "x-contract-version": "0.4.23"
15
+ "x-contract-version": "0.4.24"
16
16
  }
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "title": "SeqFlags",
20
20
  "type": "integer",
21
- "x-contract-version": "0.4.23",
21
+ "x-contract-version": "0.4.24",
22
22
  "x-flag-names": {
23
23
  "CHECK": 65536,
24
24
  "INFER": 16,
@@ -82,5 +82,5 @@
82
82
  ],
83
83
  "title": "Step",
84
84
  "type": "object",
85
- "x-contract-version": "0.4.23"
85
+ "x-contract-version": "0.4.24"
86
86
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "SuiteAgg",
24
24
  "type": "object",
25
- "x-contract-version": "0.4.23"
25
+ "x-contract-version": "0.4.24"
26
26
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "TaskAgg",
24
24
  "type": "object",
25
- "x-contract-version": "0.4.23"
25
+ "x-contract-version": "0.4.24"
26
26
  }
@@ -16,5 +16,5 @@
16
16
  ],
17
17
  "title": "Timeouts",
18
18
  "type": "object",
19
- "x-contract-version": "0.4.23"
19
+ "x-contract-version": "0.4.24"
20
20
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "UploadTarget",
26
26
  "type": "object",
27
- "x-contract-version": "0.4.23"
27
+ "x-contract-version": "0.4.24"
28
28
  }
@@ -34,5 +34,5 @@
34
34
  ],
35
35
  "title": "UsageReport",
36
36
  "type": "object",
37
- "x-contract-version": "0.4.23"
37
+ "x-contract-version": "0.4.24"
38
38
  }
@@ -20,5 +20,5 @@
20
20
  ],
21
21
  "title": "Variant",
22
22
  "type": "object",
23
- "x-contract-version": "0.4.23"
23
+ "x-contract-version": "0.4.24"
24
24
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "VolumeAttach",
24
24
  "type": "object",
25
- "x-contract-version": "0.4.23"
25
+ "x-contract-version": "0.4.24"
26
26
  }
@@ -25,5 +25,5 @@
25
25
  ],
26
26
  "title": "VolumeFile",
27
27
  "type": "object",
28
- "x-contract-version": "0.4.23"
28
+ "x-contract-version": "0.4.24"
29
29
  }
@@ -68,5 +68,5 @@
68
68
  ],
69
69
  "title": "VolumeInfo",
70
70
  "type": "object",
71
- "x-contract-version": "0.4.23"
71
+ "x-contract-version": "0.4.24"
72
72
  }
@@ -17,5 +17,5 @@
17
17
  ],
18
18
  "title": "VolumeMount",
19
19
  "type": "object",
20
- "x-contract-version": "0.4.23"
20
+ "x-contract-version": "0.4.24"
21
21
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "VolumeRef",
26
26
  "type": "object",
27
- "x-contract-version": "0.4.23"
27
+ "x-contract-version": "0.4.24"
28
28
  }
@@ -56,5 +56,5 @@
56
56
  ],
57
57
  "title": "VolumeUploadRequest",
58
58
  "type": "object",
59
- "x-contract-version": "0.4.23"
59
+ "x-contract-version": "0.4.24"
60
60
  }
@@ -65,5 +65,5 @@
65
65
  ],
66
66
  "title": "VolumeUploadResponse",
67
67
  "type": "object",
68
- "x-contract-version": "0.4.23"
68
+ "x-contract-version": "0.4.24"
69
69
  }
@@ -86,5 +86,5 @@
86
86
  ],
87
87
  "title": "WarmingError",
88
88
  "type": "object",
89
- "x-contract-version": "0.4.23"
89
+ "x-contract-version": "0.4.24"
90
90
  }
File without changes