Storybook story file for `ChatMessageEnhanced`, providing interactive visual documentation for the primary chat message renderer used across Mingo (admin) and Fae (client) chat interfaces. ## Key Components | Export | Type | Description | |---|---|---| | `AssistantFae` | `Story` | Fae assistant message with pink mono name and timestamp | | `AssistantMingo` | `Story` | Mingo assistant message with cyan mono name | | `UserMessage` | `Story` | User-authored message with grey mono name | | `FaeConversationTyping` | `Story` | Multi-message Fae flow showing greeting → user request → typing indicator | | `FaeConversationApproved` | `Story` | Fae flow with a resolved `approval_request` segment (APPROVED pill) | | `PendingApprovalSegment` | `Story` | Client approval card with live Approve/Reject buttons | | `AllSegmentTypes` | `Story` | Single message rendering all segment types: `thinking`, `text`, `tool_execution`, `context_compaction`, `error` | ## Usage Example ```typescript // Render a Fae assistant message with an approval segment {}, onReject: () => {}, }, ]} /> ``` ## Notes - **`at247()`** — pins story timestamps to `2:47 PM` so snapshot tests are deterministic; today-dated messages render time-only via `formatMessageTimestamp`. - **`panelDecorator`** — wraps each story in a `640px` container with the system background token, matching the `ChatMessageList` host context. - **`FaeConversationTyping` / `FaeConversationApproved`** — composite render functions that reproduce the full Fae desktop-app flow matching the Figma `fae-approval-block` spec. ## Source [`ChatMessageEnhanced.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatMessageEnhanced.stories.tsx)