All Classes and Interfaces
Class
Description
Annotation used to mark a static method as a tool (function) that can be
called by the AI model.
Annotation used to provide metadata for a parameter of a method annotated
with
AIToolMethod.Manages the global configuration and working directory for the Anahata AI framework.
A utility class for creating and managing named
ExecutorService instances
for various asynchronous tasks within the Anahata AI framework.A record to hold structured information about a single API error event,
including retry context.
A ContextProvider that captures the screen and provides it as image parts.
JPanel for attachments
Wrapper for attached files
A simple UI utility to play short, non-blocking notification sounds from resources.
AI-callable tools for audio recording.
The central orchestrator for a Gemini AI chat session.
Base configuration class for a Gemini AI chat session.
A rich, stateful representation of a single message in the chat history.
A JPanel that holds a single rendered ChatMessage.
Defines the possible operational states of a
Chat session.An event object that provides rich, contextual information about a change in the Chat's status.
A context provider that injects high-level information about the current
chat session's state into the model's prompt.
A utility class for formatting complex Java classpaths into a readable,
hierarchical tree structure.
A utility class responsible for creating syntax-highlighted code block
components.
Renders the content of a CodeExecutionResult part as plain text.
Manages configuration-related tasks for a
Chat session.A factory for generating content parts from registered
ContextProviders.Utility methods for working with the Google GenAI
Content object.Defines how the output of an
AIToolMethod should be treated within
the conversation context.A listener interface for receiving notifications about changes in the conversation context.
Manages the conversation context (history) for a
Chat session.Defines the possible locations where a
ContextProvider can inject its content
into the model's prompt.An abstract base class for modules that contribute dynamic context or
instructions to the AI model's prompt.
Handles the pruning of messages and specific content parts from the conversation context.
A critical context provider that injects a detailed, machine-readable summary
of the entire conversation history into the model's prompt.
A custom JPanel that renders a progress bar for context window usage.
A set of tools for inspecting and managing the AI's conversation context window.
A context provider that loads the core system instructions from a Markdown
file in the classpath.
A default implementation of EditorKitProvider that provides the standard
kits available in a vanilla Swing environment.
An interactive dashboard for the DJ Engine, providing real-time visual feedback
and manual controls for the user.
The core engine for the DJ Tool, managing MIDI sequencing and synthesis.
A tool that manages a persistent, background MIDI sequencer to allow for continuous music playback
that can be modified across multiple user turns, simulating a live DJ session.
A dedicated window for the DJ Dashboard, separating Swing window management
from the core DJ Engine logic.
An interface for providing an EditorKit for a given programming language.
A context provider that injects the current system environment variables
into the model's prompt.
Renders the content of an ExecutableCode part, which is a request from the
model to execute a block of code.
Represents a tool call that has been successfully executed.
Provides a shared, cached thread pool for general-purpose asynchronous tasks.
Tracks consecutive failures of tool calls and implements a temporary
blocking mechanism.
A POJO that encapsulates file content and metadata for context-aware operations.
Represents the user's choice when prompted to confirm the execution of one
or more tool calls.
A metadata class that links a Gemini
FunctionDeclaration to its
underlying Java Method implementation.Summarizes the outcome of the entire user interaction and execution phase
for a given turn where tool calls were proposed.
An interface for UI components that can prompt the user to confirm a batch of
function calls.
A value object holding the results of a user confirmation prompt.
A utility class for adapting Java types and objects to the Gemini API's data structures.
Manages the connection to the Gemini API, including API key rotation and model selection.
Utility class for GSON-based JSON operations.
A utility class for handling icons.
Represents a
FunctionCall that has been assigned a short, unique,
turn-specific ID.A tool provider for generating images using the Gemini API.
A generic utility class for Jackson-based JSON operations.
A data class representing the state and result of an asynchronous background job.
Defines the possible states of a background job.
Utility class for high-performance object serialization using the Kryo library.
A comprehensive, context-aware file operations tool provider.
A tool provider that allows the AI model to execute commands in the local
bash shell.
A type-safe enum representing the role of the author of a
ChatMessage.A low-level service for controlling the microphone and playing back recorded audio.
A simple, programmatically drawn Icon that shows a microphone.
A special return type for tools that need to send multiple, distinct parts
back to the model in a subsequent user message.
A custom Kryo serializer for
Optional.An interface for rendering a specific
Part of a model's response
into a JComponent.Utility methods for working with Gemini
Part objects.AI-callable tools for playing simple melodies using the Java MIDI synthesizer.
AI-callable tools for playing internet radio streams.
A refined, non-modal UI for controlling the RadioTool with a split-pane layout
and a fancy LED display.
A simple, programmatically drawn Icon that shows a filled red circle
to indicate that a recording is in progress.
Represents the status of a stateful resource in the context, indicating
whether the version in memory is valid, stale, or has been deleted from disk.
Tracks and manages stateful resources within the conversation context.
Provides tools for the AI model to compile and execute Java source code
within the application's running JVM.
A clean, focused provider for generating OpenAPI/Swagger compliant JSON
schemas from Java types.
A flexible JPanel that implements the Scrollable interface, allowing for
configurable scrolling behavior.
A reusable utility class to display a scrollable JTextArea inside a JPopupMenu
when hovering over a target component.
A tool provider for managing chat sessions using Kryo serialization.
Manages the persistence and summarization of chat sessions.
An interface for objects that represent a stateful resource in the conversation context.
A context provider that injects a table of all stateful resources (e.g., files)
currently tracked in the conversation context.
A data class that holds the complete status of a stateful resource,
comparing its state in the chat context versus its state on the physical disk.
Listener interface for receiving real-time status updates from a
Chat session.Manages and broadcasts the operational status of a
Chat session.A simple, concrete ChatConfig for standalone Swing applications.
A combined JDialog and FunctionPrompter implementation for Swing.
General Swing utility methods.
A generic data class to hold the state of a scroll pane's viewport, anchored to a stable model object.
A context provider that injects the current JVM system properties into the
model's prompt.
A data transfer object representing a processed chunk of text.
Utility methods for processing and formatting text content.
Utility class for file type detection and content extraction using Apache Tika.
Utility class for time-related formatting.
A data class that represents the final outcome of a single proposed tool call.
Represents the definitive final status of a tool call after user interaction
and execution attempts.
Manages the registration, identification, and execution of local tools (functions).
A modified version of FlowLayout that allows components to wrap to the next
line.
