Skip to content

Conversation

@jmazzahacks
Copy link

Summary

Fixes a Pydantic validation error that occurs when the OpenRouter API returns requests: -1 to indicate unlimited rate limits.

Problem

The client encounters validation errors when OpenRouter returns -1 for unlimited accounts:

ERROR:openrouter_client.http: Failed to set rate limit: 1 validation error for RateLimit
max_requests
  Input should be greater than or equal to 1 [type=greater_than_equal, input_value=-1, input_type=int]

Solution

Added a simple check in _initialize_rate_limit() to skip rate limit configuration when requests <= 0:

# Handle special case where requests = -1 (unlimited/no limit)
if int(requests) <= 0:
    self.logger.debug(f"API returned unlimited rate limit (requests={requests}), skipping rate limit configuration")
    return

Testing

Confirmed the fix resolves the validation errors for unlimited accounts while maintaining functionality for standard rate-limited accounts.

Contributed by @jmazzahacks

Fixes Pydantic validation error when OpenRouter API returns requests=-1
(indicating unlimited rate limits). Instead of passing -1 to SmartSurge
which fails validation (max_requests must be >= 1), now:

- Checks if requests <= 0 and skips rate limit configuration
- Logs debug message indicating unlimited rate limit detected
- Prevents "Failed to set rate limit" validation errors

This resolves the recurring error logs while preserving functionality
for accounts with standard rate limits.

Contributed by @jmazzahacks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant