@prefactor/packages/ai
Prefactor TypeScript SDK / @prefactor/packages/ai
@prefactor/packages/ai
Section titled “@prefactor/packages/ai”Prefactor middleware integration for the Vercel AI SDK.
@prefactor/ai overview
Section titled “@prefactor/ai overview”@prefactor/ai connects Vercel AI SDK model calls to Prefactor tracing. It captures
agent, model, and tool spans and sends them through your configured transport.
The package initializes middleware for wrapLanguageModel through init, traces both
non-streaming and streaming calls automatically, and exposes withSpan plus getTracer
for custom instrumentation needs.
Quick start: wrap a model with Prefactor middleware
Section titled “Quick start: wrap a model with Prefactor middleware”import { init, shutdown } from '@prefactor/ai';import { generateText, wrapLanguageModel } from 'ai';import { anthropic } from '@ai-sdk/anthropic';
const middleware = init({ transportType: 'http', httpConfig: { apiUrl: 'https://app.prefactorai.com', apiToken: process.env.PREFACTOR_API_TOKEN!, agentIdentifier: 'chat-app-v1', },});
const model = wrapLanguageModel({ model: anthropic('claude-3-haiku-20240307'), middleware,});
const result = await generateText({ model, prompt: 'Hello!',});
await shutdown();Example: trace custom code
Section titled “Example: trace custom code”import { withSpan } from '@prefactor/ai';
await withSpan( { name: 'hydrate-user-context', spanType: 'ai-sdk:chain', inputs: { userId: 'u_123' }, }, async () => { // custom app logic before/after model calls });