/
aqa
/
claude-code
Обзор
Документация
Войти
/
aqa
/
claude-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
utils/collapseTeammateShutdowns.ts
55 строк
1 KB
kuberwastaken
new initial commit (history rewritten)
01 апр 2026, 14:57
01 апр 2026, 14:57
c1996f2
Код
Авторство
О чём код?
import type { AttachmentMessage, RenderableMessage } from '../types/message.js' function isTeammateShutdownAttachment( msg: RenderableMessage, ): msg is AttachmentMessage { return ( msg.type === 'attachment' && msg.attachment.type === 'task_status' && msg.attachment.taskType === 'in_process_teammate' && msg.attachment.status === 'completed' ) } /** * Collapses consecutive in-process teammate shutdown task_status attachments * into a single `teammate_shutdown_batch` attachment with a count. */ export function collapseTeammateShutdowns( messages: RenderableMessage[], ): RenderableMessage[] { const result: RenderableMessage[] = [] let i = 0 while (i < messages.length) { const msg = messages[i]! if (isTeammateShutdownAttachment(msg)) { let count = 0 while ( i < messages.length && isTeammateShutdownAttachment(messages[i]!) ) { count++ i++ } if (count === 1) { result.push(msg) } else { result.push({ type: 'attachment', uuid: msg.uuid, timestamp: msg.timestamp, attachment: { type: 'teammate_shutdown_batch', count, }, }) } } else { result.push(msg) i++ } } return result }