@microfox/usage-pricing
Version:
A TypeScript SDK for Tracking Pricing & Usage of any LLM and TypeScript AI SDK internally.
1,689 lines (1,686 loc) • 52.7 kB
text/typescript
import { Usage, LLMUsage, BaseUsage, UsageTrackerConstructorOptions } from '@microfox/usage-tracker';
import { z } from 'zod';
declare const UsageWithPricingSchema: z.ZodIntersection<z.ZodObject<{
priceUSD: z.ZodNumber;
originalPriceUSD: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
priceUSD: number;
originalPriceUSD?: number | undefined;
}, {
priceUSD: number;
originalPriceUSD?: number | undefined;
}>, z.ZodIntersection<z.ZodObject<{
package: z.ZodString;
timestamp: z.ZodOptional<z.ZodString>;
markup: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
package: string;
timestamp?: string | undefined;
markup?: number | undefined;
}, {
package: string;
timestamp?: string | undefined;
markup?: number | undefined;
}>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"llm">;
model: z.ZodOptional<z.ZodString>;
promptTokens: z.ZodNumber;
completionTokens: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "llm";
promptTokens: number;
completionTokens: number;
model?: string | undefined;
}, {
type: "llm";
promptTokens: number;
completionTokens: number;
model?: string | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<"api_1">;
requestKey: z.ZodOptional<z.ZodString>;
requestCount: z.ZodNumber;
requestData: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
type: "api_1";
requestCount: number;
requestKey?: string | undefined;
requestData?: number | undefined;
}, {
type: "api_1";
requestCount: number;
requestKey?: string | undefined;
requestData?: number | undefined;
}>]>>>;
type UsageWithPricing = z.infer<typeof UsageWithPricingSchema>;
interface AIPricingConfig {
provider: string;
models: {
[modelName: string]: {
contextLength: number;
maxOutput: number;
pricing: {
standard: {
inputCacheHit: number;
inputCacheMiss: number;
output: number;
};
discount: {
inputCacheHit: number;
inputCacheMiss: number;
output: number;
};
discountHours: {
start: string;
end: string;
};
};
features: {
jsonOutput: boolean;
functionCalling: boolean;
chatPrefixCompletion: boolean;
fimCompletion: boolean;
};
};
};
}
/**
* Configuration object containing pricing information for different services and providers.
* Includes configurations for AWS SES, OpenAI, Google AI, Anthropic AI, and Brave.
*/
declare const PricingConfig: {
brave: {
type: string;
dataForSearch: {
requestCount: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
};
"ai-provider-deepseek": {
type: string;
"deepseek-chat": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
promptTokenCacheMiss: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
discountHours: {
start: string;
end: string;
};
discountRates: {
promptToken: number;
promptTokenCacheMiss: number;
completionToken: number;
};
features: {
jsonOutput: boolean;
functionCalling: boolean;
chatPrefixCompletion: boolean;
fimCompletion: boolean;
};
};
"deepseek-reasoner": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
promptTokenCacheMiss: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
discountHours: {
start: string;
end: string;
};
discountRates: {
promptToken: number;
promptTokenCacheMiss: number;
completionToken: number;
};
features: {
jsonOutput: boolean;
functionCalling: boolean;
chatPrefixCompletion: boolean;
fimCompletion: boolean;
};
};
};
"ai-provider-anthropic": {
type: string;
"claude-4-opus-20250514": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-4-sonnet-20250514": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-3-7-sonnet-20250219": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-3-5-sonnet-20241022": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-3-5-sonnet-20240620": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-3-5-haiku-20241022": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-3-opus-20240229": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-3-sonnet-20240229": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"claude-3-haiku-20240307": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache5mToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cache1hToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
cacheHitsToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
};
"ai-provider-google": {
type: string;
"gemini-2.5-pro-preview-05-06": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.5-pro-preview-05-06-long-context": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.5-flash-preview-05-20": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.5-flash-preview-05-20-thinking": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.5-flash-preview-native-audio-dialog": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.5-flash-exp-native-audio-thinking-dialog": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.5-flash-preview-tts": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.5-pro-preview-tts": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.0-flash": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.0-flash-audio": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.0-flash-live-001": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.0-flash-live-001-audio": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.0-flash-lite": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.0-flash-preview-image-generation": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"gemini-1.5-pro": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-pro-long-context": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-flash": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-flash-long-context": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-flash-8b": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-flash-8b-long-context": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"imagen-3.0-generate-002": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"veo-2.0-generate-001": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"gemini-embedding-exp": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"text-embedding-004": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"embedding-001": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"gemini-2.0-pro-exp-02-05": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-2.0-flash-thinking-exp-01-21": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-exp-1206": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-exp-1121": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-exp-1114": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-pro-exp-0827": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-pro-exp-0801": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-flash-8b-exp-0924": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gemini-1.5-flash-8b-exp-0827": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
};
"ai-provider-openai": {
type: string;
"gpt-4.1": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4.1-2025-04-14": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4.1-mini": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4.1-mini-2025-04-14": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4.1-nano": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4.1-nano-2025-04-14": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4.5-preview": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4.5-preview-2025-02-27": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-2024-08-06": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-2024-11-20": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-2024-05-13": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-mini": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4-0613": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-mini-2024-07-18": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-audio-preview": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-audio-preview-2024-12-17": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-audio-preview-2024-10-01": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-mini-audio-preview": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-mini-audio-preview-2024-12-17": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-realtime-preview": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-realtime-preview-2024-12-17": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-realtime-preview-2024-10-01": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-mini-realtime-preview": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-4o-mini-realtime-preview-2024-12-17": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
o1: {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o1-2024-12-17": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o1-preview-2024-09-12": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o1-pro": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o1-pro-2025-03-19": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
o3: {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o3-2025-04-16": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o3-mini": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o3-mini-2025-01-31": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o4-mini": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"o4-mini-2025-04-16": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-3.5-turbo": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-3.5-turbo-0125": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-3.5-turbo-1106": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-3.5-turbo-0613": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"gpt-3.5-turbo-16k-0613": {
promptToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
completionToken: {
dataUnit: string;
per: number;
description: string;
basePriceUSD: number;
};
};
"text-embedding-3-small": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"text-embedding-3-large": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
"text-embedding-ada-002": {
promptToken: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
};
};
"aws-ses": {
type: string;
outboundEmail: {
requestCount: {
basePriceUSD: number;
dataUnit: string;
per: number;
description: string;
};
requestData: {
basepriceUSD: number;
per: number;
dataUnit: string;
description: string;
};
};
};
};
type LLMUsageWithBase = Omit<LLMUsage, 'type'> & Omit<BaseUsage, 'package'> & {
package?: string;
type?: 'llm';
};
/**
* Attaches pricing information to API usage data.
* Calculates the price based on request count and request data if available.
*
* @param usage - The usage data to attach pricing to
* @returns Usage data with attached pricing information including priceUSD and originalPriceUSD
*/
declare const attachPricingApi1: (usage: Usage) => UsageWithPricing;
/**
* Fetches the provider package name for a given model.
* Searches through all LLM configurations to find the matching provider.
*
* @param model - The model name to find the provider for
* @returns The provider package name or undefined if not found
*/
declare const fetchProviderPackage: (model: string) => string | undefined;
/**
* Attaches pricing information to LLM usage data.
* Calculates the price based on prompt tokens and completion tokens.
*
* @param usage - The LLM usage data to attach pricing to
* @returns Usage data with attached pricing information including priceUSD and originalPriceUSD
*/
declare const attachPricingLLM: (usage: LLMUsageWithBase) => UsageWithPricing;
/**
* Main function to attach pricing information to any type of usage data.
* Routes the usage data to the appropriate pricing calculator based on the usage type.
*
* @param usage - The usage data to attach pricing to
* @returns Usage data with attached pricing information
*/
declare const attachPricing: (usage: Usage) => UsageWithPricing;
declare const getPricingForLLM: (props: {
model: string;
promptTokens: number;
completionTokens: number;
markup?: number;
}) => {
priceUSD: number;
originalPriceUSD: number;
provider?: undefined;
} | {
provider: string;
priceUSD: number;
originalPriceUSD: number;
};
declare class MicrofoxUsagePricing {
private readonly redis;
private readonly prefix?;
constructor(config: UsageTrackerConstructorOptions);
private processUsageEntries;
getUsage(packageName?: string, prefixDateKey?: string, options?: {
limit?: number;
offset?: number;
}): Promise<{
data: ({
priceUSD: number;
originalPriceUSD?: number | undefined;
} & ({
package: string;
timestamp?: string | undefined;
markup?: number | undefined;
} & ({
type: "llm";
promptTokens: number;
completionTokens: number;
model?: string | undefined;
} | {
type: "api_1";
requestCount: number;
requestKey?: string | undefined;
requestData?: number | undefined;
})))[];
total: number;
limit: number;
offset: number;
hasMore: boolean;
}>;
getDailyUsage(packageName?: string, options?: {
limit?: number;
offset?: number;
}): Promise<{
data: ({
priceUSD: number;
originalPriceUSD?: number | undefined;
} & ({
package: string;
timestamp?: string | undefined;
markup?: number | undefined;
} & ({
type: "llm";
promptTokens: number;
completionTokens: number;
model?: string | undefined;
} | {
type: "api_1";
requestCount: number;
requestKey?: string | undefined;
requestData?: number | undefined;
})))[];
total: number;
limit: number;
offset: number;
hasMore: boolean;
}>;
getMonthlyUsage(packageName?: string, options?: {
limit?: number;
offset?: number;
}): Promise<{
data: ({
priceUSD: number;
originalPriceUSD?: number | undefined;
} & ({
package: string;
timestamp?: string | undefined;
markup?: number | undefined;
} & ({
type: "llm";
promptTokens: number;
completionTokens: number;
model?: string | undefined;
} | {
type: "api_1";
requestCount: number;
requestKey?: string | undefined;
requestData?: number | undefined;
})))[];
total: number;
limit: number;
offset: number;
hasMore: boolean;
}>;
getYearlyUsage(packageName?: string, options?: {
limit?: number;
offset?: number;
}): Promise<{
data: ({
priceUSD: number;
originalPriceUSD?: number | undefined;
} & ({
package: string;
timestamp?: string | undefined;
markup?: number | undefined;
} & ({
type: "llm";
promptTokens: number;
completionTokens: number;
model?: string | undefined;
} | {
type: "api_1";
requestCount: number;
requestKey?: string | undefined;
requestData?: number | undefined;
})))