App

data class App(val appName: String, val rootAgent: BaseAgent, val plugins: List<Plugin> = emptyList(), val resumabilityConfig: ResumabilityConfig? = null, val eventsCompactionConfig: EventsCompactionConfig? = null)

Represents an LLM-backed agentic application.

An App is the top-level container for an agentic system powered by LLMs. It bundles an application name together with the rootAgent that serves as the root of the agent tree, enabling coordination and communication across all agents in the hierarchy. It also carries application-wide configuration, such as plugins and resumabilityConfig, that the runner applies to every session it runs.

appName must be a valid identifier (letters, digits, and underscores only, not starting with a digit) and must not be the reserved value "user", which is reserved for end-user input. Construction throws IllegalArgumentException if appName does not meet these requirements.

Constructors

Link copied to clipboard
constructor(appName: String, rootAgent: BaseAgent, plugins: List<Plugin> = emptyList(), resumabilityConfig: ResumabilityConfig? = null, eventsCompactionConfig: EventsCompactionConfig? = null)

Properties

Link copied to clipboard

The application name.

Link copied to clipboard

Optional configuration controlling context-compaction strategies for sessions of this application. When null, no compaction runs.

Link copied to clipboard

Application-wide Plugins providing shared callbacks and services to the entire system. Defaults to an empty list.

Link copied to clipboard

Optional resumability configuration applied to the application's sessions. When null, resumability is disabled.

Link copied to clipboard

The root agent of the application's agent tree.