Compare commits

...

2 Commits

Author SHA1 Message Date
Cian Johnston 527e9fe547 address PR comment 2025-10-24 10:23:06 +01:00
Cian Johnston 2bbdfd7dd5 chore(codersdk): add TaskStateFromWorkspaceAppStatus helper 2025-10-24 10:20:17 +01:00
2 changed files with 18 additions and 1 deletions
+1 -1
View File
@@ -327,7 +327,7 @@ func taskFromDBTaskAndWorkspace(dbTask database.Task, ws codersdk.Workspace) cod
if ws.LatestBuild.Transition != codersdk.WorkspaceTransitionStart || ws.LatestAppStatus.CreatedAt.After(ws.LatestBuild.CreatedAt) {
currentState = &codersdk.TaskStateEntry{
Timestamp: ws.LatestAppStatus.CreatedAt,
State: codersdk.TaskState(ws.LatestAppStatus.State),
State: codersdk.TaskStateFromWorkspaceAppStatus(ws.LatestAppStatus.State),
Message: ws.LatestAppStatus.Message,
URI: ws.LatestAppStatus.URI,
}
+17
View File
@@ -146,8 +146,25 @@ const (
// TaskStateFailed indicates the AI agent reported a failure state.
// Reported via the workspace app status.
TaskStateFailed TaskState = "failed"
// TaskStateUnknown is the zero value for TaskState.
TaskStateUnknown TaskState = ""
)
func TaskStateFromWorkspaceAppStatus(was WorkspaceAppStatusState) TaskState {
switch was {
case WorkspaceAppStatusStateWorking:
return TaskStateWorking
case WorkspaceAppStatusStateIdle:
return TaskStateIdle
case WorkspaceAppStatusStateComplete:
return TaskStateComplete
case WorkspaceAppStatusStateFailure:
return TaskStateFailed
default:
return TaskStateUnknown
}
}
// Task represents a task.
//
// Experimental: This type is experimental and may change in the future.