generated from coulomb/repo-seed
feat: add State Hub bulk status skill
This commit is contained in:
@@ -77,6 +77,25 @@ class TaskUpdate(TaskStatusMixin):
|
||||
return self
|
||||
|
||||
|
||||
class TaskStatusBulkUpdate(TaskStatusMixin):
|
||||
task_id: uuid.UUID
|
||||
status: TaskStatus
|
||||
blocking_reason: str | None = None
|
||||
|
||||
|
||||
class TaskStatusBulkSync(BaseModel):
|
||||
updates: list[TaskStatusBulkUpdate]
|
||||
author: str | None = "custodian"
|
||||
session_id: str | None = None
|
||||
|
||||
@field_validator("updates")
|
||||
@classmethod
|
||||
def updates_required(cls, value: list[TaskStatusBulkUpdate]):
|
||||
if not value:
|
||||
raise ValueError("at least one task status update is required")
|
||||
return value
|
||||
|
||||
|
||||
class TaskRead(TaskStatusMixin):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
id: uuid.UUID
|
||||
@@ -99,3 +118,8 @@ class TaskCountRead(TaskStatusMixin):
|
||||
workstream_id: uuid.UUID
|
||||
status: TaskStatus
|
||||
count: int
|
||||
|
||||
|
||||
class TaskStatusBulkSyncRead(BaseModel):
|
||||
updated: list[TaskRead]
|
||||
progress_event_ids: list[uuid.UUID]
|
||||
|
||||
Reference in New Issue
Block a user