Package-level declarations

Types

Link copied to clipboard

A stable identifier for this install, for addressing client tool calls to it. Put it in the custom data of the person's message (client_id) so the agent can copy it onto the calls it makes while answering.

Link copied to clipboard
interface AIClientTool

A tool this device runs when an AI agent asks for it.

Link copied to clipboard

What a device reports for a call.

Link copied to clipboard
class AIClientToolRunner(val userId: String, val clientId: String, tools: List<AIClientTool>, scope: CoroutineScope)

Runs the client tool calls addressed to this device, each once.

Link copied to clipboard

One step an AI agent took while replying, such as a round of reasoning or a tool call.

Link copied to clipboard
data class AIReasoningPart(val id: String, val status: AIReasoningPart.Status, val summary: String? = null, val preview: String? = null, val durationMs: Int? = null)

A round of the model's reasoning.

Link copied to clipboard
data class AIToolApproval(val title: String, val message: String? = null, val reason: String? = null, val allowTitle: String? = null, val declineTitle: String? = null, val decision: AIToolApproval.Decision? = null)

What a tool call asks the person it waits for before it runs, such as "Share your location?", and how they answered.

Link copied to clipboard
data class AIToolAuthorization(val kind: AIToolAuthorization.Kind = Kind.OAuth, val provider: String, val providerName: String? = null, val title: String, val message: String? = null, val url: String, val handoffToken: String? = null, val expiresAt: Date? = null, val status: AIToolAuthorization.Status? = null)

A sign-in a tool call waits for, such as "Connect Linear", and how it ended.

Link copied to clipboard
data class AIToolCallPart(val id: String, val name: String, val displayTitle: String? = null, val status: AIToolCallPart.Status, val executor: AIToolCallPart.Executor = Executor.Server, val targetUserId: String? = null, val targetClientId: String? = null, val arguments: String? = null, val summary: String? = null, val durationMs: Int? = null, val approval: AIToolApproval? = null, val authorization: AIToolAuthorization? = null)

A tool the agent called, run by the agent's backend or by a person's device.