SDKsTypeScript
Vercel AI SDK
Track generateText and streamText with SuperPenguin helpers for the Vercel AI SDK.
Use trackGenerateText and trackStreamText when you call the Vercel AI SDK instead of a native provider client.
generateText
import { init, trackGenerateText } from "@superpenguin/js";
import { generateText } from "ai";
init({ apiKey: process.env.SP_API_KEY });
const trackedGenerateText = trackGenerateText(generateText, {
provider: "vercel_ai_gateway",
functionId: "support-reply",
metadata: {
environment: "production",
feature: "support_agent",
},
});
const result = await trackedGenerateText({
model: "xai/grok-4.1-fast-non-reasoning",
prompt: "Write a concise reply.",
metadata: { customer_id: "cust_acme_123" },
telemetry: { functionId: "support-reply" },
});streamText
import { init, trackStreamText } from "@superpenguin/js";
import { streamText } from "ai";
init({ apiKey: process.env.SP_API_KEY });
const trackedStreamText = trackStreamText(streamText, {
provider: "vercel_ai_gateway",
functionId: "chat-stream",
});
const result = trackedStreamText({
model: "xai/grok-4.1-fast-non-reasoning",
messages,
metadata: { customer_id: "cust_acme_123", feature: "chat" },
});The wrapper waits for the Vercel AI SDK usage promise in the background and submits one attribution event when usage is available.
For Vercel AI Gateway, set AI_GATEWAY_API_KEY in the same server environment. telemetry.functionId and related telemetry metadata become custom_tags such as function_id.