Package-level declarations
Types
Asset associated with a conversation. An asset may be persistent or ephemeral.
Extended by anything that can track assets
Message sent by the assistant - currently text-only
An assistant message that includes tool calls. When an LLM requests tool calls, it may or may not include text content. This class handles both cases - empty content is valid for tool-call-only responses.
Base message implementation supporting multimodal content.
Simplest possible conversation session implementation Responsible for keeping its conversation up to date via Conversation.addMessage(), and for sending messages to the OutputChannel.
Represents a part of a multimodal message. This sealed interface ensures type safety and extensibility for future media types.
Conversation shim for agent system. Mutable. Conversation AssetView shows assets both from our AssetTracker and messages.
Factory for creating and loading Conversation instances.
Provider for ConversationFactory instances by type.
Format a conversation into a String for inclusion in a prompt. Note that we often prefer to use messages.
Type of conversation storage.
A part of a message containing image data.
Simple map-based implementation of ConversationFactoryProvider.
An AssetView that merges assets from multiple views.
Role of the message sender.
Role of the message sender. Typealias for backwards compatibility.
System message - text-only
A part of a message containing text content.
Message containing the result of a tool execution. This is sent back to the LLM after executing a tool.
Message sent by the user - supports multimodal content
Builder for creating multimodal UserMessages fluently
Conversation formatter that shows the last windowSize messages, optionally skipping the first startIndex messages.