autoagent-cli
Version:
Run autonomous AI agents using Claude or Gemini for task execution
38 lines (37 loc) • 1.24 kB
TypeScript
import { ProviderName } from '../types';
export interface ProviderRateLimitData {
provider: ProviderName;
limitedAt: number;
attempts: number;
lastError?: string;
}
export interface RateLimitCache {
[provider: string]: ProviderRateLimitData;
}
export declare class ProviderRateLimiter {
private static readonly CACHE_FILE;
private static readonly CONFIG_DIR;
private cache;
private cachePath;
private cacheLoaded;
constructor();
loadCache(): Promise<void>;
saveCache(): Promise<void>;
isProviderRateLimited(provider: ProviderName): Promise<boolean>;
markProviderRateLimited(provider: ProviderName, error?: string): Promise<void>;
clearProviderRateLimit(provider: ProviderName): Promise<void>;
isRateLimitError(provider: ProviderName, text: string): boolean;
getBestGeminiModel(): Promise<string>;
getRateLimitStatus(provider: ProviderName): Promise<{
isLimited: boolean;
timeRemaining?: number;
attempts?: number;
lastError?: string;
}>;
getRateLimitSummary(): Promise<Record<ProviderName, {
isLimited: boolean;
timeRemaining?: number;
attempts?: number;
}>>;
private ensureDirectoryExists;
}