UNPKG

@just-every/ensemble

Version:

LLM provider abstraction layer with unified streaming interface

35 lines 1.2 kB
import { ModelUsage } from "../data/model_data.cjs"; declare class CostTracker { private entries; private started; private onAddUsageCallbacks; calculateCost(usage: ModelUsage): ModelUsage; onAddUsage(callback: (usage: ModelUsage) => void): void; addUsage(usage: ModelUsage): ModelUsage; getTotalCost(): number; getCostsByModel(): Record<string, { cost: number; calls: number; }>; printSummary(): void; getCostInTimeWindow(seconds: number): number; getCostRate(windowSeconds?: number): number; getUsageInTimeWindow(seconds: number): ModelUsage[]; getCostsByModelInTimeWindow(seconds: number): Record<string, { cost: number; calls: number; }>; reset(): void; static estimateTokens(text: string): number; addEstimatedUsage(model: string, inputText: string, outputText: string, metadata?: Record<string, unknown>): ModelUsage; } export declare const costTracker: CostTracker; export { CostTracker }; export interface UsageEntry { model: string; input_tokens?: number; output_tokens?: number; image_count?: number; timestamp?: Date; } //# sourceMappingURL=cost_tracker.d.ts.map