Los SDK de Arbol se generan a partir del documento OpenAPI público de la API, https://api.getarbol.com/openapi.json, así que cada operación de cada servicio es un método tipado con su nombre: raiz.agents.create es arbol.raiz.agents.create() en TypeScript y arbol.raiz().agents().create(&input) en Rust.
TypeScript
@arbol-ai/sdk en npm, para Node.js, Bun y navegadores.
Rust
El crate arbol-sdk, para servicios Rust asíncronos.
Qué comparten
- Una credencial. Una API key de Arbol (
arb_live_…) o el token de acceso de una persona para la audienciahttps://api.getarbol.com, enviado comoAuthorization: Bearer. Consulta Autenticación. - Todos los servicios en un cliente. Productos e integraciones por igual, tal como los sirve la API.
- Sin reintentos. Cada llamada envía una solicitud. Una escritura que falla sin respuesta puede haber ocurrido igual, así que revisa antes de repetirla. Consulta Reintentos.
- El servidor decide. Un método en el cliente no es un permiso: la API verifica la organización y los permisos (scopes) de la credencial en cada llamada.
En qué se diferencian
| TypeScript | Rust | |
|---|---|---|
| Paquete | @arbol-ai/sdk en npm |
arbol-sdk, una dependencia de git, todavía no está en crates.io |
| Corre en | Node.js 26, Bun 1.4 o un navegador actual | Rust 1.85 o posterior, en cualquier runtime de Tokio |
| Una llamada devuelve | El envoltorio de respuesta completo: success, data, error, metadata |
El data del envoltorio |
| Un fallo es | Un ApiError con el estado HTTP y el cuerpo del error |
Un arbol_sdk::Error con code, request_id y un outcome que dice si una escritura puede haber ocurrido |
| Se actualiza | Una nueva versión por cada release de la API que cambia la API | Se regenera a mano; arbol_sdk::RELEASE nombra el release de la API a partir del que se generó |
Cuál usar
| Si construyes | Usa |
|---|---|
| Un servicio en Node.js o Bun, un script o una app web | El SDK de TypeScript. En un navegador, usa el token de acceso de una persona, nunca una API key. |
| Un servicio en Rust | El SDK de Rust. |
| Comandos en una terminal, scripts de shell o CI | La CLI, que está construida sobre el SDK de TypeScript. |
| Un asistente de IA que actúa sobre Arbol | El servidor MCP de Arbol. |
| Cualquier cosa en otro lenguaje | La API REST directamente, a partir del documento OpenAPI de cada servicio: https://api.getarbol.com/v1/<service>/openapi.json. |