Barrel export module that consolidates and re-exports all message processing, chat navigation, UI styling, and content utility functions for chat interfaces. ## Key Components | Category | Exports | |----------|---------| | **Message Accumulation** | `MessageSegmentAccumulator`, `createMessageSegmentAccumulator`, `AccumulatorCallbacks` | | **Historical Messages** | `processHistoricalMessages`, `extractErrorMessages`, `processHistoricalMessagesWithErrors` | | **Chat Navigation** | `handleChatNavClick`, `resolveExternalNavigation`, `decideNewTab`, `computeIsNewTab`, `buildAnchorProps` | | **Proxy Auth** | moved to `utils/` — `getEmbedProxyAuth`, `setEmbedProxyAuth`, `clearEmbedProxyAuth`, `applyProxyAuth`, `embedAuthedFetch` | | **Attachments** | `formatChatAttachmentMarkdownForBubble`, `stripChatAttachmentMarkdown`, `buildChatAttachmentViewUrl` | | **UI / Styling** | `chatChipClass`, compact card class constants (`COMPACT_CARD_*`), `getStatusColorScheme` | | **Icon Registry** | `ICON_REGISTRY`, `getIconComponent`, `normalizeIconKey`, `getDynamicIcon` | | **Source Utilities** | `getSourceIconName`, `getSourceLabel`, `resolveSourceRowCTA`, `resolveSourceIcon` | | **Slash Commands** | `parseWireCommandOverride`, `sanitizeTitleForChat`, `buildDiscussAddendum` | ## Usage Example ```typescript import { createMessageSegmentAccumulator, handleChatNavClick, getIconComponent, formatChatAttachmentMarkdownForBubble, decideNewTab, getStatusColorScheme, } from '@flamingo/chat-utils' // Accumulate streamed message segments const accumulator = createMessageSegmentAccumulator({ onSegmentComplete: (segment) => console.log('Segment:', segment), }) // Resolve navigation target for a chat link const { openInNewTab } = decideNewTab({ href: 'https://app.example.com/tickets/123', surface: 'chat-bubble', mode: 'web', }) // Look up a registered icon by kebab-case key const Icon = getIconComponent('clickup') // Apply agent status color scheme to UI const colors = getStatusColorScheme('running') ```