feat(cloud): enforce host governance budgets
Tests / Test passed: 662

This commit is contained in:
2026-07-13 22:56:31 +08:00
parent 2cd314b183
commit b4803f90e6
28 changed files with 1311 additions and 14 deletions
+19 -2
View File
@@ -162,11 +162,15 @@ class UserSubmissionPolicyRequest(BaseModel):
submission_enabled: bool = True
allowed_host_ids: list[str] | None = None
allowed_device_targets: list[DeviceTargetModel] | None = None
expected_revision: int | None = Field(default=None, ge=0)
class UserSubmissionPolicyResponse(UserSubmissionPolicyRequest):
class UserSubmissionPolicyResponse(BaseModel):
user_id: str
revision: int
submission_enabled: bool
allowed_host_ids: list[str] | None = None
allowed_device_targets: list[DeviceTargetModel] | None = None
updated_at: datetime
@@ -174,9 +178,22 @@ class HostGovernancePolicyRequest(BaseModel):
self_submission_enabled: bool = True
max_active_tasks: int | None = Field(default=None, ge=1)
daily_token_budget: int | None = Field(default=None, ge=1)
expected_revision: int | None = Field(default=None, ge=0)
class HostGovernancePolicyResponse(HostGovernancePolicyRequest):
class HostGovernancePolicyResponse(BaseModel):
host_id: str
revision: int
self_submission_enabled: bool
max_active_tasks: int | None = None
daily_token_budget: int | None = None
updated_at: datetime
class HostTokenUsageSummaryResponse(BaseModel):
host_id: str
usage_day: str
daily_token_budget: int | None = None
used_tokens: int
reserved_tokens: int
remaining_tokens: int | None = None