Артефакты: 6 адаптеров подключены к singleton-реестру
Что изменилось
Финальный аккорд серии артефактов: все шесть готовых адаптеров (markdown, browser, docx, xlsx, pptx, figma) собраны в один singleton-реестр и подключены к AgentAnswerAttachment компоненту в чате.
- bootstrapArtifactViewerRegistry(): единая точка инициализации — вызывается один раз при запуске renderer'а; повторные вызовы возвращают тот же экземпляр.
- resolveByMime: dispatcher принимает MIME-type, возвращает первый адаптер с
canRender = true; lazy-импорт через dynamic import. - Fallback card: для нераспознанных MIME — generic «Артефакт неизвестного типа» карточка с download-кнопкой.
- ArtifactViewer компонент: в чате вместо
DesignArtifactCardдля kind=viewer-artifact; legacy design-artifact кодпуть сохранён без регрессий. - tsconfig + vitest aliases: прописаны пути для всех 6 viewer-пакетов — RTL тесты резолвят пакеты без dynamic-import коллизий.
- Atom union types:
AnyArtifactAttachmentобъединяет все вариации;useAgentAnswerStreamсужает тип через discriminated union.
Где попробовать
В любом чате попросите MD, DOCX, XLSX, PPTX или Figma-ссылку — артефакт автоматически попадёт в нужный просмотрщик. Browser sandbox активируется на HTML-артефактах.
Связано
PR #360 — финальная интеграция Wave 11.