9router/open-sse
Anurag Saxena b8918c0c1c
fix: treat Kiro 400 'improperly formed request' as model-unavailable (#386)
Kiro returns HTTP 400 with 'Improperly formed request (reset after Xs)'
when a model is not available on that account's subscription tier.
Previously this fell through to COOLDOWN_MS.transient (30s), causing
rapid retries on all accounts before failing — all accounts get locked
simultaneously with no actual fallback.

Treating this as paymentRequired (2min cooldown) ensures:
1. The model is locked on that account for 2min (proper cooldown)
2. The next available account is tried immediately
3. If all accounts hit the same 400, 9Router falls through to the
   next provider in the combo

Fixes #384
2026-03-23 09:31:31 +07:00
..
config feat: add MiniMax M2.7 model support (#357) 2026-03-19 15:34:36 +07:00
executors Update Antigravity provider config and headers 2026-03-17 10:12:17 +07:00
handlers fix(chat): pick last non-empty message for Codex Responses SSE 2026-03-23 09:29:31 +07:00
services fix: treat Kiro 400 'improperly formed request' as model-unavailable (#386) 2026-03-23 09:31:31 +07:00
transformer feat: enhance request handling and error management in chatCore and streamToJsonConverter 2026-02-15 12:02:53 +07:00
translator fix: add missing type:string to enum properties in Gemini tool schema translation (#380) 2026-03-23 09:20:55 +07:00
utils refactor: update MITM bypass logic and enhance combo name validation 2026-03-19 22:47:32 +07:00
.npmignore Update jsconfig.json and package.json to correct open-sse path references from relative to local directory. 2026-01-05 10:37:09 +07:00
index.js Refactor config 2026-03-12 16:20:46 +07:00