(row: SessionRow)
| 217 | } |
| 218 | |
| 219 | function buildFinalMessages(row: SessionRow): ChatMessage[] { |
| 220 | const request = getRequest(row) |
| 221 | const messages = [...getMessages(request)] |
| 222 | const response = row.response?.trim() |
| 223 | |
| 224 | if (response && !hasSameAssistantText(messages, response)) { |
| 225 | messages.push({ |
| 226 | role: 'assistant', |
| 227 | content: row.response, |
| 228 | ...(row.reasoning_text ? { reasoning_content: row.reasoning_text } : {}), |
| 229 | source_message_id: row.id, |
| 230 | }) |
| 231 | } |
| 232 | |
| 233 | return messages |
| 234 | } |
| 235 | |
| 236 | async function fetchCandidateSessions(args: Args): Promise<CandidateRow[]> { |
| 237 | const targetStructs = TARGETS.flatMap((target) => |
no test coverage detected