Skip to content

feat(gemini): extracting rate limit violations and retry-after information #1008

Open
cutlope wants to merge 2 commits intoprism-php:mainfrom
cutlope:gemini-add-ratelimit-support
Open

feat(gemini): extracting rate limit violations and retry-after information #1008
cutlope wants to merge 2 commits intoprism-php:mainfrom
cutlope:gemini-add-ratelimit-support

Conversation

@cutlope
Copy link
Copy Markdown
Contributor

@cutlope cutlope commented Apr 11, 2026

This pull request adds improved handling and extraction of rate limit and retry information from Gemini provider error responses. The main theme is enhancing how rate limit violations are processed and surfaced, especially when a 429 (rate limited) error occurs.

Enhancements to rate limit handling:

  • Added a new ProcessesRateLimits trait to encapsulate logic for extracting rate limit violations and retry-after information from Gemini API error responses. (src/Providers/Gemini/Concerns/ProcessesRateLimits.php)
  • Updated the Gemini provider to use the new ProcessesRateLimits trait and to throw PrismRateLimitedException with detailed rate limit and retry-after information when a 429 error is encountered. (src/Providers/Gemini/Gemini.php) [1] [2] [3]

Testing improvements:

  • Added a test to verify extraction of retry_after and rate limit details from quota violations in Gemini error responses. (tests/Providers/Gemini/ExceptionHandlingTest.php)

cutlope added 2 commits April 10, 2026 14:55
- Added a new trait `ProcessRateLimits` to handle rate limit details and retry logic.
- Integrated rate limit processing into the `handleRequestException` method for 429 errors.
- Enhanced exception handling tests to verify extraction of rate limit details and retry information.
…cessesRateLimits

- Renamed the `ProcessRateLimits` trait to `ProcessesRateLimits` for consistency..
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