AppFunctions skills context

Defines the ubiquitous language for the Android AppFunctions skill suite.

Architecture and versioning

AppFunctionServiceEntryPoint API: This compile-time AppFunctions architecture was introduced in version 1.0.0-alpha10. You annotate a wrapper service extending AppFunctionService with @AppFunctionServiceEntryPoint. KSP then generates XML metadata and routes services at compile time.

Legacy manual provider API: This AppFunctions architecture applies to version 1.0.0-alpha09 and earlier. Applications implement AppFunctionConfiguration.Provider on the Application class. Methods require AppFunctionContext as the first parameter. Projects depend on a standalone appfunctions-service library. Version 1.0.0-alpha12 removed AppFunctionConfiguration and AppFunctionContext.

App description: The app-level text that agents read to understand the app's AppFunctions. It names the app's primary domain, lists its tasks, and states call order across functions. Write it in the appfn:instructions attribute of app_metadata.xml. Before 1.0.0-beta01, this attribute was appfn:description.

Patterns

Service entry point pattern: Version 1.0.0-alpha10 introduced this architectural pattern. You declare @AppFunctionDeclaration methods directly inside an abstract class extending AppFunctionService. Before 1.0.0-alpha13, this annotation was @AppFunction. This class uses @AppFunctionServiceEntryPoint, plus @AndroidEntryPoint when the app uses Hilt. These annotations let you inject data sources or repositories directly, without an intermediate business logic delegation layer.