UNPKG

@just-every/ensemble

Version:

LLM provider abstraction layer with unified streaming interface

22 lines 1.17 kB
import { ModelProviderID, ModelSpecificQuota, ProviderQuota } from '../types/types.js'; export type { ModelSpecificQuota, ProviderQuota }; export type QuotaUpdateCallback = (quotaSummary: Record<string, any>) => void; export declare class QuotaTracker { private quotas; private updateCallback?; private openAIFreeQuota; constructor(updateCallback?: QuotaUpdateCallback); setUpdateCallback(callback: QuotaUpdateCallback | undefined): void; private initializeProviderQuotas; getProviderQuota(provider: ModelProviderID): ProviderQuota; getModelQuota(provider: ModelProviderID, model: string): ModelSpecificQuota | null; trackUsage(provider: ModelProviderID, model: string, inputTokens: number, outputTokens: number): boolean; hasQuota(provider: ModelProviderID, model: string): boolean; hasOpenAIFreeQuota(model: string): boolean; trackCreditUsage(provider: ModelProviderID, creditAmount: number): void; getCreditBalance(provider: ModelProviderID): number; getSummary(): Record<string, any>; sendQuotaUpdate(): void; } export declare const quotaTracker: QuotaTracker; //# sourceMappingURL=quota_tracker.d.ts.map