SuperPenguin Docs
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";

Next