SDKs

Hiloop provides official SDKs for TypeScript, Python, and Kotlin, plus an MCP server for AI tools. All SDKs handle E2E encryption transparently — content is encrypted before it leaves your process and decrypted only on the recipient's device.

Quick example

The same approval flow in each SDK — click through to each SDK page for more examples with live component previews.

Python
from hiloop import HiloopClient

client = HiloopClient(api_key="hlp_xxx", agent_name="my-bot")
session = client.create_session(title="Deploy v2.4.1?")
client.send_message(session.id, components=[
    {"type": "button_group", "data": {"buttons": [
        {"label": "Approve", "action": "approve", "variant": "primary"},
        {"label": "Reject", "action": "reject", "variant": "danger"},
    ]}},
])
result = client.await_response(session.id)
TypeScript
import { HiloopClient } from "@hiloop/sdk";

const client = new HiloopClient({ apiKey: "hlp_xxx", agentName: "my-bot" });
const session = await client.createSession({ title: "Deploy v2.4.1?" });
await client.sendMessage(session.id, { components: [
  { type: "button_group", data: { buttons: [
    { label: "Approve", action: "approve", variant: "primary" },
    { label: "Reject", action: "reject", variant: "danger" },
  ] } },
] });
const result = await client.awaitResponse(session.id);
Kotlin
val client = HiloopClient(HiloopClientOptions(apiKey = "hlp_xxx", agentName = "my-bot"))
val session = client.createSession(title = "Deploy v2.4.1?")
client.sendMessage(session.id, components = listOf(
    ComponentNode("button_group", mapOf("buttons" to listOf(
        mapOf("label" to "Approve", "action" to "approve", "variant" to "primary"),
        mapOf("label" to "Reject", "action" to "reject", "variant" to "danger"),
    ))),
))
val result = client.awaitResponse(session.id)

Encryption

All content fields (messages, components, titles) are end-to-end encrypted. The SDKs handle this transparently:

SDK Encryption
TypeScript ECDH + HKDF + AES-GCM — keys derived automatically from your API key.
Python AES-256-GCM — encryption keys derived automatically.
Kotlin Lazysodium (ECDH + HKDF + AES-GCM) — keys derived automatically from your API key.

See also