SDK-uri
Clienții oficiali TypeScript și Python pentru gateway-ul codai — zero dependențe, tipizați, cu extensiile codai încorporate.
Ambele SDK-uri sunt învelișuri subțiri, fără dependențe, peste API-ul HTTP al gateway-ului. Există ca să nu-ți scrii singur parsarea SSE, asamblarea tool call-urilor, reîncercările sau header-ele X-Codai-* — și ca extensiile codai (sesiuni, mod agent, compactare, best-of) să fie o opțiune la distanță, nu un header de reținut.
| TypeScript | Python | |
|---|---|---|
| Pachet | codai-sdk 0.2.3 | codai-sdk 0.1.1 |
| Import | import { Codai } from 'codai-sdk' | from codai import Codai |
| Runtime | Node 18+, runtime-uri edge cu fetch | Python 3.9+ |
| Dependențe | niciuna | niciuna (stdlib urllib) |
| Streaming | iterator async + metadate .final | generator de delta-uri de text |
| Reîncercări | 429 / 5xx, backoff exponențial, 2 implicit | la fel |
Instalare
pnpm add codai-sdkTur de treizeci de secunde
import { Codai } from 'codai-sdk';
const codai = new Codai({ apiKey: process.env.CODAI_API_KEY!, sessionId: 'my-project' });
const res = await codai.chat({ messages: [{ role: 'user', content: 'salut' }] });
console.log(res.content, res.routedTo);
for await (const delta of codai.chatStream({ messages: [{ role: 'user', content: 'bună' }] })) {
process.stdout.write(delta);
}
const run = await codai.agents.run({ task: 'Rezumă structura repo-ului.' });
if (res.requestId) await codai.feedback(res.requestId, 1);Ce acoperă ambii clienți
| Suprafață | TypeScript | Python |
|---|---|---|
Chat (/v1/chat/completions) | chat() | chat() |
| Chat în streaming | chatStream() | chat_stream() |
Agent server-side (/v1/agents/run) | agents.run() | agents_run() |
Feedback (/v1/feedback) | feedback() | feedback() |
Modele (/v1/models) | models() | models() |
Tokeni efemeri (/v1/tokens) | mintToken() | mint_token() |
Embeddings (/v1/embeddings) | embeddings() | embeddings() |
| Speech-to-text | audio.transcribe() | transcribe() |
| Text-to-speech | audio.speech() | speech() |
Anthropic Messages, Responses API, WebSocket-urile realtime, endpoint-ul de chitanță și protocolul de sesiuni partajate nu sunt încă învelite — le apelezi direct sau prin SDK-urile OpenAI / Anthropic, așa cum arată startul rapid al gateway-ului.
Memoria și skill-urile sunt server-side
Tool-urile de memorie (memory_recall, memory_remember) și skill-urile (use_skill) sunt native în gateway: când trimiți un sessionId stabil, modelul le poate invoca în timpul cererii și gateway-ul le execută. Nu ai nimic de apelat din SDK dincolo de activarea unei sesiuni.
Task-uri și cheltuieli
Ce este un task, cum apar plafoanele de plan și de cheltuieli ca 429, de ce un task poate aștepta confirmarea ta și endpoint-urile /v1/tasks.
TypeScript
Pachetul codai-sdk pentru Node și runtime-uri edge — configurare, grupuri de resurse cu paritate completă OpenAPI, chat, streaming, agenți, sesiuni, erori și migrarea de la SDK-ul OpenAI.