main
export {
MessagePipelineProvider,
useActiveRoom,
useMessagePipeline,
useRoomMessages,
useRoomMeta,
useWatchRoom,
} from './model/message-pipeline'
export { RoomWatcher, type WatchedRoom } from './ui/room-watcher'
// Public API of features/chat — the 聊天室 column of the workspace page: the
// transcript, the composer, the thread/pin/member panels and the room's
// own dialogs. Realtime comes from the app-level socket in '@app/services/realtime'; message
// rows and transport live in '@app/domains/chat/model'.
// Consumers import from '@app/domains/chat', never from deeper files.
export { prefetchRoomView } from './model/prefetch'
export type { ChatPanelKind, ChatViewState } from './model/view-state'
export {
installVoiceSession,
type JoinVoiceRoomOptions,
joinVoiceRoom,
voiceCredentials,
} from './model/voice-connection'
export { ChatRoom, type ChatRoomProps } from './ui/chat-room'
export { VoiceCallBar } from './ui/voice/voice-call-bar'