import { extractImageUrlsFromText } from "@/lib/image-url"; import { messageText } from "./replacement-run-recovery"; type Message = { id: string; role: string; parts?: unknown[] }; export function getSceneRunResult(messages: Message[], requestMessageId: string) { const index = messages.findIndex((message) => message.id === requestMessageId && message.role === "user"); if (index < 0) return null; const replies = messages.slice(index + 1); // A later user turn belongs to another run. if (replies.some((message) => message.role === "user")) return null; const urls = new Set(replies.filter((message) => message.role === "assistant") .flatMap((message) => extractImageUrlsFromText(messageText(message)))); return { count: urls.size }; }