mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
Compare commits
2 Commits
4053e2314a
...
fix/handle
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b18fa27195 | ||
|
|
ba247bedd5 |
@@ -75,6 +75,7 @@ import {
|
||||
import {
|
||||
isAntigravityMissingProjectError,
|
||||
shouldTripProviderBreakerForResult,
|
||||
PROVIDER_BREAKER_FAILURE_STATUSES,
|
||||
} from "./chatPredicates";
|
||||
import { connectionHasExtraKeys } from "@omniroute/open-sse/services/apiKeyRotator.ts";
|
||||
import {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { isLocalStreamLifecycleError } from "../../shared/utils/circuitBreaker";
|
||||
import { isRequestScopedUpstreamFailure } from "./comboFailureLogging";
|
||||
|
||||
const PROVIDER_BREAKER_FAILURE_STATUSES = new Set([408, 500, 502, 503, 504]);
|
||||
export const PROVIDER_BREAKER_FAILURE_STATUSES = new Set([408, 500, 502, 503, 504]);
|
||||
|
||||
// #7907/#7908: single-model breaker trip bypasses the `isFailure` option (only applies
|
||||
// inside `breaker.execute()`), so it needs its own `isLocalStreamLifecycleError` guard —
|
||||
|
||||
@@ -189,7 +189,11 @@ test("getProviderConcurrencyCap resolves override -> static default -> fallback"
|
||||
);
|
||||
setProviderQuotaOverrides({ nvidia: { concurrency: 3 } });
|
||||
try {
|
||||
assert.equal(getProviderConcurrencyCap("nvidia", 99), 3, "override wins over the static default");
|
||||
assert.equal(
|
||||
getProviderConcurrencyCap("nvidia", 99),
|
||||
3,
|
||||
"override wins over the static default"
|
||||
);
|
||||
} finally {
|
||||
setProviderQuotaOverrides(null);
|
||||
}
|
||||
@@ -218,13 +222,9 @@ test("nvidia 429 does not trip the provider circuit breaker (unchanged 408/500/5
|
||||
// is a documentation-alignment guard proving Phase 1 didn't accidentally widen
|
||||
// PROVIDER_BREAKER_FAILURE_STATUSES to include 429 (which would collapse the
|
||||
// per-model lockout this PR adds into a whole-connection/provider outage).
|
||||
const chatHandlerPath = path.join(
|
||||
process.cwd(),
|
||||
"src",
|
||||
"sse",
|
||||
"handlers",
|
||||
"chat.ts"
|
||||
);
|
||||
// The PROVIDER_BREAKER_FAILURE_STATUSES declaration was extracted from chat.ts into
|
||||
// the sibling chatPredicates.ts (chat.ts now imports it); read it from its home.
|
||||
const chatHandlerPath = path.join(process.cwd(), "src", "sse", "handlers", "chatPredicates.ts");
|
||||
const source = fs.readFileSync(chatHandlerPath, "utf8");
|
||||
const match = source.match(/PROVIDER_BREAKER_FAILURE_STATUSES\s*=\s*new Set\(\[([^\]]+)\]\)/);
|
||||
assert.ok(match, "PROVIDER_BREAKER_FAILURE_STATUSES declaration found");
|
||||
|
||||
Reference in New Issue
Block a user