Package-level declarations

Types

Link copied to clipboard
@RequiresOptIn(message = "Java-interop API: prefer the Kotlin constructor and named arguments; opt in only if you need the Java-facing surface.", level = RequiresOptIn.Level.WARNING)
annotation class AdkJavaInteropApi

Marks an API that exists only to make ADK usable from Java, such as the fluent builders. Kotlin callers should use the primary constructor and named arguments instead; opting in acknowledges that you specifically need the Java-facing surface. Java callers are unaffected, since the opt-in requirement is enforced only by the Kotlin compiler.

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.ERROR, message = "ADK AppFunctions support is an experimental feature whose API may change at any time. Opt in with @OptIn(ExperimentalAppFunctionsFeature::class) to acknowledge the risk.")
annotation class ExperimentalAppFunctionsFeature

Marks ADK's AppFunctions APIs as experimental: their shape and semantics may change in future releases without prior notice, as the underlying AppFunctions SDK is itself pre-release.

Link copied to clipboard
@RequiresOptIn(message = "The ADK auth API is experimental and may change without notice.", level = RequiresOptIn.Level.ERROR)
annotation class ExperimentalAuthApi

Marks the auth API (credentials, auth schemes and sign-in requests), which is experimental and expected to change without notice. Opt in with @OptIn(ExperimentalAuthApi::class).

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.ERROR, message = "ADK context caching is an experimental feature whose API may change at any time. Opt in with @OptIn(ExperimentalContextCachingFeature::class) to acknowledge the risk.")
annotation class ExperimentalContextCachingFeature

Marks ADK's context caching APIs as experimental: their shape and semantics may change in future releases without prior notice.

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.ERROR, message = "ADK environment APIs are experimental and may change at any time. Opt in with @OptIn(ExperimentalEnvironmentApi::class) to acknowledge the risk.")
annotation class ExperimentalEnvironmentApi

Marks ADK's environment APIs as experimental: their shape and semantics may change in future releases without prior notice.

Link copied to clipboard
@RequiresOptIn(message = "The ADK live API is experimental and may change without notice.", level = RequiresOptIn.Level.ERROR)
annotation class ExperimentalLiveApi

Marks the live (bidirectional streaming) API, which is experimental and expected to change without notice. Opt in with @OptIn(ExperimentalLiveApi::class).

Link copied to clipboard
@RequiresOptIn(message = "The ADK workflow API is experimental and may change without notice.", level = RequiresOptIn.Level.ERROR)
annotation class ExperimentalWorkflowApi

Marks the graph-workflow API, which is experimental and expected to change without notice. Opt in with @OptIn(ExperimentalWorkflowApi::class).

Link copied to clipboard
Link copied to clipboard
annotation class Param(val description: String = "", val name: String = "", val required: Requiredness = Requiredness.AUTO)

Annotates a parameter of a function annotated with Tool to provide explicit metadata.

Link copied to clipboard

Whether a Param is required in the generated tool schema.

Link copied to clipboard

Marks APIs that return a secret's raw value, such as Secret.reveal. Opt in with @OptIn(SecretAccess::class), which makes each place that handles a raw credential visible in review.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class Tool(val name: String = "", val description: String = "", val requireConfirmation: Boolean = false, val isLongRunning: Boolean = false)

Annotates a function to be exposed as an executable tool by the Google ADK Kotlin. KSP will generate a corresponding com.google.adk.kt.tools.FunctionTool wrapper for annotated functions.