feat(background-task): render retry timelines and links
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import type { BackgroundTask } from "../../features/background-agent"
|
||||
import { extractErrorMessage } from "../../features/background-agent/error-classifier"
|
||||
import { consumeNewMessages } from "../../shared/session-cursor"
|
||||
import type { BackgroundOutputClient, BackgroundOutputMessagesResult } from "./clients"
|
||||
import { extractMessages, getErrorMessage } from "./session-messages"
|
||||
@@ -56,6 +57,23 @@ Session ID: ${task.sessionID}
|
||||
return timeA.localeCompare(timeB)
|
||||
})
|
||||
|
||||
const sessionError = sortedMessages
|
||||
.filter((message) => message.info?.role === "assistant" && message.info?.error)
|
||||
.map((message) => extractErrorMessage(message.info?.error))
|
||||
.find((message): message is string => typeof message === "string" && message.length > 0)
|
||||
if (sessionError) {
|
||||
return `Task Result
|
||||
|
||||
Task ID: ${task.id}
|
||||
Description: ${task.description}
|
||||
Duration: ${formatDuration(task.startedAt ?? new Date(), task.completedAt)}
|
||||
Session ID: ${task.sessionID}
|
||||
|
||||
---
|
||||
|
||||
Session error: ${sessionError}`
|
||||
}
|
||||
|
||||
const newMessages = consumeNewMessages(task.sessionID, sortedMessages)
|
||||
if (newMessages.length === 0) {
|
||||
const duration = formatDuration(task.startedAt ?? new Date(), task.completedAt)
|
||||
|
||||
Reference in New Issue
Block a user