Package uno.anahata.ai.swing.render


package uno.anahata.ai.swing.render
Provides a framework of specialized renderers for displaying different types of message parts.

This package is the core of the UI's ability to display a rich, interactive conversation history. It follows a strategy pattern where the main ContentRenderer delegates the task of rendering each Part to a specific PartRenderer implementation based on the part's type.

Key Components:

  • ContentRenderer: The main orchestrator that builds the JComponent for a complete ChatMessage.
  • PartRenderer: The interface that all specific renderers must implement.
  • TextPartRenderer: Renders Markdown-formatted text, including support for tables and code blocks.
  • FunctionCallPartRenderer: Renders a visually distinct representation of a tool call requested by the model.
  • BlobPartRenderer: Renders binary data, displaying a thumbnail for images.
  • CodeBlockRenderer: A utility for creating syntax-highlighted code snippets, which can be configured with IDE-specific editor kits.

Subpackages: