( sessionPath: string, thread: ThreadData, reason: RuntimeThreadReason, timestamp: number, )
| 275 | } |
| 276 | |
| 277 | function updateInboxEndState( |
| 278 | sessionPath: string, |
| 279 | thread: ThreadData, |
| 280 | reason: RuntimeThreadReason, |
| 281 | timestamp: number, |
| 282 | ) { |
| 283 | if (reason !== 'end') return |
| 284 | const latestAssistantMessage = getLatestInboxAssistantMessage(thread.messages) |
| 285 | if (!latestAssistantMessage) return |
| 286 | upsertInboxThreadMessage({ |
| 287 | sessionPath, |
| 288 | userPrompt: getLatestUserPrompt(thread), |
| 289 | content: latestAssistantMessage.content, |
| 290 | preview: latestAssistantMessage.preview, |
| 291 | lastAssistantAtMs: timestamp, |
| 292 | }) |
| 293 | } |
| 294 | |
| 295 | async function applyPersistedThreadUpdate( |
| 296 | runtime: PiRuntime, |
no test coverage detected