feat: cache lastPreview in processOutputLine

This commit is contained in:
jay 2026-05-15 05:13:40 +02:00
parent b4df1a49b2
commit 8f7491bfaa
1 changed files with 7 additions and 8 deletions

View File

@ -259,6 +259,12 @@ export class FanoutController {
const msg = event.message as Message;
if (msg.role === "assistant") {
// Cache latest assistant text for live preview
for (const part of msg.content) {
if (part.type === "text") {
job.lastPreview = part.text.length > 500 ? part.text.slice(0, 500) + "…" : part.text;
break;
}
}
job.usage.turns++;
const usage = msg.usage;
if (usage) {
@ -272,13 +278,6 @@ export class FanoutController {
if (msg.stopReason) job.stopReason = msg.stopReason;
if (msg.errorMessage) job.errorMessage = msg.errorMessage;
// Cache last assistant text output for live preview (capped to keep meta.json small)
for (const part of msg.content) {
if (part.type === "text") {
job.lastPreview = part.text.slice(0, 5000);
break;
}
}
this.persist(job);
}
}
@ -288,7 +287,7 @@ export class FanoutController {
if (msg.role === "assistant") {
for (const part of msg.content) {
if (part.type === "text") {
job.lastPreview = part.text.slice(0, 5000);
job.lastPreview = part.text.length > 500 ? part.text.slice(0, 500) + "…" : part.text;
this.persist(job);
break;
}