@auriko/sdk
v1.1.0
Published
TypeScript SDK for the Auriko API — intelligent LLM routing with an OpenAI-compatible interface.
Downloads
546
Maintainers
Readme
@auriko/sdk
TypeScript SDK for the Auriko API — intelligent LLM routing with an OpenAI-compatible interface.
Installation
npm install @auriko/sdkRequires Node.js 18+.
Quick Start
import { Client } from "@auriko/sdk";
const client = new Client(); // reads AURIKO_API_KEY from environment
const response = await client.chat.completions.create({
model: "gpt-5.4",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0]?.message.content);Streaming
const stream = await client.chat.completions.create({
model: "gpt-5.4",
messages: [{ role: "user", content: "Tell me a story." }],
stream: true,
stream_options: { include_usage: true },
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
console.log(stream.usage); // { prompt_tokens, completion_tokens, total_tokens }
console.log(stream.routing_metadata); // { provider, routing_strategy, cost, ... }Multi-Model Routing
const response = await client.chat.completions.create({
gateway: {
models: ["gpt-4o", "claude-sonnet-4-6"],
routing: { mode: "fallback", optimize: "cost" },
},
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.routing_metadata?.provider);Responses
const response = await client.responses.create({
model: "gpt-5.4",
input: "What is inference arbitrage?",
});
console.log(response.output_text);Strict Parameter Routing
Only route to providers that support the optional parameters you sent:
const response = await client.chat.completions.create({
model: "gpt-5.4",
messages: [{ role: "user", content: "Hello!" }],
seed: 42,
gateway: { routing: { require_parameters: true } },
});See Filter by parameter support for details.
Error Handling
import { Client, AuthenticationError, RateLimitError } from "@auriko/sdk";
try {
await client.chat.completions.create({ ... });
} catch (e) {
if (e instanceof RateLimitError) {
// Back off and retry
} else if (e instanceof AuthenticationError) {
// Check API key
}
}Configuration
const client = new Client({
apiKey: "ak_...", // or set AURIKO_API_KEY env var
baseUrl: "https://api.auriko.ai/v1", // default
timeout: 60_000, // ms, default 60s
maxRetries: 2, // default 2 (0 disables)
});Documentation
License
Apache-2.0
