<!-- source-hash: 85c0af6cd361347beeabcd097260378a -->
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 |
|----------|---------|
| **Chunk Parsing** | `parseChunkToAction`, `isControlChunk`, `isErrorChunk`, `isMetadataChunk`, `extractTextFromChunk` |
| **Message Accumulation** | `MessageSegmentAccumulator`, `createMessageSegmentAccumulator`, `AccumulatorCallbacks` |
| **Historical Messages** | `processHistoricalMessages`, `extractErrorMessages`, `processHistoricalMessagesWithErrors` |
| **Chat Navigation** | `handleChatNavClick`, `resolveExternalNavigation`, `decideNewTab`, `computeIsNewTab`, `buildAnchorProps` |
| **Proxy Auth** | `getChatProxyAuth`, `setChatProxyAuth`, `clearChatProxyAuth`, `applyProxyAuth`, `chatAuthedFetch` |
| **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 {
  parseChunkToAction,
  createMessageSegmentAccumulator,
  handleChatNavClick,
  getChatProxyAuth,
  getIconComponent,
  formatChatAttachmentMarkdownForBubble,
  decideNewTab,
  getStatusColorScheme,
} from '@flamingo/chat-utils'

// Parse a streaming chunk from the AI response
const action = parseChunkToAction(rawChunk)

// 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')
```