Package-level declarations
Types
Link copied to clipboard
object AIClientIdentity
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
class AIMessagePart
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.