fix: add non-nesting session level deriver status (#145)

This commit is contained in:
doria 2025-06-26 15:34:55 -04:00 committed by GitHub
parent 326ea24955
commit 4d5aa4cdb2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 3 deletions

View File

@ -1958,10 +1958,10 @@ def _build_status_response(
pending_work_units=counts.pending,
)
sessions: dict[str, schemas.DeriverStatus] = {}
sessions: dict[str, schemas.SessionDeriverStatus] = {}
for session_id, data in counts.sessions.items():
total = data.completed + data.in_progress + data.pending
sessions[session_id] = schemas.DeriverStatus(
sessions[session_id] = schemas.SessionDeriverStatus(
peer_id=peer_name,
session_id=session_id,
total_work_units=total,

View File

@ -329,6 +329,22 @@ class MessageBulkData(BaseModel):
workspace_name: str
class SessionDeriverStatus(BaseModel):
peer_id: str | None = Field(
default=None,
description="ID of the peer (optional when filtering by session only)",
)
session_id: str | None = Field(
default=None, description="Session ID if filtered by session"
)
total_work_units: int = Field(description="Total work units")
completed_work_units: int = Field(description="Completed work units")
in_progress_work_units: int = Field(
description="Work units currently being processed"
)
pending_work_units: int = Field(description="Work units waiting to be processed")
class DeriverStatus(BaseModel):
peer_id: str | None = Field(
default=None,
@ -343,6 +359,6 @@ class DeriverStatus(BaseModel):
description="Work units currently being processed"
)
pending_work_units: int = Field(description="Work units waiting to be processed")
sessions: dict[str, "DeriverStatus"] | None = Field(
sessions: dict[str, SessionDeriverStatus] | None = Field(
default=None, description="Per-session status when not filtered by session"
)