Un protocolo canónico para cada proveedor de IA
SDK de IA para TypeScript puro · web-first · multiproveedor
Anthropic, OpenAI, xAI Grok, Google Gemini y Vertex AI detrás de un único protocolo de streaming canónico. Cero dependencias en tiempo de ejecución, determinista por diseño — funciona dondequiera que funcione fetch.
npm install @deuz-sdk/coreUna sola superficie de API para
- Anthropic
- OpenAI
- xAI Grok
- Google Gemini
- Vertex AI
- Yunwu
Stream delta canónico
Cada respuesta del proveedor se normaliza a un stream StreamPart tipado antes de que tu código la vea. Nunca se filtra SSE crudo.
Bucle de herramientas agéntico
Ejecución de herramientas paralela y autorreparadora con protecciones anti-desbocamiento, paradas de presupuesto, puertas de aprobación y subagentes anidados.
Núcleo edge-safe
Solo Web APIs — sin node:*, sin Buffer, sin estado ambiental. Node, Deno, Bun, Vercel Edge y Cloudflare Workers.
Determinista y testeable
Reloj, aleatoriedad, fetch y claves se inyectan a través de una única costura Dependencies. Tests golden-replay, sin red real.
Memoria, RAG y skills
Pipeline de memoria estilo mem0, recuperación híbrida BM25 + vectorial y divulgación progresiva SKILL.md — todo edge-safe.
Salida estructurada y wire de UI
generateObject / streamObject tipados por esquema, hooks de React y un wire SSE versionado que posees de extremo a extremo.
Streaming en tres líneas
streamChat retorna de forma síncrona y nunca lanza excepciones — la petición arranca perezosamente en la primera lectura. Cambia la factory para cambiar de proveedor; nada más se mueve.
Quickstart// swap the factory to swap providers
import { streamChat } from '@deuz-sdk/core';
import { createAnthropic } from '@deuz-sdk/core/anthropic';
const anthropic = createAnthropic({ apiKey });
const res = streamChat({
model: anthropic('claude-opus-4-8'),
messages: [{ role: 'user', content: 'Hello!' }],
});
for await (const chunk of res.textStream) {
process.stdout.write(chunk);
}