All Classes and Interfaces
Class
Description
Abstract base class for security interceptors that enforce access control
on methods annotated with
AccessCheck.Abstract base class for a
ServletContextListener that scans CDI bean classes
at deploy time and discovers secured resources.Interceptor binding annotation for securing individual CDI bean methods.
A reusable, lazily-evaluated description of "the recent activity to feed the assistant" — bind it
to a
ActivityStore once, say which session/tab and how far back to look, then call
ActivityContext.render() at each AI call to get fresh prompt text reflecting the latest activity.Fluent builder for
ActivityContext.An immutable description of which slice of the activity timeline you want back from an
ActivityStore — a small set of filters (session, tab, age, category) plus a cap on how
many of the most recent matches to return.Fluent builder for
ActivityQuery.The single application-facing entry point for writing to the ambient activity timeline — a thin
facade over the
ActivityStore that stamps each event with the current session and tab, so
callers never have to figure out "where am I" themselves.Turns a slice of the activity timeline into the plain text that gets injected into an AI prompt —
the bridge between structured
UserActivityEvents and the words the model actually reads.Holder for the stateless default renderer.
Marks a business method (or a whole bean) whose invocation should be recorded onto the ambient
activity timeline — the declarative way to feed the assistant's working memory without
writing any capture code by hand.
The interceptor that turns an
ActivityTracked method call into a recorded
UserActivityEvent — the runtime engine behind the declarative annotation.Builder for creating an
EasyAgent that autonomously plans and
executes multi-step tasks using your registered Java services.Represents a single tool call made by the agent during task execution.
Event object used for inter-tab (application module) communication.
Builder for creating AI assistant proxies from annotated interfaces.
Base implementation of
DyntabBeanInterface for CDI-managed tab beans.U konkretnoj aplikaciji (JsfProjectTemplate), napraviti klasu koja nasledjuje ovu, i podesava generator value:
A simple chat conversation with an AI model.
Builder for creating
Conversation instances.Represents a document loaded into memory as raw bytes.
Annotation for automatic registration of a CDI bean as a dynamic tab.
Represents a single dynamic tab in the DynTabs framework.
Contract that all CDI beans associated with a dynamic tab must implement.
Event object representing a tab lifecycle event in the DynTabs framework.
Abstract configuration class that defines which tabs are opened at startup
and the maximum number of tabs allowed.
CDI Extension that automatically scans
@DynTab annotations during bootstrap.Public class that holds data about a single discovered
@DynTab.The central manager for dynamic tabs in the DynTabs framework.
Central registry for all dynamic tab definitions in the application.
Container annotation for
@Repeatable support of the DynTab annotation.Tracks the state of all dynamic tabs in the current view (session).
An AI agent that autonomously plans and executes multi-step tasks
by orchestrating calls to your registered Java services.
Main entry point for the EasyAI library.
Marks an interface as an EasyAI assistant.
Immutable configuration for EasyAI.
Loads
EasyAIConfig from easyai.properties on the classpath.One immutable, transport-agnostic "something happened" notification emitted by any
EasyAI capability (chat, assistant, RAG, agent, indexer, extract) while it works.
Fluent builder for
EasyAIEvent.Which moment in an operation's lifecycle an event marks.
Which EasyAI capability produced an event.
How an event is going, visually.
CDI Extension that discovers interfaces annotated with
EasyAIAssistant
and produces injectable ApplicationScoped beans for them.A subscriber that receives
EasyAIEvents as an EasyAI capability runs.The write side of EasyAI RAG: takes documents and persists their embeddings into a
vector store, so an assistant can retrieve them later.
Enables RAG (Retrieval-Augmented Generation) for an AI assistant.
Optional annotation that adds a description to a tool method.
An immutable, lightweight pointer to one business entity the user just touched —
not the entity itself, just enough to name it: a
type (e.g.Internal helper each EasyAI capability uses to produce
EasyAIEvents and push them to
a registered EasyAIListener.Builds a one-shot, typed extraction: turn unstructured text or a document into a populated
Java object (record or POJO).
The extraction assembly line: prompt the model with a JSON skeleton, read its answer,
parse it into the target type, and (optionally) validate it — retrying if the model's
first answer is not valid JSON.
Thrown when EasyAI cannot turn the source content into the requested type.
Entry step for the document-indexing pipeline — picks where the vectors go,
then hands you an
EasyIndexer that knows how to put them there.In-memory implementation of
AbstractAccessCheckInterceptor.The default
ActivityStore: a process-local, bounded, per-session ring-buffer that keeps
only the most recent slice of activity and forgets everything when the process stops.In-memory implementation of
AbstractSecuredResourceScanner.Static utility class providing common JSF and PrimeFaces helper methods.
Immutable connection settings for a Milvus vector database collection.
Bridges EasyAI to a persistent Milvus vector store, the way
RagEngine
bridges to an ephemeral in-memory store.Factory that creates
ChatModel instances based on EasyAIConfig.RAG engine that loads documents, splits them, embeds them,
and provides a
ContentRetriever for use with AI assistants.Turns a Java type into a human-readable JSON "skeleton" that tells an LLM exactly which
fields to produce and of what type.
Callback interface invoked after each tool call made by the agent.
CDI Context implementation for
@TabScoped beans.Custom JSF NavigationHandler that intercepts navigation outcomes containing a colon
(
":") to open dynamic tabs instead of performing standard page navigation.CDI scope annotation for beans that live in the context of a dynamic tab.
Singleton class that stores all
@TabScoped bean instances organized
by HTTP session and by tab ID.Internal class that stores a bean instance together with its creational context.
CDI Extension that registers the
@TabScoped scope in the CDI container.JSF PhaseListener that automatically sets the active tab scope
at the appropriate point in the JSF lifecycle.
HttpSessionListener + HttpSessionIdListener that:
Destroys all
@TabScoped beans when an HTTP session expires or is invalidated
Tracks session ID changes (session fixation protection) and migrates
beans from the old ID to the new one
Uses reflection to discover public methods on POJOs and build
ToolSpecification instances without requiring @Tool annotations.Internal record linking a
ToolSpecification to its target object and method.One immutable "the user just did something meaningful" entry in the Ambient Activity timeline —
the
UI → AI counterpart to EasyAIEvent (which is AI → UI).Fluent builder for
UserActivityEvent.The coarse category of a user act.