Add compaction divider to Duo Agentic Chat

What does this MR do and why?

It implements a custom message widget for compaction messages.

This MR adds a MessageCompaction component that renders a full-width horizontal divider with a centred, subtle "Conversation compacted" label, matching the provided design.

Screenshot

Scenario Before After
Non-empty conversation

compacting_conversation_before.png

compacting_thread_with_messages.png

Empty conversation

compacting_empty_conversation_before.png

compacting_empty_thread.png

How to set up and validate locally

  1. Run the /compact slash command in a conversation with messages.
  2. The compaction divider appears after the conversation is compacted.
  3. It doesn't appear for conversations that are already empty.
Edited by Enrique Alcántara

Merge request reports

Loading
Loading