Kacper Sawicki
ed679bb3da
feat(codersdk): add circuit breaker configuration support for aibridge ( #21546 )
...
## Summary
Add circuit breaker support for AI Bridge to protect against cascading
failures from upstream AI provider rate limits (HTTP 429, 503, and
Anthropic's 529 overloaded responses).
## Changes
- Add 5 new CLI options for circuit breaker configuration:
- `--aibridge-circuit-breaker-enabled` (default: false)
- `--aibridge-circuit-breaker-failure-threshold` (default: 5)
- `--aibridge-circuit-breaker-interval` (default: 10s)
- `--aibridge-circuit-breaker-timeout` (default: 30s)
- `--aibridge-circuit-breaker-max-requests` (default: 3)
- Update aibridge dependency to include circuit breaker support
- Add tests for pool creation with circuit breaker providers
## Notes
- Circuit breaker is **disabled by default** for backward compatibility
- When enabled, applies to both OpenAI and Anthropic providers
- Uses sony/gobreaker internally via the aibridge library
## Testing
```
make test RUN=TestPoolWithCircuitBreakerProviders
```
2026-01-20 14:59:29 +01:00
..
2025-11-24 18:09:04 +05:00
2025-11-24 18:09:04 +05:00
2025-11-24 18:09:04 +05:00
2026-01-16 17:04:57 -09:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2025-09-03 10:38:42 +04:00
2025-01-03 13:12:59 +00:00
2025-08-19 10:52:31 +02:00
2026-01-16 17:04:57 -09:00
2025-08-19 10:52:31 +02:00
2025-08-19 10:52:31 +02:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-08 09:58:10 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-11-25 18:13:00 -07:00
2026-01-16 17:04:57 -09:00
2026-01-08 09:58:10 +00:00
2025-01-03 13:12:59 +00:00
2025-09-11 15:08:57 +02:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-02-19 13:08:38 +00:00
2025-09-11 15:08:57 +02:00
2025-03-21 15:28:08 +00:00
2025-01-03 13:12:59 +00:00
2025-03-21 15:28:08 +00:00
2026-01-16 17:04:57 -09:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2025-04-04 14:04:20 -04:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-14 09:47:50 -08:00
2026-01-14 09:47:50 -08:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-14 09:47:50 -08:00
2026-01-14 09:47:50 -08:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-02-24 05:38:17 +00:00
2025-01-03 13:12:59 +00:00
2025-07-02 15:05:42 +00:00
2025-07-02 15:05:42 +00:00
2025-07-02 15:05:42 +00:00
2025-01-27 16:26:56 +00:00
2025-10-06 08:56:43 +00:00
2025-01-27 16:26:56 +00:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2025-01-20 17:24:22 +00:00
2025-01-03 13:12:59 +00:00
2025-08-21 16:03:34 -04:00
2025-11-12 14:26:15 -06:00
2025-01-20 17:24:22 +00:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2025-01-03 11:15:35 -06:00
2026-01-16 17:04:57 -09:00
2025-08-13 18:15:53 +01:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-20 14:59:29 +01:00
2025-07-08 16:16:00 +00:00
2025-01-03 13:12:59 +00:00
2025-05-16 10:09:46 -04:00
2026-01-16 17:04:57 -09:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-12 15:16:59 +01:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2026-01-20 10:28:52 +11:00
2025-01-03 13:12:59 +00:00
2025-11-25 13:50:22 +00:00
2026-01-16 17:04:57 -09:00
2025-11-25 13:50:22 +00:00
2025-11-25 13:50:22 +00:00
2025-11-25 13:50:22 +00:00
2025-11-25 13:50:22 +00:00
2025-11-25 13:50:22 +00:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2025-10-17 13:09:50 -05:00
2025-01-03 13:12:59 +00:00
2025-07-29 16:59:26 +01:00
2025-07-24 16:44:36 +01:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2026-01-16 17:04:57 -09:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2025-01-03 13:12:59 +00:00
2025-07-24 16:44:36 +01:00
2025-10-28 15:15:57 +00:00
2025-10-27 17:07:25 +01:00
2025-02-12 18:18:17 +11:00
2025-10-27 17:07:25 +01:00
2025-10-27 17:07:25 +01:00
2025-01-03 13:12:59 +00:00
2025-06-23 09:12:37 +01:00
2025-01-03 13:12:59 +00:00
2025-05-13 20:48:16 +00:00
2025-01-03 13:12:59 +00:00
2026-01-16 17:04:57 -09:00
2025-10-22 16:18:31 +11:00
2025-01-03 13:12:59 +00:00
2025-01-03 13:12:59 +00:00
2025-05-13 20:48:16 +00:00
2025-01-03 13:12:59 +00:00
2025-09-26 11:20:25 +01:00