SDK Cliente
El SDK oficial para conectar tu frontend a tu backend de DYPAI. Auth, datos, realtime, chat IA, uploads — todo tipado, todo en un paquete.
Instalación
JavaScript
npm install @dypai-ai/client-sdk
Configuración
JavaScript
// lib/dypai.ts
import { createClient } from '@dypai-ai/client-sdk'
export const dypai = createClient(
import.meta.env.VITE_DYPAI_URL,
{
redirects: {
passwordRecovery: '/set-password',
signIn: '/dashboard',
},
}
)
Para apps React, envuelve con DypaiProvider:
JavaScript
import { DypaiProvider } from '@dypai-ai/client-sdk/react'
import { dypai } from './lib/dypai'
function App() {
return (
<DypaiProvider client={dypai}>
<Router />
</DypaiProvider>
)
}
Módulos
Autenticación
Registro, login, OAuth, OTP, recuperación.
Datos y API
Llama endpoints con get, post, put, delete.
Tiempo Real
Cambios en DB, broadcast, presencia — live.
Chat IA
Streaming de respuestas del agente con tool calls.
Almacenamiento
Sube y descarga archivos por endpoints.
Gestión de Usuarios
Operaciones admin para gestionar usuarios.
React Hooks
Hooks principales
| Parameter | Type | Description |
|---|---|---|
useAuth() | Hook | Estado de auth + acciones: user, signIn, signUp, signOut, isAuthenticated |
useEndpoint(name) | Hook | Obtener datos de endpoints GET. Devuelve data, isLoading, error, refetch |
useAction(name) | Hook | Llamar endpoints POST/PUT/DELETE. Devuelve mutate, isLoading, error |
useUpload(name) | Hook | Subir archivos con progreso. Devuelve upload, progress, isUploading |
Hooks de Agente IA Nuevo
| Parameter | Type | Description |
|---|---|---|
useChat(endpoint) | Hook | Streaming de respuestas del agente. Devuelve messages, sendMessage, isStreaming |
useChatList() | Hook | Listar conversaciones previas con el agente |
Hooks de Tiempo Real Nuevo
| Parameter | Type | Description |
|---|---|---|
useRealtime(table, filter?) | Hook | Suscribirse a cambios en la DB (INSERT/UPDATE/DELETE) en tiempo real |
useChannel(name) | Hook | Unirse a un canal de broadcast para mensajería entre clientes |
useChannelMessages(name) | Hook | Obtener mensajes de un canal de broadcast |
useChannels() | Hook | Listar canales disponibles |
Ejemplos rápidos
Autenticación
JavaScript
const { signIn, isAuthenticated, user } = useAuth()
const handleLogin = async (email, password) => {
const { error } = await signIn(email, password)
if (error) setError(error.message)
}
Obtener datos
JavaScript
const { data: products, isLoading } = useEndpoint('list_products')
const { mutate: createProduct } = useAction('create_product')
await createProduct({ name: 'Widget', price: 9.99 })
Chat IA (streaming)
JavaScript
const { messages, sendMessage, isStreaming } = useChat('my_agent_endpoint')
await sendMessage('¿Cuántos pedidos tengo esta semana?')
Tiempo real
JavaScript
const { data: orders } = useRealtime('orders')
const channel = useChannel('room-1')
channel.send('typing', { user: 'john' })
Métodos de API
Todos los métodos devuelven { data, error } — nunca lanzan excepciones.
| Parameter | Type | Description |
|---|---|---|
dypai.api.get(name, options?) | Promise | Llamar un endpoint GET |
dypai.api.post(name, body, options?) | Promise | Llamar un endpoint POST |
dypai.api.put(name, body, options?) | Promise | Llamar un endpoint PUT |
dypai.api.delete(name, options?) | Promise | Llamar un endpoint DELETE |
dypai.api.upload(name, file, options?) | Promise | Subir un archivo por un endpoint |
dypai.api.stream(name, body) | AsyncIterator | Streaming de respuesta de un agente IA |