sequence-base 0.3.15__tar.gz → 0.3.16__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 (100) hide show
  1. {sequence_base-0.3.15 → sequence_base-0.3.16}/PKG-INFO +1 -1
  2. {sequence_base-0.3.15 → sequence_base-0.3.16}/pyproject.toml +1 -1
  3. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/__init__.py +4 -0
  4. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/constants/version.py +2 -1
  5. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/__init__.py +5 -0
  6. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/deployments.py +9 -5
  7. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/policy.py +11 -3
  8. sequence_base-0.3.16/sequence_base/contract/templates.py +33 -0
  9. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ActionChunk.json +1 -1
  10. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ActionContract.json +1 -1
  11. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ActionStep.json +1 -1
  12. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/AdapterTransform.json +1 -1
  13. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Autoscaler.json +1 -1
  14. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/BenchmarkConditionSpec.json +1 -1
  15. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/BenchmarkRegisterRequest.json +1 -1
  16. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/BenchmarkSpec.json +2 -2
  17. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/BenchmarkStatusResponse.json +1 -1
  18. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/BootstrapResponse.json +1 -1
  19. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Camera.json +1 -1
  20. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ClampInfo.json +1 -1
  21. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/CodeBundle.json +1 -1
  22. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Concurrency.json +1 -1
  23. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Conditions.json +1 -1
  24. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ConnectRequest.json +1 -1
  25. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ConnectResponse.json +1 -1
  26. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/DeploymentAccepted.json +1 -1
  27. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/DeploymentPolicy.json +1 -1
  28. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/DeploymentRequest.json +1 -1
  29. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/DeploymentStatusResponse.json +1 -1
  30. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Embodiment.json +1 -1
  31. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ErrorBody.json +1 -1
  32. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ErrorCodes.json +1 -1
  33. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Estimate.json +1 -1
  34. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/EvalDryRunResponse.json +1 -1
  35. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/EvalReport.json +1 -1
  36. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/EvalRequest.json +1 -1
  37. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/EvalResponse.json +1 -1
  38. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ImageFrame.json +1 -1
  39. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ImageSpec.json +1 -1
  40. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ImageStepApt.json +1 -1
  41. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ImageStepEnv.json +1 -1
  42. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ImageStepRun.json +1 -1
  43. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ImageStepUvPip.json +1 -1
  44. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/InferParam.json +1 -1
  45. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Lease.json +1 -1
  46. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/LossyTransform.json +1 -1
  47. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/MetricAgg.json +1 -1
  48. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Observation.json +1 -1
  49. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/ObservationContract.json +1 -1
  50. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/PolicyRegistration.json +3 -3
  51. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/PolicySpec.json +2 -2
  52. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Proprioception.json +1 -1
  53. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/RenderSpec.json +1 -1
  54. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Resources.json +1 -1
  55. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/RolloutResult.json +1 -1
  56. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/SecretCreateRequest.json +1 -1
  57. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/SecretInfo.json +1 -1
  58. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/SecretRef.json +1 -1
  59. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/SeqFlags.json +1 -1
  60. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Step.json +1 -1
  61. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/SuiteAgg.json +1 -1
  62. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/TaskAgg.json +1 -1
  63. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Timeouts.json +1 -1
  64. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/UploadTarget.json +1 -1
  65. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/UsageReport.json +1 -1
  66. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/Variant.json +1 -1
  67. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/VolumeAttach.json +1 -1
  68. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/VolumeFile.json +1 -1
  69. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/VolumeInfo.json +1 -1
  70. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/VolumeMount.json +1 -1
  71. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/VolumeRef.json +1 -1
  72. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/VolumeUploadRequest.json +1 -1
  73. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/VolumeUploadResponse.json +1 -1
  74. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schemas/WarmingError.json +1 -1
  75. {sequence_base-0.3.15 → sequence_base-0.3.16}/.gitignore +0 -0
  76. {sequence_base-0.3.15 → sequence_base-0.3.16}/README.md +0 -0
  77. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/auth.py +0 -0
  78. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/codec/__init__.py +0 -0
  79. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/codec/image.py +0 -0
  80. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/codec/resize.py +0 -0
  81. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/constants/__init__.py +0 -0
  82. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/constants/env.py +0 -0
  83. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/constants/headers.py +0 -0
  84. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/accounts.py +0 -0
  85. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/act.py +0 -0
  86. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/benchmarks.py +0 -0
  87. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/connect.py +0 -0
  88. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/errors.py +0 -0
  89. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/eval.py +0 -0
  90. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/flags.py +0 -0
  91. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/io.py +0 -0
  92. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/contract/volumes.py +0 -0
  93. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/errors/__init__.py +0 -0
  94. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/errors/transport.py +0 -0
  95. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/obs/__init__.py +0 -0
  96. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/obs/log.py +0 -0
  97. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/obs/rid.py +0 -0
  98. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/schema_export.py +0 -0
  99. {sequence_base-0.3.15 → sequence_base-0.3.16}/sequence_base/telemetry/__init__.py +0 -0
  100. {sequence_base-0.3.15 → sequence_base-0.3.16}/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.15
3
+ Version: 0.3.16
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.15"
3
+ version = "0.3.16"
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"]
@@ -24,6 +24,8 @@ from sequence_base.contract import ( # noqa: F401 (re-export surface)
24
24
  VolumeUploadRequest,
25
25
  VolumeUploadResponse,
26
26
  parse_vol,
27
+ TEMPLATE_SCHEME,
28
+ parse_template,
27
29
  ActionChunk,
28
30
  ActionContract,
29
31
  ActionSpace,
@@ -139,6 +141,8 @@ __all__ = [
139
141
  "SecretRef", "SecretCreateRequest", "SecretInfo", "BootstrapResponse", "UsageReport",
140
142
  # contract 7 — volumes (uploaded checkpoints and datasets)
141
143
  "VolumeFile", "VolumeUploadRequest", "UploadTarget", "VolumeUploadResponse", "VolumeInfo", "parse_vol",
144
+ # official template weights
145
+ "TEMPLATE_SCHEME", "parse_template",
142
146
  # error bodies + version
143
147
  "ErrorCode", "ErrorBody", "WarmingError", "ERRORS", "ErrorSpec", "code_for_status", "CONTRACT_VERSION",
144
148
  # obs
@@ -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.12" # 0.4.11 -> 0.4.12: one error definition — ErrorBody is every non-2xx body (detail, code, retryable, retry_after_s, request_id, hint, details), ErrorCode covers every case, ERRORS / ErrorCodes.json give each code its status, retryability, SDK class and CLI exit code
7
+ CONTRACT_VERSION = "0.4.13" # 0.4.12 -> 0.4.13: template://<name>[@v<n>] — official template weights (parse_template); gs:// / s3:// / https:// still accepted until their removal
8
+ # previous: 0.4.12 # 0.4.11 -> 0.4.12: one error definition — ErrorBody is every non-2xx body (detail, code, retryable, retry_after_s, request_id, hint, details), ErrorCode covers every case, ERRORS / ErrorCodes.json give each code its status, retryability, SDK class and CLI exit code
8
9
  # previous: 0.4.11 # 0.4.10 -> 0.4.11: weights in named parts (weights_name, extra_weights)
9
10
  # previous: 0.4.8 # 0.4.7 -> 0.4.8: ImageSpec.python, ImageStepRun.secrets, Resources.region, DeploymentRequest/BenchmarkRegisterRequest.image_context
10
11
  # previous: 0.4.7 # 0.4.6 -> 0.4.7: ActionContract.bounds / max_delta / on_violation (action limits)
@@ -88,6 +88,9 @@ from sequence_base.contract.accounts import (
88
88
  UsageReport,
89
89
  )
90
90
 
91
+ # official template weights — template://<name>[@v<n>]
92
+ from sequence_base.contract.templates import TEMPLATE_SCHEME, parse_template
93
+
91
94
  # contract 7 — volumes (uploaded checkpoints and datasets)
92
95
  from sequence_base.contract.volumes import (
93
96
  MAX_FILES,
@@ -128,6 +131,8 @@ __all__ = [
128
131
  # contract 7
129
132
  "MAX_FILES", "MAX_UPLOAD_BYTES", "VolumeFile", "VolumeUploadRequest", "UploadTarget", "VolumeUploadResponse",
130
133
  "VolumeInfo", "check_volume_name", "parse_vol",
134
+ # official template weights
135
+ "TEMPLATE_SCHEME", "parse_template",
131
136
  # errors
132
137
  "ErrorCode", "ErrorBody", "WarmingError", "ERRORS", "ErrorSpec", "code_for_status",
133
138
  ]
@@ -21,6 +21,7 @@ from typing import Literal
21
21
  from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
22
22
 
23
23
  from sequence_base.contract.accounts import SecretRef
24
+ from sequence_base.contract.templates import TEMPLATE_SCHEME, parse_template
24
25
  from sequence_base.contract.volumes import VOL_SCHEME, parse_vol
25
26
  from sequence_base.contract.io import Embodiment, ObservationContract
26
27
  from sequence_base.contract.policy import (
@@ -225,21 +226,24 @@ class DeploymentRequest(BaseModel):
225
226
 
226
227
  @model_validator(mode="after")
227
228
  def _weights_have_an_origin(self) -> "DeploymentRequest":
228
- """The checkpoint the build provisions: a gs:// or s3:// prefix, an https:// file, an hf:// repo or an uploaded
229
- vol:// volume, never
230
- empty. PolicySpec already enforces this for SDK-authored deploys; this holds it for any POSTed body."""
229
+ """The checkpoint the build provisions: an official template://, an hf:// repo or an uploaded vol:// volume —
230
+ and, until they are removed, a gs:// or s3:// prefix or an https:// file — never empty. PolicySpec already enforces this for SDK-authored deploys; this holds it for any POSTed body."""
231
231
  from sequence_base.contract.policy import check_weights_parts
232
232
 
233
233
  check_weights_parts(self.weights_name, dict(self.extra_weights or {}))
234
234
  for what, ref in [("weights.uri", self.weights)] + [(f"extra_weights[{n!r}].uri", r)
235
235
  for n, r in (self.extra_weights or {}).items()]:
236
236
  uri = ref.uri.strip()
237
+ if uri.startswith(TEMPLATE_SCHEME):
238
+ parse_template(uri)
239
+ continue
237
240
  if uri.startswith(VOL_SCHEME):
238
241
  parse_vol(uri)
239
242
  continue
240
243
  if not any(uri.startswith(s) and len(uri) > len(s) for s in _WEIGHTS_SCHEMES):
241
- raise ValueError(f"{what} must be a gs://bucket/prefix, an s3://bucket/prefix, an https:// URL, an "
242
- "hf://org/model repo or a vol://<name> volume")
244
+ raise ValueError(f"{what} must be a template://<name> official template, an hf://org/model repo or "
245
+ "a vol://<name> volume (gs://, s3:// and https:// are still accepted until they "
246
+ "are removed)")
243
247
  return self
244
248
 
245
249
 
@@ -138,7 +138,8 @@ class PolicySpec(BaseModel):
138
138
  name: str
139
139
  gpu: str | list[str] = Field(..., description="A GPU type, or a list = cross-provider fallback")
140
140
  image: ImageSpec
141
- weights: str = Field(..., description="Weights URI: gs://, hf:// or vol:// (an uploaded volume)")
141
+ weights: str = Field(..., description="Weights URI: template:// (an official template), hf:// or vol:// (an "
142
+ "uploaded volume)")
142
143
  volumes: dict[str, VolumeRef] = Field(default_factory=dict)
143
144
  secrets: list[SecretRef] = Field(default_factory=list)
144
145
  min_containers: int = 0
@@ -177,7 +178,13 @@ MAX_WEIGHTS_PARTS = 8
177
178
 
178
179
 
179
180
  def check_weights_uri(v: str, what: str = "weights") -> str:
180
- """A weights origin the build can provision: gs://, s3://, https://, hf:// or an uploaded vol:// volume."""
181
+ """A weights origin the build can provision: an official template://, an hf:// repo or an uploaded vol://
182
+ volume — and, until they are removed, a gs:// or s3:// prefix or an https:// file."""
183
+ # template:// is an official template's checkpoint; the gateway resolves and pins its version at deploy.
184
+ if v.startswith("template://"):
185
+ from sequence_base.contract.templates import parse_template
186
+ parse_template(v)
187
+ return v
181
188
  # vol:// is a volume the owner uploaded (contract 7); the gateway resolves it per owner at deploy.
182
189
  if v.startswith("vol://"):
183
190
  from sequence_base.contract.volumes import parse_vol
@@ -186,7 +193,8 @@ def check_weights_uri(v: str, what: str = "weights") -> str:
186
193
  # s3:// (the author's own bucket, or any S3-compatible store) and https:// (one file or archive at a URL):
187
194
  # {gs-plans/customization/README.md P2 "S3:// / HTTPS:// 权重"}
188
195
  if not v.startswith(("gs://", "hf://", "s3://", "https://")):
189
- raise ValueError(f"{what} must be a gs://, s3://, https://, hf:// or vol:// URI")
196
+ raise ValueError(f"{what} must be a template:// official template, an hf:// repo or a vol:// volume "
197
+ "(gs://, s3:// and https:// are still accepted until they are removed)")
190
198
  return v
191
199
 
192
200
 
@@ -0,0 +1,33 @@
1
+ """
2
+ Official template weights — `template://<name>[@v<n>]`, the one weights reference that is not the deployer's own.
3
+
4
+ In one sentence: a template's code (or `seq.Weights.template("pi05-droid")`) names the official checkpoint by template
5
+ name → the gateway resolves the name, and the version when none is pinned, against the platform's public template
6
+ store at submit and pins it into the deployment version → the build copies that one version into the deployment's
7
+ own volume, so neither the code nor the deployer ever names a bucket or a provider.
8
+ {gs-plans/storage/decisions.md A7 "不写版本号时用哪个版本", A9 "SDK 接口", B3 "模板引用在线上的格式"}
9
+ """
10
+ from __future__ import annotations
11
+
12
+ import re
13
+
14
+ TEMPLATE_SCHEME = "template://"
15
+ # A template name is the name `seq init` takes and the folder the template is published under.
16
+ _NAME = re.compile(r"[a-z0-9][a-z0-9-]{0,63}")
17
+ _VERSION = re.compile(r"v([1-9][0-9]{0,8})")
18
+
19
+
20
+ def parse_template(uri: str) -> tuple[str, int | None]:
21
+ """`template://<name>[@v<n>]` → (name, n or None). Raises ValueError naming the problem."""
22
+ if not uri.startswith(TEMPLATE_SCHEME):
23
+ raise ValueError(f"{uri!r} is not a template:// reference")
24
+ name, _, ver = uri[len(TEMPLATE_SCHEME):].strip().rstrip("/").partition("@")
25
+ if not _NAME.fullmatch(name):
26
+ raise ValueError(f"{uri!r}: a template name is 1-64 lowercase letters, digits or '-', starting with a "
27
+ "letter or digit — the name `seq init` takes, e.g. template://pi05-droid")
28
+ if not ver:
29
+ return name, None
30
+ m = _VERSION.fullmatch(ver)
31
+ if not m:
32
+ raise ValueError(f"{uri!r}: pin a version as template://{name}@v<n>, e.g. @v1")
33
+ return name, int(m.group(1))
@@ -98,5 +98,5 @@
98
98
  ],
99
99
  "title": "ActionChunk",
100
100
  "type": "object",
101
- "x-contract-version": "0.4.12"
101
+ "x-contract-version": "0.4.13"
102
102
  }
@@ -99,5 +99,5 @@
99
99
  ],
100
100
  "title": "ActionContract",
101
101
  "type": "object",
102
- "x-contract-version": "0.4.12"
102
+ "x-contract-version": "0.4.13"
103
103
  }
@@ -19,5 +19,5 @@
19
19
  ],
20
20
  "title": "ActionStep",
21
21
  "type": "object",
22
- "x-contract-version": "0.4.12"
22
+ "x-contract-version": "0.4.13"
23
23
  }
@@ -38,5 +38,5 @@
38
38
  ],
39
39
  "title": "AdapterTransform",
40
40
  "type": "object",
41
- "x-contract-version": "0.4.12"
41
+ "x-contract-version": "0.4.13"
42
42
  }
@@ -39,5 +39,5 @@
39
39
  },
40
40
  "title": "Autoscaler",
41
41
  "type": "object",
42
- "x-contract-version": "0.4.12"
42
+ "x-contract-version": "0.4.13"
43
43
  }
@@ -62,5 +62,5 @@
62
62
  ],
63
63
  "title": "BenchmarkConditionSpec",
64
64
  "type": "object",
65
- "x-contract-version": "0.4.12"
65
+ "x-contract-version": "0.4.13"
66
66
  }
@@ -638,5 +638,5 @@
638
638
  ],
639
639
  "title": "BenchmarkRegisterRequest",
640
640
  "type": "object",
641
- "x-contract-version": "0.4.12"
641
+ "x-contract-version": "0.4.13"
642
642
  }
@@ -235,7 +235,7 @@
235
235
  ],
236
236
  "title": "SeqFlags",
237
237
  "type": "integer",
238
- "x-contract-version": "0.4.12",
238
+ "x-contract-version": "0.4.13",
239
239
  "x-flag-names": {
240
240
  "CHECK": 65536,
241
241
  "INFER": 16,
@@ -425,5 +425,5 @@
425
425
  ],
426
426
  "title": "BenchmarkSpec",
427
427
  "type": "object",
428
- "x-contract-version": "0.4.12"
428
+ "x-contract-version": "0.4.13"
429
429
  }
@@ -40,5 +40,5 @@
40
40
  ],
41
41
  "title": "BenchmarkStatusResponse",
42
42
  "type": "object",
43
- "x-contract-version": "0.4.12"
43
+ "x-contract-version": "0.4.13"
44
44
  }
@@ -72,5 +72,5 @@
72
72
  ],
73
73
  "title": "BootstrapResponse",
74
74
  "type": "object",
75
- "x-contract-version": "0.4.12"
75
+ "x-contract-version": "0.4.13"
76
76
  }
@@ -34,5 +34,5 @@
34
34
  ],
35
35
  "title": "Camera",
36
36
  "type": "object",
37
- "x-contract-version": "0.4.12"
37
+ "x-contract-version": "0.4.13"
38
38
  }
@@ -23,5 +23,5 @@
23
23
  ],
24
24
  "title": "ClampInfo",
25
25
  "type": "object",
26
- "x-contract-version": "0.4.12"
26
+ "x-contract-version": "0.4.13"
27
27
  }
@@ -23,5 +23,5 @@
23
23
  ],
24
24
  "title": "CodeBundle",
25
25
  "type": "object",
26
- "x-contract-version": "0.4.12"
26
+ "x-contract-version": "0.4.13"
27
27
  }
@@ -17,5 +17,5 @@
17
17
  ],
18
18
  "title": "Concurrency",
19
19
  "type": "object",
20
- "x-contract-version": "0.4.12"
20
+ "x-contract-version": "0.4.13"
21
21
  }
@@ -55,5 +55,5 @@
55
55
  ],
56
56
  "title": "Conditions",
57
57
  "type": "object",
58
- "x-contract-version": "0.4.12"
58
+ "x-contract-version": "0.4.13"
59
59
  }
@@ -25,5 +25,5 @@
25
25
  ],
26
26
  "title": "ConnectRequest",
27
27
  "type": "object",
28
- "x-contract-version": "0.4.12"
28
+ "x-contract-version": "0.4.13"
29
29
  }
@@ -294,5 +294,5 @@
294
294
  ],
295
295
  "title": "ConnectResponse",
296
296
  "type": "object",
297
- "x-contract-version": "0.4.12"
297
+ "x-contract-version": "0.4.13"
298
298
  }
@@ -18,5 +18,5 @@
18
18
  ],
19
19
  "title": "DeploymentAccepted",
20
20
  "type": "object",
21
- "x-contract-version": "0.4.12"
21
+ "x-contract-version": "0.4.13"
22
22
  }
@@ -366,5 +366,5 @@
366
366
  ],
367
367
  "title": "DeploymentPolicy",
368
368
  "type": "object",
369
- "x-contract-version": "0.4.12"
369
+ "x-contract-version": "0.4.13"
370
370
  }
@@ -811,5 +811,5 @@
811
811
  ],
812
812
  "title": "DeploymentRequest",
813
813
  "type": "object",
814
- "x-contract-version": "0.4.12"
814
+ "x-contract-version": "0.4.13"
815
815
  }
@@ -41,5 +41,5 @@
41
41
  ],
42
42
  "title": "DeploymentStatusResponse",
43
43
  "type": "object",
44
- "x-contract-version": "0.4.12"
44
+ "x-contract-version": "0.4.13"
45
45
  }
@@ -212,5 +212,5 @@
212
212
  ],
213
213
  "title": "Embodiment",
214
214
  "type": "object",
215
- "x-contract-version": "0.4.12"
215
+ "x-contract-version": "0.4.13"
216
216
  }
@@ -94,5 +94,5 @@
94
94
  ],
95
95
  "title": "ErrorBody",
96
96
  "type": "object",
97
- "x-contract-version": "0.4.12"
97
+ "x-contract-version": "0.4.13"
98
98
  }
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "title": "ErrorCode",
24
24
  "type": "string",
25
- "x-contract-version": "0.4.12",
25
+ "x-contract-version": "0.4.13",
26
26
  "x-errors": {
27
27
  "budget_exhausted": {
28
28
  "exit_code": 6,
@@ -21,5 +21,5 @@
21
21
  ],
22
22
  "title": "Estimate",
23
23
  "type": "object",
24
- "x-contract-version": "0.4.12"
24
+ "x-contract-version": "0.4.13"
25
25
  }
@@ -37,5 +37,5 @@
37
37
  ],
38
38
  "title": "EvalDryRunResponse",
39
39
  "type": "object",
40
- "x-contract-version": "0.4.12"
40
+ "x-contract-version": "0.4.13"
41
41
  }
@@ -183,5 +183,5 @@
183
183
  ],
184
184
  "title": "EvalReport",
185
185
  "type": "object",
186
- "x-contract-version": "0.4.12"
186
+ "x-contract-version": "0.4.13"
187
187
  }
@@ -213,5 +213,5 @@
213
213
  ],
214
214
  "title": "EvalRequest",
215
215
  "type": "object",
216
- "x-contract-version": "0.4.12"
216
+ "x-contract-version": "0.4.13"
217
217
  }
@@ -84,5 +84,5 @@
84
84
  ],
85
85
  "title": "EvalResponse",
86
86
  "type": "object",
87
- "x-contract-version": "0.4.12"
87
+ "x-contract-version": "0.4.13"
88
88
  }
@@ -49,5 +49,5 @@
49
49
  ],
50
50
  "title": "ImageFrame",
51
51
  "type": "object",
52
- "x-contract-version": "0.4.12"
52
+ "x-contract-version": "0.4.13"
53
53
  }
@@ -162,5 +162,5 @@
162
162
  },
163
163
  "title": "ImageSpec",
164
164
  "type": "object",
165
- "x-contract-version": "0.4.12"
165
+ "x-contract-version": "0.4.13"
166
166
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepApt",
16
16
  "type": "object",
17
- "x-contract-version": "0.4.12"
17
+ "x-contract-version": "0.4.13"
18
18
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepEnv",
16
16
  "type": "object",
17
- "x-contract-version": "0.4.12"
17
+ "x-contract-version": "0.4.13"
18
18
  }
@@ -46,5 +46,5 @@
46
46
  ],
47
47
  "title": "ImageStepRun",
48
48
  "type": "object",
49
- "x-contract-version": "0.4.12"
49
+ "x-contract-version": "0.4.13"
50
50
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepUvPip",
16
16
  "type": "object",
17
- "x-contract-version": "0.4.12"
17
+ "x-contract-version": "0.4.13"
18
18
  }
@@ -39,5 +39,5 @@
39
39
  ],
40
40
  "title": "InferParam",
41
41
  "type": "object",
42
- "x-contract-version": "0.4.12"
42
+ "x-contract-version": "0.4.13"
43
43
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "Lease",
26
26
  "type": "object",
27
- "x-contract-version": "0.4.12"
27
+ "x-contract-version": "0.4.13"
28
28
  }
@@ -17,5 +17,5 @@
17
17
  ],
18
18
  "title": "LossyTransform",
19
19
  "type": "object",
20
- "x-contract-version": "0.4.12"
20
+ "x-contract-version": "0.4.13"
21
21
  }
@@ -83,5 +83,5 @@
83
83
  ],
84
84
  "title": "MetricAgg",
85
85
  "type": "object",
86
- "x-contract-version": "0.4.12"
86
+ "x-contract-version": "0.4.13"
87
87
  }
@@ -164,5 +164,5 @@
164
164
  ],
165
165
  "title": "Observation",
166
166
  "type": "object",
167
- "x-contract-version": "0.4.12"
167
+ "x-contract-version": "0.4.13"
168
168
  }
@@ -82,5 +82,5 @@
82
82
  },
83
83
  "title": "ObservationContract",
84
84
  "type": "object",
85
- "x-contract-version": "0.4.12"
85
+ "x-contract-version": "0.4.13"
86
86
  }
@@ -528,7 +528,7 @@
528
528
  "type": "object"
529
529
  },
530
530
  "weights": {
531
- "description": "Weights URI: gs://, hf:// or vol:// (an uploaded volume)",
531
+ "description": "Weights URI: template:// (an official template), hf:// or vol:// (an uploaded volume)",
532
532
  "title": "Weights",
533
533
  "type": "string"
534
534
  },
@@ -588,7 +588,7 @@
588
588
  ],
589
589
  "title": "SeqFlags",
590
590
  "type": "integer",
591
- "x-contract-version": "0.4.12",
591
+ "x-contract-version": "0.4.13",
592
592
  "x-flag-names": {
593
593
  "CHECK": 65536,
594
594
  "INFER": 16,
@@ -688,5 +688,5 @@
688
688
  ],
689
689
  "title": "PolicyRegistration",
690
690
  "type": "object",
691
- "x-contract-version": "0.4.12"
691
+ "x-contract-version": "0.4.13"
692
692
  }
@@ -570,7 +570,7 @@
570
570
  "type": "object"
571
571
  },
572
572
  "weights": {
573
- "description": "Weights URI: gs://, hf:// or vol:// (an uploaded volume)",
573
+ "description": "Weights URI: template:// (an official template), hf:// or vol:// (an uploaded volume)",
574
574
  "title": "Weights",
575
575
  "type": "string"
576
576
  },
@@ -596,5 +596,5 @@
596
596
  ],
597
597
  "title": "PolicySpec",
598
598
  "type": "object",
599
- "x-contract-version": "0.4.12"
599
+ "x-contract-version": "0.4.13"
600
600
  }
@@ -63,5 +63,5 @@
63
63
  ],
64
64
  "title": "Proprioception",
65
65
  "type": "object",
66
- "x-contract-version": "0.4.12"
66
+ "x-contract-version": "0.4.13"
67
67
  }
@@ -18,5 +18,5 @@
18
18
  ],
19
19
  "title": "RenderSpec",
20
20
  "type": "object",
21
- "x-contract-version": "0.4.12"
21
+ "x-contract-version": "0.4.13"
22
22
  }
@@ -38,5 +38,5 @@
38
38
  ],
39
39
  "title": "Resources",
40
40
  "type": "object",
41
- "x-contract-version": "0.4.12"
41
+ "x-contract-version": "0.4.13"
42
42
  }
@@ -55,5 +55,5 @@
55
55
  ],
56
56
  "title": "RolloutResult",
57
57
  "type": "object",
58
- "x-contract-version": "0.4.12"
58
+ "x-contract-version": "0.4.13"
59
59
  }
@@ -21,5 +21,5 @@
21
21
  ],
22
22
  "title": "SecretCreateRequest",
23
23
  "type": "object",
24
- "x-contract-version": "0.4.12"
24
+ "x-contract-version": "0.4.13"
25
25
  }
@@ -40,5 +40,5 @@
40
40
  ],
41
41
  "title": "SecretInfo",
42
42
  "type": "object",
43
- "x-contract-version": "0.4.12"
43
+ "x-contract-version": "0.4.13"
44
44
  }
@@ -12,5 +12,5 @@
12
12
  ],
13
13
  "title": "SecretRef",
14
14
  "type": "object",
15
- "x-contract-version": "0.4.12"
15
+ "x-contract-version": "0.4.13"
16
16
  }
@@ -16,7 +16,7 @@
16
16
  ],
17
17
  "title": "SeqFlags",
18
18
  "type": "integer",
19
- "x-contract-version": "0.4.12",
19
+ "x-contract-version": "0.4.13",
20
20
  "x-flag-names": {
21
21
  "CHECK": 65536,
22
22
  "INFER": 16,
@@ -64,5 +64,5 @@
64
64
  ],
65
65
  "title": "Step",
66
66
  "type": "object",
67
- "x-contract-version": "0.4.12"
67
+ "x-contract-version": "0.4.13"
68
68
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "SuiteAgg",
24
24
  "type": "object",
25
- "x-contract-version": "0.4.12"
25
+ "x-contract-version": "0.4.13"
26
26
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "TaskAgg",
24
24
  "type": "object",
25
- "x-contract-version": "0.4.12"
25
+ "x-contract-version": "0.4.13"
26
26
  }
@@ -16,5 +16,5 @@
16
16
  ],
17
17
  "title": "Timeouts",
18
18
  "type": "object",
19
- "x-contract-version": "0.4.12"
19
+ "x-contract-version": "0.4.13"
20
20
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "UploadTarget",
26
26
  "type": "object",
27
- "x-contract-version": "0.4.12"
27
+ "x-contract-version": "0.4.13"
28
28
  }
@@ -34,5 +34,5 @@
34
34
  ],
35
35
  "title": "UsageReport",
36
36
  "type": "object",
37
- "x-contract-version": "0.4.12"
37
+ "x-contract-version": "0.4.13"
38
38
  }
@@ -20,5 +20,5 @@
20
20
  ],
21
21
  "title": "Variant",
22
22
  "type": "object",
23
- "x-contract-version": "0.4.12"
23
+ "x-contract-version": "0.4.13"
24
24
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "VolumeAttach",
24
24
  "type": "object",
25
- "x-contract-version": "0.4.12"
25
+ "x-contract-version": "0.4.13"
26
26
  }
@@ -25,5 +25,5 @@
25
25
  ],
26
26
  "title": "VolumeFile",
27
27
  "type": "object",
28
- "x-contract-version": "0.4.12"
28
+ "x-contract-version": "0.4.13"
29
29
  }
@@ -68,5 +68,5 @@
68
68
  ],
69
69
  "title": "VolumeInfo",
70
70
  "type": "object",
71
- "x-contract-version": "0.4.12"
71
+ "x-contract-version": "0.4.13"
72
72
  }
@@ -17,5 +17,5 @@
17
17
  ],
18
18
  "title": "VolumeMount",
19
19
  "type": "object",
20
- "x-contract-version": "0.4.12"
20
+ "x-contract-version": "0.4.13"
21
21
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "VolumeRef",
26
26
  "type": "object",
27
- "x-contract-version": "0.4.12"
27
+ "x-contract-version": "0.4.13"
28
28
  }
@@ -56,5 +56,5 @@
56
56
  ],
57
57
  "title": "VolumeUploadRequest",
58
58
  "type": "object",
59
- "x-contract-version": "0.4.12"
59
+ "x-contract-version": "0.4.13"
60
60
  }
@@ -65,5 +65,5 @@
65
65
  ],
66
66
  "title": "VolumeUploadResponse",
67
67
  "type": "object",
68
- "x-contract-version": "0.4.12"
68
+ "x-contract-version": "0.4.13"
69
69
  }
@@ -86,5 +86,5 @@
86
86
  ],
87
87
  "title": "WarmingError",
88
88
  "type": "object",
89
- "x-contract-version": "0.4.12"
89
+ "x-contract-version": "0.4.13"
90
90
  }
File without changes