Package-level declarations

Types

Link copied to clipboard
class McpServerStore(context: Context, secrets: SecretStore = SecretStore(context), clientCapabilities: JsonObject = JsonObject(emptyMap()))

Saved remote MCP servers. Configs live in SharedPreferences; bearer tokens, OAuth registrations and tokens are encrypted in secrets. Clients are cached per server so the negotiated protocol era and session are reused.

Link copied to clipboard
@Serializable
enum ProviderKind : Enum<ProviderKind>

The wire protocol a provider speaks; decides which ChatBackend is built.

Link copied to clipboard
@Serializable
data class ProviderProfile(val id: String, val name: String, val kind: ProviderKind, val baseUrl: String = "", val model: String = "", val useTools: Boolean = true, val systemPrompt: String = DEFAULT_SYSTEM_PROMPT, val builtIn: Boolean = false, val oauth: OAuthProvider? = null)

One configured agent provider. The API key is not part of the profile — it lives encrypted in SecretStore, keyed by id.

Link copied to clipboard
class ProviderStore(context: Context, val presets: List<ProviderProfile> = ProviderProfile.Presets)

Saved provider profiles (SharedPreferences) with their API keys and OAuth tokens kept encrypted in SecretStore; exposes the list and the selected profile as flows. presets (built in, the first one selected by default) are merged in on load, so new presets appear after an app update.

Link copied to clipboard
class SecretStore(context: Context)

API keys encrypted with an AES-GCM key held in the Android Keystore (the key never leaves secure hardware where available). Replaces the deprecated androidx.security:security-crypto.