@just-every/ensemble
Version:
LLM provider abstraction layer with unified streaming interface
22 lines • 1.17 kB
TypeScript
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