New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@haiec/anthropic

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@haiec/anthropic

Anthropic Claude SDK wrapper with automatic usage tracking and cost calculation for HAIEC AI Inventory

latest
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

@haiec/anthropic

Anthropic Claude SDK wrapper with automatic usage tracking and cost calculation for HAIEC AI Inventory.

Features

  • ✅ Automatic Usage Tracking - Logs every API call to HAIEC
  • ✅ Cost Calculation - Calculates costs based on model pricing
  • ✅ Streaming Support - Works with both regular and streaming responses
  • ✅ Low Overhead - <10ms additional latency
  • ✅ Error Handling - Gracefully handles tracking failures
  • ✅ Drop-in Replacement - Works exactly like the official Anthropic SDK

Installation

npm install @haiec/anthropic @anthropic-ai/sdk

Usage

Basic Example

import TrackedAnthropic from '@haiec/anthropic';

const client = new TrackedAnthropic({
  apiKey: process.env.ANTHROPIC_API_KEY!,
  haiecApiKey: process.env.HAIEC_API_KEY!,
});

const response = await client.messages.create({
  model: 'claude-3-opus-20240229',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Hello, Claude!' }],
});

console.log(response.content[0].text);

Streaming Example

const stream = await client.messages.stream({
  model: 'claude-3-sonnet-20240229',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Tell me a story' }],
});

for await (const event of stream) {
  if (event.type === 'content_block_delta') {
    process.stdout.write(event.delta.text);
  }
}

const finalMessage = await stream.finalMessage();
// Usage is automatically logged when stream completes

Configuration

const client = new TrackedAnthropic({
  apiKey: 'sk-ant-...', // Your Anthropic API key
  haiecApiKey: 'haiec_...', // Your HAIEC API key
  haiecEndpoint: 'https://haiec.com/api/v1/inventory/usage/log', // Optional: Custom endpoint
});

Self-Hosted HAIEC

const client = new TrackedAnthropic({
  apiKey: process.env.ANTHROPIC_API_KEY!,
  haiecApiKey: process.env.HAIEC_API_KEY!,
  haiecEndpoint: 'https://your-haiec-instance.com/api/v1/inventory/usage/log',
});

Supported Models & Pricing

ModelInput Cost (per 1M tokens)Output Cost (per 1M tokens)
claude-3-opus-20240229$15.00$75.00
claude-3-sonnet-20240229$3.00$15.00
claude-3-haiku-20240307$0.25$1.25
claude-2.1$8.00$24.00
claude-2.0$8.00$24.00
claude-instant-1.2$0.80$2.40

Pricing is automatically updated based on Anthropic's latest rates.

What Gets Tracked

For each API call, the following data is logged to HAIEC:

  • Provider: anthropic
  • Model: e.g., claude-3-opus-20240229
  • Endpoint: messages or messages.stream
  • Request Tokens: Number of input tokens
  • Response Tokens: Number of output tokens
  • Cost: Calculated cost in USD
  • Latency: Response time in milliseconds
  • Status Code: HTTP status code
  • Error Message: If the request failed

Performance

  • Overhead: <10ms per request
  • Async Logging: Usage is logged asynchronously to avoid blocking
  • Streaming: No additional overhead for streaming responses
  • Error Handling: Tracking failures don't affect your API calls

Error Handling

If usage tracking fails, the error is logged to console but your Anthropic API call continues normally:

try {
  const response = await client.messages.create({...});
  // Your response is returned even if tracking fails
} catch (error) {
  // Only Anthropic API errors are thrown
}

API Compatibility

This wrapper maintains 100% compatibility with the official Anthropic SDK. All methods and parameters work exactly the same.

Streaming Support

Both regular and streaming responses are fully supported:

// Regular response
const response = await client.messages.create({...});

// Streaming response
const stream = await client.messages.stream({...});
for await (const event of stream) {
  // Process events
}

Usage is automatically tracked for both modes.

Getting Your HAIEC API Key

  • Sign up at haiec.com
  • Navigate to Settings > API Keys
  • Click "Create API Key"
  • Copy your key and add it to your environment variables

Comparison with OpenAI Wrapper

Feature@haiec/openai@haiec/anthropic
ProviderOpenAIAnthropic
Streaming✅✅
Cost Tracking✅✅
Error Handling✅✅
Overhead<10ms<10ms

Support

License

MIT

Keywords

anthropic

FAQs

Package last updated on 28 Jan 2026

Related posts