SDKsTypeScript
TypeScript providers
Wrap OpenAI, Anthropic, Gemini, Bedrock, Deepgram, ElevenLabs, and Realtime with @superpenguin/js.
OpenAI
import OpenAI from "openai";
import { wrap } from "@superpenguin/js";
const openai = wrap(new OpenAI());
await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Hello!" }],
spMetadata: { customer_id: "cust_123" },
});Supported: chat.completions.create, completions.create, embeddings.create, responses.create, including streams that report usage.
Anthropic
import Anthropic from "@anthropic-ai/sdk";
import { wrap } from "@superpenguin/js";
const anthropic = wrap(new Anthropic());
await anthropic.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello!" }],
spMetadata: { customer_id: "cust_123" },
});Google Gemini
import { GoogleGenAI } from "@google/genai";
import { wrap } from "@superpenguin/js";
const genai = wrap(new GoogleGenAI({ apiKey: "..." }));
await genai.models.generateContent({
model: "gemini-2.5-pro",
contents: "Hello!",
});Deepgram
import { createClient } from "@deepgram/sdk";
import { wrap } from "@superpenguin/js";
const dg = wrap(createClient("..."), {
metadata: { customer_id: "cust_123" },
deepgramTier: "growth",
});ElevenLabs
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { wrap } from "@superpenguin/js";
const el = wrap(new ElevenLabsClient({ apiKey: "..." }), {
metadata: { customer_id: "cust_123" },
});AWS Bedrock
import {
BedrockRuntimeClient,
ConverseCommand,
} from "@aws-sdk/client-bedrock-runtime";
import { wrap } from "@superpenguin/js";
const bedrock = wrap(
new BedrockRuntimeClient({ region: "us-west-2" }),
{
metadata: { customer_id: "cust_123", feature: "doc_summary" },
deploymentType: "global",
},
);
await bedrock.send(
new ConverseCommand({
modelId: "anthropic.claude-3-5-sonnet-20241022-v2:0",
messages: [{ role: "user", content: [{ text: "Hello!" }] }],
}),
);Usage is sent with cost_usd_micros: 0; the server prices with the live aws_bedrock catalog. Region is auto-captured.
OpenAI Realtime
import { OpenAIRealtimeWebSocket } from "openai/beta/realtime/websocket";
import { wrapRealtime } from "@superpenguin/js";
const rt = new OpenAIRealtimeWebSocket({ model: "gpt-realtime" });
wrapRealtime(rt, { metadata: { feature: "voice-agent" } });For raw WebSocket / WebRTC consumers, use trackRealtimeEvent(event, { model: "gpt-realtime" }).
Provider-specific helpers
import {
wrapOpenAI,
wrapAnthropic,
wrapGoogleGenAI,
wrapDeepgram,
wrapElevenLabs,
wrapBedrock,
wrapRealtime,
trackRealtimeEvent,
} from "@superpenguin/js";