Un protocollo canonico per ogni provider di IA
SDK IA TypeScript puro · web-first · multi-provider
Anthropic, OpenAI, xAI Grok, Google Gemini e Vertex AI dietro un unico protocollo di streaming canonico. Zero dipendenze runtime, deterministico by design — funziona ovunque funzioni fetch.
npm install @deuz-sdk/coreUn’unica superficie API per
- Anthropic
- OpenAI
- xAI Grok
- Google Gemini
- Vertex AI
- Yunwu
Stream delta canonico
Ogni risposta del provider viene normalizzata in un unico stream StreamPart tipizzato prima che il tuo codice la veda. Nessun SSE grezzo trapela mai.
Loop di strumenti agentico
Esecuzione parallela e auto-riparante degli strumenti con protezioni anti-runaway, stop di budget, gate di approvazione e sub-agenti annidati.
Core edge-safe
Solo Web API — niente node:*, niente Buffer, nessuno stato ambientale. Node, Deno, Bun, Vercel Edge e Cloudflare Workers.
Deterministico e testabile
Orologio, casualità, fetch e chiavi vengono iniettati attraverso un’unica giuntura Dependencies. Test golden-replay, nessuna rete reale.
Memoria, RAG e skills
Pipeline di memoria in stile mem0, retrieval ibrido BM25 + vettoriale e disclosure progressiva SKILL.md — tutto edge-safe.
Output strutturato e wire UI
generateObject / streamObject tipizzati da schema, hook React e un wire SSE versionato che possiedi end-to-end.
Streaming in tre righe
streamChat ritorna in modo sincrono e non lancia mai eccezioni — la richiesta parte pigramente alla prima lettura. Cambia la factory per cambiare provider; nient’altro si muove.
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);
}