v1.5 — sessioni persistenti, ripresa da checkpoint e approvazioni firmate

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/core

Un’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);
}