Class: RateLimitedProvider
Defined in: rate-limit/provider-wrapper.ts:34
Wrapper that adds rate limiting and retry to any LLMProvider
Example
const provider = new ClaudeProvider({ apiKey: 'xxx' });
const wrapped = new RateLimitedProvider(provider, {
rateLimit: {
requestsPerMinute: 60,
tokensPerMinute: 100000,
},
retry: {
maxRetries: 3,
baseDelayMs: 1000,
},
});
// Use wrapped provider like normal
const agent = new Agent({ provider: wrapped });
Implements
Constructors
Constructor
new RateLimitedProvider(provider, config?): RateLimitedProvider;
Defined in: rate-limit/provider-wrapper.ts:41
Parameters
| Parameter | Type |
|---|---|
provider | LLMProvider |
config | RateLimitRetryConfig |
Returns
RateLimitedProvider
Properties
name
readonly name: string;
Defined in: rate-limit/provider-wrapper.ts:35
Provider identifier (e.g., ‘claude’, ‘openai’, ‘gemini’)
Implementation of
Methods
chat()
chat(messages, options?): AsyncIterable<StreamChunk>;
Defined in: rate-limit/provider-wrapper.ts:66
Send messages with rate limiting and retry
Parameters
| Parameter | Type |
|---|---|
messages | Message[] |
options? | ChatOptions |
Returns
AsyncIterable<StreamChunk>
Implementation of
countTokens()
countTokens(messages): Promise<number>;
Defined in: rate-limit/provider-wrapper.ts:128
Count tokens with rate limiting
Parameters
| Parameter | Type |
|---|---|
messages | Message[] |
Returns
Promise<number>
Implementation of
getModel()
getModel(): string;
Defined in: rate-limit/provider-wrapper.ts:48
Get the current default model ID.
Returns
string
Implementation of
getRateLimiter()
getRateLimiter(): RateLimiter;
Defined in: rate-limit/provider-wrapper.ts:59
Get the rate limiter instance for statistics
Returns
setModel()
setModel(modelId): void;
Defined in: rate-limit/provider-wrapper.ts:52
Change the default model for subsequent calls. Same provider only. Takes effect on the next chat() call, not mid-stream.
Parameters
| Parameter | Type | Description |
|---|---|---|
modelId | string | The new model ID (e.g., ‘claude-opus-4-20250514’) |
Returns
void