Skip to main content

Overview

autoLog() is framework-agnostic. It does not care whether your application is built with Express, Next.js, a CLI tool, or a plain script. The only thing that matters is three steps:
1

Create a provider client

Instantiate your Anthropic client as normal.
2

Wrap it with autoLog()

Pass the client to aiLogger.autoLog(anthropic) — this is the only change needed.
3

Use the wrapped variable for all AI calls

Use client instead of your original instance. Every call through is automatically logged, secured and verified.

Usage example

import { AILogger } from '@vita-tak/ai-logger'
import Anthropic from '@anthropic-ai/sdk'

const aiLogger = new AILogger({
  systemId: 'your-system-name',
});

// Step 1
const anthropic = new Anthropic({
    apiKey: process.env.ANTHROPIC_API_KEY,
  });

// Step 2
const client = aiLogger.autoLog(anthropic);

// Step 3
const response = await client.messages.create({
  model: 'claude-3-5-sonnet-20241022',
  max_tokens: 100,
  messages: [{ role: 'user', content: 'Hello!' }]
});
Always use the wrapped client variable for your calls — not the original anthropic instance. Calls made through the unwrapped instance will not be logged.

Works with any setup

It does not matter how the surrounding code is structured. As long as every AI call passes through the wrapped client, it will be captured and logged.
// Next.js API route — works fine
export async function POST(req: Request) {
  const { message } = await req.json()

  const response = await client.messages.create({
    model: 'claude-3-5-sonnet-20241022',
    max_tokens: 100,
    messages: [{ role: 'user', content: message }]
  })

  return Response.json({ reply: response.content[0].text })
}