sequence-base 0.3.24__tar.gz → 0.3.26__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.24 → sequence_base-0.3.26}/PKG-INFO +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/pyproject.toml +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/auth.py +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/constants/env.py +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/constants/version.py +4 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/accounts.py +4 -5
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/deployments.py +3 -3
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/eval.py +8 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/volumes.py +0 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ActRequest.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ActResponse.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ActionChunk.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ActionContract.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ActionStep.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/AdapterTransform.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/AddLocal.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Autoscaler.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/BenchmarkConditionSpec.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/BenchmarkRegisterRequest.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/BenchmarkSpec.json +3 -3
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/BenchmarkStatusResponse.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/BootstrapResponse.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Camera.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ClampInfo.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/CodeBundle.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Concurrency.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Conditions.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ConnectRequest.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ConnectResponse.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/DeploymentAccepted.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/DeploymentPolicy.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/DeploymentRequest.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/DeploymentStatusResponse.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Embodiment.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ErrorBody.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ErrorCodes.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Estimate.json +13 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/EvalDryRunResponse.json +13 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/EvalReport.json +4 -3
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/EvalRequest.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/EvalResponse.json +13 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ImageFrame.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ImageSpec.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ImageStepAddLocal.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ImageStepApt.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ImageStepEnv.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ImageStepRun.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ImageStepUvPip.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/InferParam.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Lease.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/LossyTransform.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/MetricAgg.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Observation.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/ObservationContract.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/PolicyRegistration.json +3 -3
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/PolicySpec.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Proprioception.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/RenderSpec.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Resources.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/RolloutResult.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/SecretCreateRequest.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/SecretInfo.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/SecretRef.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/SeqFlags.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Step.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/SuiteAgg.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/TaskAgg.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Timeouts.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/UploadTarget.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/UsageReport.json +2 -2
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/Variant.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/VolumeAttach.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/VolumeFile.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/VolumeInfo.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/VolumeMount.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/VolumeRef.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/VolumeUploadRequest.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/VolumeUploadResponse.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/WarmingError.json +1 -1
- {sequence_base-0.3.24 → sequence_base-0.3.26}/.gitignore +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/README.md +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/codec/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/codec/image.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/constants/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/constants/headers.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/act.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/benchmarks.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/connect.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/errors.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/flags.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/io.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/policy.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/templates.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/contract/wire.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/errors/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/errors/transport.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/obs/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/obs/log.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/obs/rid.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/presets/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/presets/robot_arm.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schema_export.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/telemetry/__init__.py +0 -0
- {sequence_base-0.3.24 → sequence_base-0.3.26}/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.
|
|
3
|
+
Version: 0.3.26
|
|
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.
|
|
3
|
+
version = "0.3.26"
|
|
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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Bearer-token auth helpers — one implementation of the direct-connect / internal secret check.
|
|
3
3
|
|
|
4
4
|
Three consumers, one rule: the container's inbound guard on a directly-exposed pod's /act, the
|
|
5
|
-
gateway's
|
|
6
|
-
|
|
5
|
+
gateway's issuance of that secret and its check of a worker's own reports, and the worker's emit() which
|
|
6
|
+
builds the outbound header. compare_digest, not `==`, everywhere — a wrong secret must
|
|
7
7
|
not be recoverable from response timing.
|
|
8
8
|
"""
|
|
9
9
|
from __future__ import annotations
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""SEQ_* environment variable NAMES — a single source. Values live in ~/.config/sequences/, never here."""
|
|
2
2
|
|
|
3
3
|
DIRECT_SECRET = "SEQ_DIRECT_SECRET" # inbound /act auth on a public pod
|
|
4
|
-
INTERNAL_SECRET = "SEQ_INTERNAL_SECRET" # auth for
|
|
4
|
+
INTERNAL_SECRET = "SEQ_INTERNAL_SECRET" # auth for a worker's own reports
|
|
5
5
|
GATEWAY_URL = "SEQ_GATEWAY_URL" # where the container sends telemetry
|
|
6
6
|
VOLUME_ROOT = "SEQ_VOLUME_ROOT" # where fetched weights land
|
|
7
7
|
MANIFEST = "SEQ_MANIFEST" # the policy manifest a container serves
|
|
@@ -4,13 +4,15 @@
|
|
|
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.
|
|
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)
|
|
8
|
+
# 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
|
+
# 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)
|
|
8
10
|
# 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)
|
|
9
11
|
# previous: 0.4.19 # 0.4.18 -> 0.4.19: RenderSpec.flip — how the platform turns a recorded camera's frames before encoding ("vertical" / "horizontal" / "both"; None, left off the wire, as drawn), declared once by the benchmark's author (seq.Record(flip=...)); gs-plans benchmarks
|
|
10
12
|
# previous: 0.4.18 # 0.4.17 -> 0.4.18: DeploymentPolicy.models — the platform models a policy calls while it runs (catalogue ids), which the act key driving it may call on /v1/chat and /v1/decide (gs-plans models-api/11)
|
|
11
13
|
# previous: 0.4.17 # 0.4.16 -> 0.4.17: weights optional — PolicySpec.weights, DeploymentRequest.weights and BootstrapResponse.weights_uri may be None, for a policy without a checkpoint (nothing copied or mounted; gs-plans storage T13)
|
|
12
14
|
# previous: 0.4.16 # 0.4.15 -> 0.4.16: batched benchmarks — SeqFlags.OBSERVE / STEP, BenchmarkSpec / BenchmarkRegisterRequest.envs and .batched; per-arm eval reports — EvalReport.arms / paired / timing / stop_reason, EvalStatus.CANCELED, Estimate.breakdown / default_timing, EvalResponse.arms, EvalDryRunResponse.layout / notes
|
|
13
|
-
# previous: 0.4.15 # 0.4.14 -> 0.4.15: limits count GPUs and CPU/memory are billed
|
|
15
|
+
# previous: 0.4.15 # 0.4.14 -> 0.4.15: limits count GPUs and CPU/memory are billed per second — Resources.cpu / memory_gb optional floats + cpu_limit / memory_limit_gb; Autoscaler.max_gpus / on_full / queue_timeout_s replace max_containers; Concurrency fields optional + replicas_per_gpu / gpus_per_replica; DeploymentStatusResponse.reason; EvalRequest.policy_instances / policy_gpu / benchmark_instances / benchmark_gpu / envs replace gpus / envs_per_gpu; EvalStatus.QUEUED; EvalCards / EvalQueue
|
|
14
16
|
# previous: 0.4.14 # 0.4.13 -> 0.4.14: the /act wire is opaque (ActRequest.inputs / ActResponse.outputs); action / observation contracts optional + DeploymentPolicy/PolicySpec/ConnectResponse .io; the robot-arm types live in sequence_base.presets.robot_arm (contract.act / contract.io re-export them); ImageStepAddLocal (seq.Image.add_local_*); ActionSpace.JOINT_VELOCITY (pi0.5 DROID's joint velocities + gripper position)
|
|
15
17
|
# previous: 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
|
|
16
18
|
# 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
|
|
@@ -29,7 +29,7 @@ __all__ = [
|
|
|
29
29
|
|
|
30
30
|
class SecretRef(BaseModel):
|
|
31
31
|
"""A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the
|
|
32
|
-
|
|
32
|
+
platform keeps the value and injects it when a worker starts. Never carries a value."""
|
|
33
33
|
|
|
34
34
|
model_config = ConfigDict(extra="forbid")
|
|
35
35
|
|
|
@@ -37,7 +37,7 @@ class SecretRef(BaseModel):
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
class SecretCreateRequest(BaseModel):
|
|
40
|
-
"""POST /v1/secrets — one name = one group of env values (e.g.
|
|
40
|
+
"""POST /v1/secrets — one name = one group of env values (e.g. planner = {PLANNER_API_KEY}).
|
|
41
41
|
`env` carries plaintext values; this is the WRITE-direction allow-list field (goal 15)."""
|
|
42
42
|
|
|
43
43
|
# F6: write-direction plaintext carrier — hide_input_in_errors so a malformed body's ValidationError
|
|
@@ -64,8 +64,7 @@ class SecretInfo(BaseModel):
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
class BootstrapResponse(BaseModel):
|
|
67
|
-
"""
|
|
68
|
-
direct TLS `/act`. `direct_secret` + `tls_key` are DOWN-direction platform secrets; `env` is the
|
|
67
|
+
"""What a worker receives when it starts — everything it needs to serve direct TLS `/act`. `direct_secret` + `tls_key` are DOWN-direction platform secrets; `env` is the
|
|
69
68
|
WRITE-direction injection of the policy's declared user secrets into its subprocess (goal 15)."""
|
|
70
69
|
|
|
71
70
|
# F6: carries down-direction platform secrets + write-direction user env — hide_input_in_errors so a
|
|
@@ -82,7 +81,7 @@ class BootstrapResponse(BaseModel):
|
|
|
82
81
|
|
|
83
82
|
|
|
84
83
|
class UsageReport(BaseModel):
|
|
85
|
-
"""
|
|
84
|
+
"""A worker's metering report, sent as it serves. Carries counts only, no secrets.
|
|
86
85
|
This usage shape is defined here (sequence-base) once, so gateway and worker cannot drift."""
|
|
87
86
|
|
|
88
87
|
model_config = ConfigDict(extra="forbid")
|
|
@@ -52,9 +52,9 @@ class Resources(BaseModel):
|
|
|
52
52
|
model_config = ConfigDict(extra="forbid")
|
|
53
53
|
|
|
54
54
|
gpu: list[str]
|
|
55
|
-
# Physical cores and GiB the worker requests, billed
|
|
56
|
-
#
|
|
57
|
-
#
|
|
55
|
+
# Physical cores and GiB the worker requests, billed per second at the greater of the request and what it uses.
|
|
56
|
+
# None requests the minimum (0.125 cores, 0.125 GiB) and the worker may use more. A limit caps what it may use;
|
|
57
|
+
# None leaves it free to burst.
|
|
58
58
|
cpu: float | None = Field(default=None, ge=0.125, le=64)
|
|
59
59
|
cpu_limit: float | None = Field(default=None, ge=0.125, le=128)
|
|
60
60
|
memory_gb: float | None = Field(default=None, ge=0.125, le=1024)
|
|
@@ -102,6 +102,10 @@ class Estimate(BaseModel):
|
|
|
102
102
|
breakdown: dict[str, float] | None = None
|
|
103
103
|
# True when no run of this benchmark version has been measured yet and the estimate uses the default step time.
|
|
104
104
|
default_timing: bool | None = None
|
|
105
|
+
# What is held from the balance while the eval runs, when it differs from the estimate: the estimate prices each
|
|
106
|
+
# machine on the first card of its list (where it starts when one is free), the hold on the costliest (the most it
|
|
107
|
+
# can come to), with the reserve buffer, at most max_usd. None from a gateway before contract 0.4.23.
|
|
108
|
+
held_usd: float | None = None
|
|
105
109
|
|
|
106
110
|
|
|
107
111
|
class EvalResponse(BaseModel):
|
|
@@ -277,12 +281,14 @@ class ArmReport(BaseModel):
|
|
|
277
281
|
|
|
278
282
|
class ParamUsed(BaseModel):
|
|
279
283
|
"""One parameter's value in an arm, and who gave it: the eval (`cli`), the default its declaring side wrote
|
|
280
|
-
(`policy` / `adapter` / `benchmark`),
|
|
284
|
+
(`policy` / `adapter` / `benchmark`), the platform's own (`platform`), or the default the policy's deployment
|
|
285
|
+
sets for every session (`deployment`: `seq policy params <name> k=v`, over the policy's own).
|
|
286
|
+
{gs-plans/eval-adapters/36, deploy-serving/35}"""
|
|
281
287
|
|
|
282
288
|
model_config = ConfigDict(extra="forbid")
|
|
283
289
|
|
|
284
290
|
value: int | float | bool | str | None = None
|
|
285
|
-
source: Literal["cli", "policy", "adapter", "benchmark", "platform"]
|
|
291
|
+
source: Literal["cli", "policy", "adapter", "benchmark", "platform", "deployment"]
|
|
286
292
|
|
|
287
293
|
|
|
288
294
|
class ArmParams(BaseModel):
|
|
@@ -10,7 +10,6 @@ WHY direct-to-storage targets rather than streaming through the API: a checkpoin
|
|
|
10
10
|
host caps a request body at 32 MiB and would carry every byte twice. WHY the md5 list up front: the commit can
|
|
11
11
|
then prove the platform holds exactly the bytes the client had — a truncated or corrupted upload is refused
|
|
12
12
|
instead of becoming the weights a robot runs on.
|
|
13
|
-
{gs-plans/customization/volumes.md "上传流程" + "为什么不直接上传进 MODAL VOLUME"}
|
|
14
13
|
"""
|
|
15
14
|
from __future__ import annotations
|
|
16
15
|
|
{sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/BenchmarkRegisterRequest.json
RENAMED
|
@@ -558,7 +558,7 @@
|
|
|
558
558
|
},
|
|
559
559
|
"SecretRef": {
|
|
560
560
|
"additionalProperties": false,
|
|
561
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
561
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
562
562
|
"properties": {
|
|
563
563
|
"name": {
|
|
564
564
|
"title": "Name",
|
|
@@ -836,5 +836,5 @@
|
|
|
836
836
|
],
|
|
837
837
|
"title": "BenchmarkRegisterRequest",
|
|
838
838
|
"type": "object",
|
|
839
|
-
"x-contract-version": "0.4.
|
|
839
|
+
"x-contract-version": "0.4.23"
|
|
840
840
|
}
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
},
|
|
265
265
|
"SecretRef": {
|
|
266
266
|
"additionalProperties": false,
|
|
267
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
267
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
268
268
|
"properties": {
|
|
269
269
|
"name": {
|
|
270
270
|
"title": "Name",
|
|
@@ -297,7 +297,7 @@
|
|
|
297
297
|
],
|
|
298
298
|
"title": "SeqFlags",
|
|
299
299
|
"type": "integer",
|
|
300
|
-
"x-contract-version": "0.4.
|
|
300
|
+
"x-contract-version": "0.4.23",
|
|
301
301
|
"x-flag-names": {
|
|
302
302
|
"CHECK": 65536,
|
|
303
303
|
"INFER": 16,
|
|
@@ -505,5 +505,5 @@
|
|
|
505
505
|
],
|
|
506
506
|
"title": "BenchmarkSpec",
|
|
507
507
|
"type": "object",
|
|
508
|
-
"x-contract-version": "0.4.
|
|
508
|
+
"x-contract-version": "0.4.23"
|
|
509
509
|
}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"additionalProperties": false,
|
|
32
|
-
"description": "
|
|
32
|
+
"description": "What a worker receives when it starts — everything it needs to serve direct TLS `/act`. `direct_secret` + `tls_key` are DOWN-direction platform secrets; `env` is the\nWRITE-direction injection of the policy's declared user secrets into its subprocess (goal 15).",
|
|
33
33
|
"properties": {
|
|
34
34
|
"direct_secret": {
|
|
35
35
|
"description": "Platform-minted bearer the worker's guard checks",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
],
|
|
80
80
|
"title": "BootstrapResponse",
|
|
81
81
|
"type": "object",
|
|
82
|
-
"x-contract-version": "0.4.
|
|
82
|
+
"x-contract-version": "0.4.23"
|
|
83
83
|
}
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
},
|
|
319
319
|
"SecretRef": {
|
|
320
320
|
"additionalProperties": false,
|
|
321
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
321
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
322
322
|
"properties": {
|
|
323
323
|
"name": {
|
|
324
324
|
"title": "Name",
|
|
@@ -463,5 +463,5 @@
|
|
|
463
463
|
],
|
|
464
464
|
"title": "DeploymentPolicy",
|
|
465
465
|
"type": "object",
|
|
466
|
-
"x-contract-version": "0.4.
|
|
466
|
+
"x-contract-version": "0.4.23"
|
|
467
467
|
}
|
|
@@ -890,7 +890,7 @@
|
|
|
890
890
|
},
|
|
891
891
|
"SecretRef": {
|
|
892
892
|
"additionalProperties": false,
|
|
893
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
893
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
894
894
|
"properties": {
|
|
895
895
|
"name": {
|
|
896
896
|
"title": "Name",
|
|
@@ -1077,5 +1077,5 @@
|
|
|
1077
1077
|
],
|
|
1078
1078
|
"title": "DeploymentRequest",
|
|
1079
1079
|
"type": "object",
|
|
1080
|
-
"x-contract-version": "0.4.
|
|
1080
|
+
"x-contract-version": "0.4.23"
|
|
1081
1081
|
}
|
|
@@ -32,6 +32,18 @@
|
|
|
32
32
|
"default": null,
|
|
33
33
|
"title": "Default Timing"
|
|
34
34
|
},
|
|
35
|
+
"held_usd": {
|
|
36
|
+
"anyOf": [
|
|
37
|
+
{
|
|
38
|
+
"type": "number"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "null"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"default": null,
|
|
45
|
+
"title": "Held Usd"
|
|
46
|
+
},
|
|
35
47
|
"vlm_calls": {
|
|
36
48
|
"title": "Vlm Calls",
|
|
37
49
|
"type": "integer"
|
|
@@ -48,5 +60,5 @@
|
|
|
48
60
|
],
|
|
49
61
|
"title": "Estimate",
|
|
50
62
|
"type": "object",
|
|
51
|
-
"x-contract-version": "0.4.
|
|
63
|
+
"x-contract-version": "0.4.23"
|
|
52
64
|
}
|
|
@@ -91,6 +91,18 @@
|
|
|
91
91
|
"default": null,
|
|
92
92
|
"title": "Default Timing"
|
|
93
93
|
},
|
|
94
|
+
"held_usd": {
|
|
95
|
+
"anyOf": [
|
|
96
|
+
{
|
|
97
|
+
"type": "number"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"type": "null"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"default": null,
|
|
104
|
+
"title": "Held Usd"
|
|
105
|
+
},
|
|
94
106
|
"vlm_calls": {
|
|
95
107
|
"title": "Vlm Calls",
|
|
96
108
|
"type": "integer"
|
|
@@ -228,5 +240,5 @@
|
|
|
228
240
|
],
|
|
229
241
|
"title": "EvalDryRunResponse",
|
|
230
242
|
"type": "object",
|
|
231
|
-
"x-contract-version": "0.4.
|
|
243
|
+
"x-contract-version": "0.4.23"
|
|
232
244
|
}
|
|
@@ -295,7 +295,7 @@
|
|
|
295
295
|
},
|
|
296
296
|
"ParamUsed": {
|
|
297
297
|
"additionalProperties": false,
|
|
298
|
-
"description": "One parameter's value in an arm, and who gave it: the eval (`cli`), the default its declaring side wrote\n(`policy` / `adapter` / `benchmark`),
|
|
298
|
+
"description": "One parameter's value in an arm, and who gave it: the eval (`cli`), the default its declaring side wrote\n(`policy` / `adapter` / `benchmark`), the platform's own (`platform`), or the default the policy's deployment\nsets for every session (`deployment`: `seq policy params <name> k=v`, over the policy's own).\n{gs-plans/eval-adapters/36, deploy-serving/35}",
|
|
299
299
|
"properties": {
|
|
300
300
|
"source": {
|
|
301
301
|
"enum": [
|
|
@@ -303,7 +303,8 @@
|
|
|
303
303
|
"policy",
|
|
304
304
|
"adapter",
|
|
305
305
|
"benchmark",
|
|
306
|
-
"platform"
|
|
306
|
+
"platform",
|
|
307
|
+
"deployment"
|
|
307
308
|
],
|
|
308
309
|
"title": "Source",
|
|
309
310
|
"type": "string"
|
|
@@ -522,5 +523,5 @@
|
|
|
522
523
|
],
|
|
523
524
|
"title": "EvalReport",
|
|
524
525
|
"type": "object",
|
|
525
|
-
"x-contract-version": "0.4.
|
|
526
|
+
"x-contract-version": "0.4.23"
|
|
526
527
|
}
|
|
@@ -60,6 +60,18 @@
|
|
|
60
60
|
"default": null,
|
|
61
61
|
"title": "Default Timing"
|
|
62
62
|
},
|
|
63
|
+
"held_usd": {
|
|
64
|
+
"anyOf": [
|
|
65
|
+
{
|
|
66
|
+
"type": "number"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"type": "null"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"default": null,
|
|
73
|
+
"title": "Held Usd"
|
|
74
|
+
},
|
|
63
75
|
"vlm_calls": {
|
|
64
76
|
"title": "Vlm Calls",
|
|
65
77
|
"type": "integer"
|
|
@@ -178,5 +190,5 @@
|
|
|
178
190
|
],
|
|
179
191
|
"title": "EvalResponse",
|
|
180
192
|
"type": "object",
|
|
181
|
-
"x-contract-version": "0.4.
|
|
193
|
+
"x-contract-version": "0.4.23"
|
|
182
194
|
}
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
},
|
|
125
125
|
"SecretRef": {
|
|
126
126
|
"additionalProperties": false,
|
|
127
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
127
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
128
128
|
"properties": {
|
|
129
129
|
"name": {
|
|
130
130
|
"title": "Name",
|
|
@@ -204,5 +204,5 @@
|
|
|
204
204
|
},
|
|
205
205
|
"title": "ImageSpec",
|
|
206
206
|
"type": "object",
|
|
207
|
-
"x-contract-version": "0.4.
|
|
207
|
+
"x-contract-version": "0.4.23"
|
|
208
208
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$defs": {
|
|
3
3
|
"SecretRef": {
|
|
4
4
|
"additionalProperties": false,
|
|
5
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
5
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
6
6
|
"properties": {
|
|
7
7
|
"name": {
|
|
8
8
|
"title": "Name",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
],
|
|
47
47
|
"title": "ImageStepRun",
|
|
48
48
|
"type": "object",
|
|
49
|
-
"x-contract-version": "0.4.
|
|
49
|
+
"x-contract-version": "0.4.23"
|
|
50
50
|
}
|
|
@@ -701,7 +701,7 @@
|
|
|
701
701
|
},
|
|
702
702
|
"SecretRef": {
|
|
703
703
|
"additionalProperties": false,
|
|
704
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
704
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
705
705
|
"properties": {
|
|
706
706
|
"name": {
|
|
707
707
|
"title": "Name",
|
|
@@ -734,7 +734,7 @@
|
|
|
734
734
|
],
|
|
735
735
|
"title": "SeqFlags",
|
|
736
736
|
"type": "integer",
|
|
737
|
-
"x-contract-version": "0.4.
|
|
737
|
+
"x-contract-version": "0.4.23",
|
|
738
738
|
"x-flag-names": {
|
|
739
739
|
"CHECK": 65536,
|
|
740
740
|
"INFER": 16,
|
|
@@ -838,5 +838,5 @@
|
|
|
838
838
|
],
|
|
839
839
|
"title": "PolicyRegistration",
|
|
840
840
|
"type": "object",
|
|
841
|
-
"x-contract-version": "0.4.
|
|
841
|
+
"x-contract-version": "0.4.23"
|
|
842
842
|
}
|
|
@@ -470,7 +470,7 @@
|
|
|
470
470
|
},
|
|
471
471
|
"SecretRef": {
|
|
472
472
|
"additionalProperties": false,
|
|
473
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
473
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
474
474
|
"properties": {
|
|
475
475
|
"name": {
|
|
476
476
|
"title": "Name",
|
|
@@ -740,5 +740,5 @@
|
|
|
740
740
|
],
|
|
741
741
|
"title": "PolicySpec",
|
|
742
742
|
"type": "object",
|
|
743
|
-
"x-contract-version": "0.4.
|
|
743
|
+
"x-contract-version": "0.4.23"
|
|
744
744
|
}
|
{sequence_base-0.3.24 → sequence_base-0.3.26}/sequence_base/schemas/SecretCreateRequest.json
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"additionalProperties": false,
|
|
3
|
-
"description": "POST /v1/secrets — one name = one group of env values (e.g.
|
|
3
|
+
"description": "POST /v1/secrets — one name = one group of env values (e.g. planner = {PLANNER_API_KEY}).\n`env` carries plaintext values; this is the WRITE-direction allow-list field (goal 15).",
|
|
4
4
|
"properties": {
|
|
5
5
|
"env": {
|
|
6
6
|
"additionalProperties": {
|
|
@@ -21,5 +21,5 @@
|
|
|
21
21
|
],
|
|
22
22
|
"title": "SecretCreateRequest",
|
|
23
23
|
"type": "object",
|
|
24
|
-
"x-contract-version": "0.4.
|
|
24
|
+
"x-contract-version": "0.4.23"
|
|
25
25
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"additionalProperties": false,
|
|
3
|
-
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\
|
|
3
|
+
"description": "A by-name reference to a secret (PolicySpec.secrets / BenchmarkSpec.secrets). Name only — the\nplatform keeps the value and injects it when a worker starts. Never carries a value.",
|
|
4
4
|
"properties": {
|
|
5
5
|
"name": {
|
|
6
6
|
"title": "Name",
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
],
|
|
13
13
|
"title": "SecretRef",
|
|
14
14
|
"type": "object",
|
|
15
|
-
"x-contract-version": "0.4.
|
|
15
|
+
"x-contract-version": "0.4.23"
|
|
16
16
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"additionalProperties": false,
|
|
3
|
-
"description": "
|
|
3
|
+
"description": "A worker's metering report, sent as it serves. Carries counts only, no secrets.\nThis usage shape is defined here (sequence-base) once, so gateway and worker cannot drift.",
|
|
4
4
|
"properties": {
|
|
5
5
|
"controlled_seconds": {
|
|
6
6
|
"title": "Controlled Seconds",
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
],
|
|
35
35
|
"title": "UsageReport",
|
|
36
36
|
"type": "object",
|
|
37
|
-
"x-contract-version": "0.4.
|
|
37
|
+
"x-contract-version": "0.4.23"
|
|
38
38
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|