Package-level declarations

Types

Link copied to clipboard
open class AdkApiServer(config: AdkServerConfig)

The Development UI stays unmounted unless AdkServerConfig.webUiEnabled or the adk.web.ui.enabled property asks for it.

Link copied to clipboard
data class AdkServerConfig(val agentLoader: AgentLoader? = null, val sessionService: SessionService, val artifactService: ArtifactService, val port: Int = DEFAULT_PORT, val host: String = DEFAULT_HOST, val apiServerSpanExporter: ApiServerSpanExporter = ApiServerSpanExporter(), val captureMessageContent: Boolean = false, val plugins: List<Plugin> = emptyList(), val webUiEnabled: Boolean? = null, val camelCaseEnforced: Boolean? = null, val includeAppInfo: Boolean? = null, val appLoader: AppLoader? = null)

What an AdkApiServer or AdkDevServer needs to serve a set of agents over HTTP.

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.ERROR, message = "The app-info endpoint is an experimental feature whose API may change at any time. Opt in with @OptIn(ExperimentalAppInfoFeature::class) to acknowledge the risk.")
annotation class ExperimentalAppInfoFeature

Marks the /apps/{appName}/app-info endpoint as experimental: its response shape and behavior may change in future releases without prior notice.

Functions

Link copied to clipboard
fun Application.adkApiModule(config: AdkServerConfig)

Installs the ADK agent runtime (health, version, app discovery, sessions, artifacts, the run endpoints, and app-info when AdkServerConfig.includeAppInfo or the adk.app.info.enabled property asks for it) and flushes AdkServerConfig.sessionService when the application stops, waiting up to 3 seconds for a flush that honors cancellation.