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.