2026-03-12 11:31:58 +09:00
|
|
|
import { extractSessionMessages } from "./session-messages"
|
2026-03-12 01:43:17 +09:00
|
|
|
|
|
|
|
|
export function getLastUserRetryParts(
|
|
|
|
|
messagesResponse: unknown,
|
|
|
|
|
): Array<{ type: "text"; text: string }> {
|
2026-03-12 11:31:58 +09:00
|
|
|
const messages = extractSessionMessages(messagesResponse)
|
2026-03-12 01:43:17 +09:00
|
|
|
const lastUserMessage = messages?.filter((message) => message.info?.role === "user").pop()
|
|
|
|
|
const lastUserParts =
|
|
|
|
|
lastUserMessage?.parts
|
|
|
|
|
?? (lastUserMessage?.info?.parts as Array<{ type?: string; text?: string }> | undefined)
|
|
|
|
|
|
|
|
|
|
return (lastUserParts ?? [])
|
|
|
|
|
.filter(
|
|
|
|
|
(part): part is { type: "text"; text: string } =>
|
|
|
|
|
part.type === "text"
|
|
|
|
|
&& typeof part.text === "string"
|
|
|
|
|
&& part.text.length > 0,
|
|
|
|
|
)
|
|
|
|
|
.map((part) => ({ type: "text" as const, text: part.text }))
|
|
|
|
|
}
|