UNPKG

@bernierllc/anthropic-client

Version:

Type-safe Anthropic Claude API client with automatic rate limiting, retry logic, streaming support, and cost tracking

63 lines 1.64 kB
export declare enum ClaudeModel { OPUS = "claude-3-opus-20240229", SONNET = "claude-3-sonnet-20240229", HAIKU = "claude-3-haiku-20240307", SONNET_3_5 = "claude-3-5-sonnet-20241022" } export interface ModelPricing { input: number; output: number; } export declare const MODEL_PRICING: Record<ClaudeModel, ModelPricing>; export interface AnthropicClientConfig { apiKey: string; maxRetries?: number; rateLimit?: { requestsPerMinute: number; tokensPerMinute: number; } | null; defaultModel?: ClaudeModel; enableLogging?: boolean; } export interface CompletionOptions { model?: ClaudeModel; maxTokens?: number; temperature?: number; topP?: number; topK?: number; stopSequences?: string[]; systemPrompt?: string; metadata?: Record<string, unknown>; } export interface CompletionResult { success: boolean; content?: string; usage?: { inputTokens: number; outputTokens: number; totalTokens: number; }; cost?: { inputCost: number; outputCost: number; totalCost: number; }; model?: string; stopReason?: string; error?: string; } export type StreamChunkCallback = (chunk: string) => void | Promise<void>; export interface UsageStats { totalRequests: number; totalInputTokens: number; totalOutputTokens: number; totalTokens: number; totalCost: number; requestsByModel: Record<string, number>; } export interface RateLimitStatus { requestsRemaining: number; tokensRemaining: number; resetTime: Date; } //# sourceMappingURL=types.d.ts.map