Skip to content

v0.1.17

Choose a tag to compare

@dwnmf dwnmf released this 27 Feb 21:45
· 14 commits to main since this release

v0.1.17 — Thread stability, streaming correctness, and usable artifacts timeline

Что исправлено

  • Исправлен зависающий статус thread/composer, когда backend завершал turn событием turn/cancelled или turn/failed, а фронт ждал только turn/completed.
  • Исправлено дублирование/«каша» в потоковом выводе при перекрывающихся чанках и snapshot-чанках.
  • Исправлен пропуск артефактов в таймлайне, когда backend присылал числовой id.
  • Улучшена читаемость Artifacts Timeline: отображаются более понятные типы и извлечённые пути файлов (например, artifact.txt).
  • Стабилизирована загрузка thread: устранён цикл повторных запросов артефактов, который мог приводить к росту CPU/RAM.

Технические детали

  • src/lib/messages.svelte.ts
    • Добавлена обработка terminal turn-событий: turn/failed, turn/cancelled, turn/interrupted.
    • Нормализация статуса в TurnStatus (Completed/Failed/Interrupted) для корректного снятия блокировки composer.
  • src/lib/messages.test.ts
    • Новые unit-тесты на переходы состояния для turn/cancelled и turn/failed.
  • src/lib/message-limits.ts
    • Вместо слепой конкатенации реализовано merge-поведение для stream-чанков (snapshot/overlap dedupe).
  • src/lib/message-limits.test.ts
    • Добавлены тесты на дедупликацию snapshot- и overlap-чанков.
  • src/lib/artifacts.ts
    • Поддержка numeric artifact ids.
    • Улучшенная нормализация type/title/summary и извлечение путей из payload/command.
  • src/lib/artifacts.test.ts
    • Тесты на numeric id и на извлечение путей файлов из command payload.
  • src/lib/components/ArtifactsTimeline.svelte
    • Добавлен вывод чипов путей файла для артефактов.

Верификация

  • bun run ci:local — PASS
    • lint, typecheck, tests, build
  • Дополнительно проверено в Chrome DevTools:
    • репродукция рабочего сценария в thread,
    • проверка консоли/состояния стора,
    • подтверждение отображения артефактов в таймлайне.

Ключевые коммиты в релизе

  • 80d4c4f fix(thread): stop artifacts polling loop that stalls thread view
  • 51ffd6f fix(stream): dedupe overlapping chunks to prevent repeated output
  • 2eec99a fix(artifacts): accept numeric backend ids in timeline parser
  • 3cac3a0 feat(artifacts): surface file paths and readable timeline metadata
  • ab6955e fix(thread): handle cancelled/failed terminal events to unblock composer