"""Presentation chat package (EPIC R08 - Chat UI Hub). Contains single-responsibility components and mixins for the unified chat interface: - ChatPanel: container shell for streaming chat turns, worker thread management, and history. - ChatHistoryWidget / ChatView / MessageBubble: scrollable message timeline and markdown renderers. - Composer / ComposerWidget: input box, command dispatch, attachments list, and message queue. - AttachmentMixin: attachment security check, character limit, and prompt augmentation. - AudioRecorderWidget: audio/voice recording button and timer status. - OutputPanelMixin: output files manager and directory watcher. """ from __future__ import annotations from .attachment_picker import AttachmentMixin from .audio_recorder_widget import AudioRecorderWidget from .chat_history_widget import ChatHistoryWidget, ChatView, MessageBubble from .chat_output_panel import OutputPanelMixin from .chat_panel import ChatPanel from .composer_widget import Composer, ComposerWidget __all__ = [ "AttachmentMixin", "AudioRecorderWidget", "ChatHistoryWidget", "ChatOutputPanelMixin", "ChatPanel", "ChatView", "Composer", "ComposerWidget", "MessageBubble", "OutputPanelMixin", ]